diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 649b61897ad..eeeea7f7228 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -258,7 +258,6 @@ /examples/extended/parallel/MPI/exMPI04/ @ihrivnac /examples/extended/parallel/TBB/ @jmadsen @ihrivnac /examples/extended/parallel/ThreadsafeScorers/ @jmadsen @ihrivnac -/examples/extended/parallel/TopC/ @cooperma @ihrivnac /examples/extended/parameterisations/gflash/ @mverderi @ihrivnac /examples/extended/parameterisations/Par01/ @mverderi @ihrivnac diff --git a/CMakeLists.txt b/CMakeLists.txt index 21be05ec3db..9b2559017ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,8 +30,8 @@ project(Geant4 DESCRIPTION "C++ toolkit for simulating the passage of particles through matter" HOMEPAGE_URL "https://geant4.cern.ch") set(${PROJECT_NAME}_VERSION_MAJOR 11) -set(${PROJECT_NAME}_VERSION_MINOR 2) -set(${PROJECT_NAME}_VERSION_PATCH 2) +set(${PROJECT_NAME}_VERSION_MINOR 3) +set(${PROJECT_NAME}_VERSION_PATCH 0) set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}") # - Prepend our own CMake Modules to the search path diff --git a/ReleaseNotes/Beta4.11.3-1.txt b/ReleaseNotes/Beta4.11.3-1.txt new file mode 100644 index 00000000000..da310c91e26 --- /dev/null +++ b/ReleaseNotes/Beta4.11.3-1.txt @@ -0,0 +1,740 @@ + + Geant4 11.3-beta-01 Release Notes + --------------------------------- + + 28 June 2024 + + Migration Notes & Main New Features + ----------------------------------- + + o Fixed spurious compilation warnings on gcc when LTO settings are enabled. + o First full implementation of sub-event parallelism, with creation and + processing of sub-events in workers, and merging of results back into + events on the main thread. + o Added protection in G4VPrimaryGenerator::SetParticlePosition() to avoid + and warn for attempts to place vertex position outside or on surface of + the world volume. + o Extended diagnostics and output from material scanner. + o First implementation of parallel initialisation of geometry optimisation. + o New revised and optimised implementation of G4GenericTrap shape. + o Improved/optimised implementation of GetCubicVolume() in Boolean solids. + o Added new classes for automatic field construction from parameters. + o Optimised step limitation algorithm in G4UrbanMscModel. + o G4eeToTwoGammaModel: fixed precision lost in sampling of final state + for very high energies. + o New class G4EmDataRegistry, to keep EM data tables. + o New G4OrePowellAtRestModel class, Orel & Powell orto positronium decay + model AtRest and G4SimpleoPsAtRestModel, a simple orto para positronium + chooser. + o New classes for multiple-ionisation in Geant4-DNA. + o In G4EmDNAPhysics, define default maximum kinetic energy 600 MeV instead + of 300 MeV in order to have standard ionisation and multiple scattering + always defined for DNA physics configurations + o Added three new variants of 'Shielding' physics list in G4PhysListFactory. + o Introduced neutron treatment of the Unresolved Resonance Region (URR) + via Probability Table (PT); relevant for precise simulations of nuclear + reactor criticality and shielding applications. + o First implementation of NuDEX nuclear de-excitation hadronic model. + o Updates to cross-section classes to rationalise initialisation of data + in MT mode. + o Simplified computation of cross-section maximum for discrete processes + in G4EmUtility. + o New class G4XTRGaussRadModel, providing improved account on the origin + of XTR photons. + o Restored OpenGL as default backend for Qt6. Fixed open issues when using + Qt6 with supported drivers. + o Improved identification of scene tree models in visualisation. + Now suppressing the scene tree if the number of touchables exceeds + 10000 (equivalent to about 20 MB) + o Removed configuration/setup of no longer supported TiMemory profiling. + o Build option with VecGeom requires VecGeom-1.2.8 or higher. + o Requires CLHEP-2.4.7.1 for external CLHEP installation. + o New versions of datasets: G4PARTICLEXS-4.1, G4EMLOW-8.6. + o New optional datasets: G4NUDEXLIB-1.0, G4URRPT-1.0. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o Tested platforms: + + Linux, gcc-11.3.1. + Tested on 64 bit architectures (Intel or AMD) with Alma Linux 9 + (based on RedHat Linux Enterprise 9). Versions of Geant4 have also + been compiled successfully on other Linux distributions, Ubuntu, + Debian, Suse or other RedHat systems. + + MacOS 14.5, Apple LLVM/clang-15 (Intel or Apple Silicon). + + Windows/11 with Visual C++ 14.40 (Visual Studio 2022) + + o More verified configurations: + + Linux, with gcc-9.4/10.3/11.3/12.1/13.2/14.1, clang-14/15/16/17. + + Linux, with Intel-icx 2024.1. + + MacOS 12.7/13.6, with Apple LLVM/clang-14/15. + + Windows/10 with Visual C++ 14.36 (Visual Studio 2022) + + o External dependencies + + CLHEP-2.4.7.1, suggested for external installation of the CLHEP library. + + VecGeom-1.2.8 or later, for optional use of VecGeom geometry primitives. + + PTL-2.3.3, for external installation of the PTL tasking library. + + o New datasets: + + G4PARTICLEXS-4.1, G4EMLOW-8.6, G4NUDEXLIB-1.0, G4URRPT-1.0. + + Please refer to the Geant4 User Documentation: + https://cern.ch/geant4/support/user_documentation + for further information about using Geant4. + + ---------------------------------------------------------------------------- + +List of features and fixes included in this Beta release since 11.2.p02: + + o Configuration: + ------------- + + CMake: + o Added compiler flags for GCC only to help detect/debug LTO-related + problems when building with CMAKE_INTERPROCEDURAL_OPTIMIZATION. + o Provide CMake function to assist in linking unit tests to final + libraries given required source code modules. + o Removed configuration/setup of no longer supported TiMemory profiling. + o Introduced new "FullRelWithDebInfo" build mode, "-O3 -g", so maximum + optimisation with debugging symbols. + o Simplifications to Geant4Config.cmake: removed obsolete and never run + "whole archive" linking of G4physics_lists; replaced TOOLSSG + visualisation driver variables that are just synonyms for more + fundamental config options (e.g. GEANT4_USE_QT) with the underlying + variable. + o Added optional install of new NuDEXLib and URRPT datasets. + o Updated to datasets: G4PARTICLEXS-4.1, G4EMLOW-8.6, G4NUDEXLIB-1.0, + G4URRPT-1.0. + + o Event: + ----- + + Initial implementation of creation and processing of sub-events. + + Added protection in G4VPrimaryGenerator::SetParticlePosition() to avoid + and warn for attempts to place vertex position outside or on surface of + the world volume. + + G4PrimaryTransformer: adding sanity check of 4-momentum. + + Added UI command to switch on/off the vertex position check (default: on). + + Updated "/gun/position" UI command guidance in G4ParticleGunMessenger. + Removed unnecessary setting of gun position to (0, 0, 0). + + Removed use of no longer supported TiMemory. + + o Geometry: + -------- + + divisions: + o Applied trivial clang-tidy fixes to classes, i.e. use of default + constructor/destructor. + + magneticfield: + o Added new classes for automatic field construction from parameters: + G4FieldBuilder[Messenger], G4FieldParameters[Messenger] and + G4FieldSetup. + o Applied trivial clang-tidy fixes to classes, i.e. use of default + constructor/destructor, auto and using statements. + o Minor cleanup in QSS classes. + + management: + o Added new capability to run voxel optimisation in threads in MT mode. + Parallelises only over volumes. The user must currently call + G4GeometryManager::RequestParallelOptimisation(optimise, verbose) to + use it. Set 'verbose=true' to obtain statistics on the volumes with + biggest contribution to memory size and CPU time for voxelisation. + New method BuildOptimisationsParallel() can be called by + G4WorkerRunManager to initialise. New method ReportVoxelInfo() to + write out for verification. Checked with simple and complex/large + geometries. + o Added new methods GetNumOfConstituents() and IsFaceted() to G4VSolid. + o Applied trivial clang-tidy fixes to classes, i.e. use of default + constructor/destructor. + + navigation: + o G4TransportationManager now notifies G4FieldManager about the global + field via its new function SetGlobalFieldManager(). This provides + the ability to access/revise the global field manager directly + from G4FieldManager without dependency on the navigation module. + o Applied trivial clang-tidy fixes to classes, i.e. use of 'override' and + removal of 'virtual' keywords; use of default constructor/destructor. + + solids/Boolean: + o In G4BooleanSolid, propagate parameter to all constituents in + SetCubVolStatistics() and SetCubVolEpsilon(). + o In G4UnionSolid and G4SubtractionSolid, limit calculations with + construction of temporary G4IntersectionSolid by 10 constituents for + GetCubicVolume(). + o Implemented new methods GetNumOfConstituents() and IsFaceted(). + o Added extra method to process solid and not perform external operations + via G4Polyhedron. Successive Boolean mesh operations with floating point + are invariably going to be unstable. Providing a method which takes a + solid and returns the G4Polyhedron allows the external processor to use + significantly more precise types and strategies to avoid ambiguity and + then finally convert to double at the very last step. + + solids/CSG: + o Implemented new methods GetNumOfConstituents() and IsFaceted(). + o Applied trivial clang-tidy fixes to G4CSGSolid, i.e. use of 'override'. + + solids/specific: + o Completely revised and optimised implementation of G4GenericTrap. + Addressing problem report #2547. + o Implemented new methods GetNumOfConstituents() and IsFaceted(). + o Applied trivial clang-tidy fixes to classes, i.e. use of 'override' + and 'default' keywords. + + volumes: + o Applied trivial clang-tidy fixes to G4AssemblyStore, i.e. removed + unnecessary 'if' check for null pointer in Clean() method. + + o Global: + ------ + + G4StateManager, G4VStateDependent: added notifying methods when an event + or a run is deleted to avoid a state-dependent class from accessing to an + obsolete event/run object. + + G4PhysicsModelCatalog: added ID for the NuDEX nuclear de-excitation model; + removed unnecessary ID (24110) for internal conversion. + + G4PhysicsTable: avoid crash in printout for the case when a vector in the + table is not yet created (useful for debugging). + + Removed use of no longer supported TiMemory. + + Changed date for release 11.3-beta. + + o Graphics Representations: + ------------------------ + + G4SceneTreeItem: added G4String field 'FurtherInfo' and access functions. + + G4Colour: clarify usage; added GetColor (US spelling); added G4Exception. + + G4VVisManager: added EventReadyForVis(), used by G4SubEvtRunManager. + + o Intercoms: + --------- + + Unify range checking implementation in G4UIparameter/command; pure + refactor to remove code duplication and complexity of user-facing + classes. + + Removed use of no longer supported TiMemory. + + o Interfaces: + ---------- + + Improved identification of scene tree models: use full description, + including embedded blanks. + + In G4UIQt, now all models are treated alike. Load tooltip with "further + information", if any; inform user if scene tree is suppressed because + of too many touchable. Fixed crash and bad rendering behaviour when + using QOpenGLWidget with Qt6. + + Removed use of no longer supported TiMemory. + + o Physics Lists: + ------------- + + Constructors: + o electromagnetic: + - G4EmStandardPhysicsWVI: return back ATIMA model for ionisation and + fluctuations of ions in order to make comparisons with other models. + - G4EmStandardPhysics_option3: return back step limit type to + 'fUseDistanceToBoundary' and the default RangeFactor from 0.03 + to 0.04. This will allow to restore more accurate distributions for + several medical benchmark tests. + - G4EmStandardPhysics_option3, G4EmStandardPhysics_option4, + G4EmLivermorePhysics, G4EmLivermorePhysics, G4EmDNAPhysics: use + fAllisonPositronium type of model for sampling of positron + annihilation at rest (as in release 11.2). + - G4EmStandardPhysics_option4: use alternative model for positron + annihilation on fly with 3-gamma annihilation channel enabled. + - G4GammaGeneralProcess: updated according to change in EM data tables. + - G4EmDNAPhysics: define default maximum kinetic energy 600 MeV instead + of 300 MeV in order to have standard ionisation and multiple + scattering always defined for DNA physics configurations. + This allows to avoid situations when low-energy ions pass through + DNA regions without interaction. + - G4EmDNAPhysics, G4EmDNAPhysicsActivator, G4EmDNAPhysics_option2, + G4EmDNAPhysics_option4, G4EmDNAPhysics_option6 and + G4EmDNAPhysics_option8: changed upper limit for DNA physics of + Helium ions from 300 MeV to 400 MeV. + - G4EmDNABuilder: added nuclear stopping process for G4GenericIon + below 1 MeV/u. + - Use EmParameters to control chemistry models in + G4EmDNAChemistry_option3. + o factory: + - Minor code cleanup in G4PhysicsConstructorRegistry source. + o constructors/hadron_inelastic + - G4HadronPhysicsQGSP_BERT_HP: use alternative NUDEX model of + gamma de-excitation. + + o Electromagnetic Processes: + ------------------------- + + DNA: + o Optimised IRT-syn at 1 ps for high LET applications. + o G4DNARuddIonisationExtendedModel: updated model to not use autolock but + rather upload data in the class constructor once in all threads; use + effective charge approach for all ions with Z > 2 (in order to have + more correct computation of stopping power and ranges); precompute + internal variables before sampling; optimised algorithm of sampling + (at 10 MeV it becomes ~10 times faster); updated initialisation to + allow be called from the general model; removed unused parameters. + o G4GeneralIonIonisationModel, G4DNAIonChargeIncreaseModel and + G4DNAIonChargeDecreaseModel: new classes implementing general models + for ions heavier than Helium. + o G4DNAChargeDecrease, G4DNAChargeIncrease: removed obsolete definition + of min/max model energy inside processes class; some code clean-up. + o G4DNAElectronHoleRecombination: changed branch condition in + FindReactant() to select only H2O+ ions involved in electron-hole + recombination. + o G4DNAWaterDissociationDisplacer: added dissociative decay channels for + multiple-ionised water ions. + o G4DNAMultipleIonisationManager: new class focusing on generation of + multiple-ionised water ions and calculation of scale parameter to + compute cross-section of each multiple-ionisation process. + o G4DNADoubleIonisation, G4DNATripleIonisation and + G4DNAQuadrupleIonisation: new process classes for multiple-ionisation. + o G4DNADoubleIonisationModel, G4DNATripleIonisationModel and + G4DNAQuadrupleIonisationModel: new model classes related to + multiple-ionisation. + o G4DNAELSEPAElasticModel: modified to be compatible with density + scaling. + o Debug invalid KDTree node. + o Deleted DelayLists at the end of chemistry stage. + o Delete unused enum, as now adopting EmParameters to control chemistry + models in G4EmDNAChemistry_option3. + o Cleaned G4Scheduler and cleanup in CMake scripts. + + Low Energy: + o G4MicroElecLOPhononModel: minor code cleanup. + + Standard: + o New G4OrePowellAtRestModel class, Orel & Powell orto positronium decay + model AtRest and G4SimpleoPsAtRestModel, simple orto para positronium + chooser. + o G4IonICRU73Data: fix for the case when target material has an element + with Z>92; improved debug printouts. In the Lindhard-Sorensen model to + compute dEdx the first try is to take it from ICRU73 or ICRU90 data, + if this class returns zero, then dEdx is computed from G4GenericIon + and effective charge. Addressing problem report #2586. + o G4eeToTwoGammaModel: fixed precision lost in sampling of final state + for the very high energy (ATLAS report). + o G4UrbanMscModel: optimised DistanceToBoundary step limitation + algorithm currently used only in Opt3 EM physics. + o G4SimplePositronAtRestModel, G4AllisonAtRestModel: new classes to + sample positron annihilation. + o G4eplusTo2GammaOKVIModel: removed sampling at rest. + o G4eplusAnnihilation: added selection of AtRest model; implemented + ApplyCuts() for AtRest; implemented choice of positron annihilation + model at rest. Use more const class members; changed model ID + definition for produced tracks. + + Utils: + o G4EmParameters: increased low-limit on 'maxKinEnergy' parameter from + 10 MeV to 600 MeV in order to have standard ionisation and multiple + scattering always defined for DNA physics configurations. + Added protection to fix segmentation fault when data is unavailable. + o G4EmParameters, G4EmParametersMessenger: added enumerator and a new + flag G4PositronAtRestModel, which allows selection and configuration of + the model of positron annihilation at rest. Added orto positronium + fraction flag. + o G4LowEnergyEmProcessSubType: added 'fLowEnergyTripleIonisation' and + 'fLowEnergyQuadrupleIonisation' for implementing multiple-ionisation + processes in Geant4-DNA. + o G4VPositronAtRestModel: new virtual interface. + o G4EmDataRegistry: new class to keep EM data tables. + o G4VEmProcess: extended info printout for e+ annihilation at rest. + o G4VEmProcess, G4VEnergyLossProcess: improved identification of model ID + for atomic de-excitation (fluorescence, Auger e-, PIXE). + o G4EmParameters, G4EmLowEParameters, G4EmLowEParametersMessenger: added + DNA chemistry time step model. + o G4EmDataHandler: extended functionality. + o G4LossTableManager: identify master thread using std method. + o G4LossTableBUilder: more accurate use of static members and methods. + o G4VEmModel, G4VEmProcess, G4VEnergyLossProcess, G4EmTableUtil: updated + according to change in the data. + o G4VMscModel: moved initialisation of tables for model to G4EmTableUtil. + o G4EmBiasingManager: minor cosmetic change. + + Xrays: + o G4XTRGaussRadModel: new class providing improved account on the origin + of XTR photons. + + o Hadronic Processes: + ------------------ + + cross_sections + o G4NeutronCapture: lowest energy limit is set to 10^-5 eV; below this + energy no computations are done, to avoid numerical problems. + Improved comments to the code. + o G4NeutronInelastic: implemented 1/v cross-section dependence below + low-energy limit of the cross-section vector, if the cross-section + does not start from null. + o Moved G4IsotopeList header to 'util' module. + o G4HadronXSDataTable: make class a singleton for registration and + destruction of static objects with cross-section data; data are deleted + only at the end of run. + o G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS, + G4BGGPionInelasticXS, G4ComponentBarNucleonNucleusXsc, + G4HadronNucleonXsc, G4UPiNuclearCrossSection and + G4CrossSectionDataSetRegistry: code clean-up; removed 'isMaster' checks, + removed mutex locks, removed unused variables and applied code + formatting. + o G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4NeutronInelasticXS, + G4ComponentBarNucleonNucleusXsc, G4ComponentGGNuclNuclXsc, G4PiData and + G4NucleonNuclearCrossSection: general clean-up of proton and neutron + cross-sections; removed unused methods, removed not needed mutex locks, + improved printouts, cross-sections outside data tables are equal to + low or high edge of the table (not zero). + o In G4NeutronInelasticXS::SelectIsotope(), fixed compilation warnings + for implicit type conversions detected with macOS/XCode. + o G4ComponentGGNuclNuclXsc: removed debug printout, added check of + G4VERBOSE. + o G4BGGPionElasticXS, G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS: + added check of G4VERBOSE compilation flag. + + management + o G4HadronicProcessStore: fixed handling of rare processes, printout, + cross-section maximum search, and deletion at the end of run. + + models/abla + o Added array extension for super-heavy nuclei. + o Added the dissipation parameter for heavy hypernuclei. + o General code cleanup; removed unused data structures; consistently use + G4 types; added pragma once for compilation. + + models/cascade + o Use G4UniformRand() instead of G4InuclSpecialFunctions::inuclRndm() + wrapper (now removed from class G4InuclSpecialFunctions) in the code. + o In G4CascadeFinalStateAlgorithm::GenerateCosTheta(), for 4-body and + higher-body generation of cosTheta, use direct sampling of + exp(1-cosTheta) instead of previously used rejection method on + sinTheta*exp(-sinTheta). This removes the reflection about cosTheta=0 + that caused a symmetric double bump in the Feynman-x distribution. + + models/de_excitation + o G4CameronGilbertPairingCorrections, G4CameronGilbertShellCorrections, + G4NuclearLevelData, G4PairingCorrection: simplified computation of + corrections; computations are now done in one place only, not spread + among classes. + o G4EvaporationChannel, G4EvaporationProbability: fixed usage of pairing + corrections; agreement with test data is improved. + o G4EvaporationChannel: fixed computation of minimal kinetic energy of a + fragment for odd-even residual nucleus. + o G4DeexPrecoParameters: moved definition of int and bool parameters to + source; improved comments; added default width of nuclear level needed + for selection of final excitation in a decay of an excited state. + o G4PhotonEvaporation: use abs() in all computations for 'JP', as it can + be negative due to parity. Addressing problem report #2587. + o G4VEmissionProbability: renamed local variable to avoid possible + shadowing. Use the new width parameter. + o G4ExcitationHandler: improved debug printout. + o G4ExcitationHandle, G4NeutronRadCapture: corrected model ID for IC + electrons. + o G4GEMChannelVI, G4GEMProbabilityVI: updated interfaces and simplified + algorithm of computation of probability. + o G4VCoulombBarrier, G4CoulombBarrier, G4GEMCoulombBarrier, + G4FermiBreakUpUtil: code cleanup; removed unused headers and variables. + + models/fission + o G4FissLib: fixed compilation warning on gcc when LTO settings are + enabled. + + models/lepto_nuclear + o Fixed Coverity warning on unused variable in neutrino models. + + models/nudex + o New alternative and more sophisticated nuclear de-excitation model + (NuDEX) as far as the emission of gammas and internal conversion + electrons are concerned. The model relies on the dataset + G4NUDEXLIB-1.0, which is pointed by the environmental variable + G4NUDEXLIBDATA. When NuDEX is not applicable - e.g. because the + corresponding nucleus is not present in the dataset - the + G4PhotonEvaporation class is utilised instead. Currently, the model + will be used only for the neutron capture process, when ParticleHP is + utilised; in the future it can be used more generally as one of the + possible "evaporation" models. This, at the beginning, will only be + possible for the physics list QGSP_BERT_HP. + + models/particle_hp + o Introduced neutron treatment of the Unresolved Resonance Region (URR) + via Probability Table (PT); relevant for precise simulations of nuclear + reactor criticality and shielding applications. + Reading probability table files in compressed format from the new + G4URRPT-1.0 dataset pointed by the G4URRPTDATA environment variable. + + models/parton_string + o G4ExcitedStringDecay: fixed minor memory leak suggested by Coverity. + + models/radioactive_decay + o Renamed G4RadioactiveDecay to G4VRadioactiveDecay and G4Radioactivation + to G4RadioactiveDecay. The header for G4Radioactivation is preserved to + provide backwards compatibility. + + util + o G4HadronicParameters: introduced Get/Set methods for flag controlling + the NuDEX gamma de-excitation module. + o Moved G4IsotopeList header with static data in this module, from + 'cross_sections'. + + o Run: + --- + + First full implementation of of sub-event parallelism, adding the + creation and processing of sub-events in workers, plus the merging + of results back into events on the main thread. Some additional work + may be needed to correctly retain a limited sample of events. + No impact of the core changes needed to support sub event parallelism in + any other mode (Seq, MT, Tasking) other than some counting issues with + retained events. + + Extended diagnostics and output from material scanner. + + Added call in G4WorkerRunManager to use parallel initialisation of + voxels. + + In G4RunManager::ReinitializeGeometry(), added call to new function + G4FieldBuilder::Reinitialize(). + + G4PhysicsListHelper: added 'DNATripleIoni' and 'DNAQuadrupleIoni' + for the implementation of multiple-ionisation processes in Geant4-DNA. + + G4RunManager: added SetDefaultClassification() methods to enable setting + the classification for tracks newly arriving to a stack. + + Removed use of no longer supported TiMemory. + + Fixed compilation warnings for implicit type conversions on macOS/XCode + on G4MSSteppingAction. Use consistently G4 types. + + o Track & Tracking: + ---------------- + + Added optional copy of touchable when copy constructing a G4Track, to + support sub-event parallelism. + + Some code cleanup, providing more easy reading of class headers; expected + tiny CPU speedup; identical results. + + G4Track, G4Step, G4StepPoint: added keyword "inline" to all inline method + declarations; improved comments. + + G4Step: move methods to compute delta energy and momentum to inline + removing G4Exception but improving comments to these methods; removed + G4ThreadLocal variable. + + G4VParticleChange: improved layout of variables. + + G4ParticleChangeForGamma, G4ParticleChangeForLoss: reserve vector of + secondaries. + + Removed use of no longer supported TiMemory. + + o Visualization: + ------------- + + management: + o Rationalisation, simplification and code tidying. + o Updated visualisation manager to correctly merge/handle asynchronous + event merging (also resolving long standing issues with post + processing). Implemented 'EventReadyForVis', used by G4SubEvtRunManager; + restructured EndOfEvent functions to accommodate this and avoid code + duplication; this involved introducing: "Relinquishable", + "EndOfEventKernel" and "EndOfEventCleanup". + o Corrected the use of "KeepForPostProcessing/PostProcessingFinished". + o G4VisExecutive: restored OpenGL as default backend for Qt6. + o Improved identification of scene tree models: use full description, + including embedded blanks. + o G4VViewer: check validity of arguments in SceneTreeScene constructor. + Pre-calculate quantities in SceneTreeScene constructor; pre-calculate + the number of touchable; if more than 10000, suppress them in the + scene tree and add some information about it to the model item so that + it pops up as a tooltip in the GUI. + More logical order of some functions. + o G4VSceneHandler: specify the G4PhysicalVolumeModel for construction + of scene tree. Simplified loop over models, added some printing. + Print number of touchable by depth (if verbosity >= confirmations). + Print problematic volumes (if verbosity >= confirmations). + o Limit the number of scene tree items. For complex geometries, the scene + tree can take up a lot of space, and, anyway, not easy to navigate. + Now suppressing the scene tree if the number of touchable exceeds + 10000 (equivalent to about 20 MB). + o G4VisCommandsViewer: use GetSceneTree() rather than AccessSceneTree() + when not necessary. + o In G4VisExecutive, trap use of run-time visualisation driver choice, + and (if using run-time choice) insist the UI session is instantiated + *before* G4VisExecutive. + Keep argc, argv and user-specified system, if specified, for delayed + use. Moved informational (G4warn) from G4VisManager. + o Delay determination of the run-time-chosen default driver. + The run-time-chosen default driver is not actually used until the first + use of "/vis/open" or "/vis/sceneHandler/create" without driver + parameter, so we delay to this point. This catches the situation when + the user instantiates the UI session *after* instantiating the vis + manager. + o G4VisManager: make GetDefaultGraphicsSystemName() virtual and non const. + The code for choosing a default driver *has to be* in user space, i.e., + in G4VisExecutive, so that it has access to use flags. + Modified the informational (G4warn) in PrintAvailableGraphicsSystems() + to give advice and point to further information to be given after + "/vis/open". + o G4VisCommandsTouchable: "/vis/touchable/dump" and "findPath" do not + need a scene handler nor a viewer. + Moved them to the beginning of G4VisCommandsTouchable::SetNewValue(), + before the check on scene handler and viewer. This allows the user to + "/vis/touchable/dump" even if he/she has not yet opened a viewer. + + modeling: + o G4PhysicalVolumeModel: added data field 'TotalTouchables' and access + functions. + o G4TextModel: use single quote (') to delineate actual text in + description. + + OpenGL: + o In G4OpenGLQtViewer, fixed MT issue of possible dead-lock in case + multiple OGLI or OGLS viewers are enabled and when issuing + "/run/beamOn". Restored picking feature for Qt6 and implemented 2D + draw text in DrawText(). + o In G4OpenGLImmediateQtViewer and G4OpenGLStoredQtViewer, removed usage + of paintEvent() for Qt6, paintGL() should be sufficient. + For updateQWidget, use update() to trigger a repaint. + In Initialise() check validity of widget type, to avoid observed crash + at startup on macOS; do the same on the ClearView(), SetView(). + o Make headers of implementation detail classes private. + + OpenInventor: + o G4OpenInventorQtViewer: in Qt6, reparent G4OpenInventorQtExaminerViewer + in its own QWidget, allowing to restore correct behaviour when opening + multiple viewers. Properly handle viewer destruction. + Have "addInTab" done in Initialise() method. Avoid to do an examiner + viewer "move/resize" in Initialise() method, as causing strange widget + rendering behaviour. + o In G4OpenInventorQtExaminerViewer, allow with Qt6 to map a dialog in + case being closed with the mouse. Have the title window reflecting the + name of the viewer. In MT mode, fixed behaviour when issuing multiple + "/run/beamOn" commands within multiple viewers. + o Make headers of implementation detail classes private. + + Qt3D + o Added missing call to fpPhysicalVolumeObjects.clear() in + G4Qt3DSceneHandler::EstablishG4Qt3DQEntities(). Fixes cases of + crash when opening multiple viewers with "/vis/open Qt3D". + o In G4Qt3DViewer destructor, call setRootEntity(nullptr) to disconnect + the G4Qt3DSceneHandler::fpQt3DScene from a viewer. + o In G4Qt3DSceneHandler destructor, clear the scene tree. + + ToolsGS: + o Replace TOOLSSG vis driver variables that are just synonyms for more + fundamental config options (e.g. GEANT4_USE_QT) with the underlying + variable. + o Make Freetype a private dependency in CMake script. + + Vtk: + o In G4VtxQtViewer, fixed MT issue of possible dead-lock in case multiple + Vtk viewers are enabled and when issuing "/run/beamOn". + + o Datasets: + --------- + + G4PARTICLEXS-4.1: + o Updated data for all isotopes, for neutron, proton and light ion + cross-sections. Fixed cross-sections for Argon, Promethium, Astatine, + Radon, Francium. Fixed low-energy cross-section; low-energy limits of + cross-sections per target are verified and updated based on neutron + data. + + G4EMLOW-8.6: + o Added new data for multi-ionisation DNA processes. + + G4NUDEXLIB-1.0: + o New [optional] dataset required to enable the NuDEX hadronic model + (E. Mendoza et al., NIMA 1047, 167894 (2023) https://doi.org/10.1016/ + j.nima.2022.167894). + Including: data file with general parameters used by NuDEX; data tables + to get internal conversion factors, obtained from BrICC; nuclear level + schemes and densities downloaded from the RIPL-3 data library; files + containing primary capture gamma rays, obtained from ENSDF; photon + strength function parameters, obtained from RIPL-3 and from the IAEA + Photon Strength Function Database; folder to change the default + parameters for the decay of specific nuclei. + + G4URRPT-1.0: + o New [optional] Probability Table dataset, used for the treatment of + low-energy neutrons in the Unresolved Resonance Region (URR), at + temperature of 293.15 K, processed with both NJOY and CALENDF. + As described in: M. Zmeskal et al., Comp.Phys. arXiv:2404.16389. + + o Examples: + -------- + + Updated reference outputs, macros, READMEs and scripts. + + Updated URL for schema validation in all GDML files to valid short + address. + + Applied clang-format to basic and extended examples; addressed coding + style warnings. + + advanced/dsbandrepair + o Use EmParameters to control chemistry time step model. + + advanced/eFLASH_radiotherapy + o Added FlashPhysicsListMessenger class to allow changing the physics + list by macro commands (opt3, opt4, Penelope and Livermore). + + basic/B3 + o Looping over G4THitsMap via range for loop instead of iterators. + + extended/electromagnetic/TestEm0 + o DetectorConstruction: introduced Xenon gas. + o Added new macro xenonGas.mac. + + extended/electromagnetic/TestEm4 + o PhysicsLists: fixed annoying warnings on decay table; + removed obsolete methods. + o Run: code cleanup; removed Tabs. + + extended/electromagnetic/TestEm5 + o TrackingAction: added protection against wrong argument of std::acos(), + rarely happening for very high energy projectile particles. + o Removed macro subcut.mac. + + extended/electromagnetic/TestEm7 + o RunAction: added protection to histogram binning for very low step + limit. + + extended/electromagnetic/TestEm12 + o Added comments to dna.mac input macro. + + extended/electromagnetic/TestEm15 + o SteppingAction: code cleanup; removed Tabs. + + extended/eventgenerator/exgps + o Updated build script for CTests definitions. + + extended/eventgenerator/pythia/py8decayer + o Updated to Pythia8.3.10 for testing. + o Added Py8DecayerEngine to override Pythia8 native engine with the + default one from Geant4 (CLHEP), to properly run in the MT/Tasking mode. + o Updated main() to use MT mode; some code cleanup. + + extended/exoticphysics/phonon + o Updated build script for CTests definitions. + + extended/field/field01 + + extended/field/field02 + + extended/field/field03 + o Replaced FieldSetup and FieldMessenger classes with usage of new + field builder class G4FieldBuilder. + o Moved setting field value (ThreeVector) from FieldSetup (now removed) + in DetectorConstruction and its messenger and removed setting of + Z-value only. + + extended/hadronic/Hadr01 + o Enable usage of the NUDEX library for QGSP_BERT_HP physics in main(). + + extended/hadronic/Hadr03 + o PrimaryGeneratorAction: added tiny shift of position of the particle + gun from the world volume boundary; fixing a warning now detecting this. + o PhysicsList: removed G4RadioactiveDecayPhysics. + o Updated fusion.mac input macro. + + extended/hadronic/Hadr05 + o PrimaryGeneratorAction: added tiny shift of position of the particle + gun from the world volume boundary; fixing a warning now detecting this. + o RadioactiveDecayPhysics: added Triton. + o Applied coding rules. + + extended/hadronic/Hadr07 + o RadioactiveDecayPhysics: added Triton. + o Applied coding rules. + + extended/hadronic/NeutronSource + o PhysicsList: added G4HadronElasticPhysicsXS. + o RadioactiveDecayPhysics: added Triton. + o GammaNuclearPhysics, GammaNuclearPhysicsLEND: applied coding rules. + + extended/medical/dna/chem6 + o Use EmParameters to control chemistry models. + + extended/medical/dna/dnadamage1 + o Fixed compilation errors on macOS/clang with C++23 enabled. + + extended/medical/dna/dnaphysics + o PhysicsList: switched to DNA physics constructors i/o model activator. + o Added new n-tuple to collect track information. + o Added plotDeexcitation.C analysis and deexcitation.in macro. + o Updated comments in headers. + + extended/medical/dna/mfp + o Code cleanup. + + extended/medical/dna/microdosimetry + o Removed original content of the example; replaced by dnaphysics example. + o Code simplification to demonstrate the usage of G4DNAPhysicsActivator. + + extended/medical/dna/microprox + + extended/medical/dna/microyz + o Code cleanup. + + extended/medical/dna/moleculardna + o Updated /dnageom/interactionDirectRange to 2.0 angstrom. + + extended/medical/dna/range + + extended/medical/dna/slowing + o Code cleanup. + + extended/medical/dna/spower + o SteppingAction: extended use for ions heavier than helium. + o In spower.in input macro, added extra commands to show how to shoot + ions heavier than helium. + o Code cleanup. + + extended/medical/dna/svalue + + extended/medical/dna/wvalue + o Code cleanup. + + extended/medical/dna/UHDR + o Updated bounce off condition based on: + Karamitros M. et al.2020,arXiv:2006.14225 (2020). + o Implemented PBC based on https://github.com/amentumspace/g4pbc + to calculate microdosimetry + o Added a maximum dose (2 times of cut-off dose) to abort the event. + o Fixed compilation errors on macOS/clang with C++23 enabled, for + incomplete types of smart-pointers through defaulted destructors. + + extended/medical/fanoCavity + o Make PhysicsLists of the example coherent with physics_list library. + Fixed annoying warnings on decay table. + + extended/medical/fanoCavity2 + o Make PhysicsLists of the example coherent with physics_list library. + + extended/parallel + o Removed obsolete TopC example. + + extended/parallel/MPI + o Updated build script for CTests definitions. + + extended/parallel/ThreadsafeScorers + o Removed use of no longer supported TiMemory. + + extended/radioactivedecay/Activation + o PhysicsList: added G4HadronElasticPhysicsXS. + o RadioactiveDecayPhysics: added Triton. + o GammaNuclearPhysics, GammaNuclearPhysicsLEND: applied coding rules. + + extended/radioactivedecay/rdecay01 + o PhysicsList: set 'MeanLifeThreshold' to 1 nanosecond. + o Added time windowed biasing to rdecay01.in macro. + o In timeWindowBiased.mac and rdecay01.in, removed + "/process/had/rdm/BRbias". + + extended/runAndEvent/RE07 + o Fixed compilation warnings for potentially initialised local variable + in EmStandardPhysicsTrackingManager::PostStepDoIt(). + + extended/visualization/standalone + o A smarter way of getting extent of geometry that ignores invisible + volumes. Thus, if the world is marked invisible, it ignores it. + o In DrawGeometryVisAction: use G4PhysicalVolumeModel to determine extent. + + ---------------------------------------------------------------------------- + diff --git a/ReleaseNotes/Patch.11.2-1.txt b/ReleaseNotes/Patch.11.2-1.txt index cbfdefc6ccf..1fdb8dc65d3 100644 --- a/ReleaseNotes/Patch.11.2-1.txt +++ b/ReleaseNotes/Patch.11.2-1.txt @@ -45,7 +45,7 @@ List of fixes included in this public patch since the public release 11.2.0: + dna o G4DNABornAngle: fixed numerical problem; added protection for cosTheta; use relativistic formula for maximum energy transfer to delta-electrons. - + loweneegy + + lowenergy o G4MicroElecInelasticModel_new: fixed Coverity report for memory leak at exit. Minor code cleanup. o G4MicroElecLOPhononModel: minor code cleanup. diff --git a/cmake/History b/cmake/History index 90d7325f1ff..5e9c1def58c 100644 --- a/cmake/History +++ b/cmake/History @@ -6,44 +6,82 @@ It must **not** be used as a substitute for writing good git commit messages! ------------------------------------------------------------------------------- -## 2024-06-07 Ben Morgan (cmake-V11-01-33) +## 2024-06-07 Ben Morgan (cmake-V11-02-18) +- Add optional install of new URRPT data model + - Fixes Issue #217 + +## 2024-06-04 Ben Morgan (cmake-V11-02-17) - Do not export HDF5 version to Geant4Config - Fixes Issue #214 -## 2024-05-17 Gunter Folger +## 2024-05-17 Gunter Folger (cmake-V11-02-16) - Use patched G4NDL 4.7.1 dataset. -## 2024-03-26 Ben Morgan +## 2024-05-17 Ben Morgan (cmake-V11-02-15) +- Add optional install of new NuDEXLib data model + +## 2024-05-09 Ben Morgan (cmake-V11-02-14) +- Provide CMake function to assist in linking unit tests to final libraries + given required source code modules. + +## 2024-05-08 Ben Morgan (cmake-V11-02-13) +- Remove configuration/setup of TiMemory in Geant4. + +## 2024-05-03 Ben Morgan (cmake-V11-02-12) +- Introduce new `FullRelWithDebInfo` build mode. + - Essentially `-O3 -g`, so maximum optimization with debugging symbols + - Intended to help diagnose FPE exceptions on Alma9/gcc13/c++20 and future + proof against similar +- Remove obsolete `Maintainer` build mode that is nothing more than `Debug` + +## 2024-04-30 Ben Morgan (cmake-V11-02-11) +- Simplifications to Geant4Config.cmake + - Remove obsolete and never run "whole archive" linking of G4physics_lists + - Replace TOOLSSG vis driver variables that are just synonyms for more + fundamental config options (e.g. GEANT4_USE_QT) with the underlying + variable. + +## 2024-03-26 Ben Morgan (cmake-V11-02-10) - Disable use of FindPythia6 outside of internal Geant4 examples. -## 2024-04-17 Stephan Hageboeck +## 2024-04-17 Stephan Hageboeck (cmake-V11-02-09) - Mention the possibility of using cvmfs datasets in the cmake configure warning -## 2024-04-08 Guilherme Amadio +## 2024-04-17 Ben Morgan (cmake-V11-02-08) +- Bump G4EMLOW dataset to v8.6 + +## 2024-04-08 Guilherme Amadio (cmake-V11-02-07) - Fix also find_package(SoXt) and find_package(SoWin) -## 2024-04-20 Ben Morgan +## 2024-04-20 Ben Morgan (cmake-V11-02-06) - Update FindPythia8 module to: - Apply [GitHub PR 68](https://github.com/Geant4/geant4/pull/68) - Reduce capability to only that required by py8decayer example - Emit error if used in project outside Geant4 or py8decayer -## 2024-03-12 Ben Morgan +## 2024-03-12 Ben Morgan (cmake-V11-02-05) - Update FindPythia6 module to account for lib64 - Applies [GitHub PR 63](https://github.com/Geant4/geant4/pull/63) -## 2024-03-11 Ben Morgan +## 2024-03-11 Ben Morgan (cmake-V11-02-04) - Fix escaping of regex in geant4_module_check to satisfy latest Python3. -## 2024-01-29 Ben Morgan (cmake-V11-01-32) +## 2024-03-06 Ben Morgan (cmake-V11-02-03) +- Bump G4PARTICLEXS dataset to v4.1 + +## 2024-01-29 Ben Morgan (cmake-V11-02-02) - Manually check versions of found SoXX packages to workaround their use of the `ExactVersionOnly` version checking strategy in find_package. Geant4 only requires a minimum version. -## 2024-01-26 Ben Morgan (cmake-V11-01-31) +## 2024-01-26 Ben Morgan (cmake-V11-02-01) - Add -F flag for Qt when on macOS and with a framework build of Qt - Addresses [Bugzilla 2589](https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2589) +## 2024-01-19 Ben Morgan (cmake-V11-02-00) +- Add compiler flags for GCC only to help detect/debug LTO-related problems when + building with CMAKE_INTERPROCEDURAL_OPTIMIZATION. + ## 2023-11-28 Ben Morgan (cmake-V11-01-30) - Bump minimum VecGeom version to 1.2.6 diff --git a/cmake/Modules/G4BuildSettings.cmake b/cmake/Modules/G4BuildSettings.cmake index 2f68a3c2098..be4b7cb7efb 100644 --- a/cmake/Modules/G4BuildSettings.cmake +++ b/cmake/Modules/G4BuildSettings.cmake @@ -101,14 +101,14 @@ set(CMAKE_CXX_FLAGS_TESTRELEASE "${CMAKE_CXX_FLAGS_TESTRELEASE_INIT}" mark_as_advanced(CMAKE_CXX_FLAGS_TESTRELEASE) #.rst: -# - ``Maintainer``: -# For development of the toolkit. It adds debugging, and enables the use -# of library specific debugging via standardized definitions. +# - ``FullRelWithDebInfo``: +# For trial production and extended testing. Maximum optimization +# and debugging symbols # -set(CMAKE_CXX_FLAGS_MAINTAINER "${CMAKE_CXX_FLAGS_MAINTAINER_INIT}" - CACHE STRING "Flags used by the compiler during Maintainer builds" +set(CMAKE_CXX_FLAGS_FULLRELWITHDEBINFO "${CMAKE_CXX_FLAGS_FULLRELWITHDEBINFO_INIT}" + CACHE STRING "Flags used by the compiler during FullRelWithDebInfo builds" ) -mark_as_advanced(CMAKE_CXX_FLAGS_MAINTAINER) +mark_as_advanced(CMAKE_CXX_FLAGS_FULLRELWITHDEBINFO) #.rst: # Compiler flags specific to these build types are set in the cache, and @@ -117,17 +117,17 @@ mark_as_advanced(CMAKE_CXX_FLAGS_MAINTAINER) # if(NOT CMAKE_CONFIGURATION_TYPES) # Single mode build tools like Make, Ninja, - set(__g4buildmodes "" Release TestRelease MinSizeRel Debug Debug_FPE RelWithDebInfo MinSizeRel Maintainer) + set(__g4buildmodes "" Release TestRelease MinSizeRel Debug Debug_FPE RelWithDebInfo FullRelWithDebInfo) if(NOT CMAKE_BUILD_TYPE) # Default to a Release build if nothing else... set(CMAKE_BUILD_TYPE Release - CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug Debug_FPE RelWithDebInfo MinSizeRel Maintainer." + CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug Debug_FPE RelWithDebInfo FullRelWithDebInfo." FORCE ) else() # Force to the cache, but use existing value. set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" - CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug Debug_FPE RelWithDebInfo MinSizeRel Maintainer." + CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug Debug_FPE RelWithDebInfo FullRelWithDebInfo." FORCE ) endif() @@ -136,7 +136,7 @@ else() # Multimode tools like VS, Xcode list(APPEND CMAKE_CONFIGURATION_TYPES Debug_FPE) list(APPEND CMAKE_CONFIGURATION_TYPES TestRelease) - list(APPEND CMAKE_CONFIGURATION_TYPES Maintainer) + list(APPEND CMAKE_CONFIGURATION_TYPES FullRelWithDebInfo) list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES) set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING "Geant4 configurations for multimode build tools" @@ -365,6 +365,19 @@ if(GEANT4_BUILD_MULTITHREADED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GEANT4_MULTITHREADED_CXX_FLAGS}") endif() +#----------------------------------------------------------------------- +# Link-time optimization +#----------------------------------------------------------------------- +# If LTO is enabled via CMAKE_INTERPROCEDURAL_OPTIMIZATION, then add +# additional flags to force identify/check ODR violations for GCC only (at present) +# Note that these are _nominally_ enabled by default in GCC with flto, so +# they are added explicitly for the sake of clarity. Also, some are only valid for +# older GCC versions, but they do not break things. +# TODO: Review with experiments what recommended options are here. +if(CMAKE_INTERPROCEDURAL_OPTIMIZATION AND (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")) + string(APPEND CMAKE_CXX_FLAGS " -Wodr -fipa-icf -flto-odr-type-merging") +endif() + #----------------------------------------------------------------------- # Physics #----------------------------------------------------------------------- diff --git a/cmake/Modules/G4DatasetDefinitions.cmake b/cmake/Modules/G4DatasetDefinitions.cmake index 6417fcf9601..31f62f4faf8 100644 --- a/cmake/Modules/G4DatasetDefinitions.cmake +++ b/cmake/Modules/G4DatasetDefinitions.cmake @@ -18,11 +18,11 @@ geant4_add_dataset( # - Low energy electromagnetics geant4_add_dataset( NAME G4EMLOW - VERSION 8.5 + VERSION 8.6 FILENAME G4EMLOW EXTENSION tar.gz ENVVAR G4LEDATA - MD5SUM 146d0625d8d39f294056e1618271bc46 + MD5SUM 080576674061a0649629649879655bb9 ) # - Photon evaporation @@ -48,11 +48,11 @@ geant4_add_dataset( # - Particle XS - replaces Neutron XS geant4_add_dataset( NAME G4PARTICLEXS - VERSION 4.0 + VERSION 4.1 FILENAME G4PARTICLEXS EXTENSION tar.gz ENVVAR G4PARTICLEXSDATA - MD5SUM d82a4d171d50f55864e28b6cd6f433c0 + MD5SUM 878252a464ba6b38f085741840f053e6 ) # - PII @@ -115,7 +115,7 @@ geant4_add_dataset( ENVVAR G4ENSDFSTATEDATA MD5SUM 6f18fce8f217e7aaeaa3711be9b2c7bf ) - + # - TENDL option(GEANT4_INSTALL_DATASETS_TENDL "Install optional TENDL dataset" OFF) mark_as_advanced(GEANT4_INSTALL_DATASETS_TENDL) @@ -129,6 +129,34 @@ if(GEANT4_INSTALL_DATASETS_TENDL) ENVVAR G4PARTICLEHPDATA MD5SUM ab17a1eec5ad4c8fcfafcfbc0de30ed8 ) +endif() + +# - NuDEX +option(GEANT4_INSTALL_DATASETS_NUDEXLIB "Install optional NuDEXLib dataset" OFF) +mark_as_advanced(GEANT4_INSTALL_DATASETS_NUDEXLIB) +if(GEANT4_INSTALL_DATASETS_NUDEXLIB) + geant4_add_dataset( + NAME G4NUDEXLIB + VERSION 1.0 + FILENAME G4NUDEXLIB + EXTENSION tar.gz + ENVVAR G4NUDEXLIBDATA + MD5SUM 09a85f907d2282dbf234d1784f436db3 + ) endif() +# - G4URRPT +option(GEANT4_INSTALL_DATASETS_URRPT "Install optional URRPT dataset" OFF) +mark_as_advanced(GEANT4_INSTALL_DATASETS_URRPT) + +if(GEANT4_INSTALL_DATASETS_URRPT) + geant4_add_dataset( + NAME G4URRPT + VERSION 1.0 + FILENAME G4URRPT + EXTENSION tar.gz + ENVVAR G4URRPTDATA + MD5SUM acc94698e4199455b4fac33c3384ccb4 + ) +endif() diff --git a/cmake/Modules/G4DeveloperAPI.cmake b/cmake/Modules/G4DeveloperAPI.cmake index 61ca9b0f8f6..03c711d7ef6 100644 --- a/cmake/Modules/G4DeveloperAPI.cmake +++ b/cmake/Modules/G4DeveloperAPI.cmake @@ -852,6 +852,59 @@ function(geant4_get_external_categories _result) set(${_result} ${__tmp} PARENT_SCOPE) endfunction() +#----------------------------------------------------------------------- +#----------------------------------------------------------------------- +#.rst: +# Test Program Commands +# ^^^^^^^^^^^^^^^^^^^^^ +# .. cmake:command:: geant4_test_link_libraries +# +# .. code-block:: cmake +# +# geant4_test_link_libraries( +# [PUBLIC pub1 [pub2 ...] +# [PRIVATE pri1 [pri2 ...] +# [INTERFACE int1 [int2 ...]) +function(geant4_test_link_libraries _target) + cmake_parse_arguments(G4TESTLINKLIB + "" + "" + "PUBLIC;PRIVATE;INTERFACE" + ${ARGN} + ) + __geant4_assert_no_unparsed_arguments(G4TESTLINKLIB geant4_test_link_libraries) + + # Need defined libraries to be able to resolve between static/shared + get_property(__g4definedlibraries GLOBAL PROPERTY GEANT4_DEFINED_CATEGORIES) + + foreach(__prop PUBLIC PRIVATE INTERFACE) + __geant4_resolve_link_libraries(G4TESTLINKLIB_${__prop}) + if(G4TESTLINKLIB_${__prop}) + # Filter list for internal static targets + # NB: This only works assuming that the input target is an executable + # If we introduce test libraries, would need same treatment as for main libraries + if(BUILD_STATIC_LIBS AND NOT BUILD_SHARED_LIBS) + set(_g4linklibs ) + foreach(_linklib ${G4TESTLINKLIB_${__prop}}) + # If the linklib is a G4Library, change name to "name-static" + list(FIND __g4definedlibraries ${_linklib} _isg4lib) + if(_isg4lib GREATER -1) + list(APPEND _g4linklibs "${_linklib}-static") + else() + list(APPEND _g4linklibs "${_linklib}") + endif() + endforeach() + message(STATUS "${_g4linklibs}") + set(_linklibs ${_g4linklibs}) + else() + set(_linklibs ${G4TESTLINKLIB_${__prop}}) + endif() + + target_link_libraries(${_target} ${__prop} ${_linklibs}) + endif() + endforeach() +endfunction() + #----------------------------------------------------------------------- #----------------------------------------------------------------------- # Composition Functions @@ -1184,6 +1237,9 @@ function(__geant4_resolve_link_libraries _list) geant4_has_module(__is_module ${__lib}) if(__is_module) geant4_get_module_property(__parent_lib ${__lib} PARENT_TARGET) + if(NOT __parent_lib) + message(FATAL_ERROR "Module '${__lib}' has no PARENT_TARGET set") + endif() list(APPEND _resolved_list ${__parent_lib}) else() list(APPEND _resolved_list ${__lib}) diff --git a/cmake/Modules/G4InterfaceOptions.cmake b/cmake/Modules/G4InterfaceOptions.cmake index bed1b140805..582fb927ba5 100644 --- a/cmake/Modules/G4InterfaceOptions.cmake +++ b/cmake/Modules/G4InterfaceOptions.cmake @@ -64,8 +64,6 @@ if(GEANT4_USE_INVENTOR_QT AND NOT GEANT4_USE_QT) set(GEANT4_USE_QT ON CACHE BOOL "Build Geant4 with Qt support" FORCE) message(STATUS "Forcing GEANT4_USE_QT to ON, required by selection of GEANT4_USE_INVENTOR_QT as ON") endif() -set(GEANT4_USE_TOOLSSG_QT_GLES ${GEANT4_USE_QT}) -set(GEANT4_USE_TOOLSSG_QT_ZB ${GEANT4_USE_QT}) # TEMPORARY for 11.2 Beta Development # Decision still required on whether to allow selection of 5/6 in production @@ -76,15 +74,15 @@ mark_as_advanced(GEANT4_USE_QT_QT6) option(GEANT4_USE_VTK "Build Geant4 with VTK visualisation" OFF) if(GEANT4_USE_VTK) find_package(VTK 9 REQUIRED COMPONENTS - CommonColor - InteractionStyle - IOExport - IOGeometry - IOLegacy - IOPLY - GUISupportQt - RenderingVolumeOpenGL2 - ) + CommonColor + InteractionStyle + IOExport + IOGeometry + IOLegacy + IOPLY + GUISupportQt + RenderingVolumeOpenGL2 + ) geant4_save_package_variables(VTK VTK_DIR) endif() geant4_add_feature(GEANT4_USE_VTK "Using VTK for visualisation") @@ -100,19 +98,13 @@ if(UNIX) set(GEANT4_USE_XM ON CACHE BOOL "Build Geant4 with Motif (X11) support" FORCE) message(STATUS "Forcing GEANT4_USE_XM to ON, required by Inventor driver") endif() - set(GEANT4_USE_TOOLSSG_XT_GLES ${GEANT4_USE_XM}) - set(GEANT4_USE_TOOLSSG_XT_ZB ${GEANT4_USE_XM}) geant4_add_feature(GEANT4_USE_XM "Build Geant4 with Xm Support") # - OpenGL/X11 Vis Driver # Selection also enables ToolsSG driver X11 backend option(GEANT4_USE_OPENGL_X11 "Build Geant4 OpenGL driver with X11 support" OFF) - set(GEANT4_USE_TOOLSSG_X11_GLES ${GEANT4_USE_OPENGL_X11}) geant4_add_feature(GEANT4_USE_OPENGL_X11 "Build Geant4 OpenGL driver with X11 support") - # tools/zb X11 Vis Driver - set(GEANT4_USE_TOOLSSG_X11_ZB ${X11_FOUND}) - # RayTracer driver with X11 support option(GEANT4_USE_RAYTRACER_X11 "Build RayTracer driver with X11 support" OFF) geant4_add_feature(GEANT4_USE_RAYTRACER_X11 "Build RayTracer driver with X11 support") @@ -121,10 +113,7 @@ endif() # Windows only if(WIN32) option(GEANT4_USE_OPENGL_WIN32 "Build OpenGL driver with Win32 support" OFF) - set(GEANT4_USE_TOOLSSG_WINDOWS_GLES ${GEANT4_USE_OPENGL_WIN32}) geant4_add_feature(GEANT4_USE_OPENGL_WIN32 "Build OpenGL driver with Win32 support") - - set(GEANT4_USE_TOOLSSG_WINDOWS_ZB ON) endif() #----------------------------------------------------------------------- diff --git a/cmake/Modules/G4MakeRules_cxx.cmake b/cmake/Modules/G4MakeRules_cxx.cmake index 54e56b5c948..9ab35079866 100644 --- a/cmake/Modules/G4MakeRules_cxx.cmake +++ b/cmake/Modules/G4MakeRules_cxx.cmake @@ -51,8 +51,8 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") # - TestRelease set(CMAKE_CXX_FLAGS_TESTRELEASE_INIT "-g -DG4DEBUG_VERBOSE -DG4FPE_DEBUG") - # - Maintainer - set(CMAKE_CXX_FLAGS_MAINTAINER_INIT "-g") + # - Full optimization plus debug info (basically -O3 -g) + set(CMAKE_CXX_FLAGS_FULLRELWITHDEBINFO_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT} -g") # - Multithreading __configure_tls_models() @@ -72,7 +72,6 @@ if(MSVC) # Extra modes set(CMAKE_CXX_FLAGS_TESTRELEASE_INIT "-MDd -Zi -G4DEBUG_VERBOSE") - set(CMAKE_CXX_FLAGS_MAINTAINER_INIT "-MDd -Zi") endif() #----------------------------------------------------------------------- @@ -92,7 +91,6 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Intel") # Extra modes set(CMAKE_CXX_FLAGS_TESTRELEASE_INIT "-g -G4DEBUG_VERBOSE") - set(CMAKE_CXX_FLAGS_MAINTAINER_INIT "-g") # - Multithreading __configure_tls_models() diff --git a/cmake/Modules/G4OptionalComponents.cmake b/cmake/Modules/G4OptionalComponents.cmake index 677989a072f..8cbd7503979 100644 --- a/cmake/Modules/G4OptionalComponents.cmake +++ b/cmake/Modules/G4OptionalComponents.cmake @@ -183,42 +183,6 @@ option(GEANT4_USE_SMARTSTACK "Use smart track stack" OFF) mark_as_advanced(GEANT4_USE_SMARTSTACK) geant4_add_feature(GEANT4_USE_SMARTSTACK "Use smart track stack") -#----------------------------------------------------------------------- -# Optional Support for TiMemory -- timing, memory, HW counters, roofline, gperftools, etc. -# easily installed via: -# git clone https://github.com/NERSC/timemory.git timemory -# pip install -vvv ./timemory -# and prepending CMAKE_PREFIX_PATH with `python -c "import sys; print(sys.prefix)"` -# -set(_default_use_timemory OFF) -if(TiMemory_DIR) - set(_default_use_timemory ON) -endif() - -option(GEANT4_USE_TIMEMORY "Build Geant4 with TiMemory support" ${_default_use_timemory}) -mark_as_advanced(GEANT4_USE_TIMEMORY) - -if(GEANT4_USE_TIMEMORY) - # by default just use the library which will import all the components that it - # was built with but once can add more - if(BUILD_SHARED_LIBS) - set(_G4timemory_DEFAULT_COMPONENTS cxx shared OPTIONAL_COMPONENTS) - else() - set(_G4timemory_DEFAULT_COMPONENTS cxx static OPTIONAL_COMPONENTS) - endif() - set(G4timemory_COMPONENTS "${_G4timemory_DEFAULT_COMPONENTS}" CACHE STRING - "timemory INTERFACE libraries that activate various capabilities in toolkit") - set(G4timemory_VERSION 3.2) - set(timemory_FIND_COMPONENTS_INTERFACE geant4-timemory) - add_library(geant4-timemory INTERFACE) - find_package(timemory ${G4timemory_VERSION} REQUIRED COMPONENTS ${G4timemory_COMPONENTS}) - install(TARGETS geant4-timemory EXPORT Geant4LibraryDepends) - set(timemory_LIBRARIES geant4-timemory) - geant4_save_package_variables(timemory timemory_DIR) -endif() - -geant4_add_feature(GEANT4_USE_TIMEMORY "Building Geant4 with TiMemory support") - #----------------------------------------------------------------------- # Optional support for G3TOG4 convertion interface. # We do not build the rztog4 application. diff --git a/cmake/Templates/Geant4Config.cmake.in b/cmake/Templates/Geant4Config.cmake.in index c13f0507b9c..c40b6847ac5 100644 --- a/cmake/Templates/Geant4Config.cmake.in +++ b/cmake/Templates/Geant4Config.cmake.in @@ -81,20 +81,11 @@ # motif (Motif-X11/OpenGL Graphical User Interface) # qt (Qt/OpenGL Graphical User Interface) # +# vis_Vtk (VTK Graphical User Interface) +# vis_openinventor (OpenInventor visualization) # vis_opengl_x11 (OpenGL visualization with X11 interface) # vis_opengl_win32 (OpenGL visualization with X11 interface) # vis_raytracer_x11 (RayTracer visualization with X11 interface) -# vis_openinventor (OpenInventor visualization) -# -# vis_toolssg_x11_gles (ToolsSG visualization with X11 windowing and GLES rendering) -# vis_toolssg_xt_gles (ToolsSG visualization with Xt windowing and GLES rendering) -# vis_toolssg_qt_gles (ToolsSG visualization with Qt windowing and GLES rendering) -# vis_toolssg_windows_gles (ToolsSG visualization with Windows windowing and GLES rendering) - -# vis_toolssg_x11_zb (ToolsSG visualization with X11 windowing and g4tools zbuffer rendering) -# vis_toolssg_xt_zb (ToolsSG visualization with Xt windowing and g4tools zbuffer rendering) -# vis_toolssg_qt_zb (ToolsSG visualization with Qt windowing and g4tools zbuffer rendering) -# vis_toolssg_windows_zb (ToolsSG visualization with Windows windowing and g4tools zbuffer rendering) # # In addition, two 'shorthand' components are defined to help activate all # available User Interface and Visualization drivers: @@ -228,18 +219,41 @@ endforeach() unset(Geant4_DATASET_DESCRIPTIONS) #----------------------------------------------------------------------- -# Setup components. +# Optional Build Components +#----------------------------------------------------------------------- +# - General Multithreading +set(Geant4_multithreaded_FOUND @GEANT4_BUILD_MULTITHREADED@) +if(Geant4_multithreaded_FOUND) + # - Define variable to indicate TLS model used + set(Geant4_TLS_MODEL "@GEANT4_BUILD_TLS_MODEL@") + if(Geant4_TLS_MODEL STREQUAL "auto") + unset(Geant4_TLS_MODEL) + endif() +endif() + +# - Smart track stack +set(Geant4_smartstack_FOUND @GEANT4_USE_SMARTSTACK@) + +# - ParticleHP as HP +set(Geant4_php_as_hp_FOUND @GEANT4_BUILD_PHP_AS_HP@) + +# - G3toG4 +set(Geant4_g3tog4_FOUND @GEANT4_USE_G3TOG4@) +if(Geant4_g3tog4_FOUND) + if(Geant4_FIND_REQUIRED_g3tog4) + set(_geant4_use_g3tog4_library ON) + endif() +endif() + +#----------------------------------------------------------------------- +# Optional Components that may depend on external packages #----------------------------------------------------------------------- -# Many components are simply present as parts of libraries or always built -# but require additional compile definitions. -# # Optionally import build-time package settings to provide hard values # for find_package to work with include("${CMAKE_CURRENT_LIST_DIR}/Geant4PackageCache.cmake" OPTIONAL) -# Builtin/External packages +# - CLHEP set(Geant4_system_clhep_FOUND @GEANT4_USE_SYSTEM_CLHEP@) - if(Geant4_system_clhep_FOUND) set(Geant4_builtin_clhep_FOUND FALSE) find_dependency(CLHEP @CLHEP_VERSION@ EXACT CONFIG) @@ -247,19 +261,20 @@ else() set(Geant4_builtin_clhep_FOUND TRUE) endif() +# - EXPAT set(Geant4_builtin_expat_FOUND @GEANT4_USE_BUILTIN_EXPAT@) if(NOT Geant4_builtin_expat_FOUND) find_dependency(EXPAT @EXPAT_VERSION_STRING@) include("${CMAKE_CURRENT_LIST_DIR}/G4EXPATShim.cmake") endif() +# - ZLIB set(Geant4_builtin_zlib_FOUND @GEANT4_USE_BUILTIN_ZLIB@) if(NOT Geant4_builtin_zlib_FOUND) find_dependency(ZLIB @ZLIB_VERSION_STRING@) endif() -# PTL/TBB -# - Refind of PTL will refind TBB +# - PTL/TBB set(Geant4_system_ptl_FOUND @GEANT4_USE_SYSTEM_PTL@) set(Geant4_TBB_FOUND @GEANT4_USE_TBB@) if(Geant4_system_ptl_FOUND) @@ -279,50 +294,12 @@ else() endif() endif() -# - Multithreading -set(Geant4_multithreaded_FOUND @GEANT4_BUILD_MULTITHREADED@) -if(Geant4_multithreaded_FOUND) - # - Define variable to indicate TLS model used - set(Geant4_TLS_MODEL "@GEANT4_BUILD_TLS_MODEL@") - if(Geant4_TLS_MODEL STREQUAL "auto") - unset(Geant4_TLS_MODEL) - endif() -endif() - # - GDML set(Geant4_gdml_FOUND @GEANT4_USE_GDML@) if(Geant4_gdml_FOUND) find_dependency(XercesC @XercesC_VERSION@) endif() -# - Smart track stack -set(Geant4_smartstack_FOUND @GEANT4_USE_SMARTSTACK@) - -# - ParticleHP as HP -set(Geant4_php_as_hp_FOUND @GEANT4_BUILD_PHP_AS_HP@) - -# - TiMemory -set(Geant4_timemory_FOUND @GEANT4_USE_TIMEMORY@) -if(Geant4_timemory_FOUND) - set(_geant4_use_timemory_library ON) - set(timemory_DIR "@timemory_DIR@" CACHE PATH "timemory installation for Geant4") - if(NOT TARGET @timemory_FIND_COMPONENTS_INTERFACE@) - add_library(@timemory_FIND_COMPONENTS_INTERFACE@ INTERFACE IMPORTED) - set(timemory_FIND_COMPONENTS_INTERFACE @timemory_FIND_COMPONENTS_INTERFACE@) - find_package(timemory @G4timemory_VERSION@ REQUIRED QUIET - COMPONENTS @G4timemory_COMPONENTS@) - endif() - set(timemory_LIBRARIES @timemory_FIND_COMPONENTS_INTERFACE@) -endif() - -# - G3toG4 -set(Geant4_g3tog4_FOUND @GEANT4_USE_G3TOG4@) -if(Geant4_g3tog4_FOUND) - if(Geant4_FIND_REQUIRED_g3tog4) - set(_geant4_use_g3tog4_library ON) - endif() -endif() - # - VecGeom set(Geant4_usolids_FOUND @GEANT4_USE_USOLIDS_EITHER@) if(Geant4_usolids_FOUND) @@ -401,7 +378,6 @@ if(Geant4_qt_FOUND) # Qt must be activated both directly and for OpenInventor if(("qt" IN_LIST Geant4_FIND_COMPONENTS) OR ("vis_openinventor" IN_LIST Geant4_FIND_COMPONENTS) - OR ("vis_toolssg_qt_gles" IN_LIST Geant4_FIND_COMPONENTS) OR Geant4_ui_all_FOUND OR Geant4_vis_all_FOUND) set(_geant4_use_opengl_library ON) # Qt3D is always on if available @@ -425,7 +401,6 @@ if(Geant4_motif_FOUND) # Motif can be activated both directly and for OpenInventor if(("motif" IN_LIST Geant4_FIND_COMPONENTS) OR ("vis_openinventor" IN_LIST Geant4_FIND_COMPONENTS) - OR ("vis_toolssg_xt_gles" IN_LIST Geant4_FIND_COMPONENTS) OR Geant4_ui_all_FOUND OR Geant4_vis_all_FOUND) set(_geant4_use_opengl_library ON) endif() @@ -481,62 +456,6 @@ if(Geant4_vis_openinventor_FOUND) endif() endif() -# - ToolsSG X11/GLES -set(Geant4_vis_toolssg_x11_gles_FOUND @GEANT4_USE_TOOLSSG_X11_GLES@) -if(Geant4_vis_toolssg_x11_gles_FOUND) - find_dependency(X11) - include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim.cmake") - if(APPLE) - find_dependency(XQuartzGL) - else() - find_dependency(OpenGL) - endif() -endif() - -# - ToolsSG X11/ZB -set(Geant4_vis_toolssg_x11_zb_FOUND @GEANT4_USE_TOOLSSG_X11_ZB@) -if(Geant4_vis_toolssg_x11_zb_FOUND) - find_dependency(X11) - include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim.cmake") -endif() - -# - ToolsSG Windows/GLES -set(Geant4_vis_toolssg_windows_gles_FOUND @GEANT4_USE_TOOLSSG_WINDOWS_GLES@) -if(Geant4_vis_toolssg_windows_gles_FOUND) - find_dependency(OpenGL) -endif() - -# - ToolsSG Windows/ZB -set(Geant4_vis_toolssg_windows_zb_FOUND @GEANT4_USE_TOOLSSG_WINDOWS_ZB@) - -# - ToolsSG Xt/GLES -set(Geant4_vis_toolssg_xt_gles_FOUND @GEANT4_USE_TOOLSSG_XT_GLES@) -if(Geant4_vis_toolssg_xt_gles_FOUND) - find_dependency(X11) - include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim.cmake") - if(APPLE) - find_dependency(XQuartzGL) - else() - find_dependency(OpenGL) - endif() -endif() - -# - ToolsSG Xt/ZB -set(Geant4_vis_toolssg_xt_zb_FOUND @GEANT4_USE_TOOLSSG_XT_ZB@) -if(Geant4_vis_toolssg_xt_zb_FOUND) - find_dependency(X11) - include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim.cmake") -endif() - -# - ToolsSG Qt/GLES -set(Geant4_vis_toolssg_qt_gles_FOUND @GEANT4_USE_TOOLSSG_QT_GLES@) -if(Geant4_vis_toolssg_qt_gles_FOUND) - find_dependency(OpenGL) -endif() - -# - ToolsSG Qt/ZB -set(Geant4_vis_toolssg_qt_zb_FOUND @GEANT4_USE_TOOLSSG_QT_ZB@) - # Reset any OpenGL Preference set(OpenGL_GL_PREFERENCE "${OpenGL_GL_PREFERENCE_SAVE}") @@ -629,43 +548,8 @@ if(_geant4_use_g3tog4_library) set(_geant4_g3tog4_library Geant4::G3toG4${_geant4_lib_use_suffix}) endif() -# - link to timemory library if activated -if(_geant4_use_timemory_library) - list(APPEND _geant4_internal_libraries ${timemory_LIBRARIES}) -endif() - -# - Factory registration mechanism in physics_lists requires whole -# archive to be linked when using static libs, so requires wrapping -# with suitable compiler dependent flags -# 2016-05-24: use an alternate means of forcing linking of references for -# static builds. --whole-archive never was implemented for _WIN32 -# (appears not to even be possible) -# In order re-implement whole-archive, switch Geant4_FORCE_WHOLE_ARCHIVE ON set(_geant4_physicslists_library Geant4::G4physicslists${_geant4_lib_use_suffix}) -set(Geant4_FORCE_WHOLE_ARCHIVE OFF) -if( Geant4_FORCE_WHOLE_ARCHIVE ) -if(_geant4_lib_use_suffix STREQUAL "-static") - # - Use CMAKE_CXX_COMPILER_ID, which should be reliable enough... - # Though the GNU/Clang/Intel compilers/linkers *should* use identical - # flags,keep their sections separate until behaviour confirmed - # - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - set(_geant4_physicslists_library -Wl,--whole-archive Geant4::G4physicslists${_geant4_lib_use_suffix} -Wl,--no-whole-archive) - elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(_geant4_physicslists_library -Wl,-force_load Geant4::G4physicslists${_geant4_lib_use_suffix}) - elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") - set(_geant4_physicslists_library -Wl,--whole-archive Geant4::G4physicslists${_geant4_lib_use_suffix} -Wl,--no-whole-archive) - else() - # Needs determination of other compiler options. - # NB: MSVC has /OPT:NOREF, but may apply globally... - # reading up on this ... doesn't seem that it applies for subtle reasons - # only real way is to actually reference the static variables - set(_geant4_physicslists_library Geant4::G4physicslists${_geant4_lib_use_suffix}) - endif() -endif() -endif() - # - 'Kernel' libraries list(APPEND _geant4_internal_libraries Geant4::G4vis_management${_geant4_lib_use_suffix} diff --git a/cmake/Templates/UseGeant4_internal.cmake b/cmake/Templates/UseGeant4_internal.cmake index e043032eb09..377ca9fa025 100644 --- a/cmake/Templates/UseGeant4_internal.cmake +++ b/cmake/Templates/UseGeant4_internal.cmake @@ -174,6 +174,7 @@ function(geant4_add_test test) -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL} -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} + -DCMAKE_CXX_FLAGS_FULLRELWITHDEBINFO=${CMAKE_CXX_FLAGS_FULLRELWITHDEBINFO} -DCMAKE_DISABLE_FIND_PACKAGE_ROOT=$ ) set_property(TEST ${__build_test_name} PROPERTY ENVIRONMENT Geant4_DIR=${Geant4_BINARY_DIR}) diff --git a/examples/History b/examples/History index acdfc6d89e2..410c72de7fd 100644 --- a/examples/History +++ b/examples/History @@ -6,6 +6,60 @@ It must **not** be used as a substitute for writing good git commit messages! ------------------------------------------------------------------------------- +## 2024-06-28 Gabriele Cosmo (examples-V11-02-06) +- Updated reference outputs according to reference tag geant4-11-02-ref-06. +- Included tags: doxygen-V11-02-00, exadvanced-V11-02-00, dsbandrepair-V11-02-00, + ChargeExchangeMC-V11-02-01, xraysiliconporeoptics-V11-02-00, + exbasic-V11-02-01, exextended-V11-02-01,fieldex01-V11-02-00, + fieldex02-V11-02-00, fieldex03-V11-02-00, exhadr01-V11-02-00, + DICOM-V11-02-00, chem6-V11-02-00, exparallel-V11-02-00, + expar04-V11-02-02, G01-V11-02-00, G02-V11-02-00, G03-V11-02-00, + G04-V11-02-00, rdecay02-V11-02-00. + +## 2024-05-31 Gabriele Cosmo (examples-V11-02-05) +- Updated reference outputs according to reference tag geant4-11-02-ref-05. +- Included tags: exampleB3-V11-02-00, dnadamage1-V11-02-00, UHDR-V11-02-02, + dnaphysics-V11-02-02, ThreadsafeScorers-V11-02-00, + rdecay01-V11-02-02, exampleRE07-V11-02-00. + +## 2024-04-30 Gabriele Cosmo (examples-V11-02-04) +- Updated reference outputs according to reference tag geant4-11-02-ref-04. +- Included tags: hadrontherapy-V11-02-01, medical_linac-V11-02-00, + testem0-V11-02-00, testem2-V11-02-00, testem3-V11-02-00, + testem4-V11-02-01, testem5-V11-02-00, testem7-V11-02-01, + testem13-V11-02-00, testem14-V11-02-00, testem15-V11-02-00, + exEventGenerator-V11-02-01, HepMCEx01-V11-02-00, + HepMCEx02-V11-02-00, p6decayer-V11-02-00, exhadr09-V11-02-00, + exHadNucIneEvents-V11-02-00, exdna-V11-02-00, mfp-V11-02-01, + molecularDNA-V11-02-00, range-V11-02-00, slowing-V11-02-00, + spower-V11-02-01, UHDR-V11-02-00, fano-V11-02-01. + +## 2024-03-28 Gabriele Cosmo (examples-V11-02-03) +- Updated reference outputs according to reference tag geant4-11-02-ref-03. +- Included tags: exbiasing-V11-02-00, exEventGenerator-V11-02-00, + exgps-V11-02-00, particleGunExample-V11-02-00, + p8decayer-V11-02-01, phononExample-V11-02-00, + exhadr03-V11-02-01, exhadr04-V11-02-00, exhadr05-V11-02-00, + exhadr06-V11-02-00, exhadr07-V11-02-00, dnaphysics-V11-02-01, + microprox-V11-02-00, svalue-V11-02-00, wvalue-V11-02-00, + fano-V11-02-00, fano2-V11-02-00, MPI-V11-02-00, + expar04-V11-02-00. + +## 2024-02-29 Gabriele Cosmo (examples-V11-02-02) +- Updated reference outputs according to reference tag geant4-11-02-ref-02. +- Included tags: testem5-V11-02-01, testem12-V11-02-00, exhadr03-V11-02-00, + NeutronSource-V11-02-00, microdosimetry-V11-02-01, + dnaphysics-V11-02-00, microyz-V11-02-00, spower-V11-02-00, + activation-V11-02-00, rdecay01-V11-02-01. + +## 2024-01-31 Gabriele Cosmo (examples-V11-02-01) +- Updated reference outputs according to reference tag geant4-11-02-ref-01. +- Included tags: eFLASH_radiotherapy-V11-02-00, exampleB2-V11-02-00, + testem1-V11-02-00, testem5-V11-02-00, testem7-V11-02-00, + testem11-V11-02-00, testem16-V12-00-00, p8decayer-V11-02-00, + neuron-V11-02-00, rdecay01-V11-02-00, + exam-ext-vis-standalone-V11-02-00. + ## 2023-11-30 Gabriele Cosmo (examples-V11-02-00) - Updated reference outputs according to reference tag geant4-11-02-ref-00. - Removed obsolete references to GNUmakefile and hbook from extended examples diff --git a/examples/advanced/CaTS/CaTS.out b/examples/advanced/CaTS/CaTS.out index af46eb50f12..914dd6cab46 100644 --- a/examples/advanced/CaTS/CaTS.out +++ b/examples/advanced/CaTS/CaTS.out @@ -38,7 +38,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -214,7 +214,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -769,7 +769,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -778,4 +778,4 @@ Correlated gamma emission flag 0 Max 2J for sampling of angular correlations 10 ======================================================================= writing Event: 0 -TimeTotal> 9.063 2.990 +TimeTotal> 5.799 2.970 diff --git a/examples/advanced/CaTS/gdml/SimpleExtension.xsd b/examples/advanced/CaTS/gdml/SimpleExtension.xsd index 4f008bc8642..2aa6c3aee14 100644 --- a/examples/advanced/CaTS/gdml/SimpleExtension.xsd +++ b/examples/advanced/CaTS/gdml/SimpleExtension.xsd @@ -4,10 +4,9 @@ elementFormDefault="unqualified" version="1.0" xmlns:gdml_simple_extension="http://www.example.org/" - xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xs="http://www.w3.org/2001/XMLSchema"> - + diff --git a/examples/advanced/ChargeExchangeMC/ChargeExchangeMC.out b/examples/advanced/ChargeExchangeMC/ChargeExchangeMC.out index c806d4b2d1c..ad9a5e33798 100644 --- a/examples/advanced/ChargeExchangeMC/ChargeExchangeMC.out +++ b/examples/advanced/ChargeExchangeMC/ChargeExchangeMC.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -22,13 +22,6 @@ --- Cexmc --- Production model 'ChargeExchange' instantiated G4GDML: Reading 'lht.gdml'... -G4GDML: VALIDATION ERROR! ID attribute 'G4_Galactic' is referenced but was never declared at line: 637 -G4GDML: VALIDATION ERROR! ID attribute 'G4_AIR' is referenced but was never declared at line: 637 -G4GDML: VALIDATION ERROR! ID attribute 'G4_Al' is referenced but was never declared at line: 637 -G4GDML: VALIDATION ERROR! ID attribute 'G4_Cu' is referenced but was never declared at line: 637 -G4GDML: VALIDATION ERROR! ID attribute 'G4_lH2' is referenced but was never declared at line: 637 -G4GDML: VALIDATION ERROR! ID attribute 'G4_MYLAR' is referenced but was never declared at line: 637 -G4GDML: VALIDATION ERROR! ID attribute 'G4_Fe' is referenced but was never declared at line: 637 G4GDML: Reading definitions... G4GDML: Reading materials... G4GDML: Reading solids... @@ -269,7 +262,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -827,7 +820,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -911,606 +904,606 @@ Index : 9 used in the geometry : Yes ================================================================== ### Run 0 starts. -Event 2181 +Event 186 --- Track Points - monitor : pi- [1,bp] 737.3 MeV : -1.111 -1.464 -0.125 cm [-0.01201, 0.009803, 0.9999] - target : pi- [1,bp] 725.3 MeV : 2.032 4.568 -1.162 cm [-0.65, -0.7598, 0.01069] - : eta [6,op] 246.4 MeV : -1.556 0.3773 -1.097 cm [-0.7129, -0.5374, 0.4506] - : neutron [7,np] 521.3 MeV : -1.556 0.3773 -1.097 cm [-0.5642, -0.8016, -0.1977] - : pi0 [10,opdp] 200.7 MeV : -1.556 0.3773 -1.097 cm [-0.008438, -0.9689, 0.2475] - : pi0 [8,opdp] 36.26 MeV : -1.556 0.3773 -1.097 cm [-0.9293, -0.2819, -0.2385] + monitor : pi- [1,bp] 728.4 MeV : 0.7555 -1.513 -0.125 cm [-0.01238, -0.00131, 0.9999] + target : pi- [1,bp] 727.9 MeV : 3.545 3.527 -1.584 cm [-0.6507, -0.7593, -0.002071] + : eta [6,op] 370.4 MeV : 1.617 1.277 -1.59 cm [-0.5367, -0.7952, -0.2824] + : neutron [7,np] 389.9 MeV : 1.617 1.277 -1.59 cm [-0.7031, -0.6608, 0.2626] + : pi0 [10,opdp] 205.8 MeV : 1.617 1.277 -1.59 cm [-0.07104, -0.6244, -0.7779] + : pi0 [8,opdp] 100.3 MeV : 1.617 1.277 -1.59 cm [-0.09346, -0.9503, -0.297] vc (l) : tp is not valid vc (r) : tp is not valid cal (l) : tp is not valid cal (r) : tp is not valid --- - angle between the eta decay products : 77.1766 deg + angle between the eta decay products : 33.7998 deg --- Triggered angular ranges: - 7 [-0.2000, -0.4000) + 3 [ 0.6000, 0.4000) --- Production model data: - Incident particle (LAB) : pi- -6.1507 7.9681 723.5546 MeV -- 736.9616 MeV - (SCM) : pi- -3.8196 4.9483 449.3332 MeV -- 470.5521 MeV - Nucleus particle (LAB) : proton -0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton 3.8196 -4.9483 -449.3332 MeV -- 1.0403 GeV - Output particle (LAB) : eta -49.4524 111.0235 214.3456 MeV -- 600.7234 MeV - (SCM) : eta -47.2066 108.1140 -49.8476 MeV -- 562.6319 MeV - Nucleus output particle (LAB) : neutron 43.3017 -103.0553 509.2091 MeV -- 1.0745 GeV - (SCM) : neutron 47.2066 -108.1140 49.8476 MeV -- 948.2536 MeV + Incident particle (LAB) : pi- -7.3609 -2.1714 726.9956 MeV -- 740.3117 MeV + (SCM) : pi- -4.5649 -1.3466 450.8497 MeV -- 471.9830 MeV + Nucleus particle (LAB) : proton 0.0000 -0.0000 0.0000 eV -- 938.2720 MeV + (SCM) : proton 4.5649 1.3466 -450.8497 MeV -- 1.0410 GeV + Output particle (LAB) : eta 37.0458 -104.5811 353.3820 MeV -- 661.3178 MeV + (SCM) : eta 39.8717 -103.7475 74.2841 MeV -- 563.9363 MeV + Nucleus output particle (LAB) : neutron -44.4067 102.4097 373.6136 MeV -- 1.0173 GeV + (SCM) : neutron -39.8717 103.7475 -74.2841 MeV -- 949.0282 MeV --- Reconstructed data: -- entry points: - left: 10.7053 -1.6757 -15 cm - right: 6.1836 3.6631 -15 cm + left: 0.914634 4.60775 -15 cm + right: -0.229673 -2.25201 -15 cm target: 0 0 0 fm - -- the angle: 134.242 deg - -- mass of the output particle: 223.582 MeV - -- mass of the nucleus output particle: 1.29079 GeV + -- the angle: 131.129 deg + -- mass of the output particle: 196.609 MeV + -- mass of the nucleus output particle: 1.31801 GeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta -2.9629 4.8182 95.8579 MeV -- 243.3303 MeV - (SCM) : eta -2.9629 4.8182 -10.8575 MeV -- 223.9169 MeV - Nucleus output particle (LAB) : neutron 2.9629 -4.8182 634.1421 MeV -- 1.4382 GeV - (SCM) : neutron 2.9629 -4.8182 10.8575 MeV -- 1.2909 GeV + Output particle (LAB) : eta 2.5423 4.3586 89.2241 MeV -- 215.9666 MeV + (SCM) : eta 2.5423 4.3586 -5.0343 MeV -- 196.7384 MeV + Nucleus output particle (LAB) : neutron -2.5423 -4.3586 640.7759 MeV -- 1.4655 GeV + (SCM) : neutron -2.5423 -4.3586 5.0343 MeV -- 1.3180 GeV -- triggered angular ranges: - 10 [-0.8000, -1.0000) + 9 [-0.6000, -0.8000) --- Energy Deposit - monitor : 559.744 keV + monitor : 378.825 keV vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 112.734 MeV - 0 0.6931 0 0 0 0 - 3.911 3.922 0 0 0 0 - 16.3 86.44 0.7784 0 0 0 - 0.3622 0.3222 0 0 0 0 - cal (r) : 130.597 MeV - 0.8257 12.72 13.68 0.6697 0 0 - 2.753 14.01 80.72 0 0 0 - 0 1.489 0.7457 0.9021 0 0 - 2.075 0 0 0 0 0 -Event 2272 + cal (l) : 109.223 MeV + 0 4.401 3.974 7.682 0 0 + 0 0 52.4 40.16 0 0 + 0 0 0.385 0.2235 0 0 + 0 0 0 0 0 0 + cal (r) : 106.744 MeV + 0 0 0 0 0 0 + 0 0 2.12 5.235 0 0 + 0 0 42.72 55.7 0 0 + 0 0 0.6878 0.2842 0 0 +Event 3710 --- Track Points - monitor : pi- [1,bp] 730.9 MeV : 1.779 1.112 -0.125 cm [0.0005091, -0.009606, 1] - target : pi- [1,bp] 730.4 MeV : 4.369 2.432 0.7743 cm [-0.6427, -0.766, -0.0108] - : eta [3,op] 276.9 MeV : 2.182 -0.1666 0.7355 cm [-0.2191, -0.9552, -0.1989] - : neutron [4,np] 506 MeV : 2.182 -0.1666 0.7355 cm [-0.8113, -0.5777, 0.08954] - : pi0 [7,opdp] 95.6 MeV : 2.182 -0.1666 0.7355 cm [-0.1058, -0.2975, -0.9489] - : pi0 [5,opdp] 167.7 MeV : 2.182 -0.1666 0.7355 cm [-0.8727, -0.4784, -0.09772] + monitor : pi- [1,bp] 731.2 MeV : -1.319 3.626 -1.25 mm [0.005139, -0.007701, 1] + target : pi- [1,bp] 730.2 MeV : 3.243 3.806 0.1326 cm [-0.6391, -0.7691, -0.00868] + : eta [3,op] 284.9 MeV : -1.115 -1.437 0.07347 cm [-0.5558, -0.678, -0.481] + : neutron [4,np] 496.5 MeV : -1.115 -1.437 0.07347 cm [-0.6194, -0.7393, 0.2641] + : pi0 [7,opdp] 208.8 MeV : -1.115 -1.437 0.07347 cm [0.09376, -0.993, 0.07153] + : pi0 [5,opdp] 144.8 MeV : -1.115 -1.437 0.07347 cm [-0.5905, -0.1341, -0.7958] vc (l) : tp is not valid vc (r) : tp is not valid cal (l) : tp is not valid cal (r) : tp is not valid --- - angle between the eta decay products : 70.8932 deg + angle between the eta decay products : 88.8057 deg --- Triggered angular ranges: 6 [ 0.0000, -0.2000) --- Production model data: - Incident particle (LAB) : pi- -3.0389 -9.7744 729.4621 MeV -- 742.7648 MeV - (SCM) : pi- -1.8827 -6.0556 451.9251 MeV -- 473.0289 MeV - Nucleus particle (LAB) : proton 0.0000 -0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton 1.8827 6.0556 -451.9251 MeV -- 1.0415 GeV - Output particle (LAB) : eta 123.5584 -55.0834 241.6449 MeV -- 613.8778 MeV - (SCM) : eta 124.6794 -51.4778 -27.4398 MeV -- 564.8899 MeV - Nucleus output particle (LAB) : neutron -126.5972 45.3090 487.8171 MeV -- 1.0672 GeV - (SCM) : neutron -124.6794 51.4778 27.4398 MeV -- 949.5951 MeV + Incident particle (LAB) : pi- 3.2369 -5.8981 728.6554 MeV -- 741.9324 MeV + (SCM) : pi- 2.0060 -3.6553 451.5791 MeV -- 472.6742 MeV + Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV + (SCM) : proton -2.0060 3.6553 -451.5791 MeV -- 1.0413 GeV + Output particle (LAB) : eta 2.8695 -137.0297 249.7533 MeV -- 617.5070 MeV + (SCM) : eta 1.6716 -134.8470 -19.9015 MeV -- 564.5665 MeV + Nucleus output particle (LAB) : neutron 0.3674 131.1316 478.9020 MeV -- 1.0627 GeV + (SCM) : neutron -1.6716 134.8470 19.9015 MeV -- 949.4028 MeV --- Reconstructed data: -- entry points: - left: 11.0754 -2.04039 -15 cm - right: -9.64934 2.12657 -15 cm + left: -9.01958 -6.04121 -15 cm + right: -4.05232 0.238606 -15 cm target: 0 0 0 fm - -- the angle: 149.613 deg - -- mass of the output particle: 219.101 MeV - -- mass of the nucleus output particle: 1.2757 GeV + -- the angle: 125.143 deg + -- mass of the output particle: 208.664 MeV + -- mass of the nucleus output particle: 1.29094 GeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta 74.3468 -2.4250 61.9218 MeV -- 239.5264 MeV - (SCM) : eta 74.3468 -2.4250 -46.6956 MeV -- 236.0489 MeV - Nucleus output particle (LAB) : neutron -74.3468 2.4250 668.0782 MeV -- 1.4420 GeV - (SCM) : neutron -74.3468 2.4250 46.6956 MeV -- 1.2787 GeV + Output particle (LAB) : eta 71.0523 -16.9903 124.5732 MeV -- 253.7642 MeV + (SCM) : eta 71.0523 -16.9903 15.9901 MeV -- 221.6607 MeV + Nucleus output particle (LAB) : neutron -71.0523 16.9903 605.4268 MeV -- 1.4277 GeV + (SCM) : neutron -71.0523 16.9903 -15.9901 MeV -- 1.2931 GeV -- triggered angular ranges: - 8 [-0.4000, -0.6000) + 4 [ 0.4000, 0.2000) --- Energy Deposit - monitor : 358.928 keV + monitor : 889.969 keV vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 157.931 MeV - 0.4668 0 0 0 0 0 - 2.967 0.5949 0.6137 0 0 0 - 56.43 94.79 1.205 0 0 0 - 0 0.8607 0 0 0 0 - cal (r) : 81.5954 MeV - 0 0 0 0.9717 0.6579 1.196 - 0 0 0 0.1936 72.83 1.388 - 0 0 0 1.068 0.8887 1.746 - 0 0 0 0 0.09794 0.5626 -Event 5366 + cal (l) : 174.652 MeV + 0 0 0 0 0 0 + 0 0 0 0 0.9582 1.493 + 0 0 0 0.874 42.91 0 + 0 0 0 3.143 122.8 2.447 + cal (r) : 79.1118 MeV + 0 0 0 0 0 0.1427 + 0 0 0.3424 24.08 1.436 0.3935 + 0 0 0 52.72 0 0 + 0 0 0 0 0 0 +Event 4703 --- Track Points - monitor : pi- [1,bp] 729.7 MeV : 4.109 -3.126 -1.25 mm [0.01729, -0.004476, 0.9998] - target : pi- [1,bp] 729.2 MeV : 3.857 3.182 -0.4307 cm [-0.6303, -0.7764, -0.004181] - : eta [4,op] 123.7 MeV : 2.701 1.758 -0.4384 cm [-0.5098, -0.8558, -0.0874] - : neutron [5,np] 607.1 MeV : 2.701 1.758 -0.4384 cm [-0.6529, -0.7573, 0.0131] - : pi0 [8,opdp] 113.5 MeV : 2.701 1.758 -0.4384 cm [-0.1508, -0.9864, 0.06486] - : pi+ [6,opdp] 117 MeV : 2.701 1.758 -0.4384 cm [0.2885, -0.9116, 0.2928] + monitor : pi- [1,bp] 736.9 MeV : 1.022 -0.2286 -0.125 cm [0.009561, -0.01798, 0.9998] + target : pi- [1,bp] 736.4 MeV : 4.127 2.823 -0.7487 cm [-0.6344, -0.7728, -0.018] + : eta [5,op] 405.1 MeV : -1.653 -4.201 -0.9078 cm [-0.7949, -0.6052, 0.04272] + : neutron [6,np] 353.3 MeV : -1.653 -4.201 -0.9078 cm [-0.4087, -0.9087, -0.08505] + : pi0 [9,opdp] 265.8 MeV : -1.653 -4.201 -0.9078 cm [-0.7945, -0.5352, 0.2869] + : pi0 [7,opdp] 112.6 MeV : -1.653 -4.201 -0.9078 cm [0.2992, -0.9537, 0.0316] vc (l) : tp is not valid vc (r) : tp is not valid cal (l) : tp is not valid cal (r) : tp is not valid --- - angle between the eta decay products : 28.989 deg + angle between the eta decay products : 73.6383 deg --- Triggered angular ranges: - 10 [-0.8000, -1.0000) + 2 [ 0.8000, 0.6000) --- Production model data: - Incident particle (LAB) : pi- 11.6044 -2.8616 728.7057 MeV -- 742.0476 MeV - (SCM) : pi- 7.1914 -1.7734 451.5890 MeV -- 472.7233 MeV + Incident particle (LAB) : pi- 6.6879 -12.7418 733.6233 MeV -- 746.9204 MeV + (SCM) : pi- 4.1364 -7.8806 453.7325 MeV -- 474.7970 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton -7.1914 1.7734 -451.5890 MeV -- 1.0413 GeV - Output particle (LAB) : eta 19.7475 -10.8158 121.6814 MeV -- 561.6637 MeV - (SCM) : eta 15.6560 -9.8069 -135.2474 MeV -- 564.6113 MeV - Nucleus output particle (LAB) : neutron -8.1431 7.9543 607.0243 MeV -- 1.1187 GeV - (SCM) : neutron -15.6560 9.8069 135.2474 MeV -- 949.4294 MeV + (SCM) : proton -4.1364 7.8806 -453.7325 MeV -- 1.0423 GeV + Output particle (LAB) : eta -89.0793 17.3085 394.8335 MeV -- 681.3816 MeV + (SCM) : eta -91.6855 22.2739 108.9480 MeV -- 566.5022 MeV + Nucleus output particle (LAB) : neutron 95.7673 -30.0503 338.7898 MeV -- 1.0038 GeV + (SCM) : neutron 91.6855 -22.2739 -108.9480 MeV -- 950.5552 MeV --- Reconstructed data: -- entry points: - left: -11.2463 3.93618 -15 cm - right: -4.50038 -3.83373 -15 cm + left: -9.26494 1.53201 -15 cm + right: 9.98358 -2.35875 -15 cm target: 0 0 0 fm - -- the angle: 123.799 deg - -- mass of the output particle: 127.209 MeV - -- mass of the nucleus output particle: 1.37625 GeV + -- the angle: 111.811 deg + -- mass of the output particle: 239.666 MeV + -- mass of the nucleus output particle: 1.27092 GeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta 50.0145 4.4434 82.3845 MeV -- 159.6575 MeV - (SCM) : eta 50.0145 4.4434 14.5099 MeV -- 137.5276 MeV - Nucleus output particle (LAB) : neutron -50.0145 -4.4434 647.6155 MeV -- 1.5218 GeV - (SCM) : neutron -50.0145 -4.4434 -14.5099 MeV -- 1.3772 GeV + Output particle (LAB) : eta -6.1977 -2.2361 162.3326 MeV -- 289.5429 MeV + (SCM) : eta -6.1977 -2.2361 40.6631 MeV -- 243.1804 MeV + Nucleus output particle (LAB) : neutron 6.1977 2.2361 567.6674 MeV -- 1.3920 GeV + (SCM) : neutron 6.1977 2.2361 -40.6631 MeV -- 1.2716 GeV -- triggered angular ranges: - 4 [ 0.4000, 0.2000) + 1 [ 1.0000, 0.8000) --- Energy Deposit - monitor : 342.326 keV - vc (l) : 153.413 keV + monitor : 390.905 keV + vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 114.087 MeV - 0 0 0.008261 0.5062 2.963 0.7653 - 0 0 0 0 67.55 42.05 - 0 0 0 0 0 0.2465 - 0 0 0 0 0 0 - cal (r) : 45.5701 MeV - 0 0 0 0 0 0 - 0 0 0 2.161 0 0 - 0 0 0.5795 39.06 0.3896 0 - 0 0 0 1.212 0.8899 1.282 -Event 6516 + cal (l) : 140.423 MeV + 0 0 0 0 1.205 1.045 + 0 0 0 3.169 123.7 2.065 + 0 0 0 0.3744 6.484 0 + 0 0 0 0 1.561 0.7988 + cal (r) : 149.12 MeV + 0 0.7857 0 0 0 0 + 4.591 0.8675 0 0 0 0 + 5.16 134.9 0 0.1014 0 0 + 1.739 0.2133 0 0.7124 0 0 +Event 6372 --- Track Points - monitor : pi- [1,bp] 730.7 MeV : -1.292 0.6074 -0.125 cm [0.005641, 0.005716, 1] - target : pi- [1,bp] 730.1 MeV : 2.278 4.451 0.746 cm [-0.638, -0.77, 0.004064] - : eta [3,op] 276.9 MeV : -0.5794 1.002 0.7642 cm [-0.1875, -0.9814, -0.04095] - : neutron [4,np] 504.6 MeV : -0.5794 1.002 0.7642 cm [-0.8189, -0.5734, 0.02586] - : gamma [6,opdp] 382 MeV : -0.5794 1.002 0.7642 cm [0.4422, -0.8957, -0.04608] - : gamma [5,opdp] 231.9 MeV : -0.5794 1.002 0.7642 cm [-0.9525, 0.3034, 0.027] - vc (l) : gamma [6,opdp] 382 MeV : 1.234 -2 -0.25 cm [0.02226, -0.04608, 0.9987] - vc (r) : gamma [5,opdp] 231.9 MeV : -3.521 2.331 -0.25 cm [-0.04658, 0.027, 0.9985] - cal (l) : gamma [6,opdp] 382 MeV : 1.262 -2.057 -15 cm [0.02226, -0.04608, 0.9987] - cal (r) : gamma [5,opdp] 231.9 MeV : -3.579 2.364 -15 cm [-0.04658, 0.027, 0.9985] + monitor : pi- [1,bp] 727.7 MeV : -1.596 1.043 -0.125 cm [-0.008435, 0.001135, 1] + target : pi- [1,bp] 727.1 MeV : 1.593 4.74 1.064 cm [-0.6486, -0.7611, 0.001314] + : eta [5,op] 309.3 MeV : -3.337 -1.045 1.074 cm [-0.388, -0.8615, -0.3276] + : neutron [6,np] 463.5 MeV : -3.337 -1.045 1.074 cm [-0.7553, -0.6167, 0.2218] + : pi0 [9,opdp] 145.7 MeV : -3.337 -1.045 1.074 cm [-0.732, -0.02027, -0.681] + : pi0 [7,opdp] 94.09 MeV : -3.337 -1.045 1.074 cm [-0.495, -0.5031, 0.7085] + vc (l) : tp is not valid + vc (r) : tp is not valid + cal (l) : tp is not valid + cal (r) : tp is not valid --- - angle between the eta decay products : 133.968 deg + angle between the eta decay products : 96.3146 deg --- Triggered angular ranges: - 6 [ 0.0000, -0.2000) + 5 [ 0.2000, 0.0000) --- Production model data: - Incident particle (LAB) : pi- 4.3824 1.7086 728.8579 MeV -- 742.1157 MeV - (SCM) : pi- 2.7158 1.0588 451.6707 MeV -- 472.7523 MeV - Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton -2.7158 -1.0588 -451.6707 MeV -- 1.0413 GeV - Output particle (LAB) : eta 134.9361 -11.3413 241.5878 MeV -- 613.8842 MeV - (SCM) : eta 133.3193 -11.9716 -27.3065 MeV -- 564.6377 MeV - Nucleus output particle (LAB) : neutron -130.5537 13.0499 487.2700 MeV -- 1.0665 GeV - (SCM) : neutron -133.3193 11.9716 27.3065 MeV -- 949.4451 MeV + Incident particle (LAB) : pi- -5.1249 1.4563 725.1693 MeV -- 738.4976 MeV + (SCM) : pi- -3.1806 0.9038 450.0519 MeV -- 471.2085 MeV + Nucleus particle (LAB) : proton -0.0000 0.0000 0.0000 eV -- 938.2720 MeV + (SCM) : proton 3.1806 -0.9038 -450.0519 MeV -- 1.0406 GeV + Output particle (LAB) : eta 79.3200 -101.3152 281.2114 MeV -- 629.1177 MeV + (SCM) : eta 81.2364 -101.8598 10.0417 MeV -- 563.2303 MeV + Nucleus output particle (LAB) : neutron -84.4449 102.7715 443.9579 MeV -- 1.0477 GeV + (SCM) : neutron -81.2364 101.8598 -10.0417 MeV -- 948.6088 MeV --- Reconstructed data: -- entry points: - left: 2.93962 -2.72831 -15 cm - right: -2.87095 2.34675 -15 cm + left: 12.2759 2.44502 -15 cm + right: 3.991 -3.3957 -15 cm target: 0 0 0 fm - -- the angle: 135.585 deg - -- mass of the output particle: 573.279 MeV - -- mass of the nucleus output particle: 910.029 MeV + -- the angle: 137.799 deg + -- mass of the output particle: 178.165 MeV + -- mass of the nucleus output particle: 1.33522 GeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta 144.0390 -8.5919 241.2250 MeV -- 638.4819 MeV - (SCM) : eta 144.0390 -8.5919 -39.9224 MeV -- 592.5061 MeV - Nucleus output particle (LAB) : neutron -144.0390 8.5919 488.7750 MeV -- 1.0430 GeV - (SCM) : neutron -144.0390 8.5919 39.9224 MeV -- 922.2626 MeV + Output particle (LAB) : eta 12.2649 -1.4181 67.7106 MeV -- 190.9968 MeV + (SCM) : eta 12.2649 -1.4181 -16.8822 MeV -- 179.3880 MeV + Nucleus output particle (LAB) : neutron -12.2649 1.4181 662.2894 MeV -- 1.4905 GeV + (SCM) : neutron -12.2649 1.4181 16.8822 MeV -- 1.3354 GeV -- triggered angular ranges: - 7 [-0.2000, -0.4000) + 10 [-0.8000, -1.0000) --- Energy Deposit - monitor : 370.921 keV + monitor : 532.058 keV vc (l) : 0 eV - vc (r) : 0 eV - cal (l) : 397.08 MeV - 0.6427 0.4676 0 0 0.6003 0 - 0.2921 0.6899 3.571 2.138 0 0 - 0 7.2 330.3 32.56 1.251 0 - 1.682 3.382 11.72 0.6127 0 0 - cal (r) : 241.402 MeV - 0 0 0 3.686 0 0 - 0.3381 0 6.742 202.1 20.51 0 - 0.4682 0 0.3454 3.861 3.352 0 + vc (r) : 82.7704 keV + cal (l) : 97.1245 MeV + 0.2736 0.2713 0 0 0 0 + 51.19 41.52 0 0 0 0 + 3.096 0.78 0 0 0 0 0 0 0 0 0 0 -Event 6769 + cal (r) : 93.8723 MeV + 0 0.2766 0 0 0 0 + 0 1.699 0.5495 0.3587 0 0 + 0.2133 2.953 80.01 0 0 0 + 0 2.307 4.53 0.1817 0.7955 0 +Event 7707 --- Track Points - monitor : pi- [1,bp] 735.1 MeV : -1.564 -0.1955 -0.125 cm [-0.005435, 0.001412, 1] - target : pi- [1,bp] 734.4 MeV : 1.645 4.722 -0.1301 cm [-0.6487, -0.761, 0.001885] - : eta [5,op] 250.9 MeV : -1.316 1.252 -0.1193 cm [-0.9499, -0.306, 0.06325] - : neutron [6,np] 536.1 MeV : -1.316 1.252 -0.1193 cm [-0.4443, -0.8955, -0.02726] - : gamma [8,opdp] 366.4 MeV : -1.316 1.252 -0.1193 cm [-0.9244, 0.3729, 0.08028] - : gamma [7,opdp] 236.2 MeV : -1.316 1.252 -0.1193 cm [0.4248, -0.9035, -0.05733] - vc (l) : gamma [7,opdp] 236.2 MeV : -0.4739 -3.59 -0.25 cm [0.003141, -0.05733, 0.9984] - vc (r) : gamma [8,opdp] 366.4 MeV : -7.858 4.518 -0.25 cm [-0.121, 0.08028, 0.9894] - cal (l) : gamma [7,opdp] 236.2 MeV : -0.47 -3.662 -15 cm [0.003141, -0.05733, 0.9984] - cal (r) : gamma [8,opdp] 366.4 MeV : -8.011 4.619 -15 cm [-0.121, 0.08028, 0.9894] + monitor : pi- [1,bp] 723.7 MeV : -1.31 -1.125 -0.125 cm [-0.01132, -0.0171, 0.9998] + target : pi- [1,bp] 723.1 MeV : 1.765 4.678 -1.553 cm [-0.6514, -0.7586, -0.01417] + : eta [5,op] 362 MeV : -1.257 1.159 -1.619 cm [-0.8406, -0.541, -0.02829] + : neutron [6,np] 389.1 MeV : -1.257 1.159 -1.619 cm [-0.4263, -0.9046, -0.0009744] + : gamma [8,opdp] 408.3 MeV : -1.257 1.159 -1.619 cm [-0.9966, 0.07432, -0.03599] + : gamma [7,opdp] 248.4 MeV : -1.257 1.159 -1.619 cm [0.4129, -0.9106, 0.01792] + vc (l) : gamma [7,opdp] 248.4 MeV : -1.291 -0.5379 -0.25 cm [-0.01063, 0.01792, 0.9998] + vc (r) : gamma [8,opdp] 408.3 MeV : 10.06 -3.717 -0.25 cm [0.1862, -0.03599, 0.9819] + cal (l) : gamma [7,opdp] 248.4 MeV : -1.304 -0.5155 -15 cm [-0.01063, 0.01792, 0.9998] + cal (r) : gamma [8,opdp] 408.3 MeV : 10.29 -3.763 -15 cm [0.1862, -0.03599, 0.9819] --- - angle between the eta decay products : 137.24 deg + angle between the eta decay products : 118.672 deg --- Triggered angular ranges: - 7 [-0.2000, -0.4000) + 3 [ 0.6000, 0.4000) --- Production model data: - Incident particle (LAB) : pi- -7.1329 1.2576 732.8444 MeV -- 746.0517 MeV - (SCM) : pi- -4.4131 0.7781 453.4113 MeV -- 474.4278 MeV - Nucleus particle (LAB) : proton -0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton 4.4131 -0.7781 -453.4113 MeV -- 1.0421 GeV - Output particle (LAB) : eta -133.2332 15.8705 212.0071 MeV -- 602.5800 MeV - (SCM) : eta -130.6287 15.4113 -55.5813 MeV -- 566.1655 MeV - Nucleus output particle (LAB) : neutron 126.1002 -14.6129 520.8373 MeV -- 1.0817 GeV - (SCM) : neutron 130.6287 -15.4113 55.5813 MeV -- 950.3545 MeV + Incident particle (LAB) : pi- -8.0596 -10.6220 721.8452 MeV -- 735.3353 MeV + (SCM) : pi- -5.0084 -6.6008 448.5716 MeV -- 469.8563 MeV + Nucleus particle (LAB) : proton 0.0000 -0.0000 0.0000 eV -- 938.2720 MeV + (SCM) : proton 5.0084 6.6008 -448.5716 MeV -- 1.0400 GeV + Output particle (LAB) : eta -107.2293 -10.2429 345.6464 MeV -- 656.6789 MeV + (SCM) : eta -104.1440 -6.1767 69.3151 MeV -- 561.9978 MeV + Nucleus output particle (LAB) : neutron 99.1697 -0.3791 376.1988 MeV -- 1.0169 GeV + (SCM) : neutron 104.1440 6.1767 -69.3151 MeV -- 947.8775 MeV --- Reconstructed data: -- entry points: - left: -1.15142 -4.23559 -15 cm - right: -10.12 4.92772 -15 cm + left: -2.35255 0.258224 -15 cm + right: 10.1519 -1.2569 -15 cm target: 0 0 0 fm - -- the angle: 138.595 deg - -- mass of the output particle: 547.356 MeV - -- mass of the nucleus output particle: 941.724 MeV + -- the angle: 118.15 deg + -- mass of the output particle: 525.87 MeV + -- mass of the nucleus output particle: 966.64 MeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta -117.1222 11.0266 200.1212 MeV -- 594.5470 MeV - (SCM) : eta -117.1222 11.0266 -64.3772 MeV -- 563.5442 MeV - Nucleus output particle (LAB) : neutron 117.1222 -11.0266 529.8788 MeV -- 1.0869 GeV - (SCM) : neutron 117.1222 -11.0266 64.3772 MeV -- 951.2244 MeV + Output particle (LAB) : eta -105.6564 -6.9987 331.4773 MeV -- 630.5784 MeV + (SCM) : eta -105.6564 -6.9987 64.0726 MeV -- 540.2380 MeV + Nucleus output particle (LAB) : neutron 105.6564 6.9987 398.5227 MeV -- 1.0509 GeV + (SCM) : neutron 105.6564 6.9987 -64.0726 MeV -- 974.5306 MeV -- triggered angular ranges: - 8 [-0.4000, -0.6000) + 3 [ 0.6000, 0.4000) --- Energy Deposit - monitor : 532.773 keV + monitor : 429.472 keV vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 244.602 MeV - 0 0 0 0 0 0 - 0 0 0 0.7003 0 0 - 0 0 66.09 145.6 6.816 0 - 0 0 21.12 3.894 0.3798 0 - cal (r) : 349.945 MeV - 0 0 0 0.8643 89.46 13.73 - 0 0 0 0.9151 226.2 15.3 - 0 0 0 0.4447 0 2.997 - 0 0 0 0 0 0 -Event 9149 + cal (l) : 241.396 MeV + 0.5472 0 1.274 2.015 1.139 0 + 0 0.339 5.458 50.77 2.229 0 + 0 0 2.529 170.2 3.336 0.3405 + 0 0 0.6964 0.4827 0 0 + cal (r) : 389.182 MeV + 5.344 1.113 0.6392 1.143 0 0 + 4.353 7.639 5.367 0 0 0 + 103.9 247.9 2.963 0 0 0 + 2.537 5.905 0.3914 0 0 0 +Event 9690 --- Track Points - monitor : pi- [1,bp] 728.6 MeV : 0.5597 -1.526 -0.125 cm [-0.001769, 0.002911, 1] - target : pi- [1,bp] 728.1 MeV : 3.58 3.491 -1.394 cm [-0.6449, -0.7642, 0.004447] - : eta [3,op] 307.5 MeV : 2.862 2.64 -1.39 cm [-0.4169, -0.8265, -0.3783] - : neutron [4,np] 471.2 MeV : 2.862 2.64 -1.39 cm [-0.7244, -0.6408, 0.254] - : pi0 [7,opdp] 53.07 MeV : 2.862 2.64 -1.39 cm [0.894, -0.1908, -0.4053] - : pi0 [5,opdp] 194.1 MeV : 2.862 2.64 -1.39 cm [0.09875, -0.9361, -0.3376] - vc (l) : tp is not valid - vc (r) : tp is not valid - cal (l) : tp is not valid - cal (r) : tp is not valid + monitor : pi- [1,bp] 734.3 MeV : 0.2036 1.116 -0.125 cm [0.007938, -0.001153, 1] + target : pi- [1,bp] 733.9 MeV : 3.561 3.51 1.08 cm [-0.6355, -0.7721, -0.002082] + : eta [6,op] 181.6 MeV : -0.8613 -1.863 1.065 cm [-0.9386, -0.3372, 0.07284] + : neutron [7,np] 583.8 MeV : -0.8613 -1.863 1.065 cm [-0.5056, -0.8623, -0.02662] + : gamma [9,opdp] 331.7 MeV : -0.8613 -1.863 1.065 cm [-0.8929, 0.4502, 0.006008] + : gamma [8,opdp] 245.5 MeV : -0.8613 -1.863 1.065 cm [0.5121, -0.8577, 0.04576] + vc (l) : gamma [8,opdp] 245.5 MeV : 4.307 3.71 -0.25 cm [0.1017, 0.04576, 0.9938] + vc (r) : gamma [9,opdp] 331.7 MeV : -10.13 1.424 -0.25 cm [-0.2038, 0.006008, 0.979] + cal (l) : gamma [8,opdp] 245.5 MeV : 4.435 3.767 -15 cm [0.1017, 0.04576, 0.9938] + cal (r) : gamma [9,opdp] 331.7 MeV : -10.39 1.431 -15 cm [-0.2038, 0.006008, 0.979] --- - angle between the eta decay products : 66.1892 deg + angle between the eta decay products : 147.473 deg --- Triggered angular ranges: - 5 [ 0.2000, 0.0000) + 9 [-0.6000, -0.8000) --- Production model data: - Incident particle (LAB) : pi- -2.2506 3.3709 727.7932 MeV -- 741.0662 MeV - (SCM) : pi- -1.3953 2.0898 451.2048 MeV -- 472.3049 MeV - Nucleus particle (LAB) : proton -0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton 1.3953 -2.0898 -451.2048 MeV -- 1.0411 GeV - Output particle (LAB) : eta 65.1414 -116.3057 277.0598 MeV -- 628.2398 MeV - (SCM) : eta 65.9820 -117.5647 5.2359 MeV -- 564.2298 MeV - Nucleus output particle (LAB) : neutron -67.3920 119.6766 450.7334 MeV -- 1.0511 GeV - (SCM) : neutron -65.9820 117.5647 -5.2359 MeV -- 949.2026 MeV + Incident particle (LAB) : pi- 6.2645 -2.3143 731.8361 MeV -- 745.0560 MeV + (SCM) : pi- 3.8774 -1.4324 452.9716 MeV -- 474.0044 MeV + Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV + (SCM) : proton -3.8774 1.4324 -452.9716 MeV -- 1.0419 GeV + Output particle (LAB) : eta -91.2101 13.2270 156.4615 MeV -- 577.1717 MeV + (SCM) : eta -93.4481 14.0538 -104.9928 MeV -- 565.7794 MeV + Nucleus output particle (LAB) : neutron 97.4746 -15.5413 575.3746 MeV -- 1.1062 GeV + (SCM) : neutron 93.4481 -14.0538 104.9928 MeV -- 950.1245 MeV --- Reconstructed data: -- entry points: - left: -11.2626 -1.20303 -15 cm - right: -9.92287 1.83235 -15 cm + left: 6.33586 2.86491 -15 cm + right: -9.07209 2.56639 -15 cm target: 0 0 0 fm - -- the angle: 128.773 deg - -- mass of the output particle: 234.588 MeV - -- mass of the nucleus output particle: 1.27811 GeV + -- the angle: 144.266 deg + -- mass of the output particle: 533.358 MeV + -- mass of the nucleus output particle: 960.359 MeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta 27.8622 0.0421 121.5352 MeV -- 265.6660 MeV - (SCM) : eta 27.8622 0.0421 6.8819 MeV -- 236.3366 MeV - Nucleus output particle (LAB) : neutron -27.8622 -0.0421 608.4648 MeV -- 1.4158 GeV - (SCM) : neutron -27.8622 -0.0421 -6.8819 MeV -- 1.2784 GeV + Output particle (LAB) : eta -82.8180 25.1882 170.1223 MeV -- 566.4853 MeV + (SCM) : eta -82.8180 25.1882 -84.1545 MeV -- 546.8509 MeV + Nucleus output particle (LAB) : neutron 82.8180 -25.1882 559.8777 MeV -- 1.1150 GeV + (SCM) : neutron 82.8180 -25.1882 84.1545 MeV -- 967.9177 MeV -- triggered angular ranges: - 4 [ 0.4000, 0.2000) + 9 [-0.6000, -0.8000) --- Energy Deposit - monitor : 424.999 keV + monitor : 357.355 keV vc (l) : 0 eV - vc (r) : 0 eV - cal (l) : 159.755 MeV - 0 0 0 0.522 0 0.3105 - 0 0 0 0.4206 10.72 12.47 - 0 0 0 1.389 79.1 51.89 - 0 0 0 0 0 2.93 - cal (r) : 105.911 MeV - 0 0 0 0 0.7892 0.3087 - 0 0 0 0.794 92.29 4.648 - 0 0 0 0.6117 4.229 2.076 - 0 0 0 0 0 0.1684 -Event 11062 + vc (r) : 164.523 keV + cal (l) : 241.783 MeV + 0 22.6 1.416 0 0 0 + 1.352 109.9 97.77 0.8049 0 0 + 0.6524 4.757 1.946 0.01089 0.003128 0 + 0 0 0.1699 0 0.4496 0 + cal (r) : 324.702 MeV + 0 0 0 2.52 0.9359 1.976 + 0 0 5.041 8.473 252 46.2 + 0 0 0 0.3204 5.176 1.114 + 0 0 0 0 0.3953 0.5509 +Event 10258 --- Track Points - monitor : pi- [1,bp] 730.7 MeV : -1.909 1.456 -0.125 cm [-0.01196, 0.01767, 0.9998] - target : pi- [1,bp] 730.1 MeV : 1.141 4.868 1.914 cm [-0.6522, -0.7579, 0.0154] - : eta [4,op] 387.8 MeV : 0.8714 4.554 1.921 cm [-0.7951, -0.5894, -0.1425] - : neutron [5,np] 371.4 MeV : 0.8714 4.554 1.921 cm [-0.4518, -0.8742, 0.1778] - : pi0 [9,opdp] 203.6 MeV : 0.8714 4.554 1.921 cm [-0.9286, 0.3701, -0.02729] - : pi0 [7,opdp] 153.4 MeV : 0.8714 4.554 1.921 cm [-0.3545, -0.9272, -0.1209] + monitor : pi- [1,bp] 729.2 MeV : 0.5492 7.24 -1.25 mm [-0.0005108, 0.003705, 1] + target : pi- [1,bp] 728.6 MeV : 3.27 3.782 0.8473 cm [-0.6415, -0.7671, 0.003899] + : eta [3,op] 305.1 MeV : 1.662 1.859 0.8571 cm [-0.4375, -0.8003, 0.4101] + : neutron [4,np] 474.4 MeV : 1.662 1.859 0.8571 cm [-0.703, -0.6629, -0.2576] + : pi0 [7,opdp] 198.6 MeV : 1.662 1.859 0.8571 cm [0.2489, -0.9568, 0.1501] + : pi0 [5,opdp] 161.7 MeV : 1.662 1.859 0.8571 cm [-0.9148, 0.2679, 0.3024] vc (l) : tp is not valid vc (r) : tp is not valid cal (l) : tp is not valid cal (r) : tp is not valid --- - angle between the eta decay products : 90.6067 deg + angle between the eta decay products : 116.015 deg --- Triggered angular ranges: - 2 [ 0.8000, 0.6000) + 5 [ 0.2000, 0.0000) --- Production model data: - Incident particle (LAB) : pi- -9.1266 10.7467 729.9177 MeV -- 743.2755 MeV - (SCM) : pi- -5.6530 6.6565 452.1130 MeV -- 473.2465 MeV - Nucleus particle (LAB) : proton -0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton 5.6530 -6.6565 -452.1130 MeV -- 1.0416 GeV - Output particle (LAB) : eta -89.2918 -55.2702 373.3536 MeV -- 671.2477 MeV - (SCM) : eta -85.7616 -59.4270 91.0241 MeV -- 565.0883 MeV - Nucleus output particle (LAB) : neutron 80.1652 66.0169 356.5642 MeV -- 1.0103 GeV - (SCM) : neutron 85.7616 59.4270 -91.0241 MeV -- 949.7132 MeV + Incident particle (LAB) : pi- 1.3686 2.9548 728.0702 MeV -- 741.3344 MeV + (SCM) : pi- 0.8484 1.8317 451.3270 MeV -- 472.4193 MeV + Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV + (SCM) : proton -0.8484 -1.8317 -451.3270 MeV -- 1.0412 GeV + Output particle (LAB) : eta 54.6984 125.1285 272.8349 MeV -- 627.0891 MeV + (SCM) : eta 54.1877 124.0260 1.1832 MeV -- 564.3341 MeV + Nucleus output particle (LAB) : neutron -53.3298 -122.1737 455.2353 MeV -- 1.0525 GeV + (SCM) : neutron -54.1877 -124.0260 -1.1832 MeV -- 949.2646 MeV --- Reconstructed data: -- entry points: - left: -1.34684 -1.53279 -15 cm - right: -5.97421 -5.61208 -15 cm + left: -11.1734 -4.40543 -15 cm + right: -4.402 2.94333 -15 cm target: 0 0 0 fm - -- the angle: 133.953 deg - -- mass of the output particle: 265.587 MeV - -- mass of the nucleus output particle: 1.22841 GeV + -- the angle: 123.745 deg + -- mass of the output particle: 273.248 MeV + -- mass of the nucleus output particle: 1.24064 GeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta -91.5750 -21.0208 111.7380 MeV -- 303.0675 MeV - (SCM) : eta -91.5750 -21.0208 -22.0182 MeV -- 282.5763 MeV - Nucleus output particle (LAB) : neutron 91.5750 21.0208 618.2620 MeV -- 1.3784 GeV - (SCM) : neutron 91.5750 21.0208 22.0182 MeV -- 1.2322 GeV + Output particle (LAB) : eta 10.6516 -5.6612 149.4950 MeV -- 311.7028 MeV + (SCM) : eta 10.6516 -5.6612 15.7331 MeV -- 273.9660 MeV + Nucleus output particle (LAB) : neutron -10.6516 5.6612 580.5050 MeV -- 1.3698 GeV + (SCM) : neutron -10.6516 5.6612 -15.7331 MeV -- 1.2408 GeV -- triggered angular ranges: - 7 [-0.2000, -0.4000) + 2 [ 0.8000, 0.6000) --- Energy Deposit - monitor : 425.832 keV + monitor : 454.572 keV vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 105.234 MeV - 0 0 0 0.1118 0 0 - 0 0 5.266 4.45 0 0 - 0 0.4316 4.046 90.36 0 0 - 0 0 0 0 0.5668 0 - cal (r) : 197.834 MeV + cal (l) : 172.866 MeV + 0 0 0 0 0 0 + 0 0 0 0 0.21 1.035 + 0 0 0 0 107 43.43 + 0 0 0.285 1.358 3.339 16.25 + cal (r) : 138.837 MeV + 0 0 0 2.419 1.004 0 + 0 0 0 124.5 6.662 0 + 0 0 0 3.507 0.7473 0 0 0 0 0 0 0 - 0 0 0 0 0 1.07 - 0 0 0.2275 79.06 19.54 0.7755 - 0 0 0 49.27 47.9 0 -Event 11735 +Event 11362 --- Track Points - monitor : pi- [1,bp] 731.9 MeV : 0.2351 -1.525 -0.125 cm [-0.01019, -0.004924, 0.9999] - target : pi- [1,bp] 731.5 MeV : 3.151 3.882 -1.644 cm [-0.6508, -0.7593, -0.00443] - : eta [3,op] 373.3 MeV : 2.503 3.13 -1.646 cm [-0.5579, -0.7704, 0.3088] - : neutron [4,np] 396.4 MeV : 2.503 3.13 -1.646 cm [-0.682, -0.6693, -0.2949] - : pi0 [7,opdp] 137.3 MeV : 2.503 3.13 -1.646 cm [0.03684, -0.8663, -0.4982] - : pi0 [5,opdp] 114.1 MeV : 2.503 3.13 -1.646 cm [-0.2311, -0.01667, 0.9728] + monitor : pi- [1,bp] 728.5 MeV : -7.982 0.4589 -1.25 mm [-0.003069, -0.007875, 1] + target : pi- [1,bp] 728 MeV : 2.445 4.361 -0.1933 cm [-0.6465, -0.7629, -0.008011] + : eta [9,op] 134.6 MeV : -3.655 -2.836 -0.2689 cm [-0.4263, -0.9036, -0.0423] + : neutron [10,np] 596.8 MeV : -3.655 -2.836 -0.2689 cm [-0.6904, -0.7235, 0.0003746] + : pi0 [13,opdp] 79.45 MeV : -3.655 -2.836 -0.2689 cm [-0.604, -0.796, 0.03981] + : pi0 [11,opdp] 132.2 MeV : -3.655 -2.836 -0.2689 cm [-0.5275, 0.5386, 0.657] vc (l) : tp is not valid vc (r) : tp is not valid cal (l) : tp is not valid cal (r) : tp is not valid --- - angle between the eta decay products : 118.599 deg + angle between the eta decay products : 94.8128 deg --- Triggered angular ranges: - 3 [ 0.6000, 0.4000) + 10 [-0.8000, -1.0000) --- Production model data: - Incident particle (LAB) : pi- -11.2403 -1.5891 731.1604 MeV -- 744.4489 MeV - (SCM) : pi- -6.9589 -0.9838 452.6655 MeV -- 473.7460 MeV + Incident particle (LAB) : pi- -3.8682 -5.4683 725.6491 MeV -- 738.9799 MeV + (SCM) : pi- -2.4002 -3.3930 450.2605 MeV -- 471.4145 MeV Nucleus particle (LAB) : proton 0.0000 -0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton 6.9589 0.9838 -452.6655 MeV -- 1.0418 GeV - Output particle (LAB) : eta 25.3258 115.2781 354.1907 MeV -- 662.9738 MeV - (SCM) : eta 29.6434 115.8885 73.3359 MeV -- 565.5438 MeV - Nucleus output particle (LAB) : neutron -36.5661 -116.8673 376.9697 MeV -- 1.0197 GeV - (SCM) : neutron -29.6434 -115.8885 -73.3359 MeV -- 949.9843 MeV + (SCM) : proton 2.4002 3.3930 -450.2605 MeV -- 1.0407 GeV + Output particle (LAB) : eta 34.2196 -5.6919 130.0263 MeV -- 564.1480 MeV + (SCM) : eta 35.5872 -3.7586 -126.5172 MeV -- 563.4181 MeV + Nucleus output particle (LAB) : neutron -38.0879 0.2236 595.6228 MeV -- 1.1131 GeV + (SCM) : neutron -35.5872 3.7586 126.5172 MeV -- 948.7203 MeV --- Reconstructed data: -- entry points: - left: 2.81603 -0.603523 -15 cm - right: 4.81188 -4.1867 -15 cm + left: -3.74555 -4.29808 -15 cm + right: 7.85402 3.42816 -15 cm target: 0 0 0 fm - -- the angle: 127.941 deg - -- mass of the output particle: 148.548 MeV - -- mass of the nucleus output particle: 1.35503 GeV + -- the angle: 119.103 deg + -- mass of the output particle: 177.905 MeV + -- mass of the nucleus output particle: 1.33169 GeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta 55.2151 -5.2709 72.9554 MeV -- 174.5437 MeV - (SCM) : eta 55.2151 -5.2709 -3.1311 MeV -- 158.5964 MeV - Nucleus output particle (LAB) : neutron -55.2151 5.2709 657.0446 MeV -- 1.5070 GeV - (SCM) : neutron -55.2151 5.2709 3.1311 MeV -- 1.3562 GeV + Output particle (LAB) : eta 37.2049 -4.0558 105.2272 MeV -- 210.0562 MeV + (SCM) : eta 37.2049 -4.0558 15.5785 MeV -- 182.4652 MeV + Nucleus output particle (LAB) : neutron -37.2049 4.0558 624.7728 MeV -- 1.4714 GeV + (SCM) : neutron -37.2049 4.0558 -15.5785 MeV -- 1.3323 GeV -- triggered angular ranges: - 6 [ 0.0000, -0.2000) + 4 [ 0.4000, 0.2000) --- Energy Deposit - monitor : 364.339 keV - vc (l) : 39.0656 keV + monitor : 421.81 keV + vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 115.272 MeV - 0 0 0 0.5774 0 0 - 0 2.306 10.56 0.8932 0 0 - 0 0.4172 99.49 1.03 0 0 - 0 0 0 0 0 0 - cal (r) : 59.2721 MeV + cal (l) : 124.629 MeV 0 0 0 0 0 0 + 0 0 0.3922 0 0.6693 0 + 0 0 0.5433 93.02 10.37 0.5592 + 0 1.099 0.1844 17.49 0 0.2962 + cal (r) : 85.4275 MeV + 0.647 1.435 1.069 0 0 0 + 0.3418 74.95 5.062 0 0 0 + 0 0.3964 1.529 0 0 0 0 0 0 0 0 0 - 0 5.278 51.26 0 0 0 - 0 1.594 1.143 0 0 0 -Event 13639 +Event 12447 --- Track Points - monitor : pi- [1,bp] 736.9 MeV : -1.98 1.029 -0.125 cm [0.009471, -0.003608, 0.9999] - target : pi- [1,bp] 736.3 MeV : 1.755 4.682 0.9172 cm [-0.6343, -0.7731, -0.003732] - : eta [3,op] 375.4 MeV : 0.8627 3.594 0.9119 cm [-0.8574, -0.5099, -0.06964] - : neutron [4,np] 405.2 MeV : 0.8627 3.594 0.9119 cm [-0.357, -0.9323, 0.05848] - : gamma [6,opdp] 267.7 MeV : 0.8627 3.594 0.9119 cm [0.2521, -0.9674, 0.02316] - : gamma [5,opdp] 396.5 MeV : 0.8627 3.594 0.9119 cm [-0.982, 0.1703, -0.08158] - vc (l) : gamma [6,opdp] 267.7 MeV : -9.008 2.364 -0.25 cm [-0.1804, 0.02316, 0.9833] - vc (r) : gamma [5,opdp] 396.5 MeV : 1.603 -3.909 -0.25 cm [0.08966, -0.08158, 0.9926] - cal (l) : gamma [6,opdp] 267.7 MeV : -9.238 2.394 -15 cm [-0.1804, 0.02316, 0.9833] - cal (r) : gamma [5,opdp] 396.5 MeV : 1.716 -4.011 -15 cm [0.08966, -0.08158, 0.9926] + monitor : pi- [1,bp] 729.2 MeV : 1.738 1.407 -0.125 cm [0.002779, 0.01681, 0.9999] + target : pi- [1,bp] 728.7 MeV : 4.408 2.36 1.902 cm [-0.639, -0.769, 0.01578] + : eta [2,op] 161 MeV : -0.205 -3.192 2.016 cm [-0.2789, -0.9425, -0.1841] + : neutron [3,np] 586.2 MeV : -0.205 -3.192 2.016 cm [-0.7164, -0.6942, 0.06936] + : gamma [5,opdp] 254.3 MeV : -0.205 -3.192 2.016 cm [-0.9186, 0.3948, 0.01681] + : gamma [4,opdp] 316.8 MeV : -0.205 -3.192 2.016 cm [0.5956, -0.7961, -0.1071] + vc (l) : gamma [4,opdp] 316.8 MeV : 10.16 -4.139 -0.25 cm [0.2034, -0.1071, 0.9732] + vc (r) : gamma [5,opdp] 254.3 MeV : -5.48 3.025 -0.25 cm [-0.1436, 0.01681, 0.9895] + cal (l) : gamma [4,opdp] 316.8 MeV : 10.42 -4.276 -15 cm [0.2034, -0.1071, 0.9732] + cal (r) : gamma [5,opdp] 254.3 MeV : -5.661 3.046 -15 cm [-0.1436, 0.01681, 0.9895] --- - angle between the eta decay products : 114.468 deg + angle between the eta decay products : 149.684 deg --- Triggered angular ranges: - 3 [ 0.6000, 0.4000) + 10 [-0.8000, -1.0000) --- Production model data: - Incident particle (LAB) : pi- 8.4866 -2.4453 735.9265 MeV -- 749.0965 MeV - (SCM) : pi- 5.2442 -1.5110 454.7537 MeV -- 475.7210 MeV + Incident particle (LAB) : pi- 3.0421 11.0223 726.8401 MeV -- 740.2074 MeV + (SCM) : pi- 1.8867 6.8358 450.7725 MeV -- 471.9385 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton -5.2442 1.5110 -454.7537 MeV -- 1.0427 GeV - Output particle (LAB) : eta -123.5265 -26.1444 353.5381 MeV -- 664.1418 MeV - (SCM) : eta -126.7866 -25.2050 70.8343 MeV -- 567.3450 MeV - Nucleus output particle (LAB) : neutron 132.0131 23.6991 382.3884 MeV -- 1.0232 GeV - (SCM) : neutron 126.7866 25.2050 -70.8343 MeV -- 951.0577 MeV + (SCM) : proton -1.8867 -6.8358 -450.7725 MeV -- 1.0410 GeV + Output particle (LAB) : eta 63.1484 -29.6383 145.1363 MeV -- 571.0372 MeV + (SCM) : eta 62.0665 -33.5581 -113.3459 MeV -- 563.8958 MeV + Nucleus output particle (LAB) : neutron -60.1062 40.6606 581.7037 MeV -- 1.1074 GeV + (SCM) : neutron -62.0665 33.5581 113.3459 MeV -- 949.0041 MeV --- Reconstructed data: -- entry points: - left: -9.03411 0.830456 -15 cm - right: 3.0623 -2.83812 -15 cm + left: 12.3337 -3.6234 -15 cm + right: -6.18086 3.50096 -15 cm target: 0 0 0 fm - -- the angle: 118.52 deg - -- mass of the output particle: 554.424 MeV - -- mass of the nucleus output particle: 931.346 MeV + -- the angle: 147.555 deg + -- mass of the output particle: 545.061 MeV + -- mass of the nucleus output particle: 947.59 MeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta -133.2147 -15.1925 330.6241 MeV -- 659.2989 MeV - (SCM) : eta -133.2147 -15.1925 49.2844 MeV -- 572.5309 MeV - Nucleus output particle (LAB) : neutron 133.2147 15.1925 399.3759 MeV -- 1.0222 GeV - (SCM) : neutron 133.2147 15.1925 -49.2844 MeV -- 942.2377 MeV + Output particle (LAB) : eta 71.0760 -4.1725 156.2940 MeV -- 571.4789 MeV + (SCM) : eta 71.0760 -4.1725 -101.9113 MeV -- 559.0583 MeV + Nucleus output particle (LAB) : neutron -71.0760 4.1725 573.7060 MeV -- 1.1100 GeV + (SCM) : neutron -71.0760 4.1725 101.9113 MeV -- 955.7103 MeV -- triggered angular ranges: - 4 [ 0.4000, 0.2000) + 10 [-0.8000, -1.0000) --- Energy Deposit - monitor : 437.154 keV + monitor : 394.885 keV vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 261.501 MeV - 0 0 0 0.6449 1.322 0 - 0 0 0 7.201 175.4 10.28 - 0 0 1.438 0.8788 43.65 20.25 - 0 0 0 0.4686 0 0 - cal (r) : 397.798 MeV - 0 0 0 0 0 0.4231 - 8.321 2.464 3.25 0.6137 1.211 0.06593 - 0 10.03 336.4 10.81 1.17 0.03713 - 0.624 3.937 14.94 3.542 0 0 -Event 16980 + cal (l) : 318.704 MeV + 1.173 1.255 0 0 0 0 + 1.752 0 0 0 0 0 + 99.76 156.9 0 0 0 0 + 53.37 4.446 0 0 0 0 + cal (r) : 252.775 MeV + 0 0 0.3992 7.304 3.633 0.9097 + 0 0 0.422 92.43 139.7 0.9666 + 0 0 0 5.919 1.059 0 + 0 0 0 0 0 0 +Event 12933 --- Track Points - monitor : pi- [1,bp] 732.8 MeV : -1.129 -0.9207 -0.125 cm [0.003541, 0.007644, 1] - target : pi- [1,bp] 732.3 MeV : 2.379 4.398 -0.6097 cm [-0.6389, -0.7693, 0.01022] - : eta [4,op] 281.6 MeV : -0.08377 1.433 -0.5704 cm [-0.8639, -0.4104, 0.2918] - : neutron [5,np] 505.3 MeV : -0.08377 1.433 -0.5704 cm [-0.4437, -0.8841, -0.1465] - : pi0 [8,opdp] 144.8 MeV : -0.08377 1.433 -0.5704 cm [-0.5685, -0.2688, 0.7776] - : pi0 [6,opdp] 182.1 MeV : -0.08377 1.433 -0.5704 cm [-0.8171, 0.2265, -0.5302] - vc (l) : tp is not valid - vc (r) : tp is not valid - cal (l) : tp is not valid - cal (r) : tp is not valid + monitor : pi- [1,bp] 731.7 MeV : -0.09958 1.158 -0.125 cm [-0.002271, 0.007234, 1] + target : pi- [1,bp] 731.1 MeV : 3.098 3.925 1.368 cm [-0.6436, -0.7653, 0.007801] + : eta [5,op] 346.7 MeV : -1.13 -1.1 1.419 cm [-0.3125, -0.9498, -0.01557] + : neutron [6,np] 428 MeV : -1.13 -1.1 1.419 cm [-0.8458, -0.5329, 0.02608] + : gamma [8,opdp] 231.1 MeV : -1.13 -1.1 1.419 cm [-0.949, 0.3151, 0.00961] + : gamma [7,opdp] 417.2 MeV : -1.13 -1.1 1.419 cm [0.2661, -0.9638, -0.01826] + vc (l) : gamma [7,opdp] 417.2 MeV : -11.3 0.3403 -0.25 cm [-0.1661, -0.01826, 0.9859] + vc (r) : gamma [8,opdp] 231.1 MeV : -2.052 1.977 -0.25 cm [-0.0587, 0.00961, 0.9982] + cal (l) : gamma [7,opdp] 417.2 MeV : -11.51 0.3171 -15 cm [-0.1661, -0.01826, 0.9859] + cal (r) : gamma [8,opdp] 231.1 MeV : -2.125 1.989 -15 cm [-0.0587, 0.00961, 0.9982] --- - angle between the eta decay products : 90.4981 deg + angle between the eta decay products : 123.805 deg --- Triggered angular ranges: - 6 [ 0.0000, -0.2000) + 4 [ 0.4000, 0.2000) --- Production model data: - Incident particle (LAB) : pi- 3.3006 8.1486 731.3306 MeV -- 744.5814 MeV - (SCM) : pi- 2.0433 5.0446 452.7464 MeV -- 473.8024 MeV - Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV - (SCM) : proton -2.0433 -5.0446 -452.7464 MeV -- 1.0418 GeV - Output particle (LAB) : eta -112.0988 82.1835 244.9610 MeV -- 616.0186 MeV - (SCM) : eta -113.3181 79.1731 -25.2157 MeV -- 565.5952 MeV - Nucleus output particle (LAB) : neutron 115.3993 -74.0349 486.3696 MeV -- 1.0668 GeV - (SCM) : neutron 113.3181 -79.1731 25.2157 MeV -- 950.0149 MeV + Incident particle (LAB) : pi- -2.0590 5.7645 729.2460 MeV -- 742.5072 MeV + (SCM) : pi- -1.2758 3.5717 451.8389 MeV -- 472.9192 MeV + Nucleus particle (LAB) : proton -0.0000 0.0000 0.0000 eV -- 938.2720 MeV + (SCM) : proton 1.2758 -3.5717 -451.8389 MeV -- 1.0414 GeV + Output particle (LAB) : eta 128.6560 -5.3986 321.8592 MeV -- 648.3268 MeV + (SCM) : eta 129.4377 -7.5872 44.9793 MeV -- 564.7899 MeV + Nucleus output particle (LAB) : neutron -130.7150 11.1631 407.3868 MeV -- 1.0325 GeV + (SCM) : neutron -129.4377 7.5872 -44.9793 MeV -- 949.5356 MeV --- Reconstructed data: -- entry points: - left: 10.7836 -2.92241 -15 cm - right: 5.02181 1.0398 -15 cm + left: -12.5347 -1.31096 -15 cm + right: -4.67664 1.11528 -15 cm target: 0 0 0 fm - -- the angle: 135.397 deg - -- mass of the output particle: 181.549 MeV - -- mass of the nucleus output particle: 1.33271 GeV + -- the angle: 122.669 deg + -- mass of the output particle: 510.379 MeV + -- mass of the nucleus output particle: 987.621 MeV -- production model data: Incident particle (LAB) : pi- 0.0000 0.0000 730.0000 MeV -- 743.2226 MeV (SCM) : pi- 0.0000 0.0000 452.1737 MeV -- 473.2239 MeV Nucleus particle (LAB) : proton 0.0000 0.0000 0.0000 eV -- 938.2720 MeV (SCM) : proton 0.0000 0.0000 -452.1737 MeV -- 1.0415 GeV - Output particle (LAB) : eta -7.1036 -2.4217 76.3055 MeV -- 197.0758 MeV - (SCM) : eta -7.1036 -2.4217 -10.2709 MeV -- 181.9940 MeV - Nucleus output particle (LAB) : neutron 7.1036 2.4217 653.6945 MeV -- 1.4844 GeV - (SCM) : neutron 7.1036 2.4217 10.2709 MeV -- 1.3328 GeV + Output particle (LAB) : eta 94.7901 -3.9768 305.3783 MeV -- 602.2816 MeV + (SCM) : eta 94.7901 -3.9768 48.7378 MeV -- 521.4044 MeV + Nucleus output particle (LAB) : neutron -94.7901 3.9768 424.6217 MeV -- 1.0792 GeV + (SCM) : neutron -94.7901 3.9768 -48.7378 MeV -- 993.3642 MeV -- triggered angular ranges: - 10 [-0.8000, -1.0000) + 3 [ 0.6000, 0.4000) --- Energy Deposit - monitor : 413.818 keV - vc (l) : 183.468 keV + monitor : 487.939 keV + vc (l) : 0 eV vc (r) : 0 eV - cal (l) : 89.4022 MeV - 0 0 0 0 0 0 - 2.299 0 0 0 0 0 - 7.693 77.64 0 0 0 0 - 0 1.768 0 0 0 0 - cal (r) : 107.674 MeV - 0.3173 0 5.307 1.469 0 0 - 0.5678 6.687 35.09 0 0.3453 0 - 0.6974 10.08 46.66 0 0 0 - 0.02025 0.4265 0 0 0 0 + cal (l) : 379.247 MeV + 0 0 0 0.3502 1.851 1.468 + 0 0 0 0.2306 8.521 130.5 + 0 0 0 1.326 39.86 159 + 0 0 0 2.407 0.7074 33.06 + cal (r) : 223.034 MeV + 0 0 0 0.7442 0.2824 0 + 0 0 0.8335 194 9.476 0.1869 + 0 0 0.6028 11.23 3.561 0 + 0 0 0 0 1.033 1.087 Run terminated. Run Summary - Number of events processed : 16981, effectively: 10 - User=13.120000s Real=13.822806s Sys=0.010000s + Number of events processed : 12934, effectively: 10 + User=9.510000s Real=9.993212s Sys=0.010000s --- Setup acceptances (range | real (trg / mon) | rec (trg / mon / all)): - 1 [ 1.0000, 0.8000) | 0.00000000 ( 0 / 1308 ) | 0.00000000 ( 0 / 1308 / 1633 ) - 2 [ 0.8000, 0.6000) | 0.00078370 ( 1 / 1276 ) | 0.00000000 ( 0 / 1276 / 1602 ) - 3 [ 0.6000, 0.4000) | 0.00150150 ( 2 / 1332 ) | 0.00000000 ( 0 / 1332 / 1636 ) - 4 [ 0.4000, 0.2000) | 0.00000000 ( 0 / 1321 ) | 0.00227101 ( 3 / 1321 / 1610 ) - 5 [ 0.2000, 0.0000) | 0.00079365 ( 1 / 1260 ) | 0.00000000 ( 0 / 1260 / 1570 ) - 6 [ 0.0000, -0.2000) | 0.00229183 ( 3 / 1309 ) | 0.00076394 ( 1 / 1309 / 1618 ) - 7 [-0.2000, -0.4000) | 0.00148810 ( 2 / 1344 ) | 0.00148810 ( 2 / 1344 / 1642 ) - 8 [-0.4000, -0.6000) | 0.00000000 ( 0 / 1220 ) | 0.00163934 ( 2 / 1220 / 1492 ) - 9 [-0.6000, -0.8000) | 0.00000000 ( 0 / 1278 ) | 0.00000000 ( 0 / 1278 / 1589 ) - 10 [-0.8000, -1.0000) | 0.00077160 ( 1 / 1296 ) | 0.00154321 ( 2 / 1296 / 1617 ) + 1 [ 1.0000, 0.8000) | 0.00000000 ( 0 / 971 ) | 0.00102987 ( 1 / 971 / 1169 ) + 2 [ 0.8000, 0.6000) | 0.00096805 ( 1 / 1033 ) | 0.00096805 ( 1 / 1033 / 1257 ) + 3 [ 0.6000, 0.4000) | 0.00209864 ( 2 / 953 ) | 0.00209864 ( 2 / 953 / 1168 ) + 4 [ 0.4000, 0.2000) | 0.00102354 ( 1 / 977 ) | 0.00204708 ( 2 / 977 / 1187 ) + 5 [ 0.2000, 0.0000) | 0.00195503 ( 2 / 1023 ) | 0.00000000 ( 0 / 1023 / 1270 ) + 6 [ 0.0000, -0.2000) | 0.00102669 ( 1 / 974 ) | 0.00000000 ( 0 / 974 / 1214 ) + 7 [-0.2000, -0.4000) | 0.00000000 ( 0 / 1000 ) | 0.00000000 ( 0 / 1000 / 1204 ) + 8 [-0.4000, -0.6000) | 0.00000000 ( 0 / 958 ) | 0.00000000 ( 0 / 958 / 1195 ) + 9 [-0.6000, -0.8000) | 0.00101010 ( 1 / 990 ) | 0.00202020 ( 2 / 990 / 1223 ) + 10 [-0.8000, -1.0000) | 0.00188857 ( 2 / 1059 ) | 0.00188857 ( 2 / 1059 / 1278 ) --- False hits (edt | rec): 0 | 0 ================== Deleting memory pools =================== -Number of memory pools allocated: 17; of which, static: 3 -Dynamic pools deleted: 14 / Total memory freed: 0.83 MB +Number of memory pools allocated: 15; of which, static: 3 +Dynamic pools deleted: 12 / Total memory freed: 1 MB ============================================================ diff --git a/examples/advanced/ChargeExchangeMC/History b/examples/advanced/ChargeExchangeMC/History index 3ce7a77d8de..166a9dd15de 100644 --- a/examples/advanced/ChargeExchangeMC/History +++ b/examples/advanced/ChargeExchangeMC/History @@ -6,7 +6,7 @@ It must **not** be used as a substitute for writing good git commit messages! ------------------------------------------------------------------------------- -## 2024-06-21 Gabriele Cosmo (ChargeExchangeMC-V11-01-00) +## 2024-06-21 Gabriele Cosmo (ChargeExchangeMC-V11-02-01, 00) - Disabled GDML schema validation. ## 2022-05-20 Vladimir Ivanchenko (ChargeExchangeMC-V11-00-01) diff --git a/examples/advanced/ChargeExchangeMC/lht.gdml b/examples/advanced/ChargeExchangeMC/lht.gdml index 2ea175727cc..308a1cba7e0 100644 --- a/examples/advanced/ChargeExchangeMC/lht.gdml +++ b/examples/advanced/ChargeExchangeMC/lht.gdml @@ -1,8 +1,5 @@ - + diff --git a/examples/advanced/ChargeExchangeMC/preinit.mac b/examples/advanced/ChargeExchangeMC/preinit.mac index e42811e3a8b..ed876f88c31 100644 --- a/examples/advanced/ChargeExchangeMC/preinit.mac +++ b/examples/advanced/ChargeExchangeMC/preinit.mac @@ -4,6 +4,6 @@ # do not set gun parameters or anything else. /cexmc/geometry/gdmlFile lht.gdml -/cexmc/geometry/validateGdmlFile +/cexmc/geometry/validateGdmlFile false /cexmc/physics/productionModel eta diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcRunManager.cc b/examples/advanced/ChargeExchangeMC/src/CexmcRunManager.cc index d1b2ce29e85..b2bc9498f99 100644 --- a/examples/advanced/ChargeExchangeMC/src/CexmcRunManager.cc +++ b/examples/advanced/ChargeExchangeMC/src/CexmcRunManager.cc @@ -107,7 +107,7 @@ CexmcRunManager::CexmcRunManager( const G4String & projectId_, G4bool overrideExistingProject ) : basePhysicsUsed( CexmcPMFactoryInstance::GetBasePhysics() ), productionModelType( CexmcUnknownProductionModel ), - gdmlFileName( "default.gdml" ), shouldGdmlFileBeValidated( true ), + gdmlFileName( "default.gdml" ), shouldGdmlFileBeValidated( false ), zipGdmlFile( false ), projectsDir( "." ), projectId( projectId_ ), rProject( rProject_ ), guiMacroName( "" ), cfFileName( "" ), eventCountPolicy( CexmcCountAllEvents ), diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcRunManagerMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcRunManagerMessenger.cc index da921019bbd..787ea2524d3 100644 --- a/examples/advanced/ChargeExchangeMC/src/CexmcRunManagerMessenger.cc +++ b/examples/advanced/ChargeExchangeMC/src/CexmcRunManagerMessenger.cc @@ -154,8 +154,8 @@ CexmcRunManagerMessenger::CexmcRunManagerMessenger( ( CexmcMessenger::geometryDirName + "validateGdmlFile" ).c_str(), this ); validateGdmlFile->SetGuidance( "If GDML file will be validated or not" ); - validateGdmlFile->SetParameterName( "ValidateGdmlFile", true ); - validateGdmlFile->SetDefaultValue( true ); + validateGdmlFile->SetParameterName( "ValidateGdmlFile", false ); + validateGdmlFile->SetDefaultValue( false ); validateGdmlFile->AvailableForStates( G4State_PreInit ); } diff --git a/examples/advanced/HGCal_testbeam/testbeam_electron.out b/examples/advanced/HGCal_testbeam/testbeam_electron.out index d7d1a246775..93ac130e376 100644 --- a/examples/advanced/HGCal_testbeam/testbeam_electron.out +++ b/examples/advanced/HGCal_testbeam/testbeam_electron.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -1772,7 +1772,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -2327,7 +2327,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 diff --git a/examples/advanced/History b/examples/advanced/History new file mode 100644 index 00000000000..4dda256c1b1 --- /dev/null +++ b/examples/advanced/History @@ -0,0 +1,12 @@ +# Example advanced History + +See `CONTRIBUTING.rst` for details of **required** info/format for each entry, +which **must** added in reverse chronological order (newest at the top). +It must **not** be used as a substitute for writing good git commit messages! + +------------------------------------------------------------------------------- + +## 2024-06-10 Gabriele Cosmo (exadvanced-V11-02-00) +- Updated GDML files to use short URL for schema validation. +- Initial overall History file for extended examples, used for global changes + affecting all examples under here. diff --git a/examples/advanced/ICRP110_HumanPhantoms/ICRP110Phantoms.out b/examples/advanced/ICRP110_HumanPhantoms/ICRP110Phantoms.out index 997f6c924bd..1b47ccf3d3f 100644 --- a/examples/advanced/ICRP110_HumanPhantoms/ICRP110Phantoms.out +++ b/examples/advanced/ICRP110_HumanPhantoms/ICRP110Phantoms.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -45,14 +45,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -335,9 +342,9 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2ggOKVI : Emin= 0 eV Emax= 100 TeV CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 Lambda table from 100 MeV to 100 TeV, 20 bins/decade, spline: 0 @@ -606,6 +613,7 @@ CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1 PHP check 1 CHECK HP NAMES 0 Enable DEBUG 0 + Use probability tables from njoy ======================================================= @@@ G4ParticleHPInelastic instantiated for particle neutron/n data directory is /cvmfs/geant4.cern.ch/share/data/G4NDL4.7.1/Inelastic @@ -685,7 +693,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n Model: FTFP: 3 GeV/n ---> 100 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV - Process: Radioactivation + Process: RadioactiveDecay ----------------------------------------------------------------------- Hadronic Processes for He3 Process: hadElastic @@ -920,7 +928,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n Model: FTFP: 3 GeV/n ---> 100 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV - Process: Radioactivation + Process: RadioactiveDecay ======================================================================= ====== Geant4 Native Pre-compound Model Parameters ======== ======================================================================= @@ -945,7 +953,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1000 ps Isomer production flag 1 Internal e- conversion flag 1 @@ -999,7 +1007,7 @@ Reading AM_organs.dat Reading OrganMasses.dat NOrganIDs: 142 Writing output to ICRP110.out -Total energy deposited over all Organs within the Phantom is 1.49063e-09 J -Total absorbed dose over all phantom organs is 3.60968e-09 Gy +Total energy deposited over all Organs within the Phantom is 1.42965e-09 J +Total absorbed dose over all phantom organs is 3.74061e-09 Gy Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/advanced/ICRP110_HumanPhantoms/OrganDoses.out b/examples/advanced/ICRP110_HumanPhantoms/OrganDoses.out index acf687940f6..a00414a978a 100644 --- a/examples/advanced/ICRP110_HumanPhantoms/OrganDoses.out +++ b/examples/advanced/ICRP110_HumanPhantoms/OrganDoses.out @@ -2,38 +2,48 @@ -------------------------------- OrganID Edep (J) Dose (Gy) -------------------------------- - 9 | 2.70205e-15 3.17888e-12 - 26 | 3.42525e-10 6.08555e-10 - 27 | 2.69134e-10 5.9667e-10 - 39 | 7.37355e-13 9.68674e-12 - 40 | 5.1708e-13 6.99703e-12 - 61 | 5.75659e-10 3.97006e-10 - 106 | 6.63117e-11 5.44516e-11 - 116 | 1.50105e-10 1.43161e-10 - 120 | 1.75792e-11 4.13726e-10 - 121 | 2.66656e-11 6.27575e-10 - 122 | 3.95497e-11 1.35751e-10 + 4 | 3.51939e-14 1.23879e-12 + 5 | 1.21784e-15 3.96304e-14 + 26 | 3.6424e-10 6.47135e-10 + 27 | 2.62636e-10 5.82264e-10 + 39 | 4.251e-12 5.5846e-11 + 40 | 3.0184e-12 4.08445e-11 + 47 | 1.11215e-20 1.08059e-19 + 48 | 1.05917e-13 1.44007e-12 + 61 | 4.9721e-10 3.42903e-10 + 100 | 2.08984e-20 9.24708e-18 + 106 | 6.01727e-11 4.94106e-11 + 116 | 1.43929e-10 1.3727e-10 + 120 | 2.67271e-11 6.29021e-10 + 121 | 2.06688e-11 4.8644e-10 + 122 | 4.48086e-11 1.53802e-10 + 133 | 1.29434e-15 3.06136e-14 134 | 1.84491e-12 6.12926e-10 ---------------------------------------------------------------------------- -------------------------------ORGAN INFO----------------------------------- -----------------(of organs where edep/dose was recorded)------------------- ---------------------------------------------------------------------------- ID Organ Name Material ID Density (g/cm^3) -9 Blood vessels, head 28 1.060 +4 Posterior nasal passage down to larynx (ET2) 45 1.030 +5 Oral mucosa, tongue 29 1.050 26 Cranium, cortical 2 1.920 27 Cranium, spongiosa 8 1.157 39 Mandible, cortical 2 1.920 40 Mandible, spongiosa 13 1.228 +47 Cervical spine, cortical 2 1.920 +48 Cervical spine, spongiosa 17 1.050 61 Brain 32 1.050 +100 Lymphatic nodes, extrathoracic airways 47 1.030 106 Muscle, head 29 1.050 116 Residual tissue, head 49 0.950 120 Salivary glands, left 45 1.030 121 Salivary glands, right 45 1.030 122 Skin, head 27 1.090 +133 Tongue (inner part) 29 1.050 134 Tonsils 45 1.030 -Total Edep over all organs = 1.49063e-09 J -Total dose absorbed over all organs = 3.60968e-09 Gy +Total Edep over all organs = 1.42965e-09 J +Total dose absorbed over all organs = 3.74061e-09 Gy ---------------------------------------------------------------------------- ----------------ORGAN ENERGY DEPOSITIONS AND ABSORBED DOSE------------------ @@ -42,16 +52,16 @@ Total dose absorbed over all organs = 3.60968e-09 Gy ---------------------------------------------------------------------------- OrganID Edep (J) Dose (Gy) ------------------------------- -0 | 1.51828e-11 0 +0 | 1.87826e-11 0 1 | 0 0 2 | 0 0 3 | 0 0 -4 | 0 0 -5 | 0 0 +4 | 3.51939e-14 1.23879e-12 +5 | 1.21784e-15 3.96304e-14 6 | 0 0 7 | 0 0 8 | 0 0 -9 | 2.70205e-15 3.17888e-12 +9 | 0 0 10 | 0 0 11 | 0 0 12 | 0 0 @@ -68,8 +78,8 @@ OrganID Edep (J) Dose (Gy) 23 | 0 0 24 | 0 0 25 | 0 0 -26 | 3.42525e-10 6.08555e-10 -27 | 2.69134e-10 5.9667e-10 +26 | 3.6424e-10 6.47135e-10 +27 | 2.62636e-10 5.82264e-10 28 | 0 0 29 | 0 0 30 | 0 0 @@ -81,16 +91,16 @@ OrganID Edep (J) Dose (Gy) 36 | 0 0 37 | 0 0 38 | 0 0 -39 | 7.37355e-13 9.68674e-12 -40 | 5.1708e-13 6.99703e-12 +39 | 4.251e-12 5.5846e-11 +40 | 3.0184e-12 4.08445e-11 41 | 0 0 42 | 0 0 43 | 0 0 44 | 0 0 45 | 0 0 46 | 0 0 -47 | 0 0 -48 | 0 0 +47 | 1.11215e-20 1.08059e-19 +48 | 1.05917e-13 1.44007e-12 49 | 0 0 50 | 0 0 51 | 0 0 @@ -103,7 +113,7 @@ OrganID Edep (J) Dose (Gy) 58 | 0 0 59 | 0 0 60 | 0 0 -61 | 5.75659e-10 3.97006e-10 +61 | 4.9721e-10 3.42903e-10 62 | 0 0 63 | 0 0 64 | 0 0 @@ -142,13 +152,13 @@ OrganID Edep (J) Dose (Gy) 97 | 0 0 98 | 0 0 99 | 0 0 -100 | 0 0 +100 | 2.08984e-20 9.24708e-18 101 | 0 0 102 | 0 0 103 | 0 0 104 | 0 0 105 | 0 0 -106 | 6.63117e-11 5.44516e-11 +106 | 6.01727e-11 4.94106e-11 107 | 0 0 108 | 0 0 109 | 0 0 @@ -158,13 +168,13 @@ OrganID Edep (J) Dose (Gy) 113 | 0 0 114 | 0 0 115 | 0 0 -116 | 1.50105e-10 1.43161e-10 +116 | 1.43929e-10 1.3727e-10 117 | 0 0 118 | 0 0 119 | 0 0 -120 | 1.75792e-11 4.13726e-10 -121 | 2.66656e-11 6.27575e-10 -122 | 3.95497e-11 1.35751e-10 +120 | 2.67271e-11 6.29021e-10 +121 | 2.06688e-11 4.8644e-10 +122 | 4.48086e-11 1.53802e-10 123 | 0 0 124 | 0 0 125 | 0 0 @@ -175,14 +185,14 @@ OrganID Edep (J) Dose (Gy) 130 | 0 0 131 | 0 0 132 | 0 0 -133 | 0 0 +133 | 1.29434e-15 3.06136e-14 134 | 1.84491e-12 6.12926e-10 135 | 0 0 136 | 0 0 137 | 0 0 138 | 0 0 139 | 0 0 -140 | 3.48834e-14 1.74417e-10 +140 | 2.70402e-14 1.35201e-10 141 | 0 0 -Total energy depositied over all organs = 1.49063e-09 J -Total absorbed dose over all organs = 3.60968e-09 Gy +Total energy depositied over all organs = 1.42965e-09 J +Total absorbed dose over all organs = 3.74061e-09 Gy diff --git a/examples/advanced/ICRP145_HumanPhantoms/ICRP145Phantoms.out b/examples/advanced/ICRP145_HumanPhantoms/ICRP145Phantoms.out index 73f591c2d53..e06d1a3f9e2 100644 --- a/examples/advanced/ICRP145_HumanPhantoms/ICRP145Phantoms.out +++ b/examples/advanced/ICRP145_HumanPhantoms/ICRP145Phantoms.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -248,14 +248,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -471,9 +478,9 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin=0.000000 eV Emax=100.000000 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin=0.000000 eV Emax=100.000000 TeV + eplus2ggOKVI : Emin=0.000000 eV Emax=100.000000 TeV CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 Lambda table from 100.000000 MeV to 100.000000 TeV, 20 bins/decade, spline: 0 @@ -742,6 +749,7 @@ CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1 PHP check 1 CHECK HP NAMES 0 Enable DEBUG 0 + Use probability tables from njoy ======================================================= @@@ G4ParticleHPInelastic instantiated for particle neutron/n data directory is /cvmfs/geant4.cern.ch/share/data/G4NDL4.7.1/Inelastic @@ -821,7 +829,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0.000000 eV /n ---> 6.000000 GeV/n Model: FTFP: 3.000000 GeV/n ---> 100.000000 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0.000000 eV ---> 25.600000 PeV - Process: Radioactivation + Process: RadioactiveDecay ----------------------------------------------------------------------- Hadronic Processes for He3 Process: hadElastic @@ -1056,7 +1064,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0.000000 eV /n ---> 6.000000 GeV/n Model: FTFP: 3.000000 GeV/n ---> 100.000000 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0.000000 eV ---> 25.600000 PeV - Process: Radioactivation + Process: RadioactiveDecay ======================================================================= ====== Geant4 Native Pre-compound Model Parameters ======== ======================================================================= @@ -1081,7 +1089,7 @@ Min energy per nucleon for multifragmentation 200.00000 GeV Limit excitation energy for Fermi BreakUp 20.00000 MeV Level density (1/MeV) 0.07500 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1000.00000 ps Isomer production flag 1 Internal e- conversion flag 1 diff --git a/examples/advanced/STCyclotron/STCyclotron.out b/examples/advanced/STCyclotron/STCyclotron.out index 1273b4a656d..15629bb3dc9 100644 --- a/examples/advanced/STCyclotron/STCyclotron.out +++ b/examples/advanced/STCyclotron/STCyclotron.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -156,15 +156,16 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Run terminated. Run Summary Number of events processed : 10 - User=21.520000s Real=22.534877s Sys=0.010000s + User=20.980000s Real=22.158684s Sys=0.000000s ... write file : SolidTargetCyclotron.root - done ... close file : SolidTargetCyclotron.root - done G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x17fd590 +UserPhysicsList deleted 0x1804ab0 +UserActionInitialization deleted 0x198d500 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -177,18 +178,17 @@ G4RNGHelper object is deleted. ================== Deleting memory pools =================== Pool ID '20G4NavigationLevelRep', size : 0.0154 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '17G4DynamicParticle', size : 0.344 MB -Pool ID '16G4SmartVoxelNode', size : 0.00192 MB -Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB +Pool ID '17G4DynamicParticle', size : 0.394 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.258 MB -Pool ID '7G4Track', size : 0.687 MB +Pool ID '7G4Track', size : 0.788 MB Pool ID '18G4TouchableHistory', size : 0.000961 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB Pool ID '17G4ReactionProduct', size : 0.000961 MB -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 1.3 MB +Pool ID '10G4Fragment', size : 0.000961 MB +Number of memory pools allocated: 11 of which, static: 0 +Dynamic pools deleted: 11 / Total memory freed: 1.5 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/air_shower/air_shower.out b/examples/advanced/air_shower/air_shower.out index ce71305c811..b59e694058f 100644 --- a/examples/advanced/air_shower/air_shower.out +++ b/examples/advanced/air_shower/air_shower.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -170,14 +170,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -408,7 +415,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -768,8 +775,8 @@ See commands in /vis/modeling/trajectories/ for other options. ooo Run 0 starts (global). --------- Ranlux engine status --------- - Initial seed = 1718963691 - float_seed_table[] = 0.384708 0.791556 0.379241 0.0881719 0.137439 0.669364 0.116514 0.38971 0.0279332 0.778502 0.161113 0.808408 0.636664 0.508096 0.0943652 0.0820693 0.0437461 0.492691 0.58593 0.435996 0.0672431 0.823854 0.880108 0.809899 + Initial seed = 1719414333 + float_seed_table[] = 0.175047 0.486924 0.938101 0.260933 0.0250564 0.610063 0.19077 0.647262 0.688288 0.304093 0.131578 0.0703431 0.779271 0.826493 0.344645 0.826125 0.567265 0.697638 0.468342 0.317728 0.735822 0.239019 0.246665 0.261269 i_lag = 23, j_lag = 9 carry = 0, count24 = 0 luxury = 3 nskip = 199 @@ -780,16 +787,17 @@ mu- Mono Plane Run terminated. Run Summary Number of events processed : 100 - User=1.330000s Real=1.462425s Sys=0.000000s + User=1.270000s Real=1.348591s Sys=0.000000s ### Run 0 (global) ended. Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x1ab5900 +UserPhysicsList deleted 0x1af7488 +UserActionInitialization deleted 0x1c8b820 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -802,20 +810,18 @@ G4RNGHelper object is deleted. ================== Deleting memory pools =================== Pool ID '20G4NavigationLevelRep', size : 0.0135 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '17G4DynamicParticle', size : 0.026 MB -Pool ID '16G4SmartVoxelNode', size : 0.00192 MB -Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB +Pool ID '17G4DynamicParticle', size : 0.024 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB Pool ID '15G4HCofThisEvent', size : 0.000961 MB Pool ID '16G4HitsCollection', size : 0.000961 MB -Pool ID '7G4Track', size : 0.0509 MB +Pool ID '7G4Track', size : 0.0471 MB Pool ID '18G4TouchableHistory', size : 0.000961 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB -Pool ID '15UltraOpticalHit', size : 0.00481 MB -Number of memory pools allocated: 14 of which, static: 0 -Dynamic pools deleted: 14 / Total memory freed: 0.11 MB +Pool ID '15UltraOpticalHit', size : 0.000961 MB +Number of memory pools allocated: 12 of which, static: 0 +Dynamic pools deleted: 12 / Total memory freed: 0.093 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/amsEcal/run1.out b/examples/advanced/amsEcal/run1.out index 1f5e53858e6..ada630c06b3 100644 --- a/examples/advanced/amsEcal/run1.out +++ b/examples/advanced/amsEcal/run1.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -102,6 +102,15 @@ physicsList->CheckParticleList() start. physicsList->setCut() start. # /ams/gun/setDefault + +-------- WWWW ------- G4Exception-START -------- WWWW ------- +*** G4Exception : Event0401 + issued by : G4VPrimaryGenerator::SetParticlePosition +Invalid vertex position ((-98.82,0,0)). Position MUST be located -inside- the world volume. +Gun position has NOT been changed! +*** This is just a warning message. *** +-------- WWWW -------- G4Exception-END --------- WWWW ------- + /gun/particle mu+ /gun/energy 1 GeV /ams/gun/beam 1 cm @@ -187,7 +196,7 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 10000 - User=7.040000s Real=7.232194s Sys=0.000000s + User=3.410000s Real=3.858164s Sys=0.000000s ------------------------------------------------------------- ---> The calorimeter is 9 Modules @@ -210,114 +219,115 @@ Run Summary total Energy (rms/mean) visible Energy (rms/mean) - layer 1: 1.5619 MeV +- 2.602 MeV (1.7e+02 %) 161.89 keV +- 878.1 keV (5.4e+02 %) - layer 2: 1.5387 MeV +- 2.367 MeV (1.5e+02 %) 164.47 keV +- 1.01 MeV (6.1e+02 %) - layer 3: 1.5147 MeV +- 2.177 MeV (1.4e+02 %) 153.22 keV +- 699.9 keV (4.6e+02 %) - layer 4: 1.5373 MeV +- 2.266 MeV (1.5e+02 %) 169.98 keV +- 806.9 keV (4.7e+02 %) - layer 5: 1.4991 MeV +- 1.847 MeV (1.2e+02 %) 167.84 keV +- 790.7 keV (4.7e+02 %) - layer 6: 1.5124 MeV +- 2.274 MeV (1.5e+02 %) 163.27 keV +- 1.015 MeV (6.2e+02 %) - layer 7: 1.5196 MeV +- 2.279 MeV (1.5e+02 %) 163.5 keV +- 723.3 keV (4.4e+02 %) - layer 8: 1.5327 MeV +- 2.139 MeV (1.4e+02 %) 161.22 keV +- 684.3 keV (4.2e+02 %) - layer 9: 1.5723 MeV +- 3.022 MeV (1.9e+02 %) 182.02 keV +- 1.588 MeV (8.7e+02 %) - layer 10: 1.542 MeV +- 2.821 MeV (1.8e+02 %) 153.59 keV +- 444.3 keV (2.9e+02 %) - layer 11: 1.5734 MeV +- 2.809 MeV (1.8e+02 %) 169.45 keV +- 1.072 MeV (6.3e+02 %) - layer 12: 1.531 MeV +- 2.357 MeV (1.5e+02 %) 157.86 keV +- 462.3 keV (2.9e+02 %) - layer 13: 1.57 MeV +- 2.786 MeV (1.8e+02 %) 158.31 keV +- 1.07 MeV (6.8e+02 %) - layer 14: 1.5416 MeV +- 2.465 MeV (1.6e+02 %) 153.94 keV +- 583.2 keV (3.8e+02 %) - layer 15: 1.5538 MeV +- 2.624 MeV (1.7e+02 %) 169.23 keV +- 1.3 MeV (7.7e+02 %) - layer 16: 1.5355 MeV +- 2.511 MeV (1.6e+02 %) 157.52 keV +- 842 keV (5.3e+02 %) - layer 17: 1.481 MeV +- 1.914 MeV (1.3e+02 %) 152.94 keV +- 444.5 keV (2.9e+02 %) - layer 18: 1.5177 MeV +- 2.198 MeV (1.4e+02 %) 150.97 keV +- 382.3 keV (2.5e+02 %) - layer 19: 1.532 MeV +- 2.107 MeV (1.4e+02 %) 155.7 keV +- 521.9 keV (3.4e+02 %) - layer 20: 1.53 MeV +- 2.372 MeV (1.6e+02 %) 155.11 keV +- 544.7 keV (3.5e+02 %) - layer 21: 1.5382 MeV +- 2.285 MeV (1.5e+02 %) 166.51 keV +- 692.6 keV (4.2e+02 %) - layer 22: 1.5369 MeV +- 2.168 MeV (1.4e+02 %) 159.77 keV +- 680.2 keV (4.3e+02 %) - layer 23: 1.5338 MeV +- 2.221 MeV (1.4e+02 %) 163.57 keV +- 788.1 keV (4.8e+02 %) - layer 24: 1.5356 MeV +- 2.127 MeV (1.4e+02 %) 168.18 keV +- 850.7 keV (5.1e+02 %) - layer 25: 1.537 MeV +- 2.498 MeV (1.6e+02 %) 157.07 keV +- 554.5 keV (3.5e+02 %) - layer 26: 1.5021 MeV +- 1.991 MeV (1.3e+02 %) 157.31 keV +- 687.8 keV (4.4e+02 %) - layer 27: 1.5043 MeV +- 2.098 MeV (1.4e+02 %) 154.56 keV +- 658.4 keV (4.3e+02 %) - layer 28: 1.5424 MeV +- 2.221 MeV (1.4e+02 %) 157.23 keV +- 662.1 keV (4.2e+02 %) - layer 29: 1.5148 MeV +- 2.349 MeV (1.6e+02 %) 144.77 keV +- 294.5 keV (2e+02 %) - layer 30: 1.5067 MeV +- 2.175 MeV (1.4e+02 %) 161.03 keV +- 637 keV (4e+02 %) - layer 31: 1.4969 MeV +- 2.132 MeV (1.4e+02 %) 142.31 keV +- 277.7 keV (2e+02 %) - layer 32: 1.5424 MeV +- 2.441 MeV (1.6e+02 %) 156.2 keV +- 713.7 keV (4.6e+02 %) - layer 33: 1.5257 MeV +- 2.326 MeV (1.5e+02 %) 156.03 keV +- 517.1 keV (3.3e+02 %) - layer 34: 1.5245 MeV +- 2.281 MeV (1.5e+02 %) 153.52 keV +- 462.7 keV (3e+02 %) - layer 35: 1.559 MeV +- 2.62 MeV (1.7e+02 %) 163.28 keV +- 984.4 keV (6e+02 %) - layer 36: 1.5326 MeV +- 2.431 MeV (1.6e+02 %) 164.13 keV +- 935.3 keV (5.7e+02 %) - layer 37: 1.5169 MeV +- 2.289 MeV (1.5e+02 %) 149.56 keV +- 311.9 keV (2.1e+02 %) - layer 38: 1.5068 MeV +- 2.028 MeV (1.3e+02 %) 155.39 keV +- 427.4 keV (2.8e+02 %) - layer 39: 1.5058 MeV +- 2.013 MeV (1.3e+02 %) 159.58 keV +- 585.2 keV (3.7e+02 %) - layer 40: 1.5272 MeV +- 2.529 MeV (1.7e+02 %) 166.35 keV +- 1.253 MeV (7.5e+02 %) - layer 41: 1.5404 MeV +- 2.391 MeV (1.6e+02 %) 154.29 keV +- 472 keV (3.1e+02 %) - layer 42: 1.535 MeV +- 2.218 MeV (1.4e+02 %) 173.15 keV +- 1.257 MeV (7.3e+02 %) - layer 43: 1.5395 MeV +- 2.263 MeV (1.5e+02 %) 154.57 keV +- 572.4 keV (3.7e+02 %) - layer 44: 1.4996 MeV +- 1.738 MeV (1.2e+02 %) 162.77 keV +- 572.5 keV (3.5e+02 %) - layer 45: 1.528 MeV +- 2.101 MeV (1.4e+02 %) 151.26 keV +- 346.6 keV (2.3e+02 %) - layer 46: 1.5748 MeV +- 2.714 MeV (1.7e+02 %) 171.73 keV +- 1.096 MeV (6.4e+02 %) - layer 47: 1.5566 MeV +- 2.422 MeV (1.6e+02 %) 152.77 keV +- 506.6 keV (3.3e+02 %) - layer 48: 1.5511 MeV +- 2.472 MeV (1.6e+02 %) 158.1 keV +- 625.1 keV (4e+02 %) - layer 49: 1.5298 MeV +- 2.132 MeV (1.4e+02 %) 158.34 keV +- 541.1 keV (3.4e+02 %) - layer 50: 1.5379 MeV +- 2.34 MeV (1.5e+02 %) 156.06 keV +- 549.2 keV (3.5e+02 %) - layer 51: 1.543 MeV +- 2.639 MeV (1.7e+02 %) 164.91 keV +- 825.7 keV (5e+02 %) - layer 52: 1.5445 MeV +- 2.319 MeV (1.5e+02 %) 150.84 keV +- 396.3 keV (2.6e+02 %) - layer 53: 1.5389 MeV +- 2.504 MeV (1.6e+02 %) 154.64 keV +- 460.9 keV (3e+02 %) - layer 54: 1.5248 MeV +- 2.202 MeV (1.4e+02 %) 164.12 keV +- 892.2 keV (5.4e+02 %) - layer 55: 1.5144 MeV +- 2.128 MeV (1.4e+02 %) 160.86 keV +- 663.1 keV (4.1e+02 %) - layer 56: 1.4948 MeV +- 1.939 MeV (1.3e+02 %) 149.75 keV +- 365.9 keV (2.4e+02 %) - layer 57: 1.5064 MeV +- 2.036 MeV (1.4e+02 %) 160.91 keV +- 904.7 keV (5.6e+02 %) - layer 58: 1.5572 MeV +- 2.39 MeV (1.5e+02 %) 158.77 keV +- 490.2 keV (3.1e+02 %) - layer 59: 1.4736 MeV +- 1.69 MeV (1.1e+02 %) 148.84 keV +- 325.1 keV (2.2e+02 %) - layer 60: 1.5346 MeV +- 2.298 MeV (1.5e+02 %) 146.5 keV +- 309 keV (2.1e+02 %) - layer 61: 1.4992 MeV +- 1.93 MeV (1.3e+02 %) 155.25 keV +- 407.5 keV (2.6e+02 %) - layer 62: 1.4987 MeV +- 1.947 MeV (1.3e+02 %) 161.01 keV +- 845.1 keV (5.2e+02 %) - layer 63: 1.5563 MeV +- 2.547 MeV (1.6e+02 %) 164.25 keV +- 696.9 keV (4.2e+02 %) - layer 64: 1.5439 MeV +- 2.415 MeV (1.6e+02 %) 158.06 keV +- 652.6 keV (4.1e+02 %) - layer 65: 1.5098 MeV +- 2.243 MeV (1.5e+02 %) 163.6 keV +- 831.9 keV (5.1e+02 %) - layer 66: 1.5281 MeV +- 2.243 MeV (1.5e+02 %) 155.32 keV +- 533.7 keV (3.4e+02 %) - layer 67: 1.4929 MeV +- 1.895 MeV (1.3e+02 %) 151.7 keV +- 342.5 keV (2.3e+02 %) - layer 68: 1.4824 MeV +- 1.789 MeV (1.2e+02 %) 154.94 keV +- 617.3 keV (4e+02 %) - layer 69: 1.5905 MeV +- 2.853 MeV (1.8e+02 %) 163.85 keV +- 853.3 keV (5.2e+02 %) - layer 70: 1.4953 MeV +- 2.021 MeV (1.4e+02 %) 178.24 keV +- 1.326 MeV (7.4e+02 %) - layer 71: 1.5122 MeV +- 2.071 MeV (1.4e+02 %) 162.26 keV +- 963.2 keV (5.9e+02 %) - layer 72: 1.5266 MeV +- 2.124 MeV (1.4e+02 %) 157.33 keV +- 537.7 keV (3.4e+02 %) - layer 73: 1.5813 MeV +- 2.788 MeV (1.8e+02 %) 153.77 keV +- 513.1 keV (3.3e+02 %) - layer 74: 1.5484 MeV +- 2.444 MeV (1.6e+02 %) 171.88 keV +- 881.1 keV (5.1e+02 %) - layer 75: 1.5386 MeV +- 2.565 MeV (1.7e+02 %) 153.15 keV +- 405.3 keV (2.6e+02 %) - layer 76: 1.5305 MeV +- 2.183 MeV (1.4e+02 %) 154.45 keV +- 549.5 keV (3.6e+02 %) - layer 77: 1.4901 MeV +- 1.993 MeV (1.3e+02 %) 157.24 keV +- 709.6 keV (4.5e+02 %) - layer 78: 1.5319 MeV +- 2.194 MeV (1.4e+02 %) 157.35 keV +- 521.1 keV (3.3e+02 %) - layer 79: 1.5005 MeV +- 2.069 MeV (1.4e+02 %) 154.22 keV +- 727.3 keV (4.7e+02 %) - layer 80: 1.5158 MeV +- 2.052 MeV (1.4e+02 %) 163.84 keV +- 795.9 keV (4.9e+02 %) - layer 81: 1.523 MeV +- 2.124 MeV (1.4e+02 %) 151.99 keV +- 426.8 keV (2.8e+02 %) - layer 82: 1.5116 MeV +- 2.053 MeV (1.4e+02 %) 164.27 keV +- 781.5 keV (4.8e+02 %) - layer 83: 1.482 MeV +- 1.743 MeV (1.2e+02 %) 149.12 keV +- 273.8 keV (1.8e+02 %) - layer 84: 1.5096 MeV +- 2.111 MeV (1.4e+02 %) 166.15 keV +- 1.099 MeV (6.6e+02 %) - layer 85: 1.5627 MeV +- 2.483 MeV (1.6e+02 %) 158.46 keV +- 550.4 keV (3.5e+02 %) - layer 86: 1.5186 MeV +- 1.828 MeV (1.2e+02 %) 152.04 keV +- 459.2 keV (3e+02 %) - layer 87: 1.5118 MeV +- 2.006 MeV (1.3e+02 %) 156.57 keV +- 456.4 keV (2.9e+02 %) - layer 88: 1.5379 MeV +- 2.214 MeV (1.4e+02 %) 154.6 keV +- 518.6 keV (3.4e+02 %) - layer 89: 1.5177 MeV +- 1.938 MeV (1.3e+02 %) 150.49 keV +- 350.4 keV (2.3e+02 %) - layer 90: 1.5236 MeV +- 2.166 MeV (1.4e+02 %) 170.09 keV +- 1.114 MeV (6.6e+02 %) - - total calor : 149.88 MeV +- 21.85 MeV ( 15 %) 14.297 MeV +- 6.938 MeV ( 49 %) + layer 1: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 2: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 3: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 4: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 5: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 6: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 7: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 8: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 9: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 10: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 11: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 12: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 13: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 14: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 15: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 16: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 17: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 18: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 19: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 20: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 21: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 22: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 23: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 24: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 25: 0 eV +- 0 eV ( 0 %) 0 eV +- 0 eV ( 0 %) + layer 26: 508.63 eV +- 50.86 keV (1e+04 %) 35.94 eV +- 3.594 keV (1e+04 %) + layer 27: 1.31 keV +- 131 keV (1e+04 %) 144.69 eV +- 14.47 keV (1e+04 %) + layer 28: 1.8422 keV +- 184.2 keV (1e+04 %) 142.6 eV +- 14.26 keV (1e+04 %) + layer 29: 925.67 eV +- 92.56 keV (1e+04 %) 85.879 eV +- 8.587 keV (1e+04 %) + layer 30: 1.3123 keV +- 131.2 keV (1e+04 %) 133.51 eV +- 13.35 keV (1e+04 %) + layer 31: 1.0592 keV +- 105.9 keV (1e+04 %) 100.2 eV +- 10.02 keV (1e+04 %) + layer 32: 2.3302 keV +- 233 keV (1e+04 %) 142.69 eV +- 14.27 keV (1e+04 %) + layer 33: 1.2736 keV +- 127.4 keV (1e+04 %) 129.42 eV +- 12.94 keV (1e+04 %) + layer 34: 1.0782 keV +- 107.8 keV (1e+04 %) 96.262 eV +- 9.626 keV (1e+04 %) + layer 35: 1.0338 keV +- 103.4 keV (1e+04 %) 116.97 eV +- 11.7 keV (1e+04 %) + layer 36: 1.2998 keV +- 130 keV (1e+04 %) 112.37 eV +- 11.24 keV (1e+04 %) + layer 37: 1.1875 keV +- 118.7 keV (1e+04 %) 101.5 eV +- 10.15 keV (1e+04 %) + layer 38: 1.5113 keV +- 151.1 keV (1e+04 %) 139.21 eV +- 13.92 keV (1e+04 %) + layer 39: 1.0974 keV +- 109.7 keV (1e+04 %) 142.31 eV +- 14.23 keV (1e+04 %) + layer 40: 1.7981 keV +- 179.8 keV (1e+04 %) 442.45 eV +- 44.24 keV (1e+04 %) + layer 41: 1.4551 keV +- 145.5 keV (1e+04 %) 148.19 eV +- 14.82 keV (1e+04 %) + layer 42: 957.65 eV +- 95.76 keV (1e+04 %) 98.025 eV +- 9.802 keV (1e+04 %) + layer 43: 2.7765 keV +- 277.6 keV (1e+04 %) 180.58 eV +- 18.06 keV (1e+04 %) + layer 44: 1.1171 keV +- 111.7 keV (1e+04 %) 134.28 eV +- 13.43 keV (1e+04 %) + layer 45: 1.1967 keV +- 119.7 keV (1e+04 %) 124.76 eV +- 12.48 keV (1e+04 %) + layer 46: 1.5229 MeV +- 2.102 MeV (1.4e+02 %) 158.51 keV +- 674.3 keV (4.3e+02 %) + layer 47: 1.531 MeV +- 2.159 MeV (1.4e+02 %) 162.39 keV +- 607.8 keV (3.7e+02 %) + layer 48: 1.5069 MeV +- 2.122 MeV (1.4e+02 %) 152.99 keV +- 485.3 keV (3.2e+02 %) + layer 49: 1.536 MeV +- 2.493 MeV (1.6e+02 %) 164.61 keV +- 1.06 MeV (6.4e+02 %) + layer 50: 1.534 MeV +- 2.296 MeV (1.5e+02 %) 149.72 keV +- 382.2 keV (2.6e+02 %) + layer 51: 1.5168 MeV +- 2.205 MeV (1.5e+02 %) 161.28 keV +- 798.9 keV (5e+02 %) + layer 52: 1.5447 MeV +- 2.739 MeV (1.8e+02 %) 153.93 keV +- 512.6 keV (3.3e+02 %) + layer 53: 1.5299 MeV +- 2.208 MeV (1.4e+02 %) 156.99 keV +- 870.4 keV (5.5e+02 %) + layer 54: 1.5543 MeV +- 2.774 MeV (1.8e+02 %) 170.06 keV +- 1.052 MeV (6.2e+02 %) + layer 55: 1.524 MeV +- 2.248 MeV (1.5e+02 %) 154.05 keV +- 529.4 keV (3.4e+02 %) + layer 56: 1.5268 MeV +- 2.287 MeV (1.5e+02 %) 160.3 keV +- 664.2 keV (4.1e+02 %) + layer 57: 1.5705 MeV +- 2.734 MeV (1.7e+02 %) 165.28 keV +- 987.5 keV (6e+02 %) + layer 58: 1.528 MeV +- 1.964 MeV (1.3e+02 %) 161.04 keV +- 672.7 keV (4.2e+02 %) + layer 59: 1.5566 MeV +- 2.486 MeV (1.6e+02 %) 147.28 keV +- 596 keV (4e+02 %) + layer 60: 1.513 MeV +- 1.961 MeV (1.3e+02 %) 164.8 keV +- 648.3 keV (3.9e+02 %) + layer 61: 1.5603 MeV +- 2.518 MeV (1.6e+02 %) 154.57 keV +- 598.9 keV (3.9e+02 %) + layer 62: 1.5205 MeV +- 2.233 MeV (1.5e+02 %) 167.15 keV +- 964.4 keV (5.8e+02 %) + layer 63: 1.5357 MeV +- 2.436 MeV (1.6e+02 %) 173.03 keV +- 1.215 MeV (7e+02 %) + layer 64: 1.5742 MeV +- 3.039 MeV (1.9e+02 %) 178.74 keV +- 1.32 MeV (7.4e+02 %) + layer 65: 1.5519 MeV +- 2.653 MeV (1.7e+02 %) 174.16 keV +- 1.228 MeV (7e+02 %) + layer 66: 1.56 MeV +- 2.659 MeV (1.7e+02 %) 163.99 keV +- 1.137 MeV (6.9e+02 %) + layer 67: 1.5188 MeV +- 2.228 MeV (1.5e+02 %) 147.7 keV +- 374.9 keV (2.5e+02 %) + layer 68: 1.549 MeV +- 2.5 MeV (1.6e+02 %) 161.53 keV +- 657.9 keV (4.1e+02 %) + layer 69: 1.5201 MeV +- 2.105 MeV (1.4e+02 %) 156.26 keV +- 531.1 keV (3.4e+02 %) + layer 70: 1.501 MeV +- 1.837 MeV (1.2e+02 %) 148.24 keV +- 428.2 keV (2.9e+02 %) + layer 71: 1.5485 MeV +- 2.506 MeV (1.6e+02 %) 171.55 keV +- 907.9 keV (5.3e+02 %) + layer 72: 1.5056 MeV +- 1.89 MeV (1.3e+02 %) 151.96 keV +- 541.4 keV (3.6e+02 %) + layer 73: 1.497 MeV +- 2.156 MeV (1.4e+02 %) 164.75 keV +- 614.7 keV (3.7e+02 %) + layer 74: 1.5133 MeV +- 2.323 MeV (1.5e+02 %) 145.6 keV +- 366.2 keV (2.5e+02 %) + layer 75: 1.4913 MeV +- 1.858 MeV (1.2e+02 %) 158.64 keV +- 931.1 keV (5.9e+02 %) + layer 76: 1.5365 MeV +- 2.538 MeV (1.7e+02 %) 166.63 keV +- 965.8 keV (5.8e+02 %) + layer 77: 1.497 MeV +- 1.9 MeV (1.3e+02 %) 156.94 keV +- 542.8 keV (3.5e+02 %) + layer 78: 1.5094 MeV +- 1.83 MeV (1.2e+02 %) 154.57 keV +- 498.4 keV (3.2e+02 %) + layer 79: 1.5017 MeV +- 1.946 MeV (1.3e+02 %) 150.5 keV +- 394.5 keV (2.6e+02 %) + layer 80: 1.5375 MeV +- 2.608 MeV (1.7e+02 %) 176.78 keV +- 1.253 MeV (7.1e+02 %) + layer 81: 1.5291 MeV +- 2.232 MeV (1.5e+02 %) 163.1 keV +- 902.6 keV (5.5e+02 %) + layer 82: 1.5689 MeV +- 2.598 MeV (1.7e+02 %) 167.73 keV +- 775.1 keV (4.6e+02 %) + layer 83: 1.5173 MeV +- 1.97 MeV (1.3e+02 %) 153.69 keV +- 465.9 keV (3e+02 %) + layer 84: 1.534 MeV +- 2.631 MeV (1.7e+02 %) 182.14 keV +- 1.397 MeV (7.7e+02 %) + layer 85: 1.5483 MeV +- 2.342 MeV (1.5e+02 %) 163.01 keV +- 979.9 keV (6e+02 %) + layer 86: 1.5539 MeV +- 2.648 MeV (1.7e+02 %) 161.28 keV +- 909.6 keV (5.6e+02 %) + layer 87: 1.5292 MeV +- 2.179 MeV (1.4e+02 %) 158.59 keV +- 718.2 keV (4.5e+02 %) + layer 88: 1.5179 MeV +- 2.176 MeV (1.4e+02 %) 159.39 keV +- 672.3 keV (4.2e+02 %) + layer 89: 1.5531 MeV +- 2.359 MeV (1.5e+02 %) 159.26 keV +- 632.7 keV (4e+02 %) + layer 90: 1.5266 MeV +- 2.207 MeV (1.4e+02 %) 154.59 keV +- 613.6 keV (4e+02 %) + + total calor : 75.155 MeV +- 16.27 MeV ( 22 %) 7.2321 MeV +- 5.373 MeV ( 74 %) ------------------------------------------------------------ - Leakage : 850.12 MeV +- 21.85 MeV - Eleak/Ebeam = 85 % ( forward = 85 % backward = 0 % lateral = 0 %) + Leakage : 924.85 MeV +- 16.27 MeV + Eleak/Ebeam =92.5 % ( forward =92.5 % backward = 0 % lateral =0.00684 %) ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={2215648278183661243, 1202689478531181296, 256503295766844419, 202479639625117961, 72817295746262694, 1256068587305548821, 1643246400447111293, 151442715335525459, 665977413180176959, 1581859906612704560, 1802509615648640447, 205405998140778431, 93383966508081927, 419688080778585317, 881618742417998624, 1112493657282461817, 1205315194251855050} counter= 3sumtot= 1134090210480372612 +N=17 V[N]={1107671594470450757, 1240607435943435738, 2231204702643210350, 1189532161300035035, 1187160762106429718, 1279654564220372732, 394375735238574519, 1139581727873146704, 815563237799698575, 92100093776053926, 1421621212261671388, 1627816993775078338, 519999874798195897, 1532430024833830675, 1709850670266766569, 2049291853933162862, 367882786885510648} counter= 8sumtot= 1459601358416072823 --------------------------------------- G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x1178b40 +UserPhysicsList deleted 0x11ad150 +UserActionInitialization deleted 0x1333bf0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -328,10 +338,8 @@ TransportationManager deleted. Total navigation history collections cleaned: 7 G4RNGHelper object is deleted. ================== Deleting memory pools =================== -Pool ID '20G4NavigationLevelRep', size : 0.00865 MB +Pool ID '20G4NavigationLevelRep', size : 0.00769 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '16G4SmartVoxelNode', size : 0.0308 MB -Pool ID '17G4SmartVoxelProxy', size : 0.0154 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB @@ -339,8 +347,8 @@ Pool ID '17G4DynamicParticle', size : 0.000961 MB Pool ID '7G4Track', size : 0.000961 MB Pool ID '18G4TouchableHistory', size : 0.000961 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB -Number of memory pools allocated: 11 of which, static: 0 -Dynamic pools deleted: 11 / Total memory freed: 0.062 MB +Number of memory pools allocated: 9 of which, static: 0 +Dynamic pools deleted: 9 / Total memory freed: 0.015 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/brachytherapy/brachytherapy.out b/examples/advanced/brachytherapy/brachytherapy.out index 0e868c7fc1d..6840cf6a3cf 100644 --- a/examples/advanced/brachytherapy/brachytherapy.out +++ b/examples/advanced/brachytherapy/brachytherapy.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -45,14 +45,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -427,7 +434,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -511,7 +518,7 @@ Threshold for very long decay time at rest 1e+60 y HADRONIC PROCESSES SUMMARY (verbose level 1) ------------------------------------------------------------------------- Hadronic Processes for GenericIon - Process: Radioactivation + Process: RadioactiveDecay msc: for alpha SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== diff --git a/examples/advanced/composite_calorimeter/composite_calorimeter.out b/examples/advanced/composite_calorimeter/composite_calorimeter.out index ed86980a854..becdad6b9b5 100644 --- a/examples/advanced/composite_calorimeter/composite_calorimeter.out +++ b/examples/advanced/composite_calorimeter/composite_calorimeter.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -243,7 +243,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -799,7 +799,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -952,16 +952,17 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Run terminated. Run Summary Number of events processed : 20 - User=16.030000s Real=17.059184s Sys=0.000000s + User=16.250000s Real=16.897608s Sys=0.010000s ### Run 0 end. ... write file : ccal.root - done ... close file : ccal.root - done G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x25b6a80 +UserPhysicsList deleted 0x25b7c40 +UserActionInitialization deleted 0x2773b60 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -970,26 +971,24 @@ G4SDManager deleted. EventManager deleted. Units table cleared. TransportationManager deleted. -Total navigation history collections cleaned: 47 +Total navigation history collections cleaned: 46 G4RNGHelper object is deleted. ================== Deleting memory pools =================== -Pool ID '20G4NavigationLevelRep', size : 0.0692 MB +Pool ID '20G4NavigationLevelRep', size : 0.0683 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '17G4DynamicParticle', size : 0.0433 MB -Pool ID '16G4SmartVoxelNode', size : 0.00769 MB -Pool ID '17G4SmartVoxelProxy', size : 0.00385 MB +Pool ID '17G4DynamicParticle', size : 0.0731 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB Pool ID '15G4HCofThisEvent', size : 0.000961 MB Pool ID '16G4HitsCollection', size : 0.000961 MB -Pool ID '7G4Track', size : 0.0865 MB +Pool ID '7G4Track', size : 0.145 MB Pool ID '18G4TouchableHistory', size : 0.00577 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB -Pool ID '17G4ReactionProduct', size : 0.0154 MB -Pool ID '10G4Fragment', size : 0.00577 MB -Number of memory pools allocated: 15 of which, static: 0 -Dynamic pools deleted: 15 / Total memory freed: 0.24 MB +Pool ID '17G4ReactionProduct', size : 0.0183 MB +Pool ID '10G4Fragment', size : 0.00673 MB +Number of memory pools allocated: 13 of which, static: 0 +Dynamic pools deleted: 13 / Total memory freed: 0.32 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/doiPET/doiPET.out b/examples/advanced/doiPET/doiPET.out index 0c25665ea1b..4cde67e63b2 100644 --- a/examples/advanced/doiPET/doiPET.out +++ b/examples/advanced/doiPET/doiPET.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -318,91 +318,6 @@ Type of PIXE cross section for e+- Livermore ### === Deexcitation model UAtomDeexcitation is activated for 1 region: ### === Auger flag: 1 ### === Ignore cuts flag: 1 -======================================================================= -====== Electromagnetic Physics Parameters ======== -======================================================================= -LPM effect enabled 1 -Enable creation and use of sampling tables 0 -Apply cuts on all EM processes 0 -Use combined TransportationWithMsc Disabled -Use general process 1 -Enable linear polarisation for gamma 0 -Enable photoeffect sampling below K-shell 1 -Enable sampling of quantum entanglement 0 -X-section factor for integral approach 0.8 -Min kinetic energy for tables 10 eV -Max kinetic energy for tables 100 TeV -Number of bins per decade of a table 20 -Verbose level 1 -Verbose level for worker thread 0 -Bremsstrahlung energy threshold above which - primary e+- is added to the list of secondary 100 TeV -Bremsstrahlung energy threshold above which primary - muon/hadron is added to the list of secondary 100 TeV -Lowest triplet kinetic energy 1 MeV -Enable sampling of gamma linear polarisation 0 -5D gamma conversion model type 0 -5D gamma conversion model on isolated ion 0 -Livermore data directory epics_2017 -======================================================================= -====== Ionisation Parameters ======== -======================================================================= -Step function for e+- (0.2, 0.1 mm) -Step function for muons/hadrons (0.2, 0.05 mm) -Step function for light ions (0.1, 0.02 mm) -Step function for general ions (0.1, 0.001 mm) -Lowest e+e- kinetic energy 100 eV -Lowest muon/hadron kinetic energy 1 keV -Use ICRU90 data 1 -Fluctuations of dE/dx are enabled 1 -Type of fluctuation model for leptons and hadrons Urban -Use built-in Birks satuaration 0 -Build CSDA range enabled 0 -Use cut as a final range enabled 0 -Enable angular generator interface 1 -Max kinetic energy for CSDA tables 1 GeV -Max kinetic energy for NIEL computation 1 MeV -Linear loss limit 0.01 -Read data from file for e+e- pair production by mu 0 -======================================================================= -====== Multiple Scattering Parameters ======== -======================================================================= -Type of msc step limit algorithm for e+- 3 -Type of msc step limit algorithm for muons/hadrons 0 -Msc lateral displacement for e+- enabled 1 -Msc lateral displacement for muons and hadrons 1 -Urban msc model lateral displacement alg96 1 -Range factor for msc step limit for e+- 0.04 -Range factor for msc step limit for muons/hadrons 0.2 -Geometry factor for msc step limitation of e+- 2.5 -Safety factor for msc step limit for e+- 0.6 -Skin parameter for msc step limitation of e+- 1 -Lambda limit for msc step limit for e+- 1 mm -Use Mott correction for e- scattering 1 -Factor used for dynamic computation of angular - limit between single and multiple scattering 1 -Fixed angular limit between single - and multiple scattering 3.1416 rad -Upper energy limit for e+- multiple scattering 100 MeV -Type of electron single scattering model 0 -Type of nuclear form-factor 1 -Screening factor 1 -======================================================================= -====== Atomic Deexcitation Parameters ======== -======================================================================= -Fluorescence enabled 1 -Directory in G4LEDATA for fluorescence data files fluor -Auger electron cascade enabled 1 -PIXE atomic de-excitation enabled 0 -De-excitation module ignores cuts 1 -Type of PIXE cross section for hadrons Empirical -Type of PIXE cross section for e+- Livermore -======================================================================= - -### === Deexcitation model UAtomDeexcitation is activated for 1 region: - DefaultRegionForTheWorld 1 1 0 -### === Auger flag: 1 -### === Ignore cuts flag: 1 phot: for gamma SubType=12 BuildTable=0 LambdaPrime table from 200 keV to 100 TeV in 174 bins @@ -480,7 +395,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -535,7 +450,7 @@ Threshold for very long decay time at rest 1e+60 y HADRONIC PROCESSES SUMMARY (verbose level 1) ------------------------------------------------------------------------- Hadronic Processes for GenericIon - Process: Radioactivation + Process: RadioactiveDecay msc: for GenericIon SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== @@ -806,14 +721,14 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Voxelisation: top CPU users: Percent Total CPU System CPU Memory Volume ------- ---------- ---------- -------- ---------- - 100.00 0.01 0.00 406k airBox_logicalV - 0.00 0.00 0.00 69k world_logicalV + 100.00 0.01 0.00 69k world_logicalV + 0.00 0.00 0.00 406k airBox_logicalV Voxelisation: top memory users: Percent Memory Heads Nodes Pointers Total CPU Volume ------- -------- ------ ------ -------- ---------- ---------- - 85.51 406k 931 5788 8898 0.01 airBox_logicalV - 14.49 68k 182 683 3080 0.00 world_logicalV + 85.51 406k 931 5788 8898 0.00 airBox_logicalV + 14.49 68k 182 683 3080 0.01 world_logicalV ### Run 0 starts. ### Begin of Run 0 start. @@ -855,15 +770,16 @@ N=17 V[N]={87900885656017340, 2136126672992718976, 110623987125446578, 176001763 Run terminated. Run Summary Number of events processed : 1000000 - User=131.120000s Real=142.438038s Sys=1.930000s + User=85.540000s Real=89.963477s Sys=1.630000s ### End of Run (1000000 events) G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x1b813c0 +UserPhysicsList deleted 0x1bbd6c8 +UserActionInitialization deleted 0x1d4ba50 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -871,23 +787,21 @@ G4SDManager deleted. EventManager deleted. Units table cleared. TransportationManager deleted. -Total navigation history collections cleaned: 14 +Total navigation history collections cleaned: 13 G4RNGHelper object is deleted. ================== Deleting memory pools =================== -Pool ID '20G4NavigationLevelRep', size : 0.0202 MB +Pool ID '20G4NavigationLevelRep', size : 0.0183 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '17G4DynamicParticle', size : 0.0115 MB -Pool ID '16G4SmartVoxelNode', size : 0.201 MB -Pool ID '17G4SmartVoxelProxy', size : 0.116 MB +Pool ID '17G4DynamicParticle', size : 0.00865 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB Pool ID '19G4ElectronOccupancy', size : 0.000961 MB -Pool ID '7G4Track', size : 0.0231 MB +Pool ID '7G4Track', size : 0.0173 MB Pool ID '18G4TouchableHistory', size : 0.00192 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 0.38 MB +Number of memory pools allocated: 10 of which, static: 0 +Dynamic pools deleted: 10 / Total memory freed: 0.052 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/dsbandrepair/History b/examples/advanced/dsbandrepair/History index 3dd9068d20e..d6ad64c5412 100644 --- a/examples/advanced/dsbandrepair/History +++ b/examples/advanced/dsbandrepair/History @@ -4,6 +4,9 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-05-24 H. Tran (dsbandrepair-V11-02-00) +- used the EmParameter to control chemistry time step model + ## 2023-11-09 H. Tran (dsbandrepair-V11-01-01) - Added info in .README.txt and README files diff --git a/examples/advanced/dsbandrepair/dsbandrepair.out b/examples/advanced/dsbandrepair/dsbandrepair.out index a83b7dd205c..5e194b0e523 100644 --- a/examples/advanced/dsbandrepair/dsbandrepair.out +++ b/examples/advanced/dsbandrepair/dsbandrepair.out @@ -1,4 +1,4 @@ -Initial Seed for random engine: 1718963771 +Initial Seed for random engine: 1719414420 Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Forcing G4RunManager type... ############################################ @@ -12,7 +12,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -67,7 +67,7 @@ Enable photoeffect sampling below K-shell 1 Enable sampling of quantum entanglement 0 X-section factor for integral approach 0.8 Min kinetic energy for tables 10 eV -Max kinetic energy for tables 300 MeV +Max kinetic energy for tables 600 MeV Number of bins per decade of a table 20 Verbose level 1 Verbose level for worker thread 0 @@ -148,110 +148,122 @@ Use DNA e- solvation model type 11003 ### === Ignore cuts flag: 1 phot: for gamma SubType=12 BuildTable=0 - LambdaPrime table from 200 keV to 300 MeV in 59 bins + LambdaPrime table from 200 keV to 600 MeV in 72 bins ===== EM models for the G4Region DefaultRegionForTheWorld ====== - LivermorePhElectric : Emin= 0 eV Emax= 300 MeV SauterGavrila Fluo + LivermorePhElectric : Emin= 0 eV Emax= 600 MeV SauterGavrila Fluo compt: for gamma SubType=13 BuildTable=1 - Lambda table from 10 eV to 1 MeV, 19 bins/decade, spline: 1 - LambdaPrime table from 1 MeV to 300 MeV in 46 bins + Lambda table from 10 eV to 1 MeV, 21 bins/decade, spline: 1 + LambdaPrime table from 1 MeV to 600 MeV in 57 bins ===== EM models for the G4Region DefaultRegionForTheWorld ====== LowEPComptonModel : Emin= 0 eV Emax= 20 MeV Fluo - KleinNishina : Emin= 20 MeV Emax= 300 MeV Fluo + KleinNishina : Emin= 20 MeV Emax= 600 MeV Fluo conv: for gamma SubType=14 BuildTable=1 - Lambda table from 1.022 MeV to 300 MeV, 30 bins/decade, spline: 1 + Lambda table from 1.022 MeV to 600 MeV, 28 bins/decade, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BetheHeitlerLPM : Emin= 0 eV Emax= 300 MeV ModifiedTsai + BetheHeitlerLPM : Emin= 0 eV Emax= 600 MeV ModifiedTsai Rayl: for gamma SubType=11 BuildTable=1 - Lambda table from 10 eV to 150 keV, 19 bins/decade, spline: 0 - LambdaPrime table from 150 keV to 300 MeV in 62 bins + Lambda table from 10 eV to 150 keV, 21 bins/decade, spline: 0 + LambdaPrime table from 150 keV to 600 MeV in 74 bins ===== EM models for the G4Region DefaultRegionForTheWorld ====== - LivermoreRayleigh : Emin= 0 eV Emax= 300 MeV CullenGenerator + LivermoreRayleigh : Emin= 0 eV Emax= 600 MeV CullenGenerator msc: for e- SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - GoudsmitSaunderson : Emin= 1 MeV Emax= 300 MeV Nbins=40 1 MeV - 300 MeV + GoudsmitSaunderson : Emin= 1 MeV Emax= 600 MeV Nbins=60 1 MeV - 600 MeV StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm eIoni: for e- XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.2, 0.01 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 1 MeV Emax= 300 MeV deltaVI + MollerBhabha : Emin= 1 MeV Emax= 600 MeV deltaVI eBrem: for e- XStype:4 SubType=3 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 - LPM flag: 1 for E > 0.3 GeV, VertexHighEnergyTh(GeV)= 100000 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 + LPM flag: 1 for E > 0.6 GeV, VertexHighEnergyTh(GeV)= 100000 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eBremSB : Emin= 1 MeV Emax= 300 MeV AngularGen2BS + eBremSB : Emin= 1 MeV Emax= 600 MeV AngularGen2BS e-_G4DNAElectronSolvation: for e- SubType=58 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAOneStepThermalizationModel_Meesungnoen2002 : Emin= 0 eV Emax= 7.4 eV - DummyModel : Emin= 7.4 eV Emax= 300 MeV + DummyModel : Emin= 7.4 eV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm e-_G4DNAElastic: for e- SubType=51 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAChampionElasticModel : Emin= 0 eV Emax= 1 MeV - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm e-_G4DNAExcitation: for e- SubType=52 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNABornExcitationModel : Emin= 0 eV Emax= 1 MeV - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm e-_G4DNAIonisation: for e- SubType=53 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNABornIonisationModel : Emin= 0 eV Emax= 1 MeV deltaBorn Fluo - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm e-_G4DNAVibExcitation: for e- SubType=54 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNASancheExcitationModel : Emin= 0 eV Emax= 100 eV - DummyModel : Emin= 100 eV Emax= 300 MeV + DummyModel : Emin= 100 eV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm e-_G4DNAAttachment: for e- SubType=55 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAMeltonAttachmentModel : Emin= 0 eV Emax= 13 eV - DummyModel : Emin= 13 eV Emax= 300 MeV + DummyModel : Emin= 13 eV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm msc: for e+ SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - GoudsmitSaunderson : Emin= 0 eV Emax= 300 MeV Nbins=120 100 eV - 300 MeV + GoudsmitSaunderson : Emin= 0 eV Emax= 600 MeV Nbins=140 100 eV - 600 MeV StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm eIoni: for e+ XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.2, 0.01 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 300 MeV deltaVI + MollerBhabha : Emin= 0 eV Emax= 600 MeV deltaVI eBrem: for e+ XStype:4 SubType=3 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 - LPM flag: 1 for E > 0.3 GeV, VertexHighEnergyTh(GeV)= 100000 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 + LPM flag: 1 for E > 0.6 GeV, VertexHighEnergyTh(GeV)= 100000 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eBremSB : Emin= 0 eV Emax= 300 MeV AngularGen2BS + eBremSB : Emin= 0 eV Emax= 600 MeV AngularGen2BS -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 300 MeV + eplus2gg : Emin= 0 eV Emax= 600 MeV + +msc: for proton SubType= 10 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc : Emin= 1 MeV Emax= 600 MeV Nbins=60 1 MeV - 600 MeV + StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm + +hIoni: for proton XStype:3 SubType=2 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 + StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BetheBloch : Emin= 300 MeV Emax= 600 MeV deltaVI proton_G4DNAElastic: for proton SubType=51 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAIonElasticModel : Emin= 0 eV Emax= 1 MeV - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm proton_G4DNAExcitation: for proton SubType=52 BuildTable=0 @@ -259,196 +271,249 @@ proton_G4DNAExcitation: for proton SubType=52 BuildTable=0 DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 500 keV DNABornExcitationModel : Emin= 500 keV Emax= 100 MeV DNARPWBAExcitationModel : Emin= 100 MeV Emax= 300 MeV + DummyModel : Emin= 300 MeV Emax= 600 MeV + StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm proton_G4DNAIonisation: for proton SubType=53 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNARuddIonisationExtendedModel : Emin= 0 eV Emax= 500 keV deltaRudd Fluo DNABornIonisationModel : Emin= 500 keV Emax= 100 MeV deltaBorn Fluo DNARPWBAIonisationModel : Emin= 100 MeV Emax= 300 MeV deltaBorn Fluo + DummyModel : Emin= 300 MeV Emax= 600 MeV + StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm proton_G4DNAChargeDecrease: for proton SubType=56 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 300 MeV +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 600 MeV + +msc: for GenericIon SubType= 10 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc : Emin= 1 MeV Emax= 600 MeV + StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm + +ionIoni: for GenericIon XStype:3 SubType=2 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 + StepFunction=(0.1, 0.001 mm), integ: 3, fluct: 1, linLossLim= 0.02 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BetheBloch : Emin= 300 MeV Emax= 600 MeV deltaVI GenericIon_G4DNAIonisation: for GenericIon SubType=53 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - DummyModel : Emin= 0 eV Emax= 100 eV +DNARuddIonisationExtendedModel : Emin= 0 eV Emax= 300 MeV deltaRudd Fluo + DummyModel : Emin= 300 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm -DNARuddIonisationExtendedModel : Emin= 100 eV Emax= 300 MeV deltaRudd Fluo + +nuclearStopping: for GenericIon SubType=8 BuildTable=0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU49NucStopping : Emin= 0 eV Emax= 1 MeV + +msc: for alpha SubType= 10 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc : Emin= 1 MeV Emax= 600 MeV + StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm + +ionIoni: for alpha XStype:3 SubType=2 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 + StepFunction=(0.1, 0.02 mm), integ: 3, fluct: 1, linLossLim= 0.02 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BetheBloch : Emin= 300 MeV Emax= 600 MeV deltaVI alpha_G4DNAElastic: for alpha SubType=51 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAIonElasticModel : Emin= 0 eV Emax= 1 MeV - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm alpha_G4DNAExcitation: for alpha SubType=52 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 300 MeV +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 400 MeV + DummyModel : Emin= 400 MeV Emax= 600 MeV + StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm alpha_G4DNAIonisation: for alpha SubType=53 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - DummyModel : Emin= 0 eV Emax= 100 eV +DNARuddIonisationExtendedModel : Emin= 0 eV Emax= 400 MeV deltaRudd Fluo + DummyModel : Emin= 400 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm -DNARuddIonisationExtendedModel : Emin= 100 eV Emax= 300 MeV deltaRudd Fluo alpha_G4DNAChargeDecrease: for alpha SubType=56 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 300 MeV +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 600 MeV + +msc: for alpha+ SubType= 10 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc : Emin= 1 MeV Emax= 600 MeV + StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm + +hIoni: for alpha+ XStype:3 SubType=2 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 + StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BetheBloch : Emin= 300 MeV Emax= 600 MeV deltaVI alpha+_G4DNAElastic: for alpha+ SubType=51 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAIonElasticModel : Emin= 0 eV Emax= 1 MeV - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm alpha+_G4DNAExcitation: for alpha+ SubType=52 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 300 MeV +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 400 MeV + DummyModel : Emin= 400 MeV Emax= 600 MeV + StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm alpha+_G4DNAIonisation: for alpha+ SubType=53 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - DummyModel : Emin= 0 eV Emax= 100 eV +DNARuddIonisationExtendedModel : Emin= 0 eV Emax= 400 MeV deltaRudd Fluo + DummyModel : Emin= 400 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm -DNARuddIonisationExtendedModel : Emin= 100 eV Emax= 300 MeV deltaRudd Fluo alpha+_G4DNAChargeIncrease: for alpha+ SubType=57 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 300 MeV +DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 600 MeV alpha+_G4DNAChargeDecrease: for alpha+ SubType=56 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 300 MeV +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 600 MeV msc: for anti_proton SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 300 MeV + WentzelVIUni : Emin= 0 eV Emax= 600 MeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm hIoni: for anti_proton XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ICRU73QO : Emin= 0 eV Emax= 2 MeV deltaVI - BetheBloch : Emin= 2 MeV Emax= 300 MeV deltaVI + BetheBloch : Emin= 2 MeV Emax= 600 MeV deltaVI helium_G4DNAElastic: for helium SubType=51 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAIonElasticModel : Emin= 0 eV Emax= 1 MeV - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm helium_G4DNAExcitation: for helium SubType=52 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 300 MeV +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 400 MeV + DummyModel : Emin= 400 MeV Emax= 600 MeV + StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm helium_G4DNAIonisation: for helium SubType=53 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - DummyModel : Emin= 0 eV Emax= 100 eV +DNARuddIonisationExtendedModel : Emin= 0 eV Emax= 400 MeV deltaRudd Fluo + DummyModel : Emin= 400 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm -DNARuddIonisationExtendedModel : Emin= 100 eV Emax= 300 MeV deltaRudd Fluo helium_G4DNAChargeIncrease: for helium SubType=57 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 300 MeV +DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 600 MeV hydrogen_G4DNAElastic: for hydrogen SubType=51 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAIonElasticModel : Emin= 0 eV Emax= 1 MeV - DummyModel : Emin= 1 MeV Emax= 300 MeV + DummyModel : Emin= 1 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hydrogen_G4DNAExcitation: for hydrogen SubType=52 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 300 MeV + DummyModel : Emin= 300 MeV Emax= 600 MeV + StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hydrogen_G4DNAIonisation: for hydrogen SubType=53 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - DummyModel : Emin= 0 eV Emax= 100 eV +DNARuddIonisationExtendedModel : Emin= 0 eV Emax= 300 MeV deltaRudd Fluo + DummyModel : Emin= 300 MeV Emax= 600 MeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm -DNARuddIonisationExtendedModel : Emin= 100 eV Emax= 300 MeV deltaRudd Fluo hydrogen_G4DNAChargeIncrease: for hydrogen SubType=57 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 300 MeV +DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 600 MeV msc: for kaon+ SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 300 MeV + WentzelVIUni : Emin= 0 eV Emax= 600 MeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm hIoni: for kaon+ XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax=1.05231 MeV deltaVI - BetheBloch : Emin=1.05231 MeV Emax= 300 MeV deltaVI + BetheBloch : Emin=1.05231 MeV Emax= 600 MeV deltaVI msc: for kaon- SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 300 MeV + WentzelVIUni : Emin= 0 eV Emax= 600 MeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm hIoni: for kaon- XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ICRU73QO : Emin= 0 eV Emax=1.05231 MeV deltaVI - BetheBloch : Emin=1.05231 MeV Emax= 300 MeV deltaVI + BetheBloch : Emin=1.05231 MeV Emax= 600 MeV deltaVI msc: for mu+ SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 300 MeV + WentzelVIUni : Emin= 0 eV Emax= 600 MeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm hIoni: for mu+ XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 + StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax=225.219 keV deltaVI - BetheBloch : Emin=225.219 keV Emax= 300 MeV deltaVI + BetheBloch : Emin=225.219 keV Emax= 600 MeV deltaVI msc: for mu- SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 300 MeV + WentzelVIUni : Emin= 0 eV Emax= 600 MeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm hIoni: for mu- XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ICRU73QO : Emin= 0 eV Emax=225.219 keV deltaVI - BetheBloch : Emin=225.219 keV Emax= 300 MeV deltaVI + BetheBloch : Emin=225.219 keV Emax= 600 MeV deltaVI msc: for pi+ SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 300 MeV + WentzelVIUni : Emin= 0 eV Emax= 600 MeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm hIoni: for pi+ XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax=297.505 keV deltaVI - BetheBloch : Emin=297.505 keV Emax= 300 MeV deltaVI + BetheBloch : Emin=297.505 keV Emax= 600 MeV deltaVI msc: for pi- SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 300 MeV + WentzelVIUni : Emin= 0 eV Emax= 600 MeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm hIoni: for pi- XStype:3 SubType=2 - dE/dx and range tables from 10 eV to 300 MeV in 140 bins - Lambda tables from threshold to 300 MeV, 20 bins/decade, spline: 1 + dE/dx and range tables from 10 eV to 600 MeV in 160 bins + Lambda tables from threshold to 600 MeV, 20 bins/decade, spline: 1 StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ICRU73QO : Emin= 0 eV Emax=297.505 keV deltaVI - BetheBloch : Emin=297.505 keV Emax= 300 MeV deltaVI + BetheBloch : Emin=297.505 keV Emax= 600 MeV deltaVI ### Run 0 starts. ... set ntuple merging row mode : row-wise - done ... create file : phys_output/phys_output.root - done diff --git a/examples/advanced/dsbandrepair/include/ChemPhysicsList.hh b/examples/advanced/dsbandrepair/include/ChemPhysicsList.hh index d170c4164af..b07162940a0 100644 --- a/examples/advanced/dsbandrepair/include/ChemPhysicsList.hh +++ b/examples/advanced/dsbandrepair/include/ChemPhysicsList.hh @@ -34,7 +34,7 @@ #include "G4VModularPhysicsList.hh" #include "globals.hh" #include -#include "G4VUserChemistryList.hh" +#include "G4ChemTimeStepModel.hh" #include "ChemPhysicsMessenger.hh" #include "G4VPhysicsConstructor.hh" #include "G4EmDNAChemistry_option2.hh" @@ -52,7 +52,7 @@ public: void ConstructProcess() override; void RegisterPhysListConstructor(const G4String& name); void RegisterChemListConstructor(const G4String& name); - TimeStepModel GetTimeStepModel() {return fTimeStepModel;} + G4ChemTimeStepModel GetTimeStepModel() {return fTimeStepModel;} private: G4String ExtractPhysDNAName(); std::unique_ptr fDNAPhysicsList{nullptr}; @@ -61,7 +61,7 @@ private: ChemPhysicsMessenger *fmsg{nullptr}; G4String fPhysDNAName{""}; G4String fChemListName{""}; - TimeStepModel fTimeStepModel{fSBS}; + G4ChemTimeStepModel fTimeStepModel{G4ChemTimeStepModel::SBS}; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/dsbandrepair/include/ChemTimeStepAction.hh b/examples/advanced/dsbandrepair/include/ChemTimeStepAction.hh index cb2acc1e2b2..ecf9794ef39 100644 --- a/examples/advanced/dsbandrepair/include/ChemTimeStepAction.hh +++ b/examples/advanced/dsbandrepair/include/ChemTimeStepAction.hh @@ -31,13 +31,13 @@ #define CHEMITACTION_H #include "G4UserTimeStepAction.hh" -#include "G4VUserChemistryList.hh" +#include "G4ChemTimeStepModel.hh" #include "ChemNtupleManager.hh" class ChemTimeStepAction : public G4UserTimeStepAction { public: - ChemTimeStepAction(ChemNtupleManager* histo, TimeStepModel md = fSBS); + ChemTimeStepAction(ChemNtupleManager* histo, G4ChemTimeStepModel md = G4ChemTimeStepModel::SBS); ~ChemTimeStepAction() override = default; ChemTimeStepAction(const ChemTimeStepAction& other); ChemTimeStepAction& operator=(const ChemTimeStepAction& other); diff --git a/examples/advanced/dsbandrepair/src/ChemPhysicsList.cc b/examples/advanced/dsbandrepair/src/ChemPhysicsList.cc index 89fc0514109..302b9f08ac1 100644 --- a/examples/advanced/dsbandrepair/src/ChemPhysicsList.cc +++ b/examples/advanced/dsbandrepair/src/ChemPhysicsList.cc @@ -54,6 +54,7 @@ #include "G4EmParameters.hh" #include "G4ChemicalMoleculeFinder.hh" #include "G4Filesystem.hh" +#include "G4EmParameters.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -209,7 +210,7 @@ void ChemPhysicsList::RegisterChemListConstructor(const G4String& name) if ( fChemistryList_option2 != nullptr) return; fChemistryList_option2.reset(new G4EmDNAChemistry_option2()); fChemistryList_option2->SetVerboseLevel(verboseLevel); - fTimeStepModel = fSBS; + fTimeStepModel = G4ChemTimeStepModel::SBS; fChemListName = name; } else if(name == "G4EmDNAChemistry_option3") @@ -217,8 +218,9 @@ void ChemPhysicsList::RegisterChemListConstructor(const G4String& name) if ( fChemistryList_option3_mod != nullptr) return; fChemistryList_option3_mod.reset(new G4EmDNAChemistry_option3_Extended()); fChemistryList_option3_mod->SetVerboseLevel(verboseLevel); - fTimeStepModel = fIRT_syn; - fChemistryList_option3_mod->SetTimeStepModel(fTimeStepModel); + fTimeStepModel = G4ChemTimeStepModel::IRT_syn; + G4EmParameters::Instance()->SetTimeStepModel(fTimeStepModel); + std::cout<<"G4EmParameters::Instance()->SetTimeStepModel(fTimeStepModel);"< +THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option4 /run/initialize Checking overlaps for volume DetPhys:0 (G4Box) ... OK! Checking overlaps for volume Det_sub_Phys:0 (G4Box) ... OK! --- G4CoupledTransportation is used -======================================================================= -====== Electromagnetic Physics Parameters ======== -======================================================================= -LPM effect enabled 1 -Enable creation and use of sampling tables 0 -Apply cuts on all EM processes 0 -Use combined TransportationWithMsc Disabled -Use general process 1 -Enable linear polarisation for gamma 0 -Enable photoeffect sampling below K-shell 1 -Enable sampling of quantum entanglement 0 -X-section factor for integral approach 0.8 -Min kinetic energy for tables 100 eV -Max kinetic energy for tables 100 TeV -Number of bins per decade of a table 20 -Verbose level 1 -Verbose level for worker thread 0 -Bremsstrahlung energy threshold above which - primary e+- is added to the list of secondary 100 TeV -Bremsstrahlung energy threshold above which primary - muon/hadron is added to the list of secondary 100 TeV -Lowest triplet kinetic energy 1 MeV -Enable sampling of gamma linear polarisation 0 -5D gamma conversion model type 0 -5D gamma conversion model on isolated ion 0 -Livermore data directory epics_2017 -======================================================================= -====== Ionisation Parameters ======== -======================================================================= -Step function for e+- (0.2, 0.01 mm) -Step function for muons/hadrons (0.1, 0.05 mm) -Step function for light ions (0.1, 0.02 mm) -Step function for general ions (0.1, 0.001 mm) -Lowest e+e- kinetic energy 100 eV -Lowest muon/hadron kinetic energy 1 keV -Use ICRU90 data 1 -Fluctuations of dE/dx are enabled 1 -Type of fluctuation model for leptons and hadrons Urban -Use built-in Birks satuaration 0 -Build CSDA range enabled 0 -Use cut as a final range enabled 0 -Enable angular generator interface 1 -Max kinetic energy for CSDA tables 1 GeV -Max kinetic energy for NIEL computation 1 MeV -Linear loss limit 0.01 -Read data from file for e+e- pair production by mu 0 -======================================================================= -====== Multiple Scattering Parameters ======== -======================================================================= -Type of msc step limit algorithm for e+- 2 -Type of msc step limit algorithm for muons/hadrons 0 -Msc lateral displacement for e+- enabled 1 -Msc lateral displacement for muons and hadrons 1 -Urban msc model lateral displacement alg96 1 -Range factor for msc step limit for e+- 0.08 -Range factor for msc step limit for muons/hadrons 0.2 -Geometry factor for msc step limitation of e+- 2.5 -Safety factor for msc step limit for e+- 0.6 -Skin parameter for msc step limitation of e+- 3 -Lambda limit for msc step limit for e+- 1 mm -Use Mott correction for e- scattering 1 -Factor used for dynamic computation of angular - limit between single and multiple scattering 1 -Fixed angular limit between single - and multiple scattering 3.1416 rad -Upper energy limit for e+- multiple scattering 100 MeV -Type of electron single scattering model 0 -Type of nuclear form-factor 1 -Screening factor 1 -======================================================================= -====== Atomic Deexcitation Parameters ======== -======================================================================= -Fluorescence enabled 1 -Directory in G4LEDATA for fluorescence data files fluor -Auger electron cascade enabled 1 -PIXE atomic de-excitation enabled 0 -De-excitation module ignores cuts 1 -Type of PIXE cross section for hadrons Empirical -Type of PIXE cross section for e+- Livermore -======================================================================= - -### === Deexcitation model UAtomDeexcitation is activated for 2 regions: -### === Auger flag: 1 -### === Ignore cuts flag: 1 /process/had/rdm/thresholdForVeryLongDecayTime 1.0e+60 year /control/execute 9MeVEF.mac /gps/ene/type User /gps/hist/type energy -/gps/hist/point 4.0 0.012509298 -/gps/hist/point 4.2421055 0.012509298 -/gps/hist/point 4.4842105 0.012509298 -/gps/hist/point 4.726316 0.012509298 -/gps/hist/point 4.968421 0.012509298 -/gps/hist/point 5.2105265 0.012509298 -/gps/hist/point 5.4526315 0.012509298 -/gps/hist/point 5.694737 0.012509298 -/gps/hist/point 5.936842 0.012509298 -/gps/hist/point 6.1789474 0.012509298 -/gps/hist/point 6.4210525 0.012509298 -/gps/hist/point 6.663158 0.012509298 -/gps/hist/point 6.905263 0.012509298 -/gps/hist/point 7.1473684 0.012509298 -/gps/hist/point 7.389474 0.012509298 -/gps/hist/point 7.631579 0.012509298 -/gps/hist/point 7.8736844 0.012509298 -/gps/hist/point 8.115789 0.012509346 -/gps/hist/point 8.357895 0.016105369 -/gps/hist/point 8.6 0.75872725 +/gps/hist/point 0.1 0.00511 +/gps/hist/point 0.2 0.0048 +/gps/hist/point 0.3 0.0042 +/gps/hist/point 0.4 0.00571 +/gps/hist/point 0.5 0.00751 +/gps/hist/point 0.7 0.0048 +/gps/hist/point 0.8 0.0042 +/gps/hist/point 0.9 0.0048 +/gps/hist/point 1 0.0033 +/gps/hist/point 1.1 0.00571 +/gps/hist/point 1.2 0.00571 +/gps/hist/point 1.4 0.00721 +/gps/hist/point 1.5 0.00721 +/gps/hist/point 1.6 0.00691 +/gps/hist/point 1.7 0.00751 +/gps/hist/point 1.8 0.00541 +/gps/hist/point 1.9 0.0045 +/gps/hist/point 2.1 0.00931 +/gps/hist/point 2.2 0.00781 +/gps/hist/point 2.3 0.00601 +/gps/hist/point 2.4 0.00931 +/gps/hist/point 2.5 0.00571 +/gps/hist/point 2.6 0.00781 +/gps/hist/point 2.8 0.00631 +/gps/hist/point 2.9 0.0042 +/gps/hist/point 3 0.00571 +/gps/hist/point 3.1 0.00631 +/gps/hist/point 3.2 0.00571 +/gps/hist/point 3.3 0.00631 +/gps/hist/point 3.5 0.00571 +/gps/hist/point 3.6 0.00751 +/gps/hist/point 3.7 0.00811 +/gps/hist/point 3.8 0.00721 +/gps/hist/point 3.9 0.00811 +/gps/hist/point 4 0.00811 +/gps/hist/point 4.2 0.00931 +/gps/hist/point 4.3 0.00601 +/gps/hist/point 4.4 0.01081 +/gps/hist/point 4.5 0.01081 +/gps/hist/point 4.6 0.01081 +/gps/hist/point 4.7 0.01141 +/gps/hist/point 4.8 0.01111 +/gps/hist/point 5 0.01291 +/gps/hist/point 5.1 0.00841 +/gps/hist/point 5.2 0.01021 +/gps/hist/point 5.3 0.01381 +/gps/hist/point 5.4 0.01081 +/gps/hist/point 5.5 0.01291 +/gps/hist/point 5.7 0.01291 +/gps/hist/point 5.8 0.00871 +/gps/hist/point 5.9 0.01532 +/gps/hist/point 6 0.01441 +/gps/hist/point 6.1 0.01652 +/gps/hist/point 6.2 0.01562 +/gps/hist/point 6.4 0.01682 +/gps/hist/point 6.5 0.01952 +/gps/hist/point 6.6 0.01832 +/gps/hist/point 6.7 0.01892 +/gps/hist/point 6.8 0.01772 +/gps/hist/point 6.9 0.02042 +/gps/hist/point 7.1 0.02192 +/gps/hist/point 7.2 0.02462 +/gps/hist/point 7.3 0.02793 +/gps/hist/point 7.4 0.02973 +/gps/hist/point 7.5 0.02763 +/gps/hist/point 7.6 0.03093 +/gps/hist/point 7.8 0.03363 +/gps/hist/point 7.9 0.03664 +/gps/hist/point 8 0.03994 +/gps/hist/point 8.1 0.04895 +/gps/hist/point 8.2 0.05195 +/gps/hist/point 8.3 0.05195 +/gps/hist/point 8.5 0.07057 +/gps/hist/point 8.6 0.07297 +/gps/hist/point 8.7 0.08348 +/gps/hist/point 8.8 0.11952 +/gps/hist/point 8.9 0.14625 +/gps/hist/point 9 0.17628 +/gps/hist/point 9.2 0.31832 +/gps/hist/point 9.3 1 /score/create/boxMesh boxMesh_1 /score/mesh/boxSize 60 2 2 mm /score/mesh/nBin 120 1 1 @@ -390,9 +376,9 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2ggOKVI : Emin= 0 eV Emax= 100 TeV CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 Lambda table from 100 MeV to 100 TeV, 20 bins/decade, spline: 0 @@ -435,6 +421,22 @@ CoulombScat: for proton XStype:1 SubType=1 BuildTable=1 nuclearStopping: for proton SubType=8 BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ICRU49NucStopping : Emin= 0 eV Emax= 1 MeV + +msc: for GenericIon SubType= 10 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc : Emin= 0 eV Emax= 100 TeV + StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm + +ionIoni: for GenericIon XStype:3 SubType=2 + dE/dx and range tables from 100 eV to 100 TeV in 240 bins + Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1 + StepFunction=(0.1, 0.001 mm), integ: 3, fluct: 1, linLossLim= 0.02 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + LindhardSorensen : Emin= 0 eV Emax= 100 TeV deltaVI + +nuclearStopping: for GenericIon SubType=8 BuildTable=0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU49NucStopping : Emin= 0 eV Emax= 1 MeV ====================================================================== ====== Radioactive Decay Physics Parameters ======= ====================================================================== @@ -457,23 +459,7 @@ Threshold for very long decay time at rest 1e+60 y HADRONIC PROCESSES SUMMARY (verbose level 1) ------------------------------------------------------------------------- Hadronic Processes for GenericIon - Process: Radioactivation - -msc: for GenericIon SubType= 10 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc : Emin= 0 eV Emax= 100 TeV - StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm - -ionIoni: for GenericIon XStype:3 SubType=2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1 - StepFunction=(0.1, 0.001 mm), integ: 3, fluct: 1, linLossLim= 0.02 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - LindhardSorensen : Emin= 0 eV Emax= 100 TeV deltaVI - -nuclearStopping: for GenericIon SubType=8 BuildTable=0 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 1 MeV + Process: RadioactiveDecay msc: for alpha SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== @@ -812,13 +798,13 @@ See commands in /vis/modeling/trajectories/ for other options. Run terminated. Run Summary Number of events processed : 500000 - User=948.300000s Real=995.402995s Sys=6.060000s + User=1182.840000s Real=1210.648224s Sys=4.520000s --------------------End of Global Run----------------------- The run was 500000 events /score/dumpQuantityToFile boxMesh_1 dose dose.out Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 0.15 MB +Number of memory pools allocated: 10 of which, static: 0 +Dynamic pools deleted: 10 / Total memory freed: 0.14 MB ============================================================ diff --git a/examples/advanced/eFLASH_radiotherapy/flash.cc b/examples/advanced/eFLASH_radiotherapy/flash.cc index 68d3d7aafe5..c1ab5aca571 100644 --- a/examples/advanced/eFLASH_radiotherapy/flash.cc +++ b/examples/advanced/eFLASH_radiotherapy/flash.cc @@ -36,7 +36,7 @@ #include "G4UImanager.hh" #include "G4VisExecutive.hh" -#include "Applicator.hh" +#include "FlashApplicator.hh" #include "FlashActionInitialization.hh" #include "FlashDetectorConstruction.hh" #include "FlashPhysicsList.hh" diff --git a/examples/advanced/eFLASH_radiotherapy/include/Applicator.hh b/examples/advanced/eFLASH_radiotherapy/include/FlashApplicator.hh similarity index 96% rename from examples/advanced/eFLASH_radiotherapy/include/Applicator.hh rename to examples/advanced/eFLASH_radiotherapy/include/FlashApplicator.hh index a91479d81da..7017da1776c 100644 --- a/examples/advanced/eFLASH_radiotherapy/include/Applicator.hh +++ b/examples/advanced/eFLASH_radiotherapy/include/FlashApplicator.hh @@ -26,8 +26,8 @@ // // -#ifndef Applicator_H -#define Applicator_H 1 +#ifndef FlashApplicator_H +#define FlashApplicator_H 1 #include "FlashDetectorConstruction.hh" #include "G4Box.hh" @@ -41,10 +41,10 @@ class G4VPhysicalVolume; -class Applicator { +class FlashApplicator { public: - Applicator(G4VPhysicalVolume *); - ~Applicator(); + FlashApplicator(G4VPhysicalVolume *); + ~FlashApplicator(); G4double fFinalApplicatorXPositionFlash; G4double fHightFinalApplicatorFlash; diff --git a/examples/advanced/eFLASH_radiotherapy/include/FlashDetectorConstruction.hh b/examples/advanced/eFLASH_radiotherapy/include/FlashDetectorConstruction.hh index 357060b4c12..db1a3a50de9 100644 --- a/examples/advanced/eFLASH_radiotherapy/include/FlashDetectorConstruction.hh +++ b/examples/advanced/eFLASH_radiotherapy/include/FlashDetectorConstruction.hh @@ -39,7 +39,7 @@ class G4VPhysicalVolume; class G4LogicalVolume; -class Applicator; +class FlashApplicator; class G4VSensitiveDetector; class G4NistManager; class G4Tubs; @@ -87,7 +87,7 @@ private: G4Material *airNist; G4Material *fPhantomMaterial; - Applicator *Collimator; + FlashApplicator *Collimator; G4double fAirGap; G4double fPhantomSizeX, fPhantomSizeY, fPhantomSizeZ, fPhantom_coordinateX,fPosition_coefficient; diff --git a/examples/advanced/eFLASH_radiotherapy/include/FlashPhysicsList.hh b/examples/advanced/eFLASH_radiotherapy/include/FlashPhysicsList.hh index 86c8933aeca..e114aedde11 100644 --- a/examples/advanced/eFLASH_radiotherapy/include/FlashPhysicsList.hh +++ b/examples/advanced/eFLASH_radiotherapy/include/FlashPhysicsList.hh @@ -29,6 +29,9 @@ #define FlashPhysicsList_h 1 #include "G4VModularPhysicsList.hh" +#include "G4EmConfigurator.hh" + +class FlashPhysicsListMessenger; class FlashPhysicsList : public G4VModularPhysicsList { public: @@ -36,6 +39,19 @@ public: virtual ~FlashPhysicsList(); virtual void SetCuts(); + //add + void AddPhysicsList(const G4String& name); + void ConstructProcess(); + void ConstructParticle(); + void AddPackage(const G4String& name); +private: + G4EmConfigurator em_config; + FlashPhysicsListMessenger* pMessenger; + G4String emName; + G4VPhysicsConstructor* emPhysicsList; + G4VPhysicsConstructor* decPhysicsList; + G4VPhysicsConstructor* radPhysicsList; + }; #endif diff --git a/examples/extended/medical/dna/chem6/include/PhysicsListMessenger.hh b/examples/advanced/eFLASH_radiotherapy/include/FlashPhysicsListMessenger.hh similarity index 79% rename from examples/extended/medical/dna/chem6/include/PhysicsListMessenger.hh rename to examples/advanced/eFLASH_radiotherapy/include/FlashPhysicsListMessenger.hh index 3d8af5eaeae..4819f85b992 100644 --- a/examples/extended/medical/dna/chem6/include/PhysicsListMessenger.hh +++ b/examples/advanced/eFLASH_radiotherapy/include/FlashPhysicsListMessenger.hh @@ -23,36 +23,42 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef PhysicsListMessenger_h -#define PhysicsListMessenger_h 1 +// -#include "G4UImessenger.hh" -#include "globals.hh" +#ifndef FlashPhysicsListMessenger_h +#define FlashPhysicsListMessenger_h 1 -#include +#include "globals.hh" +#include "G4UImessenger.hh" -class PhysicsList; +class FlashPhysicsList; class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger : public G4UImessenger +class FlashPhysicsListMessenger: public G4UImessenger { - public: - PhysicsListMessenger(PhysicsList*); - ~PhysicsListMessenger(); - - void SetNewValue(G4UIcommand*, G4String) override; - - private: - PhysicsList* fPhysicsList; - std::unique_ptr fPhysDir; - std::unique_ptr fListCmd; + public: + + FlashPhysicsListMessenger(FlashPhysicsList* ); + ~FlashPhysicsListMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + + FlashPhysicsList* pPhysicsList; + + G4UIdirectory* physDir; + + G4UIcmdWithAString* pListCmd; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif + diff --git a/examples/advanced/eFLASH_radiotherapy/run.mac b/examples/advanced/eFLASH_radiotherapy/run.mac index 45f5b649386..44d40b95977 100644 --- a/examples/advanced/eFLASH_radiotherapy/run.mac +++ b/examples/advanced/eFLASH_radiotherapy/run.mac @@ -6,6 +6,10 @@ /run/verbose 1 /event/verbose 0 +## + +/Physics/addPhysics standard_opt4 + ########################## # Initialisation procedure # diff --git a/examples/advanced/eFLASH_radiotherapy/src/Applicator.cc b/examples/advanced/eFLASH_radiotherapy/src/FlashApplicator.cc similarity index 94% rename from examples/advanced/eFLASH_radiotherapy/src/Applicator.cc rename to examples/advanced/eFLASH_radiotherapy/src/FlashApplicator.cc index 157a8eb2e7b..7bbcbeb1e83 100644 --- a/examples/advanced/eFLASH_radiotherapy/src/Applicator.cc +++ b/examples/advanced/eFLASH_radiotherapy/src/FlashApplicator.cc @@ -28,7 +28,7 @@ // ////////////////////////////////////////////////////////////////////////////////////////////// -#include "Applicator.hh" +#include "FlashApplicator.hh" #include "FlashDetectorConstruction.hh" #include "G4Box.hh" #include "G4Colour.hh" @@ -45,7 +45,7 @@ #include "G4VisAttributes.hh" #include "globals.hh" -Applicator::Applicator(G4VPhysicalVolume *physicalTreatmentRoom) +FlashApplicator::FlashApplicator(G4VPhysicalVolume *physicalTreatmentRoom) : fMotherPhys(physicalTreatmentRoom), @@ -56,18 +56,18 @@ Applicator::Applicator(G4VPhysicalVolume *physicalTreatmentRoom) } -Applicator::~Applicator() {} +FlashApplicator::~FlashApplicator() {} -void Applicator::ConstructCollimator(G4VPhysicalVolume *) { +void FlashApplicator::ConstructCollimator(G4VPhysicalVolume *) { // Sets default geometry and materials SetDefaultDimensions(); SetOuterRadius(55*mm); - SetApplicatorLength(300*mm); + SetApplicatorLength(365*mm); // Construct the whole Applicator Beam Line ConstructApplicator(); } -void Applicator::SetDefaultDimensions() { +void FlashApplicator::SetDefaultDimensions() { white = new G4VisAttributes(G4Colour()); white->SetVisibility(true); @@ -101,7 +101,7 @@ void Applicator::SetDefaultDimensions() { magenta->SetVisibility(true); - fInitial_pos = -100*cm; //set the same position in FlashPrimaryGeneratorAction.cc + fInitial_pos = -113*cm; //set the same position in FlashPrimaryGeneratorAction.cc // Geometry APPLICATOR DEFAULTS @@ -163,7 +163,7 @@ void Applicator::SetDefaultDimensions() { VSFlashMaterialFlash = galacticNist; } -void Applicator::ConstructApplicator() { +void FlashApplicator::ConstructApplicator() { // Components of the Applicator @@ -185,7 +185,7 @@ void Applicator::ConstructApplicator() { } -void Applicator::FlashBeamLineVacuumSource() { +void FlashApplicator::FlashBeamLineVacuumSource() { // ---------------------------------------------------------------// // Vacuum Source // // ---------------------------------------------------------------// @@ -216,7 +216,7 @@ void Applicator::FlashBeamLineVacuumSource() { logVSFlash->SetVisAttributes(green); } -void Applicator::FlashBeamLineTitaniumWindows() { +void FlashApplicator::FlashBeamLineTitaniumWindows() { // ---------------------------------------------------------------// // Titanium Window // // ---------------------------------------------------------------// @@ -246,7 +246,7 @@ void Applicator::FlashBeamLineTitaniumWindows() { logFTFlash->SetVisAttributes(yellow); } -void Applicator::FlashVWAlcover(){ +void FlashApplicator::FlashVWAlcover(){ G4double phi2 = 90. * deg; @@ -276,7 +276,7 @@ void Applicator::FlashVWAlcover(){ } -void Applicator::FlashAlCover2(){ +void FlashApplicator::FlashAlCover2(){ G4double phi2 = 90. * deg; @@ -306,7 +306,7 @@ new G4PVPlacement( fInitial_pos=fInitial_pos + fHightFTFlash; } -void Applicator::FlashExitBit(){ +void FlashApplicator::FlashExitBit(){ G4double phi2 = 90. * deg; @@ -345,7 +345,7 @@ G4double phi2 = 90. * deg; logic->SetVisAttributes(darkOrange3); fInitial_pos=XPosition+hight; } -void Applicator::FlashToroid(){ +void FlashApplicator::FlashToroid(){ G4double phi2 = 90. * deg; @@ -375,7 +375,7 @@ G4double phi2 = 90. * deg; fInitial_pos=fToroid_XPosition+fToroid_hight; } -void Applicator::OverCover(){ +void FlashApplicator::OverCover(){ G4double phi2 = 90. * deg; @@ -427,7 +427,7 @@ G4double phi2 = 90. * deg; } -void Applicator::OverCover2() { +void FlashApplicator::OverCover2() { G4double phi2 = 90. * deg; @@ -457,7 +457,7 @@ new G4PVPlacement( } -void Applicator::MonitorChamber(){ +void FlashApplicator::MonitorChamber(){ G4double phi2 = 90. * deg; @@ -536,7 +536,7 @@ G4LogicalVolume *log = new G4LogicalVolume( } -void Applicator::Flash_connector(){ +void FlashApplicator::Flash_connector(){ G4double phi2 = 90. * deg; @@ -579,7 +579,7 @@ log_->SetVisAttributes(green); fInitial_pos=XPosition+hight; } -void Applicator::Bigconnector() { +void FlashApplicator::Bigconnector() { G4double phi2 = 90. * deg; @@ -608,7 +608,7 @@ G4double phi2 = 90. * deg; log->SetVisAttributes(red); fInitial_pos=XPosition+hight; } -void Applicator::Bigconnector2() { +void FlashApplicator::Bigconnector2() { G4double phi2 = 90. * deg; @@ -641,7 +641,7 @@ G4double phi2 = 90. * deg; fInitial_pos=XPosition+hight; } -void Applicator::Bigconnector3() {//this is a piece of the applicator that connects the tube to the optics +void FlashApplicator::Bigconnector3() {//this is a piece of the applicator that connects the tube to the optics G4double phi2 = 90. * deg; @@ -680,7 +680,7 @@ G4double phi2 = 90. * deg; fInitial_pos=XPosition+hight; } -void Applicator::FlashBeamLineApplicator() { +void FlashApplicator::FlashBeamLineApplicator() { @@ -715,7 +715,7 @@ void Applicator::FlashBeamLineApplicator() { } -void Applicator::SetOuterRadius(G4double radius) +void FlashApplicator::SetOuterRadius(G4double radius) { fOuterRadiusFirstApplicatorFlash=radius; @@ -723,7 +723,7 @@ void Applicator::SetOuterRadius(G4double radius) } -void Applicator::SetApplicatorLength(G4double length) +void FlashApplicator::SetApplicatorLength(G4double length) { fHightFinalApplicatorFlash=length; diff --git a/examples/advanced/eFLASH_radiotherapy/src/FlashDetectorConstruction.cc b/examples/advanced/eFLASH_radiotherapy/src/FlashDetectorConstruction.cc index 334b2f87a3a..a1efeefd3ab 100644 --- a/examples/advanced/eFLASH_radiotherapy/src/FlashDetectorConstruction.cc +++ b/examples/advanced/eFLASH_radiotherapy/src/FlashDetectorConstruction.cc @@ -55,7 +55,7 @@ #include "G4SystemOfUnits.hh" -#include "Applicator.hh" +#include "FlashApplicator.hh" #include "G4MaterialPropertiesTable.hh" @@ -221,7 +221,7 @@ G4VPhysicalVolume *FlashDetectorConstruction::Construct() { - Collimator = new Applicator(physicalTreatmentRoom); + Collimator = new FlashApplicator(physicalTreatmentRoom); diff --git a/examples/advanced/eFLASH_radiotherapy/src/FlashPhysicsList.cc b/examples/advanced/eFLASH_radiotherapy/src/FlashPhysicsList.cc index 75365ffcb65..9b4e03f6550 100644 --- a/examples/advanced/eFLASH_radiotherapy/src/FlashPhysicsList.cc +++ b/examples/advanced/eFLASH_radiotherapy/src/FlashPhysicsList.cc @@ -28,11 +28,14 @@ /// \brief Implementation of the FlashPhysicsList class #include "FlashPhysicsList.hh" +#include "FlashPhysicsListMessenger.hh" #include "G4DecayPhysics.hh" #include "G4EmLivermorePhysics.hh" #include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" #include "G4EmStandardPhysics_option4.hh" +#include "G4EmStandardPhysics_option3.hh" +#include "G4PhysListFactory.hh" #include "G4ProductionCuts.hh" #include "G4RadioactiveDecayPhysics.hh" #include "G4Region.hh" @@ -40,23 +43,114 @@ #include "G4SystemOfUnits.hh" FlashPhysicsList::FlashPhysicsList() : G4VModularPhysicsList() { - SetVerboseLevel(1); - // Default physics - RegisterPhysics(new G4DecayPhysics()); - // Radioactive decay - RegisterPhysics(new G4RadioactiveDecayPhysics()); - + pMessenger = new FlashPhysicsListMessenger(this); + SetVerboseLevel(2); + +// EM physics + emPhysicsList = new G4EmStandardPhysics_option4(1); + emName = G4String("emstandard_opt4"); + + // Decay physics and all particles + decPhysicsList = new G4DecayPhysics(); + + // Radioactive physics and all particles + radPhysicsList=new G4RadioactiveDecayPhysics(); + - // EM physics - //RegisterPhysics(new G4EmPenelopePhysics()); - RegisterPhysics(new G4EmStandardPhysics_option4()); } -FlashPhysicsList::~FlashPhysicsList() {} +FlashPhysicsList::~FlashPhysicsList() { + +delete pMessenger; + delete emPhysicsList; + delete decPhysicsList; + delete radPhysicsList; + +} + +void FlashPhysicsList::AddPackage(const G4String& name) +{ + G4PhysListFactory factory; + G4VModularPhysicsList* phys =factory.GetReferencePhysList(name); + G4int i=0; + const G4VPhysicsConstructor* elem= phys->GetPhysics(i); + G4VPhysicsConstructor* tmp = const_cast (elem); + while (elem !=0) + { + RegisterPhysics(tmp); + elem= phys->GetPhysics(++i) ; + tmp = const_cast (elem); + } +} + + + + +void FlashPhysicsList::ConstructParticle() +{ + decPhysicsList->ConstructParticle(); +} + +void FlashPhysicsList::ConstructProcess() +{ + // transportation + // + AddTransportation(); + + // electromagnetic physics list + // + emPhysicsList->ConstructProcess(); + em_config.AddModels(); + + decPhysicsList->ConstructProcess(); + radPhysicsList->ConstructProcess(); + + } + +void FlashPhysicsList::AddPhysicsList(const G4String& name) +{ + + if (verboseLevel>1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + if (name == emName) return; + + ///////////////////////////////////////////////////////////////////////////// + // ELECTROMAGNETIC MODELS + ///////////////////////////////////////////////////////////////////////////// + + if (name == "standard_opt3") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option3(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option3" << G4endl; + } + else if (name == "standard_opt4") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option4(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option4" << G4endl; + + + } else if (name == "Livermore") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmLivermorePhysics(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" << G4endl; + + } else if (name == "Penelope") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmPenelopePhysics(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmPenelopePhysics" << G4endl; + + } + +} void FlashPhysicsList::SetCuts() {//set cuts based on region name defined in detector construction SetCutsWithDefault(); @@ -77,3 +171,5 @@ void FlashPhysicsList::SetCuts() {//set cuts based on region name defined in det } + + diff --git a/examples/extended/parallel/TopC/ParN04/src/ExN04TrackerParametrisation.cc b/examples/advanced/eFLASH_radiotherapy/src/FlashPhysicsListMessenger.cc similarity index 62% rename from examples/extended/parallel/TopC/ParN04/src/ExN04TrackerParametrisation.cc rename to examples/advanced/eFLASH_radiotherapy/src/FlashPhysicsListMessenger.cc index efaeb8a7f1d..7d9689eaec2 100644 --- a/examples/extended/parallel/TopC/ParN04/src/ExN04TrackerParametrisation.cc +++ b/examples/advanced/eFLASH_radiotherapy/src/FlashPhysicsListMessenger.cc @@ -24,40 +24,44 @@ // ******************************************************************** // // -/// \file ExN04TrackerParametrisation.cc -/// \brief Implementation of the ExN04TrackerParametrisation class -// -#include "ExN04TrackerParametrisation.hh" +#include "FlashPhysicsListMessenger.hh" -#include "G4VPhysicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4Tubs.hh" -#include "G4SystemOfUnits.hh" +#include "FlashPhysicsList.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" -ExN04TrackerParametrisation::ExN04TrackerParametrisation() +///////////////////////////////////////////////////////////////////////////// +FlashPhysicsListMessenger::FlashPhysicsListMessenger(FlashPhysicsList* pPhys) +:pPhysicsList(pPhys) { + physDir = new G4UIdirectory("/Physics/"); + physDir->SetGuidance("Commands to activate physics models and set cuts"); + -#include "ExN04DetectorParameterDef.icc" + pListCmd = new G4UIcmdWithAString("/Physics/addPhysics",this); + pListCmd->SetGuidance("Add physics list."); + pListCmd->SetParameterName("PList",true); + pListCmd->AvailableForStates(G4State_PreInit); + } -ExN04TrackerParametrisation::~ExN04TrackerParametrisation() -{;} - -void ExN04TrackerParametrisation::ComputeTransformation -(const G4int, G4VPhysicalVolume* physVol) const +FlashPhysicsListMessenger::~FlashPhysicsListMessenger() { - G4ThreeVector origin; - physVol->SetTranslation(origin); + + delete pListCmd; + delete physDir; + } -void ExN04TrackerParametrisation::ComputeDimensions -(G4Tubs& trackerLayer, const G4int copyNo, const G4VPhysicalVolume*) const -{ - trackerLayer.SetInnerRadius(tracker_radius[copyNo]); - trackerLayer.SetOuterRadius(tracker_radius[copyNo]+tracker_thick); - trackerLayer.SetZHalfLength(tracker_length[copyNo]); - trackerLayer.SetStartPhiAngle(trkTubs_sphi); - trackerLayer.SetDeltaPhiAngle(trkTubs_dphi); +void FlashPhysicsListMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + + + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} + } diff --git a/examples/advanced/eFLASH_radiotherapy/src/FlashPrimaryGeneratorAction.cc b/examples/advanced/eFLASH_radiotherapy/src/FlashPrimaryGeneratorAction.cc index f1a51c1e2c4..54c3afe5c90 100644 --- a/examples/advanced/eFLASH_radiotherapy/src/FlashPrimaryGeneratorAction.cc +++ b/examples/advanced/eFLASH_radiotherapy/src/FlashPrimaryGeneratorAction.cc @@ -55,7 +55,7 @@ void FlashPrimaryGeneratorAction::SetDefaultPrimaryParticle() { particleGun->SetParticleDefinition(particle); - G4double defaultX0 = -100 * cm; //the beam propagates in the x direction from x=-100cm + G4double defaultX0 = -113 * cm; //the beam propagates in the x direction from x=-100cm X0 = defaultX0; @@ -73,7 +73,7 @@ void FlashPrimaryGeneratorAction::SetDefaultPrimaryParticle() { sigmaZ = defaultsigmaZ; - G4double defaultTheta = 1.5 * deg; + G4double defaultTheta = 2 * deg; Theta = defaultTheta; } diff --git a/examples/advanced/eRosita/eRosita.out b/examples/advanced/eRosita/eRosita.out index 7690ece5e3b..8452e8f6889 100644 --- a/examples/advanced/eRosita/eRosita.out +++ b/examples/advanced/eRosita/eRosita.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -208,7 +208,7 @@ eBrem: for e+ XStype:4 SubType=3 LowEnBrem : Emin= 0 eV Emax= 1 GeV AngularGen2BS eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== PenAnnih : Emin= 0 eV Emax= 100 TeV @@ -524,15 +524,16 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Run terminated. Run Summary Number of events processed : 1000 - User=3.800000s Real=4.046556s Sys=0.000000s + User=3.600000s Real=3.726457s Sys=0.010000s --- Run 0 (master) end. Total number of events: 1000. - User=3.800000s Real=4.046847s Sys=0.000000s + User=3.600000s Real=3.726857s Sys=0.010000s G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x1fbdd60 +UserPhysicsList deleted 0x220ba00 +UserActionInitialization deleted 0x2217110 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -545,8 +546,6 @@ G4RNGHelper object is deleted. ================== Deleting memory pools =================== Pool ID '20G4NavigationLevelRep', size : 0.00769 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '16G4SmartVoxelNode', size : 0.000961 MB -Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB @@ -557,8 +556,8 @@ Pool ID '7G4Track', size : 0.39 MB Pool ID '18G4TouchableHistory', size : 0.000961 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB Pool ID '17eRositaTrackerHit', size : 0.000961 MB -Number of memory pools allocated: 14 of which, static: 0 -Dynamic pools deleted: 14 / Total memory freed: 0.6 MB +Number of memory pools allocated: 12 of which, static: 0 +Dynamic pools deleted: 12 / Total memory freed: 0.6 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/exp_microdosimetry/exp_microdosimetry.out b/examples/advanced/exp_microdosimetry/exp_microdosimetry.out index 6621e1b8eed..7fcba932d61 100644 --- a/examples/advanced/exp_microdosimetry/exp_microdosimetry.out +++ b/examples/advanced/exp_microdosimetry/exp_microdosimetry.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -272,7 +279,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -557,6 +564,7 @@ CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1 PHP check 1 CHECK HP NAMES 0 Enable DEBUG 0 + Use probability tables from njoy ======================================================= @@@ G4ParticleHPInelastic instantiated for particle neutron/n data directory is /cvmfs/geant4.cern.ch/share/data/G4NDL4.7.1/Inelastic @@ -637,7 +645,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n Model: FTFP: 3 GeV/n ---> 100 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV - Process: Radioactivation + Process: RadioactiveDecay ----------------------------------------------------------------------- Hadronic Processes for He3 Process: hadElastic @@ -831,7 +839,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n Model: FTFP: 3 GeV/n ---> 100 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV - Process: Radioactivation + Process: RadioactiveDecay ======================================================================= ====== Geant4 Native Pre-compound Model Parameters ======== ======================================================================= @@ -856,7 +864,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1000 ps Isomer production flag 1 Internal e- conversion flag 1 diff --git a/examples/advanced/fastAerosol/fastAerosol.out b/examples/advanced/fastAerosol/fastAerosol.out index 3ddadf2f304..347b04435e6 100644 --- a/examples/advanced/fastAerosol/fastAerosol.out +++ b/examples/advanced/fastAerosol/fastAerosol.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -254,7 +261,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -805,7 +812,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -13744,7 +13751,7 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Run terminated. Run Summary Number of events processed : 10 - User=1.450000s Real=1.766809s Sys=0.050000s + User=1.330000s Real=1.545951s Sys=0.020000s --------------------End of Global Run----------------------- The run consists of 10 proton of 50 MeV @@ -13757,11 +13764,12 @@ Run Summary Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x2472be0 +UserPhysicsList deleted 0x246ef30 +UserActionInitialization deleted 0x2630900 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -13775,8 +13783,6 @@ G4RNGHelper object is deleted. Pool ID '20G4NavigationLevelRep', size : 0.0173 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB Pool ID '17G4DynamicParticle', size : 0.0202 MB -Pool ID '16G4SmartVoxelNode', size : 0.00192 MB -Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB @@ -13784,8 +13790,8 @@ Pool ID '15G4HCofThisEvent', size : 0.000961 MB Pool ID '7G4Track', size : 0.0394 MB Pool ID '18G4TouchableHistory', size : 0.00192 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 0.087 MB +Number of memory pools allocated: 10 of which, static: 0 +Dynamic pools deleted: 10 / Total memory freed: 0.085 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/gammaknife/gammaknife.out b/examples/advanced/gammaknife/gammaknife.out index 771e4b123e8..97c5d4bd65b 100644 --- a/examples/advanced/gammaknife/gammaknife.out +++ b/examples/advanced/gammaknife/gammaknife.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -300,7 +307,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -616,8 +623,8 @@ Run 0 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004678s Sys=0.000000s - User TOT = 0 Real TOT = 0.00495229 + User=0.000000s Real=0.005674s Sys=0.000000s + User TOT = 0 Real TOT = 0.00601004 Summary of Run 0 : /run/geometryModified @@ -686,8 +693,8 @@ Run 1 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003671s Sys=0.000000s - User TOT = 0 Real TOT = 0.00886057 + User=0.000000s Real=0.002018s Sys=0.010000s + User TOT = 0 Real TOT = 0.00814804 Summary of Run 1 : /run/geometryModified @@ -756,8 +763,8 @@ Run 2 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003488s Sys=0.000000s - User TOT = 0 Real TOT = 0.0132076 + User=0.000000s Real=0.002105s Sys=0.000000s + User TOT = 0 Real TOT = 0.0103723 Summary of Run 2 : /run/geometryModified @@ -826,8 +833,8 @@ Run 3 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.006050s Sys=0.010000s - User TOT = 0 Real TOT = 0.0195128 + User=0.000000s Real=0.002741s Sys=0.000000s + User TOT = 0 Real TOT = 0.0132334 Summary of Run 3 : /run/geometryModified @@ -896,8 +903,8 @@ Run 4 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.004410s Sys=0.000000s - User TOT = 0.01 Real TOT = 0.0240423 + User=0.010000s Real=0.001901s Sys=0.000000s + User TOT = 0.01 Real TOT = 0.0164923 Summary of Run 4 : /run/geometryModified @@ -966,8 +973,8 @@ Run 5 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004347s Sys=0.000000s - User TOT = 0.01 Real TOT = 0.0288338 + User=0.000000s Real=0.002463s Sys=0.000000s + User TOT = 0.01 Real TOT = 0.0207157 Summary of Run 5 : /run/geometryModified @@ -1036,8 +1043,8 @@ Run 6 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002777s Sys=0.000000s - User TOT = 0.01 Real TOT = 0.0317287 + User=0.000000s Real=0.002571s Sys=0.000000s + User TOT = 0.01 Real TOT = 0.0246796 Summary of Run 6 : /run/geometryModified @@ -1106,8 +1113,8 @@ Run 7 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002632s Sys=0.000000s - User TOT = 0.01 Real TOT = 0.0345889 + User=0.000000s Real=0.002027s Sys=0.000000s + User TOT = 0.01 Real TOT = 0.026829 Summary of Run 7 : /run/geometryModified @@ -1176,8 +1183,8 @@ Run 8 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.002497s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0373224 + User=0.000000s Real=0.002228s Sys=0.000000s + User TOT = 0.01 Real TOT = 0.0308465 Summary of Run 8 : /run/geometryModified @@ -1246,8 +1253,8 @@ Run 9 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002125s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0395704 + User=0.000000s Real=0.002182s Sys=0.000000s + User TOT = 0.01 Real TOT = 0.0341438 Summary of Run 9 : /run/geometryModified @@ -1316,8 +1323,8 @@ Run 10 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002295s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0420483 + User=0.010000s Real=0.002138s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.037632 Summary of Run 10 : /run/geometryModified @@ -1386,8 +1393,8 @@ Run 11 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003472s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0458153 + User=0.000000s Real=0.002066s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0410941 Summary of Run 11 : /run/geometryModified @@ -1456,8 +1463,8 @@ Run 12 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003189s Sys=0.010000s - User TOT = 0.02 Real TOT = 0.0502359 + User=0.000000s Real=0.003282s Sys=0.010000s + User TOT = 0.02 Real TOT = 0.0447642 Summary of Run 12 : /run/geometryModified @@ -1526,8 +1533,8 @@ Run 13 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003093s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0535541 + User=0.000000s Real=0.004210s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0493461 Summary of Run 13 : /run/geometryModified @@ -1596,8 +1603,8 @@ Run 14 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003802s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0574845 + User=0.000000s Real=0.004358s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0540114 Summary of Run 14 : /run/geometryModified @@ -1666,8 +1673,8 @@ Run 15 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005167s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0627772 + User=0.000000s Real=0.004431s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0587585 Summary of Run 15 : /run/geometryModified @@ -1736,8 +1743,8 @@ Run 16 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003625s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0676128 + User=0.000000s Real=0.004255s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0633197 Summary of Run 16 : /run/geometryModified @@ -1806,8 +1813,8 @@ Run 17 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002120s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0698428 + User=0.000000s Real=0.004376s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0680631 Summary of Run 17 : /run/geometryModified @@ -1876,8 +1883,8 @@ Run 18 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002704s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0726571 + User=0.000000s Real=0.004265s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0727205 Summary of Run 18 : /run/geometryModified @@ -1946,8 +1953,8 @@ Run 19 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003264s Sys=0.000000s - User TOT = 0.02 Real TOT = 0.0760288 + User=0.000000s Real=0.004303s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0773157 Summary of Run 19 : /run/geometryModified @@ -2016,8 +2023,8 @@ Run 20 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.004174s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.0804781 + User=0.000000s Real=0.004251s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0818759 Summary of Run 20 : /run/geometryModified @@ -2086,8 +2093,8 @@ Run 21 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003598s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.0843676 + User=0.000000s Real=0.004165s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0863987 Summary of Run 21 : /run/geometryModified @@ -2156,8 +2163,8 @@ Run 22 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002952s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.0875501 + User=0.000000s Real=0.004192s Sys=0.000000s + User TOT = 0.02 Real TOT = 0.0938456 Summary of Run 22 : /run/geometryModified @@ -2226,8 +2233,8 @@ Run 23 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.001959s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.0896209 + User=0.000000s Real=0.003972s Sys=0.010000s + User TOT = 0.02 Real TOT = 0.0982762 Summary of Run 23 : /run/geometryModified @@ -2296,8 +2303,8 @@ Run 24 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002048s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.0919195 + User=0.010000s Real=0.004357s Sys=0.000000s + User TOT = 0.03 Real TOT = 0.103001 Summary of Run 24 : /run/geometryModified @@ -2366,8 +2373,8 @@ Run 25 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003019s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.0950916 + User=0.000000s Real=0.004161s Sys=0.000000s + User TOT = 0.03 Real TOT = 0.107512 Summary of Run 25 : /run/geometryModified @@ -2436,8 +2443,8 @@ Run 26 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003749s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.0989644 + User=0.000000s Real=0.004277s Sys=0.000000s + User TOT = 0.03 Real TOT = 0.112093 Summary of Run 26 : /run/geometryModified @@ -2506,8 +2513,8 @@ Run 27 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002453s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.101589 + User=0.000000s Real=0.004312s Sys=0.000000s + User TOT = 0.03 Real TOT = 0.116711 Summary of Run 27 : /run/geometryModified @@ -2576,8 +2583,8 @@ Run 28 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002504s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.104207 + User=0.000000s Real=0.003965s Sys=0.000000s + User TOT = 0.03 Real TOT = 0.12103 Summary of Run 28 : /run/geometryModified @@ -2646,8 +2653,8 @@ Run 29 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002429s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.106767 + User=0.000000s Real=0.004024s Sys=0.000000s + User TOT = 0.03 Real TOT = 0.125353 Summary of Run 29 : /run/geometryModified @@ -2716,8 +2723,8 @@ Run 30 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003400s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.110289 + User=0.010000s Real=0.003925s Sys=0.010000s + User TOT = 0.04 Real TOT = 0.129743 Summary of Run 30 : /run/geometryModified @@ -2786,8 +2793,8 @@ Run 31 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002498s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.112914 + User=0.000000s Real=0.004930s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.134976 Summary of Run 31 : /run/geometryModified @@ -2856,8 +2863,8 @@ Run 32 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002310s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.115345 + User=0.000000s Real=0.003974s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.139228 Summary of Run 32 : /run/geometryModified @@ -2926,8 +2933,8 @@ Run 33 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003042s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.119402 + User=0.000000s Real=0.004414s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.14403 Summary of Run 33 : /run/geometryModified @@ -2996,8 +3003,8 @@ Run 34 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004810s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.125236 + User=0.000000s Real=0.003879s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.148218 Summary of Run 34 : /run/geometryModified @@ -3066,8 +3073,8 @@ Run 35 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004169s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.130449 + User=0.000000s Real=0.003370s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.151893 Summary of Run 35 : /run/geometryModified @@ -3136,8 +3143,8 @@ Run 36 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005614s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.136386 + User=0.000000s Real=0.005001s Sys=0.010000s + User TOT = 0.04 Real TOT = 0.1572 Summary of Run 36 : /run/geometryModified @@ -3206,8 +3213,8 @@ Run 37 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002727s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.139305 + User=0.000000s Real=0.004581s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.162152 Summary of Run 37 : /run/geometryModified @@ -3276,8 +3283,8 @@ Run 38 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004901s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.144351 + User=0.000000s Real=0.004527s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.166995 Summary of Run 38 : /run/geometryModified @@ -3346,8 +3353,8 @@ Run 39 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004526s Sys=0.000000s - User TOT = 0.03 Real TOT = 0.149058 + User=0.000000s Real=0.004150s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.17145 Summary of Run 39 : /run/geometryModified @@ -3416,8 +3423,8 @@ Run 40 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.003137s Sys=0.000000s - User TOT = 0.04 Real TOT = 0.152477 + User=0.000000s Real=0.004362s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.176311 Summary of Run 40 : /run/geometryModified @@ -3486,8 +3493,8 @@ Run 41 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003582s Sys=0.010000s - User TOT = 0.04 Real TOT = 0.156311 + User=0.000000s Real=0.004289s Sys=0.010000s + User TOT = 0.04 Real TOT = 0.1809 Summary of Run 41 : /run/geometryModified @@ -3556,8 +3563,8 @@ Run 42 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002696s Sys=0.000000s - User TOT = 0.04 Real TOT = 0.159135 + User=0.000000s Real=0.003647s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.184916 Summary of Run 42 : /run/geometryModified @@ -3626,8 +3633,8 @@ Run 43 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003204s Sys=0.000000s - User TOT = 0.04 Real TOT = 0.162539 + User=0.000000s Real=0.004005s Sys=0.000000s + User TOT = 0.04 Real TOT = 0.189215 Summary of Run 43 : /run/geometryModified @@ -3696,8 +3703,8 @@ Run 44 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002532s Sys=0.000000s - User TOT = 0.04 Real TOT = 0.165203 + User=0.010000s Real=0.004263s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.193773 Summary of Run 44 : /run/geometryModified @@ -3766,8 +3773,8 @@ Run 45 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.003767s Sys=0.000000s - User TOT = 0.05 Real TOT = 0.170022 + User=0.000000s Real=0.005293s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.199378 Summary of Run 45 : /run/geometryModified @@ -3836,8 +3843,8 @@ Run 46 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.001885s Sys=0.000000s - User TOT = 0.05 Real TOT = 0.172416 + User=0.000000s Real=0.004405s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.204078 Summary of Run 46 : /run/geometryModified @@ -3906,8 +3913,8 @@ Run 47 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004435s Sys=0.000000s - User TOT = 0.05 Real TOT = 0.176971 + User=0.000000s Real=0.004208s Sys=0.010000s + User TOT = 0.05 Real TOT = 0.2086 Summary of Run 47 : /run/geometryModified @@ -3976,8 +3983,8 @@ Run 48 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002930s Sys=0.000000s - User TOT = 0.05 Real TOT = 0.180602 + User=0.000000s Real=0.006331s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.215405 Summary of Run 48 : /run/geometryModified @@ -4046,8 +4053,8 @@ Run 49 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003884s Sys=0.000000s - User TOT = 0.05 Real TOT = 0.185173 + User=0.000000s Real=0.005060s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.220764 Summary of Run 49 : /run/geometryModified @@ -4116,8 +4123,8 @@ Run 50 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.002676s Sys=0.000000s - User TOT = 0.06 Real TOT = 0.18858 + User=0.000000s Real=0.004085s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.225226 Summary of Run 50 : /run/geometryModified @@ -4186,8 +4193,8 @@ Run 51 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004344s Sys=0.000000s - User TOT = 0.06 Real TOT = 0.19499 + User=0.000000s Real=0.004087s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.229612 Summary of Run 51 : /run/geometryModified @@ -4256,8 +4263,8 @@ Run 52 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005568s Sys=0.000000s - User TOT = 0.06 Real TOT = 0.200725 + User=0.000000s Real=0.003956s Sys=0.010000s + User TOT = 0.05 Real TOT = 0.233889 Summary of Run 52 : /run/geometryModified @@ -4326,8 +4333,8 @@ Run 53 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005504s Sys=0.000000s - User TOT = 0.06 Real TOT = 0.206363 + User=0.000000s Real=0.003786s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.237806 Summary of Run 53 : /run/geometryModified @@ -4396,8 +4403,8 @@ Run 54 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.008670s Sys=0.000000s - User TOT = 0.07 Real TOT = 0.215155 + User=0.000000s Real=0.003700s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.241629 Summary of Run 54 : /run/geometryModified @@ -4466,8 +4473,8 @@ Run 55 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005691s Sys=0.000000s - User TOT = 0.07 Real TOT = 0.220974 + User=0.000000s Real=0.004092s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.246112 Summary of Run 55 : /run/geometryModified @@ -4536,8 +4543,8 @@ Run 56 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005496s Sys=0.000000s - User TOT = 0.07 Real TOT = 0.226599 + User=0.000000s Real=0.004142s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.25067 Summary of Run 56 : /run/geometryModified @@ -4606,8 +4613,8 @@ Run 57 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.006356s Sys=0.000000s - User TOT = 0.07 Real TOT = 0.233657 + User=0.000000s Real=0.003826s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.254857 Summary of Run 57 : /run/geometryModified @@ -4676,8 +4683,8 @@ Run 58 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.006776s Sys=0.000000s - User TOT = 0.08 Real TOT = 0.241482 + User=0.000000s Real=0.004234s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.259221 Summary of Run 58 : /run/geometryModified @@ -4746,8 +4753,8 @@ Run 59 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.006285s Sys=0.000000s - User TOT = 0.08 Real TOT = 0.247925 + User=0.000000s Real=0.003846s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.263469 Summary of Run 59 : /run/geometryModified @@ -4816,8 +4823,8 @@ Run 60 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005283s Sys=0.000000s - User TOT = 0.08 Real TOT = 0.253462 + User=0.000000s Real=0.004154s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.26824 Summary of Run 60 : /run/geometryModified @@ -4886,8 +4893,8 @@ Run 61 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003438s Sys=0.000000s - User TOT = 0.08 Real TOT = 0.257034 + User=0.000000s Real=0.004942s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.2736 Summary of Run 61 : /run/geometryModified @@ -4956,8 +4963,8 @@ Run 62 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003439s Sys=0.000000s - User TOT = 0.08 Real TOT = 0.260703 + User=0.000000s Real=0.004102s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.278122 Summary of Run 62 : /run/geometryModified @@ -5026,8 +5033,8 @@ Run 63 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.003482s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.264316 + User=0.000000s Real=0.003965s Sys=0.000000s + User TOT = 0.05 Real TOT = 0.282224 Summary of Run 63 : /run/geometryModified @@ -5096,8 +5103,8 @@ Run 64 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002651s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.267099 + User=0.010000s Real=0.004824s Sys=0.000000s + User TOT = 0.06 Real TOT = 0.287209 Summary of Run 64 : /run/geometryModified @@ -5166,8 +5173,8 @@ Run 65 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003394s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.270625 + User=0.000000s Real=0.004445s Sys=0.000000s + User TOT = 0.06 Real TOT = 0.292068 Summary of Run 65 : /run/geometryModified @@ -5236,8 +5243,8 @@ Run 66 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003198s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.273943 + User=0.000000s Real=0.003710s Sys=0.000000s + User TOT = 0.06 Real TOT = 0.297905 Summary of Run 66 : /run/geometryModified @@ -5306,8 +5313,8 @@ Run 67 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003563s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.277726 + User=0.000000s Real=0.003721s Sys=0.000000s + User TOT = 0.06 Real TOT = 0.302053 Summary of Run 67 : /run/geometryModified @@ -5376,8 +5383,8 @@ Run 68 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002526s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.2804 + User=0.000000s Real=0.003957s Sys=0.000000s + User TOT = 0.06 Real TOT = 0.306792 Summary of Run 68 : /run/geometryModified @@ -5446,8 +5453,8 @@ Run 69 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003294s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.283823 + User=0.010000s Real=0.004507s Sys=0.000000s + User TOT = 0.07 Real TOT = 0.31187 Summary of Run 69 : /run/geometryModified @@ -5516,8 +5523,8 @@ Run 70 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002582s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.286535 + User=0.000000s Real=0.004237s Sys=0.000000s + User TOT = 0.07 Real TOT = 0.316967 Summary of Run 70 : /run/geometryModified @@ -5586,8 +5593,8 @@ Run 71 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003132s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.290014 + User=0.000000s Real=0.004713s Sys=0.000000s + User TOT = 0.07 Real TOT = 0.322514 Summary of Run 71 : /run/geometryModified @@ -5656,8 +5663,8 @@ Run 72 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003489s Sys=0.010000s - User TOT = 0.09 Real TOT = 0.293622 + User=0.000000s Real=0.002622s Sys=0.010000s + User TOT = 0.07 Real TOT = 0.325285 Summary of Run 72 : /run/geometryModified @@ -5726,8 +5733,8 @@ Run 73 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004715s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.299341 + User=0.000000s Real=0.004107s Sys=0.000000s + User TOT = 0.07 Real TOT = 0.329541 Summary of Run 73 : /run/geometryModified @@ -5796,8 +5803,8 @@ Run 74 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005114s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.304795 + User=0.000000s Real=0.004984s Sys=0.000000s + User TOT = 0.07 Real TOT = 0.334923 Summary of Run 74 : /run/geometryModified @@ -5866,8 +5873,8 @@ Run 75 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002181s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.307139 + User=0.000000s Real=0.004141s Sys=0.000000s + User TOT = 0.07 Real TOT = 0.339184 Summary of Run 75 : /run/geometryModified @@ -5936,8 +5943,8 @@ Run 76 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002176s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.309426 + User=0.010000s Real=0.004246s Sys=0.000000s + User TOT = 0.08 Real TOT = 0.343544 Summary of Run 76 : /run/geometryModified @@ -6006,8 +6013,8 @@ Run 77 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003689s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.313318 + User=0.000000s Real=0.004246s Sys=0.000000s + User TOT = 0.08 Real TOT = 0.348921 Summary of Run 77 : /run/geometryModified @@ -6076,8 +6083,8 @@ Run 78 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002554s Sys=0.000000s - User TOT = 0.09 Real TOT = 0.315993 + User=0.000000s Real=0.003445s Sys=0.000000s + User TOT = 0.08 Real TOT = 0.3543 Summary of Run 78 : /run/geometryModified @@ -6146,8 +6153,8 @@ Run 79 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.001549s Sys=0.000000s - User TOT = 0.1 Real TOT = 0.317655 + User=0.000000s Real=0.003703s Sys=0.010000s + User TOT = 0.08 Real TOT = 0.359888 Summary of Run 79 : /run/geometryModified @@ -6216,8 +6223,8 @@ Run 80 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002211s Sys=0.000000s - User TOT = 0.1 Real TOT = 0.320596 + User=0.000000s Real=0.004006s Sys=0.000000s + User TOT = 0.08 Real TOT = 0.364315 Summary of Run 80 : /run/geometryModified @@ -6286,8 +6293,8 @@ Run 81 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003054s Sys=0.010000s - User TOT = 0.1 Real TOT = 0.323776 + User=0.000000s Real=0.013083s Sys=0.000000s + User TOT = 0.08 Real TOT = 0.377526 Summary of Run 81 : /run/geometryModified @@ -6356,8 +6363,8 @@ Run 82 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002917s Sys=0.000000s - User TOT = 0.1 Real TOT = 0.328309 + User=0.010000s Real=0.005725s Sys=0.000000s + User TOT = 0.09 Real TOT = 0.383369 Summary of Run 82 : /run/geometryModified @@ -6426,8 +6433,8 @@ Run 83 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003372s Sys=0.000000s - User TOT = 0.1 Real TOT = 0.331818 + User=0.000000s Real=0.017565s Sys=0.000000s + User TOT = 0.09 Real TOT = 0.402755 Summary of Run 83 : /run/geometryModified @@ -6496,8 +6503,8 @@ Run 84 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003280s Sys=0.000000s - User TOT = 0.1 Real TOT = 0.335217 + User=0.000000s Real=0.003894s Sys=0.000000s + User TOT = 0.09 Real TOT = 0.406788 Summary of Run 84 : /run/geometryModified @@ -6566,8 +6573,8 @@ Run 85 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.003617s Sys=0.000000s - User TOT = 0.11 Real TOT = 0.339067 + User=0.000000s Real=0.004545s Sys=0.000000s + User TOT = 0.09 Real TOT = 0.411446 Summary of Run 85 : /run/geometryModified @@ -6636,8 +6643,8 @@ Run 86 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002202s Sys=0.000000s - User TOT = 0.11 Real TOT = 0.341387 + User=0.000000s Real=0.018910s Sys=0.010000s + User TOT = 0.09 Real TOT = 0.430603 Summary of Run 86 : /run/geometryModified @@ -6706,8 +6713,8 @@ Run 87 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.001812s Sys=0.000000s - User TOT = 0.11 Real TOT = 0.343303 + User=0.000000s Real=0.019285s Sys=0.000000s + User TOT = 0.09 Real TOT = 0.450221 Summary of Run 87 : /run/geometryModified @@ -6776,8 +6783,8 @@ Run 88 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002073s Sys=0.010000s - User TOT = 0.11 Real TOT = 0.345492 + User=0.010000s Real=0.005564s Sys=0.000000s + User TOT = 0.1 Real TOT = 0.455918 Summary of Run 88 : /run/geometryModified @@ -6846,8 +6853,8 @@ Run 89 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.001986s Sys=0.000000s - User TOT = 0.11 Real TOT = 0.347587 + User=0.000000s Real=0.004020s Sys=0.000000s + User TOT = 0.1 Real TOT = 0.460051 Summary of Run 89 : /run/geometryModified @@ -6916,8 +6923,8 @@ Run 90 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002228s Sys=0.000000s - User TOT = 0.11 Real TOT = 0.349919 + User=0.000000s Real=0.007399s Sys=0.000000s + User TOT = 0.1 Real TOT = 0.467573 Summary of Run 90 : /run/geometryModified @@ -6986,8 +6993,8 @@ Run 91 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002275s Sys=0.000000s - User TOT = 0.11 Real TOT = 0.3523 + User=0.000000s Real=0.007078s Sys=0.000000s + User TOT = 0.1 Real TOT = 0.474762 Summary of Run 91 : /run/geometryModified @@ -7056,8 +7063,8 @@ Run 92 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.001933s Sys=0.000000s - User TOT = 0.12 Real TOT = 0.354342 + User=0.000000s Real=0.005030s Sys=0.000000s + User TOT = 0.1 Real TOT = 0.482471 Summary of Run 92 : /run/geometryModified @@ -7126,8 +7133,8 @@ Run 93 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.001835s Sys=0.000000s - User TOT = 0.12 Real TOT = 0.356283 + User=0.000000s Real=0.008233s Sys=0.000000s + User TOT = 0.1 Real TOT = 0.490857 Summary of Run 93 : /run/geometryModified @@ -7196,8 +7203,8 @@ Run 94 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002177s Sys=0.000000s - User TOT = 0.12 Real TOT = 0.358565 + User=0.010000s Real=0.007055s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.498287 Summary of Run 94 : /run/geometryModified @@ -7266,8 +7273,8 @@ Run 95 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002365s Sys=0.000000s - User TOT = 0.12 Real TOT = 0.361058 + User=0.000000s Real=0.001991s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.500397 Summary of Run 95 : /run/geometryModified @@ -7336,8 +7343,8 @@ Run 96 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002064s Sys=0.000000s - User TOT = 0.12 Real TOT = 0.363229 + User=0.000000s Real=0.002023s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.502552 Summary of Run 96 : /run/geometryModified @@ -7406,8 +7413,8 @@ Run 97 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.002319s Sys=0.000000s - User TOT = 0.13 Real TOT = 0.365656 + User=0.000000s Real=0.002154s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.504822 Summary of Run 97 : /run/geometryModified @@ -7476,8 +7483,8 @@ Run 98 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002314s Sys=0.000000s - User TOT = 0.13 Real TOT = 0.368172 + User=0.000000s Real=0.002194s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.507133 Summary of Run 98 : /run/geometryModified @@ -7546,8 +7553,8 @@ Run 99 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002498s Sys=0.000000s - User TOT = 0.13 Real TOT = 0.370776 + User=0.000000s Real=0.005540s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.512883 Summary of Run 99 : /run/geometryModified @@ -7616,8 +7623,8 @@ Run 100 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002689s Sys=0.000000s - User TOT = 0.13 Real TOT = 0.373759 + User=0.000000s Real=0.002134s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.515141 Summary of Run 100 : /run/geometryModified @@ -7686,8 +7693,8 @@ Run 101 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002616s Sys=0.000000s - User TOT = 0.13 Real TOT = 0.376492 + User=0.000000s Real=0.010151s Sys=0.000000s + User TOT = 0.11 Real TOT = 0.525423 Summary of Run 101 : /run/geometryModified @@ -7756,8 +7763,8 @@ Run 102 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003148s Sys=0.000000s - User TOT = 0.13 Real TOT = 0.381529 + User=0.010000s Real=0.004274s Sys=0.000000s + User TOT = 0.12 Real TOT = 0.529839 Summary of Run 102 : /run/geometryModified @@ -7826,8 +7833,8 @@ Run 103 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.004706s Sys=0.000000s - User TOT = 0.14 Real TOT = 0.386441 + User=0.000000s Real=0.003821s Sys=0.000000s + User TOT = 0.12 Real TOT = 0.534 Summary of Run 103 : /run/geometryModified @@ -7896,8 +7903,8 @@ Run 104 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005550s Sys=0.000000s - User TOT = 0.14 Real TOT = 0.392126 + User=0.000000s Real=0.004658s Sys=0.000000s + User TOT = 0.12 Real TOT = 0.53895 Summary of Run 104 : /run/geometryModified @@ -7966,8 +7973,8 @@ Run 105 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003119s Sys=0.000000s - User TOT = 0.14 Real TOT = 0.395378 + User=0.000000s Real=0.004396s Sys=0.010000s + User TOT = 0.12 Real TOT = 0.543634 Summary of Run 105 : /run/geometryModified @@ -8036,8 +8043,8 @@ Run 106 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005879s Sys=0.000000s - User TOT = 0.14 Real TOT = 0.401385 + User=0.000000s Real=0.005903s Sys=0.000000s + User TOT = 0.12 Real TOT = 0.549667 Summary of Run 106 : /run/geometryModified @@ -8106,8 +8113,8 @@ Run 107 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.002777s Sys=0.000000s - User TOT = 0.15 Real TOT = 0.404346 + User=0.010000s Real=0.004672s Sys=0.000000s + User TOT = 0.13 Real TOT = 0.554464 Summary of Run 107 : /run/geometryModified @@ -8176,8 +8183,8 @@ Run 108 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.016811s Sys=0.000000s - User TOT = 0.15 Real TOT = 0.421314 + User=0.000000s Real=0.004799s Sys=0.000000s + User TOT = 0.13 Real TOT = 0.560029 Summary of Run 108 : /run/geometryModified @@ -8246,8 +8253,8 @@ Run 109 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.033240s Sys=0.000000s - User TOT = 0.15 Real TOT = 0.454707 + User=0.000000s Real=0.004245s Sys=0.000000s + User TOT = 0.13 Real TOT = 0.564411 Summary of Run 109 : /run/geometryModified @@ -8316,8 +8323,8 @@ Run 110 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.034455s Sys=0.000000s - User TOT = 0.15 Real TOT = 0.489312 + User=0.000000s Real=0.004085s Sys=0.000000s + User TOT = 0.13 Real TOT = 0.569963 Summary of Run 110 : /run/geometryModified @@ -8386,8 +8393,8 @@ Run 111 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.026502s Sys=0.000000s - User TOT = 0.15 Real TOT = 0.516106 + User=0.000000s Real=0.005021s Sys=0.000000s + User TOT = 0.13 Real TOT = 0.576319 Summary of Run 111 : /run/geometryModified @@ -8456,8 +8463,8 @@ Run 112 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.024724s Sys=0.000000s - User TOT = 0.16 Real TOT = 0.541226 + User=0.010000s Real=0.003929s Sys=0.000000s + User TOT = 0.14 Real TOT = 0.581522 Summary of Run 112 : /run/geometryModified @@ -8526,8 +8533,8 @@ Run 113 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.026635s Sys=0.000000s - User TOT = 0.16 Real TOT = 0.568065 + User=0.000000s Real=0.003225s Sys=0.000000s + User TOT = 0.14 Real TOT = 0.587138 Summary of Run 113 : /run/geometryModified @@ -8596,8 +8603,8 @@ Run 114 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.038425s Sys=0.000000s - User TOT = 0.16 Real TOT = 0.606699 + User=0.000000s Real=0.007233s Sys=0.010000s + User TOT = 0.14 Real TOT = 0.594542 Summary of Run 114 : /run/geometryModified @@ -8666,8 +8673,8 @@ Run 115 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.022851s Sys=0.000000s - User TOT = 0.16 Real TOT = 0.62969 + User=0.000000s Real=0.015950s Sys=0.000000s + User TOT = 0.14 Real TOT = 0.610713 Summary of Run 115 : /run/geometryModified @@ -8736,8 +8743,8 @@ Run 116 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.028145s Sys=0.000000s - User TOT = 0.17 Real TOT = 0.657985 + User=0.010000s Real=0.026707s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.637734 Summary of Run 116 : /run/geometryModified @@ -8806,8 +8813,8 @@ Run 117 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.014359s Sys=0.000000s - User TOT = 0.17 Real TOT = 0.672558 + User=0.000000s Real=0.039222s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.6771 Summary of Run 117 : /run/geometryModified @@ -8876,8 +8883,8 @@ Run 118 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.019097s Sys=0.000000s - User TOT = 0.17 Real TOT = 0.691893 + User=0.000000s Real=0.022684s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.700063 Summary of Run 118 : /run/geometryModified @@ -8946,8 +8953,8 @@ Run 119 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.022868s Sys=0.000000s - User TOT = 0.18 Real TOT = 0.714906 + User=0.000000s Real=0.004493s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.708157 Summary of Run 119 : /run/geometryModified @@ -9016,8 +9023,8 @@ Run 120 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.019929s Sys=0.010000s - User TOT = 0.18 Real TOT = 0.73497 + User=0.000000s Real=0.003291s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.711652 Summary of Run 120 : /run/geometryModified @@ -9086,8 +9093,8 @@ Run 121 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.030899s Sys=0.000000s - User TOT = 0.18 Real TOT = 0.766679 + User=0.000000s Real=0.004184s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.71722 Summary of Run 121 : /run/geometryModified @@ -9156,8 +9163,8 @@ Run 122 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.028142s Sys=0.000000s - User TOT = 0.18 Real TOT = 0.795415 + User=0.000000s Real=0.004032s Sys=0.010000s + User TOT = 0.15 Real TOT = 0.721649 Summary of Run 122 : /run/geometryModified @@ -9226,8 +9233,8 @@ Run 123 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.021991s Sys=0.000000s - User TOT = 0.18 Real TOT = 0.817559 + User=0.000000s Real=0.003603s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.725611 Summary of Run 123 : /run/geometryModified @@ -9296,8 +9303,8 @@ Run 124 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.041022s Sys=0.000000s - User TOT = 0.19 Real TOT = 0.863216 + User=0.000000s Real=0.032780s Sys=0.000000s + User TOT = 0.15 Real TOT = 0.758574 Summary of Run 124 : /run/geometryModified @@ -9366,8 +9373,8 @@ Run 125 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.023563s Sys=0.010000s - User TOT = 0.19 Real TOT = 0.886957 + User=0.010000s Real=0.031305s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.79004 Summary of Run 125 : /run/geometryModified @@ -9436,8 +9443,8 @@ Run 126 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.022425s Sys=0.000000s - User TOT = 0.19 Real TOT = 0.909545 + User=0.000000s Real=0.023033s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.813222 Summary of Run 126 : /run/geometryModified @@ -9506,8 +9513,8 @@ Run 127 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.033570s Sys=0.000000s - User TOT = 0.19 Real TOT = 0.943272 + User=0.000000s Real=0.018029s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.834797 Summary of Run 127 : /run/geometryModified @@ -9576,8 +9583,8 @@ Run 128 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.032207s Sys=0.000000s - User TOT = 0.19 Real TOT = 0.975631 + User=0.000000s Real=0.021480s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.856465 Summary of Run 128 : /run/geometryModified @@ -9646,8 +9653,8 @@ Run 129 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.022762s Sys=0.000000s - User TOT = 0.2 Real TOT = 0.99863 + User=0.000000s Real=0.032577s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.889203 Summary of Run 129 : /run/geometryModified @@ -9716,8 +9723,8 @@ Run 130 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.022522s Sys=0.000000s - User TOT = 0.2 Real TOT = 1.02395 + User=0.000000s Real=0.024977s Sys=0.010000s + User TOT = 0.16 Real TOT = 0.914334 Summary of Run 130 : /run/geometryModified @@ -9786,8 +9793,8 @@ Run 131 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.034392s Sys=0.010000s - User TOT = 0.2 Real TOT = 1.05873 + User=0.000000s Real=0.023210s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.937717 Summary of Run 131 : /run/geometryModified @@ -9856,8 +9863,8 @@ Run 132 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.028575s Sys=0.000000s - User TOT = 0.2 Real TOT = 1.08747 + User=0.000000s Real=0.020936s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.958791 Summary of Run 132 : /run/geometryModified @@ -9926,8 +9933,8 @@ Run 133 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.017900s Sys=0.000000s - User TOT = 0.21 Real TOT = 1.10551 + User=0.000000s Real=0.029153s Sys=0.000000s + User TOT = 0.16 Real TOT = 0.988079 Summary of Run 133 : /run/geometryModified @@ -9996,8 +10003,8 @@ Run 134 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.030788s Sys=0.000000s - User TOT = 0.21 Real TOT = 1.13645 + User=0.000000s Real=0.029892s Sys=0.000000s + User TOT = 0.16 Real TOT = 1.02084 Summary of Run 134 : /run/geometryModified @@ -10066,8 +10073,8 @@ Run 135 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.027288s Sys=0.000000s - User TOT = 0.21 Real TOT = 1.1639 + User=0.000000s Real=0.022376s Sys=0.010000s + User TOT = 0.16 Real TOT = 1.04468 Summary of Run 135 : /run/geometryModified @@ -10136,8 +10143,8 @@ Run 136 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.033377s Sys=0.000000s - User TOT = 0.21 Real TOT = 1.19922 + User=0.000000s Real=0.027204s Sys=0.000000s + User TOT = 0.16 Real TOT = 1.07391 Summary of Run 136 : /run/geometryModified @@ -10206,8 +10213,8 @@ Run 137 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.011501s Sys=0.000000s - User TOT = 0.21 Real TOT = 1.21287 + User=0.000000s Real=0.020358s Sys=0.000000s + User TOT = 0.16 Real TOT = 1.09452 Summary of Run 137 : /run/geometryModified @@ -10276,8 +10283,8 @@ Run 138 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.015243s Sys=0.010000s - User TOT = 0.21 Real TOT = 1.22827 + User=0.010000s Real=0.019923s Sys=0.000000s + User TOT = 0.17 Real TOT = 1.1146 Summary of Run 138 : /run/geometryModified @@ -10346,8 +10353,8 @@ Run 139 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.027489s Sys=0.000000s - User TOT = 0.21 Real TOT = 1.25601 + User=0.000000s Real=0.027685s Sys=0.000000s + User TOT = 0.17 Real TOT = 1.14309 Summary of Run 139 : /run/geometryModified @@ -10416,8 +10423,8 @@ Run 140 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.015184s Sys=0.000000s - User TOT = 0.21 Real TOT = 1.27137 + User=0.000000s Real=0.039659s Sys=0.000000s + User TOT = 0.17 Real TOT = 1.18314 Summary of Run 140 : /run/geometryModified @@ -10486,8 +10493,8 @@ Run 141 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.032823s Sys=0.000000s - User TOT = 0.22 Real TOT = 1.30434 + User=0.000000s Real=0.035519s Sys=0.000000s + User TOT = 0.17 Real TOT = 1.21883 Summary of Run 141 : /run/geometryModified @@ -10556,8 +10563,8 @@ Run 142 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.030439s Sys=0.000000s - User TOT = 0.22 Real TOT = 1.33494 + User=0.000000s Real=0.029803s Sys=0.000000s + User TOT = 0.17 Real TOT = 1.2488 Summary of Run 142 : /run/geometryModified @@ -10626,8 +10633,8 @@ Run 143 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.032848s Sys=0.000000s - User TOT = 0.22 Real TOT = 1.36799 + User=0.000000s Real=0.026261s Sys=0.000000s + User TOT = 0.17 Real TOT = 1.27521 Summary of Run 143 : /run/geometryModified @@ -10696,8 +10703,8 @@ Run 144 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.033674s Sys=0.000000s - User TOT = 0.22 Real TOT = 1.40181 + User=0.000000s Real=0.032638s Sys=0.000000s + User TOT = 0.17 Real TOT = 1.30871 Summary of Run 144 : /run/geometryModified @@ -10766,8 +10773,8 @@ Run 145 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.028374s Sys=0.010000s - User TOT = 0.23 Real TOT = 1.43041 + User=0.010000s Real=0.035727s Sys=0.010000s + User TOT = 0.18 Real TOT = 1.34461 Summary of Run 145 : /run/geometryModified @@ -10836,8 +10843,8 @@ Run 146 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.021659s Sys=0.000000s - User TOT = 0.23 Real TOT = 1.45222 + User=0.000000s Real=0.026367s Sys=0.000000s + User TOT = 0.18 Real TOT = 1.37198 Summary of Run 146 : /run/geometryModified @@ -10906,8 +10913,8 @@ Run 147 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.028603s Sys=0.000000s - User TOT = 0.23 Real TOT = 1.48098 + User=0.000000s Real=0.017143s Sys=0.000000s + User TOT = 0.18 Real TOT = 1.39036 Summary of Run 147 : /run/geometryModified @@ -10976,8 +10983,8 @@ Run 148 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.034796s Sys=0.000000s - User TOT = 0.23 Real TOT = 1.51603 + User=0.000000s Real=0.028516s Sys=0.000000s + User TOT = 0.18 Real TOT = 1.41914 Summary of Run 148 : /run/geometryModified @@ -11046,8 +11053,8 @@ Run 149 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.030205s Sys=0.000000s - User TOT = 0.24 Real TOT = 1.54644 + User=0.000000s Real=0.028879s Sys=0.000000s + User TOT = 0.18 Real TOT = 1.44882 Summary of Run 149 : /run/geometryModified @@ -11116,8 +11123,8 @@ Run 150 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.023483s Sys=0.000000s - User TOT = 0.24 Real TOT = 1.57008 + User=0.000000s Real=0.020571s Sys=0.000000s + User TOT = 0.18 Real TOT = 1.46956 Summary of Run 150 : /run/geometryModified @@ -11186,8 +11193,8 @@ Run 151 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.022117s Sys=0.000000s - User TOT = 0.24 Real TOT = 1.59236 + User=0.000000s Real=0.024598s Sys=0.000000s + User TOT = 0.18 Real TOT = 1.49498 Summary of Run 151 : /run/geometryModified @@ -11256,8 +11263,8 @@ Run 152 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.021958s Sys=0.000000s - User TOT = 0.24 Real TOT = 1.61452 + User=0.010000s Real=0.029949s Sys=0.000000s + User TOT = 0.19 Real TOT = 1.52519 Summary of Run 152 : /run/geometryModified @@ -11326,8 +11333,8 @@ Run 153 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.021050s Sys=0.010000s - User TOT = 0.24 Real TOT = 1.63584 + User=0.000000s Real=0.034337s Sys=0.010000s + User TOT = 0.19 Real TOT = 1.55986 Summary of Run 153 : /run/geometryModified @@ -11396,8 +11403,8 @@ Run 154 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.026762s Sys=0.000000s - User TOT = 0.25 Real TOT = 1.66337 + User=0.000000s Real=0.032997s Sys=0.000000s + User TOT = 0.19 Real TOT = 1.59307 Summary of Run 154 : /run/geometryModified @@ -11466,8 +11473,8 @@ Run 155 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.031202s Sys=0.000000s - User TOT = 0.25 Real TOT = 1.69589 + User=0.000000s Real=0.022571s Sys=0.000000s + User TOT = 0.19 Real TOT = 1.61579 Summary of Run 155 : /run/geometryModified @@ -11536,8 +11543,8 @@ Run 156 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.021541s Sys=0.000000s - User TOT = 0.25 Real TOT = 1.71821 + User=0.000000s Real=0.020357s Sys=0.000000s + User TOT = 0.19 Real TOT = 1.6363 Summary of Run 156 : /run/geometryModified @@ -11606,8 +11613,8 @@ Run 157 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.027948s Sys=0.000000s - User TOT = 0.25 Real TOT = 1.74635 + User=0.000000s Real=0.024329s Sys=0.000000s + User TOT = 0.19 Real TOT = 1.66085 Summary of Run 157 : /run/geometryModified @@ -11676,8 +11683,8 @@ Run 158 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.024466s Sys=0.010000s - User TOT = 0.25 Real TOT = 1.77194 + User=0.000000s Real=0.022376s Sys=0.000000s + User TOT = 0.19 Real TOT = 1.68338 Summary of Run 158 : /run/geometryModified @@ -11746,8 +11753,8 @@ Run 159 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.039757s Sys=0.000000s - User TOT = 0.25 Real TOT = 1.81197 + User=0.000000s Real=0.029431s Sys=0.000000s + User TOT = 0.19 Real TOT = 1.71296 Summary of Run 159 : /run/geometryModified @@ -11816,8 +11823,8 @@ Run 160 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.032236s Sys=0.000000s - User TOT = 0.25 Real TOT = 1.84436 + User=0.010000s Real=0.033199s Sys=0.000000s + User TOT = 0.2 Real TOT = 1.7463 Summary of Run 160 : /run/geometryModified @@ -11886,8 +11893,8 @@ Run 161 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.029258s Sys=0.000000s - User TOT = 0.25 Real TOT = 1.87432 + User=0.000000s Real=0.032694s Sys=0.000000s + User TOT = 0.2 Real TOT = 1.77916 Summary of Run 161 : /run/geometryModified @@ -11956,8 +11963,8 @@ Run 162 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.026001s Sys=0.000000s - User TOT = 0.26 Real TOT = 1.90048 + User=0.000000s Real=0.045133s Sys=0.000000s + User TOT = 0.2 Real TOT = 1.82443 Summary of Run 162 : /run/geometryModified @@ -12026,8 +12033,8 @@ Run 163 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.026111s Sys=0.000000s - User TOT = 0.26 Real TOT = 1.9268 + User=0.010000s Real=0.028667s Sys=0.000000s + User TOT = 0.21 Real TOT = 1.85329 Summary of Run 163 : /run/geometryModified @@ -12096,8 +12103,8 @@ Run 164 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.023117s Sys=0.000000s - User TOT = 0.26 Real TOT = 1.95021 + User=0.000000s Real=0.030505s Sys=0.000000s + User TOT = 0.21 Real TOT = 1.88396 Summary of Run 164 : /run/geometryModified @@ -12166,8 +12173,8 @@ Run 165 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.028969s Sys=0.000000s - User TOT = 0.26 Real TOT = 1.97934 + User=0.000000s Real=0.031160s Sys=0.000000s + User TOT = 0.21 Real TOT = 1.91529 Summary of Run 165 : /run/geometryModified @@ -12236,8 +12243,8 @@ Run 166 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.029609s Sys=0.000000s - User TOT = 0.27 Real TOT = 2.00931 + User=0.010000s Real=0.034018s Sys=0.000000s + User TOT = 0.22 Real TOT = 1.94945 Summary of Run 166 : /run/geometryModified @@ -12306,8 +12313,8 @@ Run 167 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.021767s Sys=0.010000s - User TOT = 0.27 Real TOT = 2.03122 + User=0.000000s Real=0.018352s Sys=0.000000s + User TOT = 0.22 Real TOT = 1.96796 Summary of Run 167 : /run/geometryModified @@ -12376,8 +12383,8 @@ Run 168 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.023849s Sys=0.000000s - User TOT = 0.27 Real TOT = 2.05537 + User=0.000000s Real=0.019410s Sys=0.000000s + User TOT = 0.22 Real TOT = 1.98751 Summary of Run 168 : /run/geometryModified @@ -12446,8 +12453,8 @@ Run 169 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.020970s Sys=0.000000s - User TOT = 0.27 Real TOT = 2.07649 + User=0.010000s Real=0.020272s Sys=0.010000s + User TOT = 0.23 Real TOT = 2.00812 Summary of Run 169 : /run/geometryModified @@ -12516,8 +12523,8 @@ Run 170 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.026763s Sys=0.000000s - User TOT = 0.27 Real TOT = 2.10403 + User=0.000000s Real=0.033094s Sys=0.000000s + User TOT = 0.23 Real TOT = 2.04139 Summary of Run 170 : /run/geometryModified @@ -12586,8 +12593,8 @@ Run 171 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.026362s Sys=0.000000s - User TOT = 0.27 Real TOT = 2.13055 + User=0.000000s Real=0.032862s Sys=0.000000s + User TOT = 0.23 Real TOT = 2.07441 Summary of Run 171 : /run/geometryModified @@ -12656,8 +12663,8 @@ Run 172 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.027074s Sys=0.000000s - User TOT = 0.27 Real TOT = 2.15778 + User=0.010000s Real=0.031598s Sys=0.000000s + User TOT = 0.24 Real TOT = 2.10616 Summary of Run 172 : /run/geometryModified @@ -12726,8 +12733,8 @@ Run 173 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.023031s Sys=0.000000s - User TOT = 0.28 Real TOT = 2.18095 + User=0.000000s Real=0.036844s Sys=0.000000s + User TOT = 0.24 Real TOT = 2.14317 Summary of Run 173 : /run/geometryModified @@ -12796,8 +12803,8 @@ Run 174 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.030257s Sys=0.000000s - User TOT = 0.28 Real TOT = 2.21136 + User=0.000000s Real=0.024410s Sys=0.000000s + User TOT = 0.24 Real TOT = 2.16775 Summary of Run 174 : /run/geometryModified @@ -12866,8 +12873,8 @@ Run 175 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.027670s Sys=0.010000s - User TOT = 0.28 Real TOT = 2.23922 + User=0.010000s Real=0.029578s Sys=0.000000s + User TOT = 0.25 Real TOT = 2.19751 Summary of Run 175 : /run/geometryModified @@ -12936,8 +12943,8 @@ Run 176 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.020998s Sys=0.000000s - User TOT = 0.28 Real TOT = 2.26037 + User=0.000000s Real=0.028458s Sys=0.000000s + User TOT = 0.25 Real TOT = 2.22612 Summary of Run 176 : /run/geometryModified @@ -13006,8 +13013,8 @@ Run 177 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.021573s Sys=0.000000s - User TOT = 0.28 Real TOT = 2.28233 + User=0.000000s Real=0.021181s Sys=0.000000s + User TOT = 0.25 Real TOT = 2.24755 Summary of Run 177 : /run/geometryModified @@ -13076,8 +13083,8 @@ Run 178 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.025613s Sys=0.000000s - User TOT = 0.28 Real TOT = 2.30818 + User=0.000000s Real=0.025841s Sys=0.000000s + User TOT = 0.25 Real TOT = 2.27394 Summary of Run 178 : /run/geometryModified @@ -13146,8 +13153,8 @@ Run 179 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.030939s Sys=0.000000s - User TOT = 0.28 Real TOT = 2.33926 + User=0.010000s Real=0.016074s Sys=0.000000s + User TOT = 0.26 Real TOT = 2.2905 Summary of Run 179 : /run/geometryModified @@ -13216,8 +13223,8 @@ Run 180 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.028070s Sys=0.000000s - User TOT = 0.28 Real TOT = 2.36749 + User=0.000000s Real=0.027036s Sys=0.010000s + User TOT = 0.26 Real TOT = 2.31767 Summary of Run 180 : /run/geometryModified @@ -13286,8 +13293,8 @@ Run 181 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.017945s Sys=0.010000s - User TOT = 0.28 Real TOT = 2.38558 + User=0.000000s Real=0.035578s Sys=0.000000s + User TOT = 0.26 Real TOT = 2.35339 Summary of Run 181 : /run/geometryModified @@ -13356,8 +13363,8 @@ Run 182 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.165730s Sys=0.130000s - User TOT = 0.29 Real TOT = 2.55147 + User=0.000000s Real=0.020046s Sys=0.000000s + User TOT = 0.26 Real TOT = 2.3737 Summary of Run 182 : /run/geometryModified @@ -13426,8 +13433,8 @@ Run 183 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.007451s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.55906 + User=0.000000s Real=0.022894s Sys=0.000000s + User TOT = 0.26 Real TOT = 2.39697 Summary of Run 183 : /run/geometryModified @@ -13496,8 +13503,8 @@ Run 184 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.006630s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.56591 + User=0.010000s Real=0.032354s Sys=0.000000s + User TOT = 0.27 Real TOT = 2.4295 Summary of Run 184 : /run/geometryModified @@ -13566,8 +13573,8 @@ Run 185 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003615s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.5698 + User=0.000000s Real=0.024440s Sys=0.000000s + User TOT = 0.27 Real TOT = 2.45408 Summary of Run 185 : /run/geometryModified @@ -13636,8 +13643,8 @@ Run 186 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002779s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.57278 + User=0.000000s Real=0.032411s Sys=0.000000s + User TOT = 0.27 Real TOT = 2.48674 Summary of Run 186 : /run/geometryModified @@ -13706,8 +13713,8 @@ Run 187 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002801s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.57578 + User=0.010000s Real=0.034961s Sys=0.000000s + User TOT = 0.28 Real TOT = 2.52185 Summary of Run 187 : /run/geometryModified @@ -13776,8 +13783,8 @@ Run 188 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.003061s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.57904 + User=0.000000s Real=0.021464s Sys=0.000000s + User TOT = 0.28 Real TOT = 2.54345 Summary of Run 188 : /run/geometryModified @@ -13846,8 +13853,8 @@ Run 189 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.005382s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.58486 + User=0.000000s Real=0.030114s Sys=0.010000s + User TOT = 0.28 Real TOT = 2.5739 Summary of Run 189 : /run/geometryModified @@ -13916,8 +13923,8 @@ Run 190 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.004742s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.58983 + User=0.000000s Real=0.023125s Sys=0.000000s + User TOT = 0.28 Real TOT = 2.59717 Summary of Run 190 : /run/geometryModified @@ -13986,8 +13993,8 @@ Run 191 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.018313s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.60846 + User=0.010000s Real=0.023255s Sys=0.000000s + User TOT = 0.29 Real TOT = 2.62057 Summary of Run 191 : /run/geometryModified @@ -14056,8 +14063,8 @@ Run 192 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.024553s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.63323 + User=0.000000s Real=0.032503s Sys=0.000000s + User TOT = 0.29 Real TOT = 2.65324 Summary of Run 192 : /run/geometryModified @@ -14126,8 +14133,8 @@ Run 193 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.020695s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.65409 + User=0.000000s Real=0.012626s Sys=0.000000s + User TOT = 0.29 Real TOT = 2.66605 Summary of Run 193 : /run/geometryModified @@ -14196,8 +14203,8 @@ Run 194 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.028393s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.68264 + User=0.000000s Real=0.021034s Sys=0.000000s + User TOT = 0.29 Real TOT = 2.68723 Summary of Run 194 : /run/geometryModified @@ -14266,8 +14273,8 @@ Run 195 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.029216s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.712 + User=0.010000s Real=0.017846s Sys=0.000000s + User TOT = 0.3 Real TOT = 2.70523 Summary of Run 195 : /run/geometryModified @@ -14336,8 +14343,8 @@ Run 196 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.028754s Sys=0.000000s - User TOT = 0.29 Real TOT = 2.74096 + User=0.000000s Real=0.029729s Sys=0.000000s + User TOT = 0.3 Real TOT = 2.73509 Summary of Run 196 : /run/geometryModified @@ -14406,8 +14413,8 @@ Run 197 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.010000s Real=0.030653s Sys=0.000000s - User TOT = 0.3 Real TOT = 2.7718 + User=0.000000s Real=0.018778s Sys=0.000000s + User TOT = 0.3 Real TOT = 2.754 Summary of Run 197 : /run/geometryModified @@ -14476,8 +14483,8 @@ Run 198 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.027456s Sys=0.000000s - User TOT = 0.3 Real TOT = 2.79942 + User=0.010000s Real=0.021035s Sys=0.000000s + User TOT = 0.31 Real TOT = 2.77525 Summary of Run 198 : /run/geometryModified @@ -14546,8 +14553,8 @@ Run 199 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.024246s Sys=0.010000s - User TOT = 0.3 Real TOT = 2.82383 + User=0.000000s Real=0.019236s Sys=0.000000s + User TOT = 0.31 Real TOT = 2.79464 Summary of Run 199 : /run/geometryModified @@ -14616,13 +14623,13 @@ Run 200 starts ... Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.033875s Sys=0.000000s - User TOT = 0.3 Real TOT = 2.85789 + User=0.000000s Real=0.028526s Sys=0.000000s + User TOT = 0.31 Real TOT = 2.82329 Summary of Run 200 : /score/dumpQuantityToFile boxMesh_1 eDep eDep_scorer.out Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 0.056 MB +Number of memory pools allocated: 10 of which, static: 0 +Dynamic pools deleted: 10 / Total memory freed: 0.046 MB ============================================================ diff --git a/examples/advanced/gammaray_telescope/gammaraytel.out b/examples/advanced/gammaray_telescope/gammaraytel.out index bf7db5bdcfd..35793967cd1 100644 --- a/examples/advanced/gammaray_telescope/gammaraytel.out +++ b/examples/advanced/gammaray_telescope/gammaraytel.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -402,7 +409,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -679,6 +686,7 @@ CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1 PHP check 1 CHECK HP NAMES 0 Enable DEBUG 0 + Use probability tables from njoy ======================================================= @@@ G4ParticleHPInelastic instantiated for particle neutron/n data directory is /cvmfs/geant4.cern.ch/share/data/G4NDL4.7.1/Inelastic @@ -757,7 +765,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n Model: FTFP: 3 GeV/n ---> 100 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV - Process: Radioactivation + Process: RadioactiveDecay ----------------------------------------------------------------------- Hadronic Processes for He3 Process: hadElastic @@ -951,7 +959,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n Model: FTFP: 3 GeV/n ---> 100 TeV/n Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV - Process: Radioactivation + Process: RadioactiveDecay ======================================================================= ====== Geant4 Native Pre-compound Model Parameters ======== ======================================================================= @@ -976,7 +984,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1000 ps Isomer production flag 1 Internal e- conversion flag 1 @@ -1195,7 +1203,7 @@ Using G4ParticleGun... Particle energy: 3.56869 LIN Particle: proton Event: 5 -Number of tracker hits in this event: 24 +Number of tracker hits in this event: 28 5 90.9818 609 10 1 -58.1071 80.6338 95.55 5 126.295 1302 10 0 -58.107 80.6353 94.15 5 119.331 609 9 1 -58.1056 80.6669 65.55 @@ -1212,3716 +1220,4145 @@ Number of tracker hits in this event: 24 5 177.999 1304 4 0 -58.1162 80.9382 -85.85 5 99.7251 609 3 1 -58.0624 81.0392 -114.45 5 162.128 1304 3 0 -58.0613 81.0421 -115.85 - 5 182.915 610 2 1 -58.0371 81.0965 -144.45 + 5 220.446 610 2 1 -58.0371 81.0965 -144.45 5 145.348 1305 2 0 -58.0368 81.0999 -145.85 5 119.874 610 1 1 -58.0376 81.1722 -174.45 5 94.9898 1305 1 0 -58.0385 81.1772 -175.85 5 126.395 609 0 1 -58.0558 81.282 -204.45 5 124.993 1306 0 0 -58.056 81.2888 -205.85 - 5 11.0127 1308 2 0 -57.8035 81.8257 -145.85 - 5 287.254 1309 2 0 -57.7964 81.85 -145.881 -Number of digits in this event: 16 + 5 31.2144 1040 3 1 28.1462 81.0573 -114.719 + 5 54.2379 540 9 0 22.5184 -71.8993 63.9855 + 5 24.783 1159 3 0 171.114 51.8558 -115.978 + 5 3.34496 1381 2 0 -56.3835 96.3903 -145.85 + 5 282.932 619 2 1 -56.066 100.842 -144.85 + 5 277.328 620 2 1 -56.05 101.113 -144.453 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 8.57708 LIN +Particle energy: 1.94139 LIN Particle: proton Event: 6 -Number of tracker hits in this event: 22 - 6 106.336 1142 10 1 48.5454 104.591 95.55 - 6 101.093 1422 10 0 48.5458 104.592 94.15 - 6 113.631 1142 9 1 48.5541 104.602 65.55 - 6 123.056 1422 9 0 48.5538 104.602 64.15 - 6 109.487 1142 8 1 48.5446 104.603 35.55 - 6 175.363 1422 8 0 48.5436 104.603 34.15 - 6 106.505 1142 7 1 48.5217 104.592 5.55 - 6 112.584 1422 7 0 48.5206 104.592 4.15 - 6 140.957 1142 6 1 48.4964 104.578 -24.45 - 6 143.076 1422 6 0 48.496 104.578 -25.85 - 6 97.8924 1142 5 1 48.488 104.573 -54.45 - 6 177.284 1422 5 0 48.4877 104.573 -55.85 - 6 121.876 1142 4 1 48.4805 104.559 -84.45 - 6 217.564 1422 4 0 48.4807 104.558 -85.85 - 6 159.553 1142 3 1 48.4869 104.531 -114.45 - 6 134.319 1421 3 0 48.4872 104.529 -115.85 - 6 118.97 1142 2 1 48.4918 104.492 -144.45 - 6 106.377 1421 2 0 48.4911 104.49 -145.85 - 6 128.232 1142 1 1 48.4763 104.45 -174.45 - 6 265.402 1421 1 0 48.4751 104.448 -175.85 - 6 153.866 1142 0 1 48.4513 104.409 -204.45 - 6 152.354 1421 0 0 48.4513 104.407 -205.85 -Number of digits in this event: 14 +Number of tracker hits in this event: 33 + 6 115.328 729 11 1 -34.1362 -54.6905 125.55 + 6 109.378 626 11 0 -34.1379 -54.6905 124.15 + 6 113.847 729 10 1 -34.1674 -54.6965 95.55 + 6 121.312 626 10 0 -34.1786 -54.6883 94.15 + 6 110.696 728 9 1 -34.399 -54.5345 65.55 + 6 104.621 627 9 0 -34.4078 -54.5298 64.15 + 6 107.731 727 8 1 -34.5909 -54.4503 35.55 + 6 110.985 628 8 0 -34.6011 -54.4461 34.15 + 6 352.94 726 7 1 -34.8131 -54.3615 5.55 + 6 114.138 628 7 0 -34.8213 -54.3542 4.15 + 6 105.45 725 6 1 -34.998 -54.2091 -24.45 + 6 130.362 629 6 0 -35.0109 -54.2034 -25.85 + 6 100.645 723 5 1 -35.269 -54.0897 -54.45 + 6 206.765 629 5 0 -35.2845 -54.0874 -55.85 + 6 133.217 722 4 1 -35.5931 -54.031 -84.45 + 6 131.61 630 4 0 -35.6064 -54.0279 -85.85 + 6 106.775 720 3 1 -35.8865 -53.9687 -114.45 + 6 107.045 630 3 0 -35.9043 -53.9648 -115.85 + 6 297.862 718 2 1 -36.2742 -53.8824 -144.45 + 6 125.099 630 2 0 -36.2918 -53.8788 -145.85 + 6 80.9925 717 1 1 -36.648 -53.8181 -174.45 + 6 54.0795 716 1 1 -36.65 -53.8183 -174.655 + 6 118.157 631 1 0 -36.6613 -53.8194 -175.85 + 6 121.177 715 0 1 -36.9334 -53.8611 -204.45 + 6 102.594 630 0 0 -36.944 -53.8611 -205.85 + 6 106.59 628 5 0 -35.426 -54.2501 -56.124 + 6 53.5069 627 5 0 -35.6096 -54.45 -56.2025 + 6 287.034 395 5 0 17.6571 -101.029 -56.25 + 6 101.559 727 7 1 -34.65 -54.541 5.21945 + 6 392.43 618 7 0 -33.7624 -56.3088 4.15 + 6 73.5881 625 8 0 -35.124 -54.9211 34.15 + 6 39.112 624 8 0 -35.1197 -55.0501 34.0629 + 6 253.271 723 8 1 -35.2516 -55.1895 35.15 +Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 3.51582 LIN +Particle energy: 4.66535 LIN Particle: proton Event: 7 -Number of tracker hits in this event: 23 - 7 144.167 783 10 1 -23.3766 -103.663 95.55 - 7 273.835 382 10 0 -23.3764 -103.662 94.15 - 7 116.903 783 9 1 -23.3644 -103.659 65.55 - 7 126.002 382 9 0 -23.3619 -103.657 64.15 - 7 187.506 783 8 1 -23.3117 -103.629 35.55 - 7 98.1122 382 8 0 -23.308 -103.628 34.15 - 7 96.7616 784 7 1 -23.2329 -103.618 5.55 - 7 99.7833 382 7 0 -23.2276 -103.619 4.15 - 7 151.228 784 6 1 -23.119 -103.648 -24.45 - 7 104.881 382 6 0 -23.1147 -103.649 -25.85 - 7 111.668 785 5 1 -23.0256 -103.689 -54.45 - 7 127.688 382 5 0 -23.0184 -103.69 -55.85 - 7 111.77 785 4 1 -22.8653 -103.704 -84.45 - 7 124.909 382 4 0 -22.8588 -103.706 -85.85 - 7 114.762 786 3 1 -22.7387 -103.76 -114.45 - 7 128.872 381 3 0 -22.7335 -103.764 -115.85 - 7 135.88 787 2 1 -22.6276 -103.83 -144.45 - 7 98.8241 381 2 0 -22.6237 -103.834 -145.85 - 7 159.735 787 1 1 -22.5349 -103.925 -174.45 - 7 108.713 381 1 0 -22.5296 -103.929 -175.85 - 7 91.0329 788 0 1 -22.4177 -104.014 -204.45 - 7 106.839 380 0 0 -22.4095 -104.018 -205.85 - 7 117.148 382 3 0 -22.7485 -103.75 -115.983 -Number of digits in this event: 11 +Number of tracker hits in this event: 21 + 7 106.87 309 9 1 -118.257 -28.0024 65.55 + 7 118.706 760 9 0 -118.259 -28.0032 64.15 + 7 123.812 309 8 1 -118.293 -28.017 35.55 + 7 99.9449 760 8 0 -118.297 -28.0162 34.15 + 7 111.621 308 7 1 -118.38 -28.0011 5.55 + 7 117.953 760 7 0 -118.385 -28.0027 4.15 + 7 143.756 308 6 1 -118.479 -28.0331 -24.45 + 7 181.276 760 6 0 -118.483 -28.036 -25.85 + 7 133.117 307 5 1 -118.568 -28.0953 -54.45 + 7 129.22 759 5 0 -118.572 -28.0969 -55.85 + 7 195.047 307 4 1 -118.654 -28.13 -84.45 + 7 153.271 759 4 0 -118.658 -28.1325 -85.85 + 7 96.6492 307 3 1 -118.744 -28.1801 -114.45 + 7 115.189 759 3 0 -118.745 -28.1823 -115.85 + 7 120.771 306 2 1 -118.775 -28.2306 -144.45 + 7 143.188 759 2 0 -118.777 -28.2327 -145.85 + 7 125.702 306 1 1 -118.821 -28.2824 -174.45 + 7 166.201 758 1 0 -118.823 -28.2848 -175.85 + 7 98.6578 306 0 1 -118.875 -28.3392 -204.45 + 7 121.513 758 0 0 -118.878 -28.3441 -205.85 + 7 163.692 750 4 0 -54.5321 -29.9972 -86.25 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 4.98401 LIN +Particle energy: 9.49051 LIN Particle: proton Event: 8 -Number of tracker hits in this event: 300 - 8 118.487 859 11 1 -8.19229 17.429 125.55 - 8 164.034 986 11 0 -8.1922 17.4291 124.15 - 8 210.614 859 10 1 -8.18855 17.429 95.55 - 8 92.2041 986 10 0 -8.18714 17.4291 94.15 - 8 93.3106 859 9 1 -8.15109 17.4242 65.55 - 8 109.492 986 9 0 -8.14953 17.4245 64.15 - 8 124.995 859 8 1 -8.11772 17.4362 35.55 - 8 116.941 986 8 0 -8.11664 17.4369 34.15 - 8 111.499 859 7 1 -8.09311 17.4548 5.55 - 8 101.742 987 7 0 -8.09022 17.4558 4.15 - 8 32263.7 860 6 1 -8.03235 17.4711 -24.45 - 8 14204.4 859 6 1 -8.05 17.4695 -24.4842 - 8 1980.49 996 6 0 -7.38314 19.3661 -25.85 - 8 5584.15 997 6 0 -7.35518 19.45 -25.9138 - 8 53.8229 861 6 1 -7.85 17.5703 -24.4535 - 8 489.023 1509 7 0 155.069 122.064 3.75 - 8 1049.17 1510 7 0 155.204 122.15 3.77331 - 8 1204.45 1511 7 0 155.514 122.35 3.82666 - 8 1218.84 1512 7 0 155.827 122.55 3.88101 - 8 1337.6 1513 7 0 156.141 122.75 3.93254 - 8 1096.89 1514 7 0 156.458 122.95 3.98418 - 8 1002.32 1515 7 0 156.755 123.15 4.03267 - 8 1231.36 1516 7 0 157.056 123.35 4.08441 - 8 419.413 1517 7 0 157.357 123.55 4.1331 - 8 538.586 1721 7 1 164.421 128.271 5.15 - 8 855.323 1722 7 1 164.55 128.357 5.16856 - 8 869.841 1723 7 1 164.75 128.491 5.19757 - 8 857.861 1724 7 1 164.95 128.623 5.23102 - 8 850.062 1725 7 1 165.15 128.762 5.26434 - 8 881.08 1726 7 1 165.35 128.899 5.29771 - 8 871.745 1727 7 1 165.55 129.035 5.33112 - 8 892.737 1728 7 1 165.75 129.173 5.36597 - 8 955.15 1729 7 1 165.95 129.313 5.40085 - 8 941.184 1730 7 1 166.15 129.452 5.43556 - 8 952.024 1731 7 1 166.35 129.589 5.4686 - 8 773.11 1732 7 1 166.55 129.726 5.49851 - 8 959.37 1733 7 1 166.75 129.862 5.526 - 8 9.1832 989 6 0 -8.28366 18.0364 -25.85 - 8 119.924 990 6 0 -8.28972 18.05 -25.8827 - 8 86.3999 832 5 1 -13.6093 29.9562 -54.45 - 8 47.2479 831 5 1 -13.65 30.0459 -54.6667 - 8 108.939 1052 5 0 -13.8718 30.5346 -55.85 - 8 33.2221 1053 5 0 -13.9242 30.65 -56.1296 - 8 58.6869 804 4 1 -19.218 42.3261 -84.45 - 8 96.7993 803 4 1 -19.25 42.3955 -84.6172 - 8 115.976 1114 4 0 -19.4852 42.9069 -85.85 - 8 25.4388 1115 4 0 -19.5509 43.05 -86.1948 - 8 120.622 775 3 1 -24.9235 54.7559 -114.45 - 8 77.3779 1176 3 0 -25.1916 55.3434 -115.85 - 8 80.5181 1177 3 0 -25.2402 55.45 -116.104 - 8 148.725 746 2 1 -30.6655 67.3422 -144.45 - 8 79.8584 1239 2 0 -30.9207 67.9322 -145.85 - 8 32.554 1240 2 0 -30.9716 68.05 -146.129 - 8 118.5 719 1 1 -36.1274 80.0196 -174.45 - 8 24.4665 1302 1 0 -36.3791 80.6067 -175.85 - 8 184.223 1303 1 0 -36.3977 80.65 -175.953 - 8 116.761 692 0 1 -41.5112 92.5805 -204.45 - 8 131.59 1365 0 0 -41.7624 93.1705 -205.85 - 8 1645.45 858 6 1 -8.25 16.9165 -24.5672 - 8 1667.12 857 6 1 -8.45 16.3993 -24.6396 - 8 1721.17 856 6 1 -8.65 15.9073 -24.7088 - 8 1986.59 855 6 1 -8.85 15.4005 -24.7735 - 8 769.375 854 6 1 -9.05 14.8516 -24.8255 - 8 37.6976 931 6 0 -12.4506 6.25754 -25.85 - 8 786.778 930 6 0 -12.4536 6.25 -25.8509 - 8 835.941 929 6 0 -12.5324 6.05 -25.8739 - 8 765.239 928 6 0 -12.6103 5.85 -25.8951 - 8 794.257 927 6 0 -12.6893 5.65 -25.9157 - 8 827.205 926 6 0 -12.7682 5.45 -25.938 - 8 926.127 925 6 0 -12.8401 5.25 -25.9614 - 8 857.761 924 6 0 -12.9089 5.05 -25.9839 - 8 1035.31 923 6 0 -12.9767 4.85 -26.0071 - 8 833.154 922 6 0 -13.046 4.65 -26.0311 - 8 972.032 921 6 0 -13.1172 4.45 -26.0584 - 8 1068.13 920 6 0 -13.1925 4.25 -26.086 - 8 1102.77 919 6 0 -13.2631 4.05 -26.1095 - 8 1069.89 918 6 0 -13.3311 3.85 -26.1296 - 8 1173.13 917 6 0 -13.3986 3.65 -26.1511 - 8 1166.22 916 6 0 -13.4628 3.45 -26.1739 - 8 1413.59 915 6 0 -13.5228 3.25 -26.2003 - 8 795.771 914 6 0 -13.5814 3.05 -26.2308 - 8 498.875 987 6 0 -8.29474 17.5088 -25.85 - 8 343.905 830 5 1 -14.0039 18.4657 -54.45 - 8 257.371 829 5 1 -14.05 18.4674 -54.6485 - 8 540.98 992 5 0 -14.3342 18.4764 -55.85 - 8 75.3575 794 4 1 -21.2355 18.6431 -84.45 - 8 542.76 793 4 1 -21.25 18.6441 -84.5022 - 8 505.249 993 4 0 -21.62 18.6715 -85.85 - 8 441.443 753 3 1 -29.3592 19.1357 -114.45 - 8 113.657 752 3 1 -29.45 19.1577 -114.773 - 8 754.725 995 3 0 -29.7592 19.2201 -115.85 - 8 397.584 710 2 1 -37.9684 20.9376 -144.45 - 8 192.86 709 2 1 -38.05 20.9554 -144.737 - 8 771.888 1004 2 0 -38.3615 21.0251 -145.85 - 8 4.11199 1005 2 0 -38.4723 21.05 -146.246 - 8 357.107 668 1 1 -46.3884 22.6807 -174.45 - 8 368.23 667 1 1 -46.45 22.6914 -174.666 - 8 595.545 1013 1 0 -46.7926 22.7592 -175.85 - 8 392.205 624 0 1 -55.1688 24.4305 -204.45 - 8 261.938 623 0 1 -55.25 24.4363 -204.712 - 8 713.427 1022 0 0 -55.5983 24.4576 -205.85 - 8 113.464 1154 7 0 83.9199 50.9402 3.75 - 8 161.302 1155 7 0 84.3018 51.05 3.87717 - 8 275.504 1156 7 0 84.7802 51.25 4.04213 - 8 2.86117 1344 7 1 89.0362 52.2973 5.15003 - 8 49.6734 1345 7 1 89.0503 52.3006 5.15362 - 8 54.326 1346 7 1 89.25 52.3442 5.20121 - 8 57.978 1347 7 1 89.45 52.3867 5.23834 - 8 52.7387 1348 7 1 89.6501 52.4201 5.2773 - 8 73.3485 1349 7 1 89.8502 52.4507 5.31453 - 8 73.8813 1350 7 1 90.15 52.5037 5.37431 - 8 51.062 1351 7 1 90.35 52.5706 5.42256 - 8 66.2115 1352 7 1 90.55 52.6408 5.47443 - 8 30.7676 1353 7 1 90.75 52.7164 5.5219 - 8 64.3649 1104 8 0 109.702 40.8894 33.7503 - 8 80.7539 1103 8 0 109.754 40.8499 33.8094 - 8 71.963 1102 8 0 109.875 40.65 33.964 - 8 2.00375 1101 8 0 109.817 40.4497 34.1451 - 8 799.65 1447 8 1 109.69 39.2182 35.15 - 8 1.22915 1446 8 1 109.545 38.1299 35.55 - 8 123.519 102 12 0 75.0903 -159.55 153.847 - 8 87.51 101 12 0 75.1459 -159.75 153.802 - 8 146.117 1157 7 0 85.0079 51.45 4.1111 - 8 203.33 1085 7 0 43.387 37.0572 3.75 - 8 191.649 1086 7 0 43.841 37.25 3.90959 - 8 114.681 1087 7 0 44.4038 37.45 4.05004 - 8 301.066 1140 7 1 48.1464 38.6071 5.15007 - 8 137.959 1141 7 1 48.25 38.6394 5.17731 - 8 205.264 1142 7 1 48.45 38.6977 5.23126 - 8 160.042 1139 7 1 48.05 38.2772 5.49133 - 8 61.6409 1138 7 1 47.8497 38.1884 5.43782 - 8 232.487 1137 7 1 47.65 38.1061 5.33998 - 8 61.9442 1136 7 1 47.45 38.0141 5.24263 - 8 15.1546 1135 7 1 47.25 37.9172 5.15678 - 8 169.491 1084 7 0 45.6981 37.05 4.05192 - 8 71.1557 1083 7 0 45.3917 36.85 3.8736 - 8 13.3471 1082 7 0 45.1699 36.65 3.76669 - 8 111.02 843 7 0 -40.8811 -11.4386 3.75014 - 8 114.474 844 7 0 -41.025 -11.2499 3.96522 - 8 46.6918 845 7 0 -41.0328 -11.05 3.83973 - 8 8.99673 755 7 0 -2.25194 -29.0333 3.75018 - 8 281.319 754 7 0 -2.24232 -29.0501 3.76591 - 8 113.78 1168 7 0 138.366 53.7851 3.92827 - 8 357.164 1169 7 0 138.454 53.85 3.90703 - 8 410.881 1170 7 0 138.737 54.05 3.86894 - 8 60.3418 1648 7 1 149.824 57.1825 5.15004 - 8 52.9623 1649 7 1 149.95 57.2201 5.16421 - 8 57.7728 1650 7 1 150.15 57.2787 5.18589 - 8 86.4169 1651 7 1 150.35 57.3406 5.20338 - 8 47.9259 1652 7 1 150.55 57.3965 5.22107 - 8 58.6023 1653 7 1 150.75 57.458 5.23165 - 8 65.2232 1654 7 1 150.951 57.5191 5.23924 - 8 51.5762 1655 7 1 151.151 57.5713 5.24652 - 8 48.3878 1656 7 1 151.35 57.623 5.2541 - 8 57.5801 1657 7 1 151.55 57.6812 5.26474 - 8 50.1684 1658 7 1 151.75 57.7386 5.27725 - 8 63.5739 1659 7 1 151.95 57.7915 5.28978 - 8 55.2256 1660 7 1 152.15 57.8382 5.30283 - 8 45.1727 1661 7 1 152.35 57.8825 5.31173 - 8 173.656 1662 7 1 152.55 57.9299 5.31549 - 8 58.3522 1663 7 1 152.75 57.9849 5.31276 - 8 47.6102 1664 7 1 152.95 58.0396 5.31127 - 8 125.254 1665 7 1 153.15 58.087 5.30663 - 8 218.529 1666 7 1 153.35 58.1295 5.29103 - 8 110.022 1667 7 1 153.55 58.1726 5.27335 - 8 58.0767 1668 7 1 153.75 58.2223 5.26053 - 8 50.201 1669 7 1 153.95 58.2775 5.24965 - 8 94.8496 1670 7 1 154.15 58.3313 5.24362 - 8 50.3464 1671 7 1 154.35 58.3831 5.23968 - 8 55.1797 1672 7 1 154.55 58.4357 5.23355 - 8 72.9198 1673 7 1 154.75 58.4871 5.2284 - 8 45.9717 1674 7 1 154.95 58.5385 5.22086 - 8 74.2085 1675 7 1 155.15 58.5906 5.2133 - 8 51.9901 1676 7 1 155.35 58.642 5.2132 - 8 60.5643 1677 7 1 155.55 58.6912 5.21069 - 8 52.953 1678 7 1 155.75 58.7419 5.20758 - 8 72.2126 1679 7 1 155.95 58.7979 5.19892 - 8 81.3462 1680 7 1 156.15 58.8548 5.18497 - 8 103.601 1681 7 1 156.35 58.9118 5.17149 - 8 259.567 1682 7 1 156.55 58.9724 5.1612 - 8 63.8287 1683 7 1 156.75 59.0286 5.15272 - 8 124.467 1227 7 0 178.547 65.5547 4.15 - 8 179.519 1228 7 0 178.867 65.65 4.14546 - 8 182.89 1229 7 0 179.442 65.85 4.14125 - 8 53.7874 1230 7 0 179.955 66.0501 4.11723 - 8 25.6801 217 3 1 -136.713 62.6296 -114.45 - 8 141.375 216 3 1 -136.75 62.6414 -114.476 - 8 273.264 215 3 1 -136.95 62.7054 -114.615 - 8 86.4362 214 3 1 -137.15 62.768 -114.754 - 8 384.628 1216 3 0 -138.703 63.25 -115.85 - 8 112.556 4 2 1 -179.293 75.9204 -144.45 - 8 203.471 3 2 1 -179.35 75.9408 -144.492 - 8 318.295 2 2 1 -179.55 76.0116 -144.639 - 8 291.651 1 2 1 -179.75 76.0828 -144.787 - 8 36.2121 1217 3 0 -139.147 63.45 -116.175 - 8 17.0501 6 2 1 -178.904 76.9224 -144.45 - 8 132.302 5 2 1 -178.95 76.9373 -144.485 - 8 27.3501 0 2 1 -179.95 77.3757 -144.814 - 8 292.74 985 6 0 -7.25246 17.1236 -25.85 - 8 270.417 984 6 0 -7.08753 17.05 -26.1381 - 8 107.409 945 5 1 9.06665 9.85077 -54.45 - 8 54.2352 946 5 1 9.25 9.77049 -54.7666 - 8 59.8362 947 5 0 9.8804 9.49833 -55.85 - 8 69.9782 946 5 0 9.9923 9.45 -56.0423 - 8 7.72752 1032 4 1 26.6339 2.20199 -84.45 - 8 125.982 1033 4 1 26.65 2.19482 -84.4778 - 8 7.55901 1034 4 1 26.85 2.10518 -84.8238 - 8 149.461 908 4 0 27.4443 1.84019 -85.85 - 8 132.729 1120 3 1 44.1776 -5.62346 -114.45 - 8 83.1281 1121 3 1 44.25 -5.65986 -114.579 - 8 30.9657 870 3 0 44.9877 -6.02028 -115.85 - 8 121.536 869 3 0 45.0488 -6.05 -115.955 - 8 108.299 1208 2 1 61.7135 -13.9369 -144.45 - 8 248.669 1209 2 1 61.85 -13.9999 -144.68 - 8 189.839 828 2 0 62.5485 -14.3183 -145.85 - 8 103.817 1298 1 1 79.6624 -22.23 -174.45 - 8 38.6166 1299 1 1 79.85 -22.3285 -174.758 - 8 256.077 786 1 0 80.5115 -22.6799 -175.85 - 8 4.98678 1387 0 1 97.7386 -31.8608 -204.45 - 8 141.853 1388 0 1 97.75 -31.8668 -204.469 - 8 11.9175 1389 0 1 97.95 -31.9717 -204.801 - 8 118.258 738 0 0 98.5796 -32.3031 -205.85 - 8 434.508 906 5 1 1.2594 9.0837 -54.45 - 8 117.747 943 5 0 1.65831 8.68939 -55.85 - 8 194.145 942 5 0 1.69821 8.65 -55.9903 - 8 424.137 948 4 1 9.702 0.639081 -84.45 - 8 352.732 900 4 0 10.0941 0.246313 -85.85 - 8 514.286 990 3 1 18.0643 -7.74126 -114.45 - 8 525.261 859 3 0 18.4654 -8.10486 -115.85 - 8 355.36 1033 2 1 26.7416 -15.6241 -144.45 - 8 42.4987 1034 2 1 26.85 -15.7185 -144.805 - 8 178.303 820 2 0 27.1751 -15.9992 -145.85 - 8 216.503 819 2 0 27.2339 -16.05 -146.039 - 8 1.58831 1079 1 1 36.0489 -23.7395 -174.45 - 8 327.647 1080 1 1 36.05 -23.7404 -174.453 - 8 362.795 779 1 0 36.5054 -24.1029 -175.85 - 8 350.517 1129 0 1 46.0005 -31.5099 -204.45 - 8 241.371 1130 0 1 46.05 -31.5476 -204.601 - 8 387.993 740 0 0 46.4591 -31.8575 -205.85 - 8 179.71 714 4 1 -37.1628 -37.9889 -84.45 - 8 254.371 713 4 1 -37.25 -38.3066 -84.7238 - 8 40.2888 701 4 0 -37.666 -39.7605 -85.85 - 8 76.6768 700 4 0 -37.6916 -39.85 -85.9185 - 8 83.9827 699 4 0 -37.7439 -40.0504 -86.0774 - 8 41.4198 698 4 0 -37.7911 -40.25 -86.236 - 8 71.2326 666 3 1 -46.7933 -77.258 -114.45 - 8 72.7635 667 3 1 -46.65 -77.4428 -114.529 - 8 338.762 668 3 1 -46.4499 -77.5805 -114.553 - 8 67.3375 669 3 1 -46.25 -77.7184 -114.571 - 8 46.259 670 3 1 -46.05 -77.8655 -114.594 - 8 63.6279 671 3 1 -45.85 -78.0035 -114.602 - 8 65.5323 672 3 1 -45.65 -78.1296 -114.602 - 8 130.445 673 3 1 -45.4497 -78.2536 -114.608 - 8 107.137 674 3 1 -45.25 -78.3827 -114.611 - 8 59.7576 675 3 1 -45.0497 -78.5137 -114.612 - 8 62.5766 676 3 1 -44.85 -78.6389 -114.615 - 8 96.3437 677 3 1 -44.65 -78.7743 -114.623 - 8 77.8439 678 3 1 -44.45 -78.9181 -114.622 - 8 65.36 679 3 1 -44.2499 -79.0706 -114.617 - 8 69.9553 680 3 1 -44.05 -79.2152 -114.605 - 8 114.743 681 3 1 -43.85 -79.3803 -114.576 - 8 134.261 682 3 1 -43.65 -79.5645 -114.542 - 8 142.06 683 3 1 -43.45 -79.7571 -114.508 - 8 17.3133 684 3 1 -43.25 -79.9421 -114.46 - 8 50.8032 358 4 0 -25.8225 -108.485 -86.25 - 8 191.713 357 4 0 -25.7814 -108.55 -86.1851 - 8 68.5346 356 4 0 -25.6269 -108.75 -85.975 - 8 118.164 776 4 1 -24.8364 -109.698 -84.8496 - 8 75.4723 777 4 1 -24.65 -109.945 -84.5812 - 8 62.5521 703 4 0 -37.836 -39.2917 -85.85 - 8 83.6248 702 4 0 -37.917 -39.45 -86.0198 - 8 174.307 641 3 1 -51.7346 -66.208 -114.45 - 8 162.724 640 3 1 -51.85 -66.4792 -114.719 - 8 14.2351 562 3 0 -52.3258 -67.6234 -115.85 - 8 98.3902 561 3 0 -52.3368 -67.65 -115.876 - 8 65.8754 560 3 0 -52.4194 -67.85 -116.074 - 8 163.317 580 2 1 -63.9696 -96.0933 -144.45 - 8 110.504 579 2 1 -64.05 -96.2739 -144.623 - 8 221.467 412 2 0 -64.6188 -97.5624 -145.85 - 8 93.9675 411 2 0 -64.7016 -97.75 -146.027 - 8 12.3591 410 2 0 -64.7902 -97.95 -146.216 - 8 193.647 509 1 1 -78.0908 -127.957 -174.45 - 8 199.571 252 1 0 -78.5876 -129.554 -175.85 - 8 90.0365 251 1 0 -78.6488 -129.75 -176.023 - 8 23.1036 250 1 0 -78.7118 -129.95 -176.2 - 8 145.335 456 0 1 -88.7736 -161.932 -204.45 - 8 89.5171 455 0 1 -88.85 -162.114 -204.616 - 8 52.1275 83 0 0 -89.413 -163.453 -205.85 - 8 102.312 82 0 0 -89.4539 -163.55 -205.94 - 8 43.7975 81 0 0 -89.538 -163.75 -206.124 - 8 48.5862 578 2 1 -64.4496 -97.1982 -144.85 - 8 42.8383 577 2 1 -64.45 -97.2156 -144.816 - 8 11.8253 469 3 1 -86.1011 -89.229 -114.582 - 8 26.5929 470 3 1 -86.0209 -89.3158 -114.655 - 8 7.98299 1593 12 1 138.767 86.8762 155.15 - 8 73.7051 858 10 1 -8.25002 17.6502 95.32 - 8 52.6274 995 10 0 -8.83904 19.0583 94.15 - 8 76.0369 996 10 0 -8.90739 19.25 94.0015 - 8 118.275 997 10 0 -9.01685 19.45 93.8753 - 8 15.787 998 10 0 -9.12392 19.6502 93.7808 -Number of digits in this event: 143 -Using G4ParticleGun... -Particle energy: 1.4309 LIN +Number of tracker hits in this event: 22 + 8 187.814 1086 10 1 37.2568 -101.785 95.55 + 8 91.2599 391 10 0 37.2569 -101.785 94.15 + 8 104.99 1086 9 1 37.2596 -101.777 65.55 + 8 93.551 391 9 0 37.2593 -101.777 64.15 + 8 115.818 1086 8 1 37.2508 -101.781 35.55 + 8 118.913 391 8 0 37.2496 -101.781 34.15 + 8 204.555 1085 7 1 37.2289 -101.772 5.55 + 8 100.349 391 7 0 37.2293 -101.773 4.15 + 8 97.4399 1085 6 1 37.2361 -101.787 -24.45 + 8 102.155 391 6 0 37.2361 -101.787 -25.85 + 8 166.043 1085 5 1 37.2338 -101.774 -54.45 + 8 122.628 391 5 0 37.2342 -101.774 -55.85 + 8 101.849 1085 4 1 37.2419 -101.764 -84.45 + 8 166.818 391 4 0 37.2422 -101.763 -85.85 + 8 108.547 1085 3 1 37.2487 -101.74 -114.45 + 8 103.59 392 3 0 37.2489 -101.74 -115.85 + 8 114.3 1086 2 1 37.2539 -101.728 -144.45 + 8 140.181 392 2 0 37.2539 -101.727 -145.85 + 8 91.1388 1086 1 1 37.2528 -101.716 -174.45 + 8 215.651 392 1 0 37.2527 -101.715 -175.85 + 8 150.966 1086 0 1 37.2531 -101.711 -204.45 + 8 166.482 392 0 0 37.2522 -101.71 -205.85 +Number of digits in this event: 10 +Using G4ParticleGun... +Particle energy: 8.75268 LIN Particle: proton Event: 9 -Number of tracker hits in this event: 26 - 9 115.068 808 11 1 -18.2815 48.2824 125.55 - 9 118.058 1141 11 0 -18.2807 48.2799 124.15 - 9 141.338 808 10 1 -18.2547 48.2323 95.55 - 9 151.851 1140 10 0 -18.2532 48.2293 94.15 - 9 137.502 809 9 1 -18.2184 48.1712 65.55 - 9 114.386 1140 9 0 -18.2144 48.1644 64.15 - 9 116.241 809 8 1 -18.1175 48.021 35.55 - 9 105.07 1139 8 0 -18.1121 48.0114 34.15 - 9 152.657 810 7 1 -18.0133 47.8359 5.55 - 9 119.968 1138 7 0 -18.0098 47.831 4.15 - 9 108.027 810 6 1 -17.9574 47.737 -24.45 - 9 182.123 1138 6 0 -17.9571 47.7307 -25.85 - 9 122.995 810 5 1 -17.9596 47.6042 -54.45 - 9 111.439 1137 5 0 -17.9614 47.5989 -55.85 - 9 147.924 810 4 1 -18.0092 47.4803 -84.45 - 9 153.503 1137 4 0 -18.0162 47.4714 -85.85 - 9 127.91 809 3 1 -18.1531 47.2861 -114.45 - 9 167.132 1136 3 0 -18.1613 47.273 -115.85 - 9 106.47 808 2 1 -18.3255 46.9999 -144.45 - 9 127.768 1134 2 0 -18.3336 46.9888 -145.85 - 9 123.381 807 1 1 -18.4979 46.7717 -174.45 - 9 185.399 1133 1 0 -18.5038 46.7637 -175.85 - 9 105.03 807 0 1 -18.6158 46.613 -204.45 - 9 107.701 1132 0 0 -18.6224 46.6043 -205.85 - 9 218.32 1139 6 0 -17.8969 47.85 -26.1457 - 9 147.881 808 9 1 -18.25 48.175 65.4122 -Number of digits in this event: 16 +Number of tracker hits in this event: 29 + 9 117.058 474 9 1 -85.0965 88.0761 65.55 + 9 197.48 1340 9 0 -85.0961 88.0759 64.15 + 9 106.083 474 8 1 -85.0897 88.0734 35.55 + 9 275.358 1340 8 0 -85.0888 88.073 34.15 + 9 163.425 474 7 1 -85.0695 88.0652 5.55 + 9 247.942 1340 7 0 -85.0679 88.0636 4.15 + 9 95.8014 475 6 1 -85.0334 88.0365 -24.45 + 9 97.4233 1339 6 0 -85.0318 88.0349 -25.85 + 9 204.287 475 5 1 -84.9994 88.0057 -54.45 + 9 104.157 1339 5 0 -84.998 88.0041 -55.85 + 9 108.658 475 4 1 -84.9699 87.9755 -84.45 + 9 213.34 1339 4 0 -84.9657 87.9744 -85.85 + 9 113.825 475 3 1 -84.8768 87.9532 -114.45 + 9 139.347 1339 3 0 -84.8726 87.9525 -115.85 + 9 96.5781 476 2 1 -84.7882 87.9383 -144.45 + 9 123.006 1339 2 0 -84.7842 87.9376 -145.85 + 9 114.995 476 1 1 -84.7004 87.9221 -174.45 + 9 123.498 1339 1 0 -84.6959 87.9214 -175.85 + 9 129.184 477 0 1 -84.605 87.9088 -204.45 + 9 106.94 1339 0 0 -84.6022 87.9082 -205.85 + 9 16.5742 1338 4 0 -85.0124 87.85 -86.2003 + 9 224.756 1368 4 0 -78.1097 93.9194 -86.2498 + 9 122.482 1369 4 0 -78.1298 93.95 -86.211 + 9 173.877 1367 4 0 -78.2633 93.75 -85.9558 + 9 141.103 474 5 1 -85.05 87.9603 -54.7559 + 9 37.1367 1339 7 0 -85.0459 88.05 4.06348 + 9 49.6505 1339 9 0 -85.099 88.05 63.7964 + 9 27.3405 1266 9 0 -120.177 73.2762 63.75 + 9 37.0222 1265 9 0 -120.215 73.25 63.7731 +Number of digits in this event: 15 Using G4ParticleGun... -Particle energy: 5.64813 LIN +Particle energy: 3.95747 LIN Particle: proton Event: 10 -Number of tracker hits in this event: 22 - 10 120.741 199 7 1 -140.318 -48.7057 5.55 - 10 116.033 656 7 0 -140.319 -48.7062 4.15 - 10 314.11 199 6 1 -140.339 -48.7169 -24.45 - 10 110.622 656 6 0 -140.34 -48.7174 -25.85 - 10 94.6176 198 5 1 -140.36 -48.7211 -54.45 - 10 130.708 656 5 0 -140.361 -48.7197 -55.85 - 10 94.3507 198 4 1 -140.389 -48.6933 -84.45 - 10 113.057 656 4 0 -140.389 -48.6921 -85.85 - 10 290.528 198 3 1 -140.391 -48.672 -114.45 - 10 90.7938 656 3 0 -140.39 -48.6696 -115.85 - 10 112.285 198 2 1 -140.371 -48.6207 -144.45 - 10 98.6556 657 2 0 -140.37 -48.6194 -145.85 - 10 115.618 199 1 1 -140.336 -48.5975 -174.45 - 10 125.825 657 1 0 -140.335 -48.5966 -175.85 - 10 160.865 199 0 1 -140.306 -48.5754 -204.45 - 10 106.184 657 0 0 -140.304 -48.5747 -205.85 - 10 35.9689 648 3 0 -140.321 -50.3637 -115.85 - 10 37.1451 647 3 0 -140.3 -50.45 -115.889 - 10 94.407 203 3 1 -139.491 -50.7641 -114.85 - 10 170.646 202 3 1 -139.55 -50.8412 -114.682 - 10 184.584 201 3 1 -139.75 -50.9972 -114.51 - 10 12.6617 199 3 1 -140.35 -48.7488 -114.54 -Number of digits in this event: 9 +Number of tracker hits in this event: 24 + 10 123.959 1052 10 1 30.607 -86.9567 95.55 + 10 120.221 465 10 0 30.606 -86.9568 94.15 + 10 126.47 1052 9 1 30.5869 -86.9557 65.55 + 10 96.39 465 9 0 30.5867 -86.9552 64.15 + 10 142.081 1052 8 1 30.5803 -86.9376 35.55 + 10 135.035 465 8 0 30.5796 -86.9366 34.15 + 10 106.919 1052 7 1 30.564 -86.9217 5.55 + 10 102.303 465 7 0 30.5649 -86.92 4.15 + 10 104.263 1052 6 1 30.5817 -86.8722 -24.45 + 10 124.292 465 6 0 30.5823 -86.8697 -25.85 + 10 202.027 1052 5 1 30.6011 -86.8124 -54.45 + 10 100.649 466 5 0 30.6017 -86.8113 -55.85 + 10 148.854 1052 4 1 30.6176 -86.7937 -84.45 + 10 236.096 466 4 0 30.6168 -86.7929 -85.85 + 10 112.854 1052 3 1 30.6 -86.7549 -114.45 + 10 104.001 466 3 0 30.5996 -86.7532 -115.85 + 10 98.8551 1052 2 1 30.5906 -86.7171 -144.45 + 10 130.395 466 2 0 30.5886 -86.7148 -145.85 + 10 178.856 1052 1 1 30.5519 -86.6758 -174.45 + 10 207.537 466 1 0 30.5501 -86.6731 -175.85 + 10 126.422 1052 0 1 30.52 -86.6195 -204.45 + 10 110.349 467 0 0 30.5175 -86.6192 -205.85 + 10 85.8693 1051 1 1 30.45 -86.6728 -174.471 + 10 108.217 1053 4 1 30.65 -86.8089 -84.5428 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 8.73632 LIN +Particle energy: 3.67536 LIN Particle: proton Event: 11 -Number of tracker hits in this event: 33 - 11 163.194 715 10 1 -37.0154 84.5878 95.55 - 11 130.374 1322 10 0 -37.0152 84.5881 94.15 - 11 133.543 715 9 1 -37.012 84.5958 65.55 - 11 442.917 1322 9 0 -37.0118 84.5963 64.15 - 11 111.428 715 8 1 -37.0029 84.609 35.55 - 11 237.852 1322 8 0 -37.0024 84.6082 34.15 - 11 132.595 715 7 1 -36.9897 84.5885 5.55 - 11 256.873 1322 7 0 -36.989 84.5878 4.15 - 11 102.662 715 6 1 -36.9712 84.5751 -24.45 - 11 98.6777 1322 6 0 -36.9699 84.5751 -25.85 - 11 113.225 715 5 1 -36.943 84.5736 -54.45 - 11 99.0412 1322 5 0 -36.9417 84.5738 -55.85 - 11 117.989 715 4 1 -36.9134 84.5778 -84.45 - 11 115.279 1322 4 0 -36.9113 84.5782 -85.85 - 11 182.368 715 3 1 -36.871 84.5852 -114.45 - 11 122.209 1322 3 0 -36.8703 84.5848 -115.85 - 11 138.065 715 2 1 -36.8521 84.5744 -144.45 - 11 146.795 1322 2 0 -36.8511 84.5739 -145.85 - 11 132.233 716 1 1 -36.8321 84.5661 -174.45 - 11 98.6821 1322 1 0 -36.8302 84.5658 -175.85 - 11 94.8995 716 0 1 -36.7962 84.5579 -204.45 - 11 147.73 1322 0 0 -36.7944 84.5574 -205.85 - 11 55.2025 638 9 1 -52.4164 130.267 65.55 - 11 135.209 1536 0 0 78.3577 127.459 -206.04 - 11 138.269 968 4 0 122.144 13.7953 -86.25 - 11 32.5231 1514 4 1 123.069 13.7683 -84.85 - 11 123.394 1515 4 1 123.15 13.8034 -84.7425 - 11 75.4371 411 0 1 -97.8266 62.0477 -204.45 - 11 93.4182 410 0 1 -97.95 62.0748 -204.619 - 11 172.108 409 0 1 -98.15 62.0999 -204.738 - 11 213.49 408 0 1 -98.3502 62.072 -204.74 - 11 61.109 1321 9 0 -37.1035 84.4499 63.7501 - 11 61.5635 1323 9 0 -37.0541 84.65 63.9661 -Number of digits in this event: 22 +Number of tracker hits in this event: 69 + 11 165.287 755 11 1 -28.8949 60.6983 125.55 + 11 105.744 1203 11 0 -28.8955 60.6965 124.15 + 11 127.571 755 10 1 -28.9064 60.6625 95.55 + 11 170.576 1203 10 0 -28.9047 60.6601 94.15 + 11 121.625 755 9 1 -28.8783 60.6126 65.55 + 11 84.2386 1202 9 0 -28.8791 60.61 64.15 + 11 140.561 755 8 1 -28.8965 60.5597 35.55 + 11 92.6337 1202 8 0 -28.8968 60.559 34.15 + 11 124.307 755 7 1 -28.9097 60.5358 5.55 + 11 293.872 1202 7 0 -28.9121 60.5345 4.15 + 11 117.207 755 6 1 -28.9604 60.5099 -24.45 + 11 121.724 1202 6 0 -28.9633 60.5088 -25.85 + 11 195.247 755 5 1 -29.0175 60.4812 -54.45 + 11 108.313 1202 5 0 -29.0187 60.4806 -55.85 + 11 133.567 755 4 1 -29.0451 60.4677 -84.45 + 11 118.37 1202 4 0 -29.0471 60.4679 -85.85 + 11 131.054 754 3 1 -29.0906 60.4698 -114.45 + 11 116.525 1202 3 0 -29.0941 60.4703 -115.85 + 11 118.933 754 2 1 -29.1672 60.487 -144.45 + 11 97.9658 1202 2 0 -29.1718 60.488 -145.85 + 11 114.686 753 1 1 -29.2737 60.504 -174.45 + 11 130.996 1202 1 0 -29.2782 60.5047 -175.85 + 11 125.375 753 0 1 -29.3702 60.5138 -204.45 + 11 98.0491 1202 0 0 -29.3731 60.5151 -205.85 + 11 118.452 1456 0 0 102.528 111.453 -206.25 + 11 66.9634 1455 0 0 102.752 111.35 -205.99 + 11 139.198 1414 0 1 103.061 111.544 -204.85 + 11 59.0925 1415 0 1 103.15 111.654 -204.509 + 11 28.2597 610 4 0 8.64604 -57.8509 -86.2044 + 11 17.495 1412 3 0 102.597 102.59 -116.057 + 11 236.987 1064 1 0 -98.9697 33.0206 -176.25 + 11 93.2326 1065 1 0 -98.8527 33.0506 -176.194 + 11 52.5039 553 0 1 -69.45 101.783 -204.741 + 11 0.0309672 1607 1 0 -118.334 141.55 -176.038 + 11 74.8674 342 1 1 -111.75 141.309 -174.555 + 11 81.0088 1022 5 0 -166.342 24.4929 -56.25 + 11 4.99514 302 1 1 -119.738 142.907 -174.85 + 11 218.276 301 1 1 -119.75 142.918 -174.842 + 11 187.462 300 1 1 -119.95 143.272 -174.756 + 11 100.138 1286 0 0 -44.1004 77.3381 -206.25 + 11 23.3844 1285 0 0 -44.1794 77.25 -205.946 + 11 6.30718 678 0 1 -44.4301 76.9737 -204.85 + 11 62.1867 677 0 1 -44.45 76.9708 -204.833 + 11 60.4383 676 0 1 -44.65 76.9432 -204.752 + 11 71.0048 675 0 1 -44.85 76.8682 -204.691 + 11 202.722 674 0 1 -45.05 76.8203 -204.624 + 11 60.2525 673 0 1 -45.2501 76.5708 -204.623 + 11 101.884 1281 0 0 -46.0276 76.3661 -205.85 + 11 65.072 1280 0 0 -46.2745 76.25 -206.079 + 11 23.1221 1279 0 0 -46.3366 76.05 -206.209 + 11 358.702 835 0 0 -71.1104 -12.9125 -206.25 + 11 0.286508 834 0 0 -71.0838 -13.0501 -206.247 + 11 6.87538 824 0 0 -65.9831 -15.0605 -206.25 + 11 313.34 825 0 0 -65.9802 -15.0498 -206.227 + 11 1.30107 1346 0 0 -25.4605 89.3894 -206.25 + 11 77.4257 1347 0 0 -31.4697 89.5081 -206.25 + 11 16.3652 636 2 0 163.199 -52.7522 -146.25 + 11 47.0105 754 5 1 -29.05 60.562 -54.8247 + 11 149.488 1229 5 0 -28.7412 65.8583 -55.85 + 11 108.659 1230 5 0 -28.4391 66.0501 -56.0289 + 11 296.479 1231 5 0 -28.2581 66.25 -56.0227 + 11 234.64 1311 8 0 -6.54981 82.3056 33.75 + 11 108.86 1201 11 0 -30.8772 60.3196 124.15 + 11 107.265 1200 11 0 -31.1199 60.25 124.027 + 11 146.97 1199 11 0 -31.2911 60.05 123.886 + 11 71.1456 1198 11 0 -31.5494 59.85 124.053 + 11 7.49981 741 11 1 -31.6546 58.732 125.15 + 11 15.3393 742 11 1 -31.65 58.7174 125.158 + 11 227.932 1188 11 0 -30.0363 57.7828 124.15 +Number of digits in this event: 29 Using G4ParticleGun... -Particle energy: 6.89719 LIN +Particle energy: 9.24162 LIN Particle: proton Event: 12 -Number of tracker hits in this event: 41 - 12 316.149 555 10 1 -69.0311 -75.5492 95.55 - 12 155.741 522 10 0 -69.0308 -75.5484 94.15 - 12 126.313 555 9 1 -69.0303 -75.5369 65.55 - 12 130.051 522 9 0 -69.0304 -75.5355 64.15 - 12 132.222 555 8 1 -69.0305 -75.5113 35.55 - 12 103.781 522 8 0 -69.0316 -75.5107 34.15 - 12 149.383 554 7 1 -69.0562 -75.4971 5.55 - 12 137.564 522 7 0 -69.0569 -75.4968 4.15 - 12 111.214 554 6 1 -69.0747 -75.4924 -24.45 - 12 264.737 522 6 0 -69.0757 -75.4933 -25.85 - 12 156.72 554 5 1 -69.0989 -75.5096 -54.45 - 12 119.254 522 5 0 -69.0992 -75.5119 -55.85 - 12 334.768 554 4 1 -69.1084 -75.5614 -84.45 - 12 190.949 522 4 0 -69.1086 -75.5637 -85.85 - 12 106.04 554 3 1 -69.1203 -75.6075 -114.45 - 12 127.283 522 3 0 -69.1198 -75.61 -115.85 - 12 103.54 554 2 1 -69.1114 -75.6628 -144.45 - 12 104.331 521 2 0 -69.1117 -75.666 -145.85 - 12 115.687 554 1 1 -69.1161 -75.7316 -174.45 - 12 166.685 521 1 0 -69.1165 -75.7341 -175.85 - 12 113.083 554 0 1 -69.1206 -75.7866 -204.45 - 12 108.473 521 0 0 -69.1202 -75.7888 -205.85 - 12 189.352 924 11 0 -138.507 4.9257 123.75 - 12 369.91 205 11 1 -139.016 4.70056 125.15 - 12 261.659 206 11 1 -138.95 4.25965 125.21 - 12 181.463 207 11 1 -138.75 3.91831 125.447 - 12 109.661 208 11 1 -138.55 4.10022 125.543 - 12 35.4928 570 4 0 -47.3437 -65.9158 -86.25 - 12 114.796 571 4 0 -47.3491 -65.85 -86.1692 - 12 4.44353 572 4 0 -47.4268 -65.6497 -85.8729 - 12 243.156 660 4 1 -47.887 -64.8472 -84.8499 - 12 112.243 659 4 1 -48.0512 -64.3742 -84.5492 - 12 99.2929 658 4 1 -48.2502 -64.4369 -84.4659 - 12 182.829 657 4 1 -48.45 -64.3313 -84.6019 - 12 376.55 656 4 1 -48.65 -64.1658 -84.7187 - 12 238.458 579 4 0 -48.9317 -64.1317 -85.8501 - 12 158.952 523 4 0 -69.0689 -75.45 -85.9773 - 12 78.3995 524 4 0 -69.089 -75.2496 -85.9951 - 12 65.7334 555 4 1 -69.05 -74.3948 -84.7826 - 12 289.983 533 4 0 -69.2943 -73.4054 -85.8505 - 12 26.8267 554 10 1 -69.05 -75.4879 95.2841 -Number of digits in this event: 27 +Number of tracker hits in this event: 26 + 12 16.8356 709 11 0 -75.6459 -38.1464 123.784 + 12 123.688 522 10 1 -75.6459 -38.1459 95.55 + 12 133.111 709 10 0 -75.6463 -38.1458 94.15 + 12 92.5032 521 9 1 -75.6566 -38.1442 65.55 + 12 114.956 709 9 0 -75.6563 -38.1435 64.15 + 12 132.726 522 8 1 -75.6482 -38.1295 35.55 + 12 102.664 709 8 0 -75.647 -38.1289 34.15 + 12 142.814 522 7 1 -75.6217 -38.1148 5.55 + 12 95.0791 709 7 0 -75.6201 -38.1141 4.15 + 12 126.573 522 6 1 -75.5836 -38.0965 -24.45 + 12 126.295 709 6 0 -75.5825 -38.0954 -25.85 + 12 163.509 522 5 1 -75.5567 -38.0734 -54.45 + 12 153.162 709 5 0 -75.5553 -38.0726 -55.85 + 12 157.939 522 4 1 -75.5283 -38.0512 -84.45 + 12 86.6362 709 4 0 -75.527 -38.0502 -85.85 + 12 57.8751 710 4 0 -75.5267 -38.05 -86.0719 + 12 163.206 522 3 1 -75.4977 -38.0297 -114.45 + 12 139.605 710 3 0 -75.4957 -38.0282 -115.85 + 12 101.133 522 2 1 -75.4542 -37.9969 -144.45 + 12 113.213 710 2 0 -75.4519 -37.9954 -145.85 + 12 115.079 523 1 1 -75.4079 -37.9676 -174.45 + 12 148.759 710 1 0 -75.4049 -37.9664 -175.85 + 12 117.815 523 0 1 -75.3482 -37.9322 -204.45 + 12 140.461 710 0 0 -75.346 -37.9302 -205.85 + 12 45.3038 689 0 1 -42.2485 -96.5496 -204.45 + 12 76.5718 688 0 1 -42.25 -96.5551 -204.458 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 2.07515 LIN +Particle energy: 7.19813 LIN Particle: proton Event: 13 -Number of tracker hits in this event: 18 - 13 109.299 1275 8 1 75.1208 -120.21 35.55 - 13 87.8714 299 8 0 75.1184 -120.209 34.15 - 13 106.855 1275 7 1 75.0607 -120.194 5.55 - 13 125.91 299 7 0 75.058 -120.191 4.15 - 13 126.314 1274 6 1 75.0046 -120.126 -24.45 - 13 150.96 300 6 0 75.0039 -120.125 -25.85 - 13 175.382 1274 5 1 74.9719 -120.105 -54.45 - 13 426.615 300 5 0 74.974 -120.102 -55.85 - 13 142.355 1274 4 1 75.0168 -120.036 -84.45 - 13 155.785 300 4 0 75.0216 -120.034 -85.85 - 13 143.509 1275 3 1 75.1275 -119.989 -114.45 - 13 99.1472 300 3 0 75.1284 -119.987 -115.85 - 13 101.505 1275 2 1 75.1497 -119.956 -144.45 - 13 115.43 300 2 0 75.1514 -119.955 -145.85 - 13 124.428 1275 1 1 75.1906 -119.931 -174.45 - 13 274.103 301 1 0 75.1862 -119.929 -175.85 - 13 152.393 1275 0 1 75.0924 -119.891 -204.45 - 13 124.312 301 0 0 75.0864 -119.889 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 25 + 13 127.743 1236 11 1 67.3889 29.6425 125.55 + 13 119.132 1047 11 0 67.3894 29.6418 124.15 + 13 105.425 1236 10 1 67.3967 29.6313 95.55 + 13 92.5589 1047 10 0 67.3978 29.6296 94.15 + 13 144.298 1236 9 1 67.4183 29.596 65.55 + 13 191.07 1047 9 0 67.4182 29.5944 64.15 + 13 114.163 1236 8 1 67.4203 29.56 35.55 + 13 203.955 1047 8 0 67.421 29.559 34.15 + 13 132.842 1236 7 1 67.4347 29.5387 5.55 + 13 279.243 1047 7 0 67.4346 29.5384 4.15 + 13 117.024 1236 6 1 67.4332 29.5311 -24.45 + 13 130.66 1047 6 0 67.4338 29.531 -25.85 + 13 98.6843 1236 5 1 67.4473 29.5273 -54.45 + 13 243.235 1047 5 0 67.448 29.5265 -55.85 + 13 154.634 1237 4 1 67.4597 29.5123 -84.45 + 13 253.778 1047 4 0 67.4614 29.5103 -85.85 + 13 158.209 1237 3 1 67.4928 29.4634 -114.45 + 13 105.685 1047 3 0 67.4947 29.4597 -115.85 + 13 126.917 1237 2 1 67.5326 29.3875 -144.45 + 13 136.905 1046 2 0 67.5334 29.3835 -145.85 + 13 170.006 1237 1 1 67.5501 29.303 -174.45 + 13 147.99 1046 1 0 67.5512 29.2979 -175.85 + 13 104.159 1237 0 1 67.5752 29.1918 -204.45 + 13 142.467 1045 0 0 67.5767 29.1865 -205.85 + 13 70.0475 1046 7 0 67.5764 29.45 3.99555 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 8.73445 LIN +Particle energy: 4.34649 LIN Particle: proton Event: 14 -Number of tracker hits in this event: 50 - 14 129.792 380 7 1 -103.988 -107.558 5.55 - 14 116.915 362 7 0 -103.988 -107.558 4.15 - 14 107.619 380 6 1 -103.988 -107.546 -24.45 - 14 139.47 363 6 0 -103.987 -107.547 -25.85 - 14 86.1049 380 5 1 -103.966 -107.552 -54.45 - 14 126.26 362 5 0 -103.965 -107.554 -55.85 - 14 171.353 381 4 1 -103.946 -107.579 -84.45 - 14 154.702 362 4 0 -103.944 -107.58 -85.85 - 14 107.047 381 3 1 -103.906 -107.615 -114.45 - 14 105.345 362 3 0 -103.904 -107.617 -115.85 - 14 125.778 381 2 1 -103.867 -107.653 -144.45 - 14 113.323 362 2 0 -103.865 -107.654 -145.85 - 14 100.695 381 1 1 -103.819 -107.682 -174.45 - 14 110.128 362 1 0 -103.817 -107.683 -175.85 - 14 17347.8 381 0 1 -103.763 -107.688 -204.45 - 14 193.902 1393 1 1 98.75 27.0808 -174.747 - 14 5349.37 382 0 1 -103.75 -107.723 -204.718 - 14 208.086 355 0 0 -109.394 -108.95 -205.906 - 14 72.8727 356 0 0 -110.368 -108.95 -206.016 - 14 405.12 362 0 0 -103.689 -107.694 -205.85 - 14 112.87 360 0 0 -103.752 -108.002 -205.85 - 14 153.775 363 0 0 -103.751 -107.55 -206.099 - 14 15.5632 1414 1 1 102.989 -7.98639 -174.85 - 14 13.9569 814 3 0 155.537 -17.1799 -116.25 - 14 147.808 361 0 0 -103.66 -107.826 -205.85 - 14 32.8756 368 0 0 -105.173 -106.432 -205.85 - 14 341.819 369 0 0 -105.266 -106.35 -205.924 - 14 112.715 370 0 0 -105.489 -106.15 -206.103 - 14 29.0209 527 0 0 -138.633 -74.5063 -206.25 - 14 95.5934 528 0 0 -138.628 -74.4499 -206.184 - 14 17.4467 529 0 0 -138.624 -74.25 -205.894 - 14 119.856 207 0 1 -138.657 -73.6034 -204.85 - 14 299.803 581 1 0 -129.641 -63.7404 -176.25 - 14 79.6958 582 1 0 -129.558 -63.65 -176.015 - 14 67.3262 252 1 1 -129.704 -62.2377 -174.85 - 14 64.29 251 1 1 -129.75 -62.0808 -174.731 - 14 372.763 250 1 1 -129.95 -61.8949 -174.691 - 14 94.562 249 1 1 -130.15 -61.7435 -174.672 - 14 46.2652 248 1 1 -130.35 -61.5516 -174.752 - 14 292.365 590 1 0 -131.554 -62.0035 -175.85 - 14 68.4974 589 1 0 -131.654 -62.05 -175.874 - 14 118.148 591 1 0 -131.883 -61.85 -176.098 - 14 53.9796 284 1 1 -123.297 -62.9115 -174.85 - 14 10.9337 285 1 1 -123.15 -62.8964 -174.843 - 14 239.926 586 1 0 -119.918 -62.7601 -175.85 - 14 118.296 321 1 1 -115.939 -60.5943 -174.85 - 14 217.504 596 1 0 -115.695 -60.6794 -175.85 - 14 62.0754 633 4 1 -53.3956 -51.6977 -84.85 - 14 219.33 632 4 1 -53.4501 -51.7367 -84.6594 - 14 145.404 360 1 0 -99.8012 -108.018 -176.186 -Number of digits in this event: 25 +Number of tracker hits in this event: 31 + 14 142.238 1235 10 1 67.1962 84.9128 95.55 + 14 132.609 1324 10 0 67.1955 84.9133 94.15 + 14 107.677 1235 9 1 67.1829 84.9222 65.55 + 14 119.306 1324 9 0 67.1816 84.9265 64.15 + 14 97.0955 1235 8 1 67.154 85.0116 35.55 + 14 159.618 1324 8 0 67.1534 85.0148 34.15 + 14 205.44 1235 7 1 67.1373 85.0793 5.55 + 14 131.575 1325 7 0 67.1362 85.0822 4.15 + 14 150.629 1235 6 1 67.1204 85.1362 -24.45 + 14 102.582 1325 6 0 67.1196 85.1379 -25.85 + 14 105.383 1235 5 1 67.1023 85.1713 -54.45 + 14 105.702 1325 5 0 67.103 85.1745 -55.85 + 14 105.556 1235 4 1 67.12 85.2394 -84.45 + 14 104.685 1325 4 0 67.121 85.2432 -85.85 + 14 120.267 1235 3 1 67.1389 85.323 -114.45 + 14 108.195 1326 3 0 67.1384 85.3253 -115.85 + 14 102.34 1235 2 1 67.129 85.3678 -144.45 + 14 207.159 1326 2 0 67.1284 85.3698 -145.85 + 14 143.944 1235 1 1 67.1111 85.4105 -174.45 + 14 139.899 1326 1 0 67.111 85.4146 -175.85 + 14 121.444 1235 0 1 67.1057 85.5065 -204.45 + 14 117.832 1327 0 0 67.1064 85.5117 -205.85 + 14 144.771 1236 7 1 67.2502 85.2099 5.52032 + 14 249.74 1237 7 1 67.4503 85.3869 5.52307 + 14 70.2409 1234 7 1 67.05 85.9922 5.19472 + 14 64.3886 1233 7 1 66.85 86.1026 5.17685 + 14 75.1333 1232 7 1 66.6494 86.1522 5.20401 + 14 106.381 1231 7 1 66.45 86.2947 5.28216 + 14 438.949 1230 7 1 66.25 86.5278 5.44197 + 14 0.913367 1229 7 1 66.05 86.6565 5.54812 + 14 231.275 1339 7 0 66.1824 87.9187 4.15 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 2.04525 LIN +Particle energy: 4.41092 LIN Particle: proton Event: 15 -Number of tracker hits in this event: 29 - 15 101.93 422 10 1 -95.7085 57.2724 95.55 - 15 226.708 1186 10 0 -95.7087 57.2745 94.15 - 15 95.0955 422 9 1 -95.7161 57.3062 65.55 - 15 112.721 1186 9 0 -95.7162 57.3121 64.15 - 15 112.467 422 8 1 -95.7052 57.4355 35.55 - 15 117.252 1186 8 0 -95.7027 57.444 34.15 - 15 104.625 422 7 1 -95.6452 57.6287 5.55 - 15 306.105 1187 7 0 -95.639 57.6385 4.15 - 15 216.426 423 6 1 -95.5206 57.829 -24.45 - 15 123.672 1188 6 0 -95.5128 57.8387 -25.85 - 15 121.814 424 5 1 -95.3493 58.0278 -54.45 - 15 112.58 1189 5 0 -95.3417 58.0369 -55.85 - 15 113.081 424 4 1 -95.1877 58.2272 -84.45 - 15 101.744 1190 4 0 -95.18 58.2384 -85.85 - 15 112.874 425 3 1 -95.0174 58.4524 -114.45 - 15 175.403 1192 3 0 -95.0114 58.4653 -115.85 - 15 116.408 426 2 1 -94.8885 58.7274 -144.45 - 15 107.84 1193 2 0 -94.8832 58.7393 -145.85 - 15 280.361 426 1 1 -94.7773 58.9818 -174.45 - 15 272.23 1194 1 0 -94.772 58.995 -175.85 - 15 152.848 427 0 1 -94.6554 59.2659 -204.45 - 15 120.498 1196 0 0 -94.6488 59.2766 -205.85 - 15 44.2806 427 1 1 -94.75 58.9806 -174.723 - 15 218.881 1333 1 0 -78.0266 86.7896 -176.249 - 15 207.895 1334 1 0 -77.9823 86.85 -176.175 - 15 33.8929 1335 1 0 -77.892 87.05 -175.926 - 15 51.9941 511 1 1 -77.6716 87.6779 -174.85 - 15 96.6054 512 1 1 -77.65 87.7024 -174.689 - 15 155.084 1186 7 0 -95.8118 57.45 4.10301 -Number of digits in this event: 14 +Number of tracker hits in this event: 68 + 15 128.606 852 11 1 -9.6375 69.7826 125.55 + 15 119.857 1248 11 0 -9.63702 69.7828 124.15 + 15 119.876 852 10 1 -9.62702 69.7834 95.55 + 15 87.8499 1248 10 0 -9.62572 69.7816 94.15 + 15 141.673 852 9 1 -9.59984 69.7449 65.55 + 15 97.9279 1248 9 0 -9.59812 69.7431 64.15 + 15 116.965 852 8 1 -9.56058 69.7053 35.55 + 15 232.37 1248 8 0 -9.55929 69.7038 34.15 + 15 166.852 852 7 1 -9.51418 69.6766 5.55 + 15 87.6041 1248 7 0 -9.51123 69.6738 4.15 + 15 44.0582 852 6 1 -9.45051 69.6266 -24.45 + 15 59.9365 853 6 1 -9.45 69.6264 -24.5926 + 15 85.9991 1247 6 0 -9.44545 69.6243 -25.85 + 15 93.5687 853 5 1 -9.3378 69.5717 -54.45 + 15 165.726 1247 5 0 -9.33443 69.5686 -55.85 + 15 110.83 853 4 1 -9.26806 69.5068 -84.45 + 15 106.448 1247 4 0 -9.26557 69.5033 -85.85 + 15 130.396 854 3 1 -9.21592 69.4343 -114.45 + 15 105.16 1246 3 0 -9.21105 69.4258 -115.85 + 15 149.591 854 2 1 -9.11346 69.2565 -144.45 + 15 95.5479 1245 2 0 -9.10686 69.247 -145.85 + 15 131.796 855 1 1 -8.97478 69.0456 -174.45 + 15 107.211 1244 1 0 -8.96876 69.0353 -175.85 + 15 105.898 856 0 1 -8.84572 68.8243 -204.45 + 15 124.869 1243 0 0 -8.83915 68.8151 -205.85 + 15 28.4482 1268 3 1 73.6952 166.486 -114.45 + 15 232.636 1267 3 1 73.65 166.489 -114.511 + 15 67.5566 1266 3 1 73.45 166.555 -114.736 + 15 124.52 1262 0 0 16.7092 72.5465 -206.25 + 15 58.1103 986 0 1 17.3444 72.469 -204.85 + 15 47.8403 987 0 1 17.4503 72.4591 -204.621 + 15 184.257 1243 1 0 30.4825 68.7671 -176.25 + 15 127.666 1054 1 1 30.906 68.6611 -174.85 + 15 2.93305 1055 1 1 31.05 68.53 -174.464 + 15 99.848 1262 2 0 52.6983 72.5503 -146.25 + 15 62.7982 1263 2 0 52.7 72.65 -146.031 + 15 60.5525 1162 2 1 52.5082 73.2447 -144.85 + 15 105.269 1161 2 1 52.4498 73.3475 -144.656 + 15 413.212 1314 1 0 11.2561 83.0294 -176.25 + 15 129.092 1313 1 0 10.9544 82.85 -175.855 + 15 131.145 1011 1 1 22.267 96.4508 -174.719 + 15 15.5406 190 2 0 74.0091 -142.096 -146.25 + 15 65.958 189 2 0 74.0209 -142.15 -146.243 + 15 68.3286 188 2 0 74.0687 -142.35 -146.224 + 15 65.7938 187 2 0 74.1057 -142.55 -146.221 + 15 48.5503 186 2 0 74.1345 -142.75 -146.215 + 15 67.1021 185 2 0 74.1446 -142.95 -146.163 + 15 61.5006 184 2 0 74.1466 -143.15 -146.087 + 15 50.5817 183 2 0 74.1665 -143.35 -146.017 + 15 57.8144 182 2 0 74.1812 -143.55 -145.948 + 15 13.2348 181 2 0 74.1908 -143.75 -145.876 + 15 299.542 1270 2 1 74.1964 -145.87 -144.85 + 15 110.458 1271 2 1 74.25 -146.786 -144.455 + 15 107.5 1272 2 1 74.45 -146.832 -144.567 + 15 96.8677 1273 2 1 74.6502 -147.086 -144.661 + 15 86.9803 1274 2 1 74.85 -147.219 -144.666 + 15 62.7843 1275 2 1 75.0502 -147.293 -144.728 + 15 96.2016 1276 2 1 75.25 -147.345 -144.745 + 15 314.293 169 2 0 76.01 -146.323 -145.85 + 15 126.844 1010 1 1 22.2495 96.4583 -174.702 + 15 11.4352 1009 1 1 22.05 96.4332 -174.497 + 15 29.3098 1076 4 1 35.25 156.843 -84.6379 + 15 25.7221 223 5 0 0.983646 -135.51 -56.25 + 15 208.493 222 5 0 1.04687 -135.55 -56.1843 + 15 44.1256 910 5 1 2.09459 -136.037 -54.8499 + 15 41.9538 219 5 0 2.57817 -136.292 -55.8501 + 15 134.083 218 5 0 2.61101 -136.35 -55.9653 + 15 166.049 217 5 0 2.77667 -136.55 -55.9771 +Number of digits in this event: 26 Using G4ParticleGun... -Particle energy: 2.08162 LIN +Particle energy: 1.68145 LIN Particle: proton Event: 16 -Number of tracker hits in this event: 18 - 16 117.623 213 8 1 -137.413 -27.5984 35.55 - 16 130.684 762 8 0 -137.414 -27.6006 34.15 - 16 145.106 213 7 1 -137.421 -27.6486 5.55 - 16 100.516 761 7 0 -137.42 -27.6504 4.15 - 16 111.465 213 6 1 -137.399 -27.699 -24.45 - 16 122.97 761 6 0 -137.399 -27.7009 -25.85 - 16 145.963 213 5 1 -137.401 -27.7402 -54.45 - 16 123.466 761 5 0 -137.397 -27.7468 -55.85 - 16 98.8829 214 4 1 -137.328 -27.8867 -84.45 - 16 110.643 760 4 0 -137.326 -27.897 -85.85 - 16 108.858 214 3 1 -137.297 -28.1091 -114.45 - 16 127.977 759 3 0 -137.299 -28.1162 -115.85 - 16 157.418 214 2 1 -137.325 -28.2649 -144.45 - 16 103.583 758 2 0 -137.324 -28.2728 -145.85 - 16 177.029 214 1 1 -137.304 -28.4384 -174.45 - 16 173.592 758 1 0 -137.305 -28.4435 -175.85 - 16 163.313 214 0 1 -137.331 -28.5599 -204.45 - 16 114.005 757 0 0 -137.331 -28.5678 -205.85 -Number of digits in this event: 11 -Using G4ParticleGun... -Particle energy: 9.86932 LIN +Number of tracker hits in this event: 108 + 16 311.645 863 8 1 -7.26561 139.973 35.55 + 16 105.487 1599 8 0 -7.25848 139.975 34.15 + 16 110.62 864 7 1 -7.09074 140.028 5.55 + 16 176.95 1599 7 0 -7.08344 140.028 4.15 + 16 269.528 865 6 1 -6.94387 140.016 -24.45 + 16 122.326 1599 6 0 -6.93597 140.016 -25.85 + 16 183.669 866 5 1 -6.76821 140.022 -54.45 + 16 96.9154 1599 5 0 -6.76083 140.027 -55.85 + 16 120.726 867 4 1 -6.62164 140.132 -84.45 + 16 113.539 1599 4 0 -6.61691 140.136 -85.85 + 16 125.591 867 3 1 -6.50668 140.213 -114.45 + 16 4846.08 1600 3 0 -6.49865 140.219 -115.85 + 16 162.169 866 3 1 -6.65036 140.209 -114.85 + 16 193.728 1604 4 0 -11.1781 140.98 -86.25 + 16 141.121 843 4 1 -11.4015 141.017 -84.85 + 16 37.8015 842 4 1 -11.45 141.025 -84.5467 + 16 212.125 1614 5 0 -15.5735 143.001 -56.25 + 16 175.315 821 5 1 -15.7827 143.098 -54.85 + 16 386.285 1624 6 0 -22.2128 144.957 -26.25 + 16 447.455 786 6 1 -22.677 144.992 -24.85 + 16 404.296 1613 7 0 -36.5442 142.892 3.75 + 16 139.206 714 7 1 -37.19 142.749 5.15 + 16 248.874 713 7 1 -37.25 142.734 5.28331 + 16 470.194 1588 8 0 -51.752 137.917 33.75 + 16 2.84057 638 8 1 -52.4471 137.629 35.15 + 16 470.699 637 8 1 -52.45 137.628 35.156 + 16 623.139 1586 9 0 -70.7101 137.41 63.75 + 16 53.1861 542 9 1 -71.6265 137.405 65.15 + 16 388.797 541 9 1 -71.65 137.405 65.1856 + 16 78.8705 540 9 1 -71.85 137.409 65.4971 + 16 624.647 1572 10 0 -78.243 134.607 93.75 + 16 424.632 507 10 1 -78.594 134.499 95.15 + 16 359.936 506 10 1 -78.65 134.484 95.3637 + 16 1517.58 1628 11 0 -91.8243 145.819 123.75 + 16 1220.76 438 11 1 -92.4602 146.143 125.15 + 16 2152.82 437 11 1 -92.55 146.191 125.379 + 16 114.339 1686 12 0 -92.958 157.459 153.75 + 16 75.704 1687 12 0 -92.9636 157.55 153.982 + 16 284.035 435 12 1 -92.9768 157.991 155.15 + 16 48.2624 1754 13 0 -96.2067 171.095 183.75 + 16 110.248 1755 13 0 -96.2207 171.15 183.869 + 16 128.192 419 13 1 -96.3011 171.776 185.15 + 16 159.425 824 3 1 -15.1615 130.441 -114.85 + 16 374.307 823 3 1 -15.25 130.341 -114.84 + 16 485.899 822 3 1 -15.45 130.116 -114.817 + 16 389.288 821 3 1 -15.65 129.892 -114.794 + 16 389.274 820 3 1 -15.85 129.666 -114.77 + 16 394.517 819 3 1 -16.05 129.439 -114.746 + 16 377.316 818 3 1 -16.25 129.213 -114.722 + 16 364.705 817 3 1 -16.45 128.986 -114.7 + 16 421.529 816 3 1 -16.65 128.758 -114.678 + 16 394.842 815 3 1 -16.85 128.531 -114.658 + 16 508.752 814 3 1 -17.05 128.303 -114.638 + 16 551.048 813 3 1 -17.25 128.071 -114.616 + 16 440.965 812 3 1 -17.45 127.84 -114.595 + 16 704.537 811 3 1 -17.65 127.609 -114.574 + 16 460.11 810 3 1 -17.85 127.377 -114.553 + 16 409.525 809 3 1 -18.05 127.147 -114.533 + 16 463.662 808 3 1 -18.25 126.915 -114.51 + 16 375.412 807 3 1 -18.45 126.682 -114.486 + 16 190.649 806 3 1 -18.65 126.457 -114.461 + 16 215.154 989 4 0 -126.533 17.9511 -86.25 + 16 401.264 988 4 0 -126.634 17.85 -86.2236 + 16 632.229 987 4 0 -126.833 17.65 -86.172 + 16 433.615 986 4 0 -127.033 17.45 -86.1196 + 16 572.648 985 4 0 -127.231 17.25 -86.0663 + 16 435.972 984 4 0 -127.427 17.05 -86.0136 + 16 556.82 983 4 0 -127.626 16.85 -85.9614 + 16 413.895 982 4 0 -127.82 16.65 -85.9086 + 16 43.4009 981 4 0 -128.016 16.45 -85.8561 + 16 72.884 243 4 1 -131.528 12.8139 -84.85 + 16 489.635 242 4 1 -131.55 12.7906 -84.8436 + 16 652.931 241 4 1 -131.75 12.5843 -84.7869 + 16 446.655 240 4 1 -131.95 12.3774 -84.7278 + 16 537.925 239 4 1 -132.15 12.1698 -84.6706 + 16 462.493 238 4 1 -132.35 11.9606 -84.6143 + 16 625.615 237 4 1 -132.55 11.7493 -84.5585 + 16 523.533 236 4 1 -132.75 11.5367 -84.5028 + 16 432.178 862 2 1 -7.61488 139.098 -144.45 + 16 489.861 1594 2 0 -7.65724 139.042 -145.85 + 16 452.936 858 1 1 -8.36816 137.783 -174.45 + 16 502.363 1587 1 0 -8.38502 137.724 -175.85 + 16 461.328 857 0 1 -8.58078 136.65 -204.45 + 16 404.29 1582 0 0 -8.58895 136.583 -205.85 + 16 184.883 1601 3 0 -6.28105 140.35 -116.11 + 16 38.0961 989 2 1 18.0134 154.946 -144.45 + 16 236.678 990 2 1 18.05 154.968 -144.492 + 16 341.866 991 2 1 18.25 155.086 -144.726 + 16 207.567 1677 2 0 19.2034 155.659 -145.85 + 16 198.908 1678 2 0 19.3541 155.75 -146.028 + 16 114.604 1117 1 1 43.5234 170.165 -174.45 + 16 197.212 1118 1 1 43.65 170.243 -174.596 + 16 23.126 1119 1 1 43.85 170.367 -174.826 + 16 46.8801 1753 1 0 44.7368 170.921 -175.85 + 16 317.22 1754 1 0 44.7838 170.95 -175.904 + 16 1.81119 1684 2 0 21.2608 157.046 -145.85 + 16 21.2561 1016 2 1 23.3668 160.188 -144.85 + 16 59.7734 1703 2 0 22.8711 160.806 -145.85 + 16 15.4229 1592 6 0 -7.5107 138.59 -25.85 + 16 78.4795 1591 6 0 -7.52243 138.55 -25.8828 + 16 77.2385 1590 6 0 -7.55628 138.35 -26.062 + 16 97.8034 1598 7 0 -7.04591 139.95 3.90784 + 16 197.506 1597 8 0 -8.20511 139.741 34.15 + 16 244.627 1443 8 0 22.8244 108.903 33.75 + 16 189.59 1014 8 1 22.9368 110.289 35.15 + 16 95.3217 1013 8 1 22.85 110.393 35.2808 + 16 16.6661 1003 8 1 20.7419 108.482 35.15 + 16 52.506 1447 8 0 18.3363 109.695 34.1499 +Number of digits in this event: 84 +Using G4ParticleGun... +Particle energy: 5.01712 LIN Particle: proton Event: 17 -Number of tracker hits in this event: 19 - 17 97.7683 1536 8 1 127.361 64.1929 35.55 - 17 115.341 1220 8 0 127.361 64.1924 34.15 - 17 89.6439 1536 7 1 127.367 64.1824 5.55 - 17 326.092 1220 7 0 127.368 64.1814 4.15 - 17 102.459 1536 6 1 127.385 64.1611 -24.45 - 17 167.142 1220 6 0 127.386 64.1603 -25.85 - 17 204.42 1536 5 1 127.407 64.1409 -54.45 - 17 93.0554 1220 5 0 127.409 64.1402 -55.85 - 17 152.229 1536 4 1 127.439 64.1268 -84.45 - 17 117.894 1220 4 0 127.44 64.1266 -85.85 - 17 166.641 1536 3 1 127.465 64.1212 -114.45 - 17 259.206 1220 3 0 127.467 64.1211 -115.85 - 17 95.2541 1536 2 1 127.486 64.12 -144.45 - 17 130.693 1220 2 0 127.488 64.1204 -145.85 - 17 133.911 1536 1 1 127.51 64.1286 -174.45 - 17 168.532 1220 1 0 127.511 64.1293 -175.85 - 17 233.796 1536 0 1 127.523 64.1424 -204.45 - 17 120.489 1220 0 0 127.524 64.1431 -205.85 - 17 45.4741 1219 7 0 127.358 64.05 3.77554 -Number of digits in this event: 12 +Number of tracker hits in this event: 23 + 17 117.255 1194 10 1 58.9 -74.1673 95.55 + 17 99.4293 529 10 0 58.9011 -74.1673 94.15 + 17 86.7347 1194 9 1 58.9238 -74.1644 65.55 + 17 90.547 529 9 0 58.925 -74.1643 64.15 + 17 93.0282 1194 8 1 58.9481 -74.1577 35.55 + 17 117.1 529 8 0 58.9481 -74.1568 34.15 + 17 108.16 1194 7 1 58.9449 -74.1355 5.55 + 17 104.378 529 7 0 58.9442 -74.1344 4.15 + 17 141.713 1194 6 1 58.9286 -74.1078 -24.45 + 17 94.4744 529 6 0 58.9283 -74.107 -25.85 + 17 109.355 1194 5 1 58.9202 -74.0867 -54.45 + 17 100.538 529 5 0 58.9201 -74.0871 -55.85 + 17 120.43 1194 4 1 58.9165 -74.098 -84.45 + 17 320.904 529 4 0 58.9158 -74.0986 -85.85 + 17 147.345 1194 3 1 58.907 -74.1094 -114.45 + 17 130.014 529 3 0 58.9078 -74.1103 -115.85 + 17 120.403 1194 2 1 58.9225 -74.132 -144.45 + 17 94.6135 529 2 0 58.9225 -74.1324 -145.85 + 17 126.081 1194 1 1 58.9225 -74.1428 -174.45 + 17 131.137 529 1 0 58.9225 -74.1423 -175.85 + 17 94.444 1194 0 1 58.9205 -74.1344 -204.45 + 17 197.306 529 0 0 58.9199 -74.1337 -205.85 + 17 165.195 530 4 0 58.6893 -74.05 -86.2013 +Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 7.54067 LIN +Particle energy: 9.62545 LIN Particle: proton Event: 18 -Number of tracker hits in this event: 20 - 18 114.394 1416 7 1 103.524 -103.72 5.55 - 18 201.386 382 7 0 103.524 -103.721 4.15 - 18 194.519 1416 6 1 103.526 -103.748 -24.45 - 18 99.8236 382 6 0 103.522 -103.747 -25.85 - 18 213.766 1416 5 1 103.439 -103.727 -54.45 - 18 113.161 382 5 0 103.436 -103.726 -55.85 - 18 148.526 1416 4 1 103.369 -103.698 -84.45 - 18 98.5679 382 4 0 103.366 -103.697 -85.85 - 18 104.342 1415 3 1 103.31 -103.674 -114.45 - 18 193.762 382 3 0 103.306 -103.673 -115.85 - 18 116.079 1415 2 1 103.219 -103.66 -144.45 - 18 98.5293 382 2 0 103.213 -103.661 -145.85 - 18 117.882 1414 1 1 103.094 -103.681 -174.45 - 18 125.345 382 1 0 103.089 -103.682 -175.85 - 18 101.267 1414 0 1 102.99 -103.711 -204.45 - 18 122.586 382 0 0 102.985 -103.711 -205.85 - 18 80.3731 381 3 0 103.186 -103.75 -116.016 - 18 150.148 1417 3 1 103.629 -103.917 -114.85 - 18 69.2871 1415 5 1 103.35 -103.705 -54.5826 - 18 246.598 381 7 0 103.44 -103.75 3.84233 -Number of digits in this event: 10 +Number of tracker hits in this event: 23 + 18 195.673 503 10 1 -79.3455 78.1271 95.55 + 18 244.19 1290 10 0 -79.346 78.1276 94.15 + 18 145.729 503 9 1 -79.3572 78.1347 65.55 + 18 117.449 1290 9 0 -79.3583 78.1355 64.15 + 18 158.778 503 8 1 -79.3722 78.1453 35.55 + 18 144.11 1290 8 0 -79.3728 78.1458 34.15 + 18 141.783 503 7 1 -79.3852 78.1533 5.55 + 18 110.962 1290 7 0 -79.3848 78.1544 4.15 + 18 199.559 503 6 1 -79.3772 78.1761 -24.45 + 18 96.4151 1290 6 0 -79.3776 78.1768 -25.85 + 18 121.214 503 5 1 -79.3837 78.1911 -54.45 + 18 135.239 1290 5 0 -79.3841 78.1926 -55.85 + 18 131.953 503 4 1 -79.3935 78.2224 -84.45 + 18 135.482 1290 4 0 -79.3945 78.2236 -85.85 + 18 100.794 503 3 1 -79.4145 78.2466 -114.45 + 18 149.338 1290 3 0 -79.4158 78.2484 -115.85 + 18 111.965 503 2 1 -79.445 78.2854 -144.45 + 18 180.3 1291 2 0 -79.447 78.2871 -145.85 + 18 125.903 502 1 1 -79.4903 78.3251 -174.45 + 18 142.502 1291 1 0 -79.4925 78.327 -175.85 + 18 127.38 502 0 1 -79.5376 78.3668 -204.45 + 18 118.448 1291 0 0 -79.5401 78.3691 -205.85 + 18 115.519 502 10 1 -79.45 78.2007 95.1822 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 7.27328 LIN +Particle energy: 8.90079 LIN Particle: proton Event: 19 -Number of tracker hits in this event: 23 - 19 106.103 1060 10 1 32.159 99.0017 95.55 - 19 104.527 1394 10 0 32.1592 99.0015 94.15 - 19 205.052 1060 9 1 32.1625 98.9986 65.55 - 19 121.113 1394 9 0 32.1632 98.9977 64.15 - 19 108.996 1060 8 1 32.1806 98.9784 35.55 - 19 123.183 1394 8 0 32.1902 98.9779 34.15 - 19 124.251 1061 7 1 32.3874 98.9637 5.55 - 19 134.464 1394 7 0 32.3972 98.962 4.15 - 19 127.6 1062 6 1 32.5958 98.9264 -24.45 - 19 128.679 1393 6 0 32.606 98.9256 -25.85 - 19 92.0943 1063 5 1 32.8184 98.9105 -54.45 - 19 125.256 1393 5 0 32.8295 98.9089 -55.85 - 19 115.048 1065 4 1 33.0588 98.8768 -84.45 - 19 99.7198 1393 4 0 33.0694 98.8758 -85.85 - 19 101.414 1066 3 1 33.2852 98.8553 -114.45 - 19 161.97 1393 3 0 33.2964 98.8556 -115.85 - 19 121.53 1067 2 1 33.5272 98.8632 -144.45 - 19 147.899 1393 2 0 33.5384 98.8649 -145.85 - 19 120.783 1068 1 1 33.7666 98.901 -174.45 - 19 138.281 1393 1 0 33.7774 98.9033 -175.85 - 19 131.961 1069 0 1 33.9968 98.9485 -204.45 - 19 243.387 1394 0 0 34.0082 98.952 -205.85 - 19 486.755 1061 9 1 32.2506 98.9159 65.3332 -Number of digits in this event: 17 +Number of tracker hits in this event: 28 + 19 208.534 1068 10 1 33.7006 100.186 95.55 + 19 121.223 1400 10 0 33.7011 100.186 94.15 + 19 197.856 1068 9 1 33.7097 100.191 65.55 + 19 142.435 1400 9 0 33.7096 100.191 64.15 + 19 113.81 1068 8 1 33.704 100.203 35.55 + 19 105.211 1400 8 0 33.7036 100.203 34.15 + 19 122.927 1068 7 1 33.6963 100.204 5.55 + 19 107.877 1400 7 0 33.696 100.205 4.15 + 19 122.245 1068 6 1 33.6869 100.225 -24.45 + 19 117.91 1400 6 0 33.686 100.226 -25.85 + 19 163.016 1068 5 1 33.6683 100.261 -54.45 + 19 138.507 1400 5 0 33.6677 100.262 -55.85 + 19 114.858 1068 4 1 33.6603 100.28 -84.45 + 19 117.776 1400 4 0 33.6602 100.28 -85.85 + 19 99.4977 1068 3 1 33.6512 100.284 -114.45 + 19 297.232 1400 3 0 33.6512 100.283 -115.85 + 19 313.684 1068 2 1 33.6534 100.263 -144.45 + 19 110.015 1400 2 0 33.6537 100.261 -145.85 + 19 361.897 1068 1 1 33.6575 100.235 -174.45 + 19 107.581 1400 1 0 33.6565 100.233 -175.85 + 19 148.705 1067 0 1 33.6351 100.191 -204.45 + 19 126.337 1400 0 0 33.6342 100.189 -205.85 + 19 105.668 1067 9 1 33.6497 100.128 65.2596 + 19 63.5433 1067 10 1 33.6499 100.158 95.5139 + 19 372.092 1066 10 1 33.45 100.107 95.4398 + 19 31.3863 1394 10 0 33.04 99.0332 94.1499 + 19 401.924 1393 10 0 33.0085 98.9499 94.0842 + 19 20.5837 1392 10 0 33.1597 98.7499 93.863 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 1.47054 LIN +Particle energy: 3.50982 LIN Particle: proton Event: 20 -Number of tracker hits in this event: 21 - 20 129.824 912 9 1 2.64487 -124.295 65.55 - 20 141.494 279 9 0 2.64226 -124.297 64.15 - 20 153.456 912 8 1 2.57945 -124.334 35.55 - 20 95.2594 279 8 0 2.57611 -124.337 34.15 - 20 110.032 912 7 1 2.51756 -124.416 5.55 - 20 325.606 278 7 0 2.51181 -124.411 4.15 - 20 139.395 911 6 1 2.41628 -124.307 -24.45 - 20 113.776 279 6 0 2.41225 -124.304 -25.85 - 20 111.93 911 5 1 2.33757 -124.242 -54.45 - 20 136.903 279 5 0 2.33322 -124.242 -55.85 - 20 144.733 910 4 1 2.23807 -124.261 -84.45 - 20 314.737 279 4 0 2.23332 -124.264 -85.85 - 20 143.556 910 3 1 2.13809 -124.322 -114.45 - 20 106.084 279 3 0 2.13223 -124.322 -115.85 - 20 112.39 909 2 1 2.02521 -124.33 -144.45 - 20 122.374 279 2 0 2.01787 -124.33 -145.85 - 20 141.868 909 1 1 1.86673 -124.341 -174.45 - 20 129.037 279 1 0 1.85942 -124.34 -175.85 - 20 292.859 908 0 1 1.69662 -124.329 -204.45 - 20 98.0283 279 0 0 1.68584 -124.328 -205.85 - 20 42.786 280 4 0 2.29729 -124.15 -86.1954 -Number of digits in this event: 15 +Number of tracker hits in this event: 24 + 20 197.639 1523 9 1 124.942 21.0328 65.55 + 20 101.266 1004 9 0 124.942 21.0311 64.15 + 20 88.0973 1523 8 1 124.936 20.9916 35.55 + 20 141.681 1004 8 0 124.937 20.9909 34.15 + 20 222.429 1524 7 1 124.981 20.9781 5.55 + 20 125.617 1004 7 0 124.983 20.9762 4.15 + 20 144.408 1524 6 1 125.011 20.9404 -24.45 + 20 175.023 1004 6 0 125.012 20.939 -25.85 + 20 387.597 1524 5 1 125.023 20.9123 -54.45 + 20 97.0123 1004 5 0 125.025 20.9105 -55.85 + 20 120.411 1524 4 1 125.062 20.8776 -84.45 + 20 99.0014 1004 4 0 125.066 20.8781 -85.85 + 20 122.247 1524 3 1 125.136 20.8935 -114.45 + 20 148.392 1004 3 0 125.139 20.8937 -115.85 + 20 160.603 1525 2 1 125.186 20.8982 -144.45 + 20 134.163 1004 2 0 125.189 20.896 -145.85 + 20 128.715 1525 1 1 125.254 20.8598 -174.45 + 20 101.897 1004 1 0 125.256 20.8584 -175.85 + 20 125.345 1525 0 1 125.314 20.8265 -204.45 + 20 100.63 1003 0 0 125.316 20.824 -205.85 + 20 47.1589 1524 9 1 124.95 21.1827 65.2375 + 20 113.805 1010 9 0 125.23 22.0555 64.1498 + 20 90.4149 1011 9 0 125.066 22.25 63.9527 + 20 277.169 1026 9 0 126.668 25.2945 63.75 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 7.89425 LIN +Particle energy: 3.17806 LIN Particle: proton Event: 21 -Number of tracker hits in this event: 36 - 21 147.816 742 11 1 -31.6419 12.8711 125.55 - 21 110.487 964 11 0 -31.6419 12.8717 124.15 - 21 112.402 742 10 1 -31.6455 12.8836 95.55 - 21 123.142 964 10 0 -31.6471 12.8842 94.15 - 21 109.963 741 9 1 -31.6833 12.8963 65.55 - 21 153.59 964 9 0 -31.6864 12.8966 64.15 - 21 161.034 741 8 1 -31.7522 12.9035 35.55 - 21 114.3 964 8 0 -31.7566 12.9043 34.15 - 21 116.284 741 7 1 -31.848 12.9228 5.55 - 21 93.5743 964 7 0 -31.8523 12.924 4.15 - 21 126.22 740 6 1 -31.9407 12.9489 -24.45 - 21 131.442 964 6 0 -31.9456 12.9509 -25.85 - 21 108.852 740 5 1 -32.0439 12.9953 -54.45 - 21 144.199 964 5 0 -32.0486 12.9987 -55.85 - 21 132.616 739 4 1 -32.1466 13.0651 -84.45 - 21 103.064 965 4 0 -32.1502 13.0663 -85.85 - 21 120.313 739 3 1 -32.2264 13.0926 -114.45 - 21 92.3837 965 3 0 -32.23 13.0939 -115.85 - 21 173.649 738 2 1 -32.3032 13.1198 -144.45 - 21 149.586 965 2 0 -32.3057 13.1208 -145.85 - 21 97.521 738 1 1 -32.3606 13.1414 -174.45 - 21 166.813 965 1 0 -32.3638 13.143 -175.85 - 21 152.043 738 0 1 -32.4235 13.1738 -204.45 - 21 104.483 965 0 0 -32.4264 13.1752 -205.85 - 21 30.1479 957 8 0 -107.997 11.4777 33.75 - 21 210.221 359 8 1 -108.182 11.1795 35.15 - 21 117.566 360 8 1 -108.15 11.0869 35.5177 - 21 155.186 635 3 0 52.3293 -52.9142 -116.25 - 21 101.242 1389 3 0 -71.6821 97.9935 -116.25 - 21 29.2751 1388 3 0 -71.8138 97.95 -115.929 - 21 243.486 541 3 1 -71.767 97.227 -114.85 - 21 103.017 540 3 1 -71.8504 96.8689 -114.516 - 21 4.1219 14 0 1 -177.173 166.092 -204.85 - 21 37.1054 858 13 1 -8.36838 116.665 185.15 - 21 200.176 859 13 1 -8.25 116.611 185.497 - 21 147.401 1125 2 1 45.2277 27.039 -144.85 -Number of digits in this event: 22 +Number of tracker hits in this event: 25 + 21 173.981 1029 11 1 25.8899 -26.1924 125.55 + 21 96.327 769 11 0 25.8896 -26.1919 124.15 + 21 104.879 1029 10 1 25.884 -26.1713 95.55 + 21 126.462 769 10 0 25.884 -26.173 94.15 + 21 102.766 1029 9 1 25.8821 -26.2106 65.55 + 21 138.209 769 9 0 25.8838 -26.2135 64.15 + 21 354.244 1029 8 1 25.9224 -26.2718 35.55 + 21 139.901 768 8 0 25.9192 -26.2754 34.15 + 21 115.225 1028 7 1 25.8466 -26.349 5.55 + 21 122.584 768 7 0 25.8448 -26.3505 4.15 + 21 115.254 1028 6 1 25.8172 -26.3766 -24.45 + 21 191.632 768 6 0 25.8154 -26.3782 -25.85 + 21 147.207 1028 5 1 25.7859 -26.4147 -54.45 + 21 103.057 768 5 0 25.786 -26.4171 -55.85 + 21 296.876 1028 4 1 25.7966 -26.4716 -84.45 + 21 106.194 767 4 0 25.7989 -26.4721 -85.85 + 21 112.388 1029 3 1 25.8519 -26.4825 -114.45 + 21 159.929 767 3 0 25.8529 -26.4838 -115.85 + 21 194.035 1029 2 1 25.8744 -26.5043 -144.45 + 21 133.121 767 2 0 25.8762 -26.5057 -145.85 + 21 245.865 1029 1 1 25.8897 -26.5548 -174.45 + 21 125.347 767 1 0 25.8895 -26.5598 -175.85 + 21 102.143 1029 0 1 25.8867 -26.6584 -204.45 + 21 146.63 766 0 0 25.8868 -26.6643 -205.85 + 21 81.2798 768 3 0 25.8502 -26.45 -115.981 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 3.53988 LIN +Particle energy: 2.84034 LIN Particle: proton Event: 22 -Number of tracker hits in this event: 27 - 22 134.021 1129 11 1 46.0197 -47.3516 125.55 - 22 112.103 663 11 0 46.02 -47.3519 124.15 - 22 95.0856 1129 10 1 46.0337 -47.3587 95.55 - 22 94.5295 663 10 0 46.0352 -47.3592 94.15 - 22 163.069 1130 9 1 46.0679 -47.3715 65.55 - 22 132.5 663 9 0 46.0678 -47.3719 64.15 - 22 134.376 1130 8 1 46.0607 -47.3822 35.55 - 22 110.342 663 8 0 46.0631 -47.3846 34.15 - 22 129.968 1130 7 1 46.1075 -47.4386 5.55 - 22 124.088 663 7 0 46.1104 -47.4406 4.15 - 22 155.335 1130 6 1 46.1757 -47.484 -24.45 - 22 117.026 662 6 0 46.1777 -47.486 -25.85 - 22 329.32 1130 5 1 46.2156 -47.524 -54.45 - 22 138.472 662 5 0 46.2179 -47.5267 -55.85 - 22 161.749 1131 4 1 46.266 -47.5816 -84.45 - 22 154.084 662 4 0 46.2696 -47.5858 -85.85 - 22 270.379 1131 3 1 46.3445 -47.6675 -114.45 - 22 114.708 661 3 0 46.3505 -47.6728 -115.85 - 22 112.408 1132 2 1 46.4741 -47.7787 -144.45 - 22 130.388 661 2 0 46.4807 -47.7866 -145.85 - 22 191.763 1132 1 1 46.6163 -47.9441 -174.45 - 22 105.554 660 1 0 46.6215 -47.951 -175.85 - 22 94.9866 1133 0 1 46.729 -48.1013 -204.45 - 22 145.851 659 0 0 46.7348 -48.1082 -205.85 - 22 241.046 827 2 0 93.2627 -14.599 -146.25 - 22 233.36 828 2 0 93.1847 -14.4497 -145.885 - 22 167.101 663 5 0 45.8015 -47.4185 -55.85 -Number of digits in this event: 19 +Number of tracker hits in this event: 22 + 22 104.04 816 9 1 -16.7558 -131.277 65.55 + 22 106.618 244 9 0 -16.7564 -131.279 64.15 + 22 249.744 816 8 1 -16.7702 -131.307 35.55 + 22 98.3094 244 8 0 -16.7701 -131.305 34.15 + 22 107.672 816 7 1 -16.7676 -131.266 5.55 + 22 132.231 244 7 0 -16.7641 -131.265 4.15 + 22 135.346 816 6 1 -16.6923 -131.247 -24.45 + 22 116.743 244 6 0 -16.6901 -131.247 -25.85 + 22 129.432 817 5 1 -16.6497 -131.232 -54.45 + 22 105.303 244 5 0 -16.6473 -131.23 -55.85 + 22 111.924 817 4 1 -16.5985 -131.181 -84.45 + 22 122.03 244 4 0 -16.5978 -131.18 -85.85 + 22 123.625 817 3 1 -16.5869 -131.152 -114.45 + 22 58.2225 244 3 0 -16.5874 -131.15 -115.85 + 22 81.718 245 3 0 -16.5874 -131.15 -115.997 + 22 126.565 817 2 1 -16.6027 -131.115 -144.45 + 22 101.738 245 2 0 -16.6053 -131.114 -145.85 + 22 119.627 816 1 1 -16.6539 -131.11 -174.45 + 22 496.287 245 1 0 -16.6572 -131.11 -175.85 + 22 106.078 816 0 1 -16.7139 -131.115 -204.45 + 22 98.5356 245 0 0 -16.7192 -131.117 -205.85 + 22 103.595 244 1 0 -16.7245 -131.15 -176.019 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 4.72019 LIN +Particle energy: 9.52414 LIN Particle: proton Event: 23 -Number of tracker hits in this event: 20 - 23 121.78 345 9 1 -111.125 43.8637 65.55 - 23 111.024 1119 9 0 -111.125 43.8658 64.15 - 23 96.355 345 8 1 -111.137 43.916 35.55 - 23 173.451 1119 8 0 -111.137 43.9174 34.15 - 23 383.912 345 7 1 -111.13 43.9518 5.55 - 23 131.431 1119 7 0 -111.13 43.9531 4.15 - 23 113.296 345 6 1 -111.127 43.981 -24.45 - 23 97.2007 1119 6 0 -111.126 43.9833 -25.85 - 23 122.652 345 5 1 -111.096 44.025 -54.45 - 23 101.939 1119 5 0 -111.094 44.028 -55.85 - 23 111.585 345 4 1 -111.054 44.0935 -84.45 - 23 129.859 1120 4 0 -111.053 44.0961 -85.85 - 23 116.719 345 3 1 -111.02 44.1509 -114.45 - 23 172.493 1120 3 0 -111.017 44.1517 -115.85 - 23 134.937 345 2 1 -110.959 44.1647 -144.45 - 23 205.978 1120 2 0 -110.958 44.1641 -145.85 - 23 138.549 346 1 1 -110.918 44.1517 -174.45 - 23 112.171 1120 1 0 -110.918 44.1519 -175.85 - 23 121.012 346 0 1 -110.923 44.159 -204.45 - 23 131.575 1120 0 0 -110.923 44.1609 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 24 + 23 88.3531 679 11 1 -44.1828 42.5665 125.55 + 23 102.18 1112 11 0 -44.1822 42.5666 124.15 + 23 131.389 679 10 1 -44.1715 42.5683 95.55 + 23 144.237 1112 10 0 -44.1673 42.5713 94.15 + 23 108.673 679 9 1 -44.077 42.6336 65.55 + 23 163.707 1112 9 0 -44.0721 42.6376 64.15 + 23 140.805 680 8 1 -43.9686 42.7207 35.55 + 23 126.574 1113 8 0 -43.9632 42.7237 34.15 + 23 123.91 680 7 1 -43.8557 42.7793 5.55 + 23 103.834 1113 7 0 -43.8502 42.7822 4.15 + 23 117.906 681 6 1 -43.74 42.8404 -24.45 + 23 108.078 1113 6 0 -43.7349 42.8426 -25.85 + 23 123.08 682 5 1 -43.6329 42.8888 -54.45 + 23 285.857 1114 5 0 -43.6287 42.8901 -55.85 + 23 145.699 682 4 1 -43.5467 42.9162 -84.45 + 23 107.522 1114 4 0 -43.5435 42.9175 -85.85 + 23 97.4283 682 3 1 -43.4774 42.9425 -114.45 + 23 164.525 1114 3 0 -43.474 42.944 -115.85 + 23 121.979 683 2 1 -43.4069 42.9735 -144.45 + 23 141.302 1114 2 0 -43.4042 42.9753 -145.85 + 23 107.725 683 1 1 -43.345 43.0156 -174.45 + 23 155.843 1114 1 0 -43.3413 43.0172 -175.85 + 23 115.198 683 0 1 -43.2652 43.0498 -204.45 + 23 184.682 1115 0 0 -43.2602 43.0515 -205.85 +Number of digits in this event: 15 Using G4ParticleGun... -Particle energy: 5.62724 LIN +Particle energy: 2.3349 LIN Particle: proton Event: 24 -Number of tracker hits in this event: 26 - 24 458.534 1202 11 1 60.6074 -13.987 125.55 - 24 88.3258 830 11 0 60.6064 -13.9877 124.15 - 24 164.771 1202 10 1 60.5856 -13.9988 95.55 - 24 120.822 830 10 0 60.5836 -13.9982 94.15 - 24 96.9212 1202 9 1 60.5411 -13.9897 65.55 - 24 92.193 830 9 0 60.5407 -13.991 64.15 - 24 101.362 1202 8 1 60.5317 -14.015 35.55 - 24 124.99 830 8 0 60.5322 -14.017 34.15 - 24 125.357 1202 7 1 60.5443 -14.0604 5.55 - 24 209.428 829 7 0 60.5444 -14.0618 4.15 - 24 111.202 1202 6 1 60.5453 -14.0888 -24.45 - 24 113.934 829 6 0 60.5442 -14.0896 -25.85 - 24 112.365 1202 5 1 60.519 -14.1064 -54.45 - 24 128.598 829 5 0 60.5174 -14.1084 -55.85 - 24 107.486 1202 4 1 60.4865 -14.147 -84.45 - 24 159.162 829 4 0 60.4852 -14.1495 -85.85 - 24 497.889 1202 3 1 60.456 -14.2054 -114.45 - 24 109.317 829 3 0 60.4537 -14.2097 -115.85 - 24 99.5302 1201 2 1 60.4074 -14.3035 -144.45 - 24 194.819 828 2 0 60.4047 -14.3088 -145.85 - 24 116.22 1201 1 1 60.3505 -14.4227 -174.45 - 24 94.6058 828 1 0 60.3473 -14.4287 -175.85 - 24 130.998 1201 0 1 60.2787 -14.5512 -204.45 - 24 93.4498 827 0 0 60.2739 -14.556 -205.85 - 24 178.037 1203 3 1 60.65 -13.7272 -114.73 - 24 169.068 1203 10 1 60.65 -13.9746 95.5081 -Number of digits in this event: 14 +Number of tracker hits in this event: 24 + 24 118.978 915 11 1 3.2202 -62.5452 125.55 + 24 155.5 587 11 0 3.21793 -62.5423 124.15 + 24 114.834 915 10 1 3.17459 -62.483 95.55 + 24 103.972 587 10 0 3.17282 -62.4798 94.15 + 24 155.498 915 9 1 3.13891 -62.3999 65.55 + 24 125.353 588 9 0 3.13748 -62.3953 64.15 + 24 137.614 915 8 1 3.09881 -62.2917 35.55 + 24 162.308 588 8 0 3.09249 -62.2874 34.15 + 24 90.5328 914 7 1 2.98545 -62.1874 5.55 + 24 118.327 589 7 0 2.9821 -62.1801 4.15 + 24 115.44 914 6 1 2.9153 -62.0289 -24.45 + 24 124.608 590 6 0 2.91292 -62.0145 -25.85 + 24 131.007 914 5 1 2.86262 -61.713 -54.45 + 24 104.748 591 5 0 2.85884 -61.6988 -55.85 + 24 137.388 913 4 1 2.77715 -61.402 -84.45 + 24 144.63 593 4 0 2.77434 -61.3849 -85.85 + 24 132.409 913 3 1 2.72462 -61.0326 -114.45 + 24 130.57 595 3 0 2.72192 -61.0173 -115.85 + 24 104.46 913 2 1 2.6633 -60.6916 -144.45 + 24 130.842 596 2 0 2.66105 -60.6762 -145.85 + 24 118.49 912 1 1 2.61508 -60.3748 -174.45 + 24 151.248 598 1 0 2.61311 -60.3595 -175.85 + 24 122.266 912 0 1 2.57137 -60.0483 -204.45 + 24 185.366 600 0 0 2.57007 -60.0332 -205.85 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 6.74956 LIN +Particle energy: 9.49588 LIN Particle: proton Event: 25 -Number of tracker hits in this event: 24 - 25 146.205 330 10 1 -114.064 -14.3942 95.55 - 25 96.8059 828 10 0 -114.063 -14.394 94.15 - 25 130.357 330 9 1 -114.051 -14.3901 65.55 - 25 221.213 828 9 0 -114.05 -14.3905 64.15 - 25 105.725 330 8 1 -114.02 -14.3984 35.55 - 25 127.692 828 8 0 -114.018 -14.399 34.15 - 25 222.76 330 7 1 -113.974 -14.4063 5.55 - 25 135.917 828 7 0 -113.971 -14.4079 4.15 - 25 97.065 331 6 1 -113.92 -14.4364 -24.45 - 25 101.549 828 6 0 -113.917 -14.437 -25.85 - 25 149.821 331 5 1 -113.844 -14.447 -54.45 - 25 120.298 828 5 0 -113.841 -14.4489 -55.85 - 25 113.395 331 4 1 -113.777 -14.4841 -84.45 - 25 103.601 827 4 0 -113.774 -14.4854 -85.85 - 25 111.752 332 3 1 -113.716 -14.5137 -114.45 - 25 97.864 827 3 0 -113.714 -14.5141 -115.85 - 25 114.749 332 2 1 -113.675 -14.5224 -144.45 - 25 350.41 827 2 0 -113.673 -14.5231 -145.85 - 25 101.268 332 1 1 -113.622 -14.5393 -174.45 - 25 151.149 827 1 0 -113.621 -14.5411 -175.85 - 25 226.733 332 0 1 -113.593 -14.5802 -204.45 - 25 109.096 827 0 0 -113.593 -14.5813 -205.85 - 25 70.1162 828 2 0 -113.688 -14.45 -145.942 - 25 24.0189 331 7 1 -113.95 -14.4155 5.47566 +Number of tracker hits in this event: 26 + 25 157.902 1461 9 1 112.441 -37.7175 65.55 + 25 112.591 711 9 0 112.441 -37.717 64.15 + 25 147.207 1461 8 1 112.437 -37.7057 35.55 + 25 142.785 711 8 0 112.437 -37.7058 34.15 + 25 124.005 1461 7 1 112.43 -37.7071 5.55 + 25 108.897 711 7 0 112.43 -37.7075 4.15 + 25 335.484 1461 6 1 112.416 -37.7157 -24.45 + 25 115.357 711 6 0 112.416 -37.7153 -25.85 + 25 126.324 1461 5 1 112.409 -37.7098 -54.45 + 25 147.721 711 5 0 112.409 -37.7102 -55.85 + 25 105.436 1461 4 1 112.395 -37.7209 -84.45 + 25 220.284 711 4 0 112.393 -37.7214 -85.85 + 25 140.805 1461 3 1 112.364 -37.7325 -114.45 + 25 130.434 711 3 0 112.363 -37.733 -115.85 + 25 104.014 1460 2 1 112.339 -37.7432 -144.45 + 25 107.063 711 2 0 112.338 -37.7446 -145.85 + 25 174.79 1460 1 1 112.314 -37.774 -174.45 + 25 124.524 711 1 0 112.313 -37.7755 -175.85 + 25 139.404 1460 0 1 112.293 -37.8095 -204.45 + 25 111.353 711 0 0 112.292 -37.8114 -205.85 + 25 114.837 714 6 0 112.609 -37.2183 -25.85 + 25 70.1672 846 6 0 145.527 -10.7323 -26.25 + 25 104.776 847 6 0 145.746 -10.65 -26.0723 + 25 43.9478 1637 6 1 147.621 -10.1348 -24.85 + 25 84.0533 1638 6 1 147.75 -10.1112 -24.7499 + 25 29.9761 1639 6 1 147.95 -10.0661 -24.5381 Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 4.82801 LIN +Particle energy: 4.28331 LIN Particle: proton Event: 26 -Number of tracker hits in this event: 26 - 26 147.797 821 10 1 -15.7936 97.9445 95.55 - 26 104.726 1388 10 0 -15.7935 97.9438 94.15 - 26 91.0221 821 9 1 -15.7986 97.9302 65.55 - 26 96.8934 1388 9 0 -15.799 97.9282 64.15 - 26 139.919 821 8 1 -15.813 97.8916 35.55 - 26 177.326 1388 8 0 -15.8132 97.8886 34.15 - 26 173.224 821 7 1 -15.8267 97.8237 5.55 - 26 112.609 1388 7 0 -15.8273 97.8198 4.15 - 26 95.5998 821 6 1 -15.8309 97.7416 -24.45 - 26 92.8457 1387 6 0 -15.8326 97.7383 -25.85 - 26 113.838 820 5 1 -15.8646 97.6647 -54.45 - 26 100.047 1387 5 0 -15.8704 97.6625 -55.85 - 26 102.942 820 4 1 -15.9908 97.6159 -84.45 - 26 118.103 1387 4 0 -15.9972 97.6125 -85.85 - 26 123.615 819 3 1 -16.1284 97.5392 -114.45 - 26 150.409 1386 3 0 -16.1348 97.5363 -115.85 - 26 102.8 818 2 1 -16.26 97.4684 -144.45 - 26 96.013 1386 2 0 -16.2647 97.466 -145.85 - 26 142.165 818 1 1 -16.3662 97.415 -174.45 - 26 106.726 1386 1 0 -16.3705 97.4123 -175.85 - 26 113.94 817 0 1 -16.4571 97.3519 -204.45 - 26 131.134 1386 0 0 -16.4613 97.3506 -205.85 - 26 164.444 1387 3 0 -16.1392 97.55 -116.174 - 26 83.3427 822 10 1 -15.65 98.0027 95.4686 - 26 69.8315 823 10 1 -15.45 98.0202 95.2757 - 26 165.782 1387 10 0 -14.2771 97.7226 94.15 -Number of digits in this event: 13 +Number of tracker hits in this event: 22 + 26 114.359 1297 10 1 79.6494 65.6966 95.55 + 26 117.778 1228 10 0 79.6492 65.6963 94.15 + 26 143.938 1298 9 1 79.6508 65.6933 65.55 + 26 124.687 1228 9 0 79.6515 65.6924 64.15 + 26 120.232 1298 8 1 79.6633 65.6729 35.55 + 26 110.949 1228 8 0 79.6648 65.672 34.15 + 26 106.825 1298 7 1 79.6981 65.6546 5.55 + 26 125.823 1228 7 0 79.6999 65.6528 4.15 + 26 132.283 1298 6 1 79.7382 65.6149 -24.45 + 26 122.008 1227 6 0 79.7392 65.6132 -25.85 + 26 109.555 1298 5 1 79.7619 65.5808 -54.45 + 26 150.834 1227 5 0 79.7621 65.5779 -55.85 + 26 98.606 1298 4 1 79.7643 65.5182 -84.45 + 26 107.091 1227 4 0 79.7643 65.5149 -85.85 + 26 131.357 1298 3 1 79.765 65.4493 -114.45 + 26 105.213 1226 3 0 79.7645 65.4465 -115.85 + 26 127.078 1298 2 1 79.7566 65.3895 -144.45 + 26 118.848 1226 2 0 79.7571 65.3876 -145.85 + 26 136.556 1298 1 1 79.7628 65.3492 -174.45 + 26 154.705 1226 1 0 79.7636 65.3463 -175.85 + 26 142.464 1298 0 1 79.7866 65.2872 -204.45 + 26 139.425 1226 0 0 79.7884 65.2851 -205.85 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 8.75836 LIN +Particle energy: 5.46149 LIN Particle: proton Event: 27 -Number of tracker hits in this event: 31 - 27 187.407 635 9 1 -52.8737 -113.357 65.55 - 27 120.784 333 9 0 -52.873 -113.356 64.15 - 27 124.36 635 8 1 -52.8618 -113.346 35.55 - 27 153.098 334 8 0 -52.8617 -113.346 34.15 - 27 132.866 635 7 1 -52.8611 -113.332 5.55 - 27 104.358 334 7 0 -52.8615 -113.332 4.15 - 27 109.948 635 6 1 -52.8699 -113.339 -24.45 - 27 124.423 334 6 0 -52.8706 -113.339 -25.85 - 27 156.701 635 5 1 -52.8869 -113.343 -54.45 - 27 156.17 334 5 0 -52.8868 -113.342 -55.85 - 27 131.769 635 4 1 -52.8834 -113.336 -84.45 - 27 102.457 334 4 0 -52.8833 -113.336 -85.85 - 27 98.579 635 3 1 -52.8783 -113.347 -114.45 - 27 107.237 334 3 0 -52.8777 -113.348 -115.85 - 27 203.838 635 2 1 -52.866 -113.362 -144.45 - 27 122.242 333 2 0 -52.8646 -113.362 -145.85 - 27 107.543 636 1 1 -52.8356 -113.38 -174.45 - 27 104.181 333 1 0 -52.8348 -113.381 -175.85 - 27 90.612 636 0 1 -52.8159 -113.397 -204.45 - 27 120.576 333 0 0 -52.8144 -113.399 -205.85 - 27 84.5607 636 2 1 -52.85 -113.305 -144.504 - 27 194.349 333 3 0 -52.8923 -113.35 -116.069 - 27 470.14 636 4 1 -52.7916 -113.317 -84.4502 - 27 59.4843 637 4 1 -52.65 -113.342 -84.5852 - 27 173.129 638 4 1 -52.45 -113.335 -84.6474 - 27 81.0586 326 4 0 -52.5539 -114.788 -85.85 - 27 46.6181 327 4 0 -52.5386 -114.75 -86.1031 - 27 33.9349 545 4 0 -22.3029 -70.9011 -86.25 - 27 87.5342 546 4 0 -22.2954 -70.85 -86.2236 - 27 145.313 299 4 0 -45.4036 -120.186 -86.25 - 27 35.6939 300 4 0 -45.4216 -120.15 -86.1325 -Number of digits in this event: 17 +Number of tracker hits in this event: 17 + 27 112.538 821 7 1 -15.7712 -148.816 5.55 + 27 107.281 156 7 0 -15.7718 -148.815 4.15 + 27 146.143 821 6 1 -15.7929 -148.774 -24.45 + 27 109.47 156 6 0 -15.7936 -148.77 -25.85 + 27 174.954 821 5 1 -15.8087 -148.695 -54.45 + 27 136.236 157 5 0 -15.8086 -148.694 -55.85 + 27 101.609 821 4 1 -15.8063 -148.673 -84.45 + 27 111.532 157 4 0 -15.8061 -148.67 -85.85 + 27 108.959 821 3 1 -15.7987 -148.619 -114.45 + 27 143.837 157 3 0 -15.7973 -148.616 -115.85 + 27 112.208 821 2 1 -15.7678 -148.558 -144.45 + 27 105.031 157 2 0 -15.7667 -148.555 -145.85 + 27 106.057 821 1 1 -15.7452 -148.497 -174.45 + 27 113.281 158 1 0 -15.7438 -148.494 -175.85 + 27 107.273 821 0 1 -15.7164 -148.427 -204.45 + 27 139.846 158 0 0 -15.7151 -148.424 -205.85 + 27 111.918 451 5 0 -92.3656 -89.85 -55.9705 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 3.32761 LIN +Particle energy: 5.99581 LIN Particle: proton Event: 28 -Number of tracker hits in this event: 25 - 28 96.2269 1293 11 1 78.825 10.3299 125.55 - 28 120.157 951 11 0 78.8273 10.3298 124.15 - 28 139.023 1294 10 1 78.8788 10.3272 95.55 - 28 107.735 951 10 0 78.8815 10.3272 94.15 - 28 121.119 1294 9 1 78.934 10.3289 65.55 - 28 125.757 951 9 0 78.9367 10.3295 64.15 - 28 106.684 1294 8 1 78.9837 10.3435 35.55 - 28 101.534 951 8 0 78.9864 10.3445 34.15 - 28 118.803 1294 7 1 79.0391 10.3725 5.55 - 28 120.311 951 7 0 79.043 10.3721 4.15 - 28 110.641 1295 6 1 79.118 10.3593 -24.45 - 28 136.229 951 6 0 79.1227 10.3592 -25.85 - 28 137.256 1295 5 1 79.2223 10.3677 -54.45 - 28 182.85 951 5 0 79.2288 10.3678 -55.85 - 28 121.943 1296 4 1 79.3783 10.3794 -84.45 - 28 140.687 951 4 0 79.3873 10.3808 -85.85 - 28 83.9136 1297 3 1 79.5792 10.4119 -114.45 - 28 97.0127 951 3 0 79.589 10.414 -115.85 - 28 107.14 1298 2 1 79.7915 10.4538 -144.45 - 28 114.068 952 2 0 79.8008 10.4548 -145.85 - 28 119.238 1299 1 1 79.995 10.4673 -174.45 - 28 150.914 952 1 0 80.0043 10.4694 -175.85 - 28 177.96 1300 0 1 80.1955 10.5117 -204.45 - 28 129.36 952 0 0 80.2072 10.5137 -205.85 - 28 74.2041 1293 10 1 78.85 10.2793 95.414 -Number of digits in this event: 14 +Number of tracker hits in this event: 20 + 28 100.567 1413 9 1 102.858 -59.7655 65.55 + 28 223.63 601 9 0 102.858 -59.7662 64.15 + 28 91.8598 1413 8 1 102.865 -59.781 35.55 + 28 120.776 601 8 0 102.863 -59.7817 34.15 + 28 119.785 1413 7 1 102.829 -59.7977 5.55 + 28 175.289 601 7 0 102.826 -59.7983 4.15 + 28 105.216 1413 6 1 102.769 -59.8131 -24.45 + 28 143.031 601 6 0 102.766 -59.8132 -25.85 + 28 125.456 1412 5 1 102.7 -59.8147 -54.45 + 28 134.33 601 5 0 102.698 -59.8155 -55.85 + 28 98.5712 1412 4 1 102.667 -59.8285 -84.45 + 28 107.517 601 4 0 102.665 -59.8297 -85.85 + 28 146.717 1412 3 1 102.62 -59.8551 -114.45 + 28 112.409 600 3 0 102.617 -59.8568 -115.85 + 28 106.605 1411 2 1 102.548 -59.8939 -144.45 + 28 100.174 600 2 0 102.545 -59.8965 -145.85 + 28 97.8823 1411 1 1 102.484 -59.9495 -174.45 + 28 153.101 600 1 0 102.48 -59.9523 -175.85 + 28 104.889 1411 0 1 102.403 -60.0104 -204.45 + 28 106.521 600 0 0 102.4 -60.0126 -205.85 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 2.04737 LIN +Particle energy: 4.21718 LIN Particle: proton Event: 29 -Number of tracker hits in this event: 21 - 29 143.734 286 9 1 -122.804 -23.4043 65.55 - 29 175.743 783 9 0 -122.807 -23.4018 64.15 - 29 558.659 286 8 1 -122.835 -23.3547 35.55 - 29 122.548 783 8 0 -122.836 -23.3543 34.15 - 29 97.9564 286 7 1 -122.852 -23.3388 5.55 - 29 116.016 783 7 0 -122.854 -23.3377 4.15 - 29 89.2132 286 6 1 -122.92 -23.3222 -24.45 - 29 179.088 783 6 0 -122.921 -23.3206 -25.85 - 29 108.384 286 5 1 -122.94 -23.286 -54.45 - 29 132.001 783 5 0 -122.94 -23.2851 -55.85 - 29 91.8586 286 4 1 -122.948 -23.2701 -84.45 - 29 296.924 783 4 0 -122.948 -23.2696 -85.85 - 29 107.125 286 3 1 -122.949 -23.2566 -114.45 - 29 120.219 783 3 0 -122.95 -23.2575 -115.85 - 29 119.051 285 2 1 -122.964 -23.2834 -144.45 - 29 94.317 783 2 0 -122.964 -23.2862 -145.85 - 29 153.49 285 1 1 -122.983 -23.3532 -174.45 - 29 138.943 783 1 0 -122.982 -23.3566 -175.85 - 29 119.486 285 0 1 -122.958 -23.4248 -204.45 - 29 121.972 783 0 0 -122.956 -23.4312 -205.85 - 29 40.7846 784 4 0 -123.041 -23.25 -85.914 +Number of tracker hits in this event: 29 + 29 103.922 417 10 1 -96.6452 -44.8095 95.55 + 29 102.9 676 10 0 -96.6434 -44.8099 94.15 + 29 202.39 417 9 1 -96.6053 -44.8161 65.55 + 29 112.532 676 9 0 -96.6014 -44.8151 64.15 + 29 97.9999 418 8 1 -96.5258 -44.7969 35.55 + 29 149.594 676 8 0 -96.523 -44.7953 34.15 + 29 116.106 418 7 1 -96.4773 -44.7682 5.55 + 29 129.006 676 7 0 -96.4772 -44.7669 4.15 + 29 137.609 418 6 1 -96.4791 -44.735 -24.45 + 29 104.877 676 6 0 -96.4771 -44.7333 -25.85 + 29 128.737 418 5 1 -96.4317 -44.6987 -54.45 + 29 141.536 676 5 0 -96.4298 -44.6989 -55.85 + 29 184.067 418 4 1 -96.3899 -44.7089 -84.45 + 29 118.46 676 4 0 -96.389 -44.709 -85.85 + 29 111.109 418 3 1 -96.3673 -44.7109 -114.45 + 29 113.503 676 3 0 -96.3648 -44.7104 -115.85 + 29 135.898 419 2 1 -96.309 -44.6943 -144.45 + 29 110.697 676 2 0 -96.3082 -44.6949 -145.85 + 29 134.421 419 1 1 -96.2956 -44.7062 -174.45 + 29 145.091 676 1 0 -96.2939 -44.7057 -175.85 + 29 128.14 419 0 1 -96.2532 -44.7036 -204.45 + 29 120.651 676 0 0 -96.2538 -44.7041 -205.85 + 29 8.07725 677 9 0 -95.598 -44.4574 64.1499 + 29 24.8729 678 9 0 -95.5877 -44.4498 64.1442 + 29 1.39041 462 9 1 -87.6467 -36.9608 65.15 + 29 0.593725 757 9 0 -78.4496 -28.5568 64.15 + 29 75.6916 510 9 1 -77.9981 -30.7753 65.15 + 29 3.9484 744 9 0 -77.389 -31.0713 64.15 + 29 25.0994 516 9 1 -76.7881 -31.5659 65.15 Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 2.56732 LIN +Particle energy: 9.16115 LIN Particle: proton Event: 30 -Number of tracker hits in this event: 36 - 30 114.663 984 11 1 16.8966 -76.7098 125.55 - 30 177.312 516 11 0 16.8968 -76.7077 124.15 - 30 166.505 984 10 1 16.9019 -76.6585 95.55 - 30 124.714 516 10 0 16.9023 -76.6543 94.15 - 30 108.201 984 9 1 16.9148 -76.5756 65.55 - 30 98.7005 517 9 0 16.916 -76.5688 64.15 - 30 108.368 984 8 1 16.9485 -76.4336 35.55 - 30 101.323 518 8 0 16.9501 -76.4286 34.15 - 30 130.915 984 7 1 16.978 -76.3207 5.55 - 30 106.542 518 7 0 16.9795 -76.3163 4.15 - 30 219.155 984 6 1 17.0283 -76.2173 -24.45 - 30 423.05 519 6 0 17.033 -76.2146 -25.85 - 30 125.297 985 5 1 17.1384 -76.1605 -54.45 - 30 138.334 519 5 0 17.1423 -76.1549 -55.85 - 30 128.178 985 4 1 17.2208 -76.0443 -84.45 - 30 131.593 520 4 0 17.2251 -76.0364 -85.85 - 30 110.488 986 3 1 17.3146 -75.8669 -114.45 - 30 108.991 520 3 0 17.3198 -75.8576 -115.85 - 30 113.854 986 2 1 17.422 -75.677 -144.45 - 30 265.903 521 2 0 17.4269 -75.6701 -145.85 - 30 125.888 987 1 1 17.5313 -75.5372 -174.45 - 30 285.324 522 1 0 17.5358 -75.5303 -175.85 - 30 168.568 987 0 1 17.6371 -75.387 -204.45 - 30 86.0167 523 0 0 17.641 -75.3794 -205.85 - 30 128.646 521 1 0 17.4069 -75.6502 -176.005 - 30 124.516 281 1 0 -30.6715 -123.84 -176.25 - 30 279.598 280 1 0 -31.0044 -123.95 -176.134 - 30 70.7351 279 1 0 -31.3534 -124.15 -176.081 - 30 194.062 738 1 1 -32.3278 -120.02 -174.85 - 30 192.222 519 4 0 17.2264 -76.05 -86.0881 - 30 73.8851 983 6 1 16.85 -75.8834 -24.5865 - 30 55.2518 982 6 1 16.65 -75.9358 -24.6679 - 30 44.5234 981 6 1 16.45 -75.9549 -24.7541 - 30 220.166 517 6 0 15.439 -76.5667 -25.85 - 30 11.3954 516 6 0 15.1879 -76.65 -25.9385 - 30 87.4465 518 6 0 14.9098 -76.45 -25.9266 -Number of digits in this event: 21 -Using G4ParticleGun... -Particle energy: 6.69656 LIN +Number of tracker hits in this event: 296 + 30 111.848 1161 11 1 52.3681 -25.7729 125.55 + 30 128.273 771 11 0 52.3683 -25.7728 124.15 + 30 228.316 1161 10 1 52.3748 -25.769 95.55 + 30 201.643 771 10 0 52.3757 -25.7694 94.15 + 30 153.861 1161 9 1 52.3968 -25.7751 65.55 + 30 105.098 771 9 0 52.3989 -25.7754 64.15 + 30 141.404 1161 8 1 52.4456 -25.7826 35.55 + 30 129.534 771 8 0 52.4469 -25.7839 34.15 + 30 132.704 1162 7 1 52.4763 -25.8116 5.55 + 30 91.1674 771 7 0 52.4785 -25.8136 4.15 + 30 94.404 1162 6 1 52.5255 -25.8575 -24.45 + 30 198.437 770 6 0 52.527 -25.8595 -25.85 + 30 116.171 1162 5 1 52.5574 -25.8976 -54.45 + 30 31947.5 770 5 0 52.5593 -25.8995 -55.85 + 30 10667.3 771 5 0 52.6072 -25.85 -56.0907 + 30 7812.6 772 5 0 52.7997 -25.65 -56.1343 + 30 9525.03 773 5 0 53.0012 -25.45 -56.1905 + 30 425.773 1114 4 1 42.9112 -49.079 -84.45 + 30 531.407 1113 4 1 42.85 -49.2301 -84.6296 + 30 553.022 648 4 0 42.4186 -50.2561 -85.85 + 30 356.291 647 4 0 42.3365 -50.45 -86.0806 + 30 72.1071 1058 3 1 31.6617 -75.4923 -114.45 + 30 971.417 1057 3 1 31.65 -75.5179 -114.478 + 30 136.496 516 3 0 31.0674 -76.7946 -115.85 + 30 594.358 515 3 0 31.0421 -76.85 -115.909 + 30 372.244 514 3 0 30.9505 -77.05 -116.125 + 30 479.888 995 2 1 19.1141 -103.328 -144.45 + 30 773.416 994 2 1 19.05 -103.48 -144.612 + 30 329.047 377 2 0 18.5646 -104.627 -145.85 + 30 655.369 376 2 0 18.5125 -104.75 -145.983 + 30 121.962 375 2 0 18.4281 -104.95 -146.2 + 30 244.932 936 1 1 7.28587 -131.038 -174.45 + 30 852.996 935 1 1 7.25 -131.12 -174.54 + 30 67.4259 239 1 0 6.72697 -132.325 -175.85 + 30 628.03 238 1 0 6.71628 -132.35 -175.877 + 30 467.357 237 1 0 6.62924 -132.55 -176.093 + 30 55.8746 876 0 1 -4.84262 -158.631 -204.45 + 30 1105.61 875 0 1 -4.85 -158.647 -204.468 + 30 200.139 101 0 0 -5.42922 -159.905 -205.85 + 30 831.815 100 0 0 -5.4499 -159.95 -205.899 + 30 375.739 99 0 0 -5.54158 -160.15 -206.119 + 30 966.17 769 5 0 52.5629 -26.05 -56.0928 + 30 879.219 768 5 0 52.5663 -26.25 -56.1101 + 30 828.477 767 5 0 52.5687 -26.45 -56.1269 + 30 729.719 766 5 0 52.5706 -26.65 -56.1449 + 30 963.083 765 5 0 52.5705 -26.85 -56.1627 + 30 1037.76 764 5 0 52.5706 -27.05 -56.1827 + 30 1018.02 763 5 0 52.569 -27.25 -56.2051 + 30 784.851 762 5 0 52.5628 -27.45 -56.23 + 30 451.838 1157 5 1 51.4777 -24.7445 -54.85 + 30 3477.15 1156 5 1 51.45 -24.7148 -54.8182 + 30 2269.26 1155 5 1 51.25 -24.4928 -54.5851 + 30 333.813 942 4 1 8.51891 -38.3343 -84.45 + 30 820.817 941 4 1 8.45 -38.357 -84.4941 + 30 914.176 940 4 1 8.25 -38.4237 -84.6225 + 30 692.159 939 4 1 8.05 -38.4916 -84.7533 + 30 2690.01 704 4 0 6.34699 -39.07 -85.85 + 30 464.194 703 4 0 5.81542 -39.25 -86.1918 + 30 1031.44 702 3 1 -39.4866 -54.9418 -114.45 + 30 1425.24 701 3 1 -39.65 -55.0206 -114.56 + 30 1673.74 700 3 1 -39.85 -55.1182 -114.699 + 30 140.965 699 3 1 -40.05 -55.2121 -114.836 + 30 2796.43 620 3 0 -41.4917 -55.8921 -115.85 + 30 2002.43 619 3 0 -41.8277 -56.05 -116.091 + 30 5224.49 774 5 0 52.861 -25.25 -56.0121 + 30 5781.46 775 5 0 52.9585 -25.05 -55.9922 + 30 6420.77 776 5 0 53.0562 -24.85 -55.9713 + 30 7823.07 777 5 0 53.1597 -24.65 -55.9493 + 30 10740.6 778 5 0 53.2686 -24.45 -55.9296 + 30 12181.1 779 5 0 53.3806 -24.25 -55.9145 + 30 1.12195 1130 4 1 46.051 -9.22497 -84.45 + 30 200.457 1129 4 1 46.05 -9.22242 -84.4543 + 30 77.3333 858 4 0 45.7367 -8.38801 -85.85 + 30 62.1986 859 4 0 45.6851 -8.25 -86.0802 + 30 8.3681 1096 3 1 39.257 8.77953 -114.45 + 30 145.951 1095 3 1 39.25 8.79974 -114.483 + 30 6.55173 947 3 0 38.9611 9.63615 -115.85 + 30 109.271 948 3 0 38.9564 9.65 -115.873 + 30 26.5265 949 3 0 38.887 9.85 -116.2 + 30 114.762 1064 2 1 32.9131 27.2203 -144.45 + 30 34.1852 1063 2 1 32.85 27.3877 -144.722 + 30 112.571 1040 2 0 32.5863 28.0822 -145.85 + 30 43.5818 1041 2 0 32.5225 28.25 -146.122 + 30 29.7759 1029 1 1 25.8704 45.7067 -174.45 + 30 107.962 1028 1 1 25.85 45.7617 -174.536 + 30 16.9084 1132 1 0 25.5441 46.6131 -175.85 + 30 120.639 1133 1 0 25.5309 46.65 -175.907 + 30 51.212 1134 1 0 25.4593 46.85 -176.215 + 30 61.7332 994 0 1 18.8889 65.2943 -204.45 + 30 103.849 993 0 1 18.85 65.408 -204.626 + 30 28.7436 1230 0 0 18.5787 66.1972 -205.85 + 30 117.923 1231 0 0 18.5606 66.25 -205.932 + 30 2.17961 1232 0 0 18.4925 66.45 -206.242 + 30 165.399 1621 0 0 76.7762 144.433 -206.25 + 30 67.5036 1622 0 0 76.7997 144.55 -206.074 + 30 104.17 1286 0 1 77.2633 144.779 -204.85 + 30 37.9232 1287 0 1 77.45 144.865 -204.495 + 30 363.204 1079 1 1 35.9048 -141.189 -174.45 + 30 102.794 1078 1 1 35.85 -141.544 -174.818 + 30 82.49 187 1 0 35.6949 -142.555 -175.85 + 30 73.8059 186 1 0 35.6643 -142.75 -176.046 + 30 64.7444 185 1 0 35.6321 -142.95 -176.246 + 30 169.195 1057 0 1 31.5833 -170.696 -204.45 + 30 34.3549 40 0 0 31.3764 -172.079 -205.85 + 30 141.662 39 0 0 31.3654 -172.15 -205.922 + 30 52.8693 38 0 0 31.3372 -172.35 -206.128 + 30 107.909 184 1 0 35.4498 -143.15 -176.006 + 30 28.2255 183 1 0 35.372 -143.35 -176.186 + 30 141.131 998 0 1 19.807 -172.37 -204.45 + 30 50.2506 33 0 0 19.7329 -173.416 -205.85 + 30 66.7188 32 0 0 19.7342 -173.55 -206.059 + 30 44.0521 1068 4 1 33.7324 -24.6539 -84.45 + 30 82.264 1067 4 1 33.65 -24.6502 -84.5727 + 30 134.625 777 4 0 32.7917 -24.6126 -85.85 + 30 33.1061 967 3 1 13.5014 -23.8076 -114.45 + 30 91.9074 966 3 1 13.45 -23.8066 -114.526 + 30 11.2969 965 3 1 13.25 -23.803 -114.821 + 30 140.61 781 3 0 12.5498 -23.79 -115.85 + 30 27.3562 865 2 1 -6.99118 -23.3738 -144.45 + 30 129.613 864 2 1 -7.05 -23.3723 -144.535 + 30 8.60242 863 2 1 -7.25 -23.3673 -144.822 + 30 126.46 783 2 0 -7.96643 -23.3486 -145.85 + 30 23.5531 761 1 1 -27.8011 -22.9411 -174.45 + 30 125.916 760 1 1 -27.85 -22.9401 -174.521 + 30 13.4105 759 1 1 -28.05 -22.9358 -174.81 + 30 25049.9 785 1 0 -28.7729 -22.9225 -175.85 + 30 44.2502 654 1 0 22.0853 -49.2025 -176.25 + 30 151.907 653 1 0 22.1611 -49.2501 -176.175 + 30 197.586 652 1 0 22.403 -49.45 -176.007 + 30 402.692 1016 1 1 23.3876 -50.5697 -174.85 + 30 14.0613 1015 1 1 23.2435 -50.4976 -174.45 + 30 1925.04 784 1 0 -28.7526 -23.05 -175.895 + 30 4068.25 762 1 1 -27.5668 -24.0528 -174.85 + 30 275.449 748 1 1 -30.2543 -23.9543 -174.85 + 30 289.55 747 1 1 -30.45 -24.1018 -174.685 + 30 131.175 746 1 1 -30.65 -24.2538 -174.516 + 30 223.552 655 2 0 -64.3723 -48.9327 -146.25 + 30 479.267 654 2 0 -64.5326 -49.05 -146.116 + 30 100.621 653 2 0 -64.8085 -49.25 -145.887 + 30 4.90128 570 2 1 -66.0457 -50.1374 -144.85 + 30 286.922 569 2 1 -66.05 -50.1405 -144.846 + 30 285.686 568 2 1 -66.25 -50.2841 -144.679 + 30 119.162 567 2 1 -66.45 -50.427 -144.511 + 30 194.358 523 3 0 -101.251 -75.3656 -116.25 + 30 386.821 522 3 0 -101.369 -75.45 -116.154 + 30 129.763 521 3 0 -101.646 -75.65 -115.929 + 30 243.603 385 3 1 -102.979 -76.6108 -114.85 + 30 318.147 384 3 1 -103.15 -76.734 -114.712 + 30 187.787 383 3 1 -103.35 -76.8774 -114.549 + 30 116.514 404 4 0 -136.283 -99.328 -86.25 + 30 563.236 403 4 0 -136.316 -99.35 -86.2222 + 30 192.974 402 4 0 -136.61 -99.55 -85.9705 + 30 11.4026 211 4 1 -137.94 -100.447 -84.85 + 30 315.429 210 4 1 -137.95 -100.454 -84.8417 + 30 345.199 209 4 1 -138.15 -100.589 -84.6734 + 30 97.3492 208 4 1 -138.35 -100.724 -84.5051 + 30 3223.98 279 5 0 -172.892 -124.293 -56.25 + 30 822.257 278 5 0 -172.976 -124.35 -56.1816 + 30 171.931 277 5 0 -173.269 -124.55 -55.9424 + 30 6881.35 27 5 1 -174.603 -125.445 -54.85 + 30 381.65 26 5 1 -174.75 -125.435 -54.7806 + 30 343.616 25 5 1 -174.95 -125.385 -54.7027 + 30 426.094 24 5 1 -175.15 -125.332 -54.626 + 30 356.821 23 5 1 -175.35 -125.279 -54.5511 + 30 129.311 22 5 1 -175.55 -125.226 -54.4762 + 30 14.9614 782 3 0 -60.0676 -23.4829 -116.25 + 30 163.233 783 3 0 -60.0426 -23.4497 -116.226 + 30 1889.21 1153 4 1 50.7816 -26.253 -84.45 + 30 2112.37 768 4 0 50.8728 -26.3111 -85.85 + 30 6315.64 1161 3 1 52.3453 -27.0279 -114.45 + 30 107.312 1225 4 1 65.1212 -10.8814 -84.45 + 30 40.0957 1226 4 1 65.25 -10.713 -84.7425 + 30 14.4788 849 4 0 65.7392 -10.0774 -85.85 + 30 117.668 850 4 0 65.7603 -10.05 -85.8977 + 30 0.52129 851 4 0 65.9145 -9.85 -86.2468 + 30 107.115 1291 3 1 78.3263 6.35152 -114.45 + 30 35.8237 1292 3 1 78.45 6.52205 -114.742 + 30 48.6058 935 3 0 78.9294 7.18253 -115.85 + 30 118.403 936 3 0 78.9784 7.25 -115.963 + 30 87.9176 1355 2 1 91.2288 24.2716 -144.45 + 30 61.0621 1356 2 1 91.35 24.4292 -144.724 + 30 103.593 1025 2 0 91.845 25.0781 -145.85 + 30 55.7279 1026 2 0 91.9761 25.25 -146.148 + 30 56.9052 1421 1 1 104.473 41.5169 -174.45 + 30 69.5346 1422 1 1 104.55 41.6163 -174.629 + 30 82.8379 1111 1 0 105.076 42.2952 -175.85 + 30 33.3817 1112 1 0 105.195 42.45 -176.128 + 30 93.7199 1483 0 1 116.842 57.964 -204.45 + 30 48.4635 1484 0 1 116.95 58.1024 -204.704 + 30 87.0228 1193 0 0 117.437 58.7254 -205.85 + 30 77.7658 1194 0 0 117.534 58.85 -206.079 + 30 7.59612 1284 4 1 77.0457 -30.9251 -84.45 + 30 110.705 1285 4 1 77.05 -30.926 -84.4549 + 30 170.122 1286 4 1 77.25 -30.9675 -84.6843 + 30 207.615 744 4 0 78.2663 -31.178 -85.85 + 30 0.69831 743 4 0 78.6137 -31.25 -86.2484 + 30 44.4918 1415 3 1 103.264 -36.3489 -114.45 + 30 147.157 1416 3 1 103.35 -36.3653 -114.549 + 30 39.1213 1417 3 1 103.55 -36.4034 -114.78 + 30 224.802 717 3 0 104.478 -36.5798 -115.85 + 30 9.55541 1545 2 1 129.322 -41.2961 -144.45 + 30 133.925 1546 2 1 129.35 -41.3011 -144.482 + 30 81.4288 1547 2 1 129.55 -41.3373 -144.71 + 30 246.237 692 2 0 130.549 -41.5192 -145.85 + 30 55.697 1677 1 1 155.653 -46.054 -174.45 + 30 185.542 1678 1 1 155.75 -46.0716 -174.559 + 30 37.3962 1679 1 1 155.95 -46.1078 -174.786 + 30 187.069 668 1 0 156.886 -46.2785 -175.85 + 30 0.448441 1053 4 1 30.6503 -72.3947 -84.45 + 30 570.98 1052 4 1 30.65 -72.3953 -84.4504 + 30 308.342 1051 4 1 30.45 -72.801 -84.7037 + 30 21.6046 527 4 0 29.5462 -74.6307 -85.85 + 30 272.412 526 4 0 29.5367 -74.65 -85.8621 + 30 260.342 525 4 0 29.4378 -74.85 -85.9872 + 30 258.269 524 4 0 29.3393 -75.05 -86.1123 + 30 23.863 523 4 0 29.2402 -75.25 -86.2376 + 30 190.747 934 3 1 6.93604 -120.533 -114.45 + 30 398.971 933 3 1 6.85 -120.696 -114.558 + 30 89.9437 932 3 1 6.65 -121.072 -114.808 + 30 121.142 287 3 0 5.81118 -122.649 -115.85 + 30 306.548 286 3 0 5.75758 -122.75 -115.917 + 30 304.944 285 3 0 5.65153 -122.95 -116.049 + 30 112.457 284 3 0 5.545 -123.15 -116.182 + 30 468.037 815 2 1 -16.897 -164.57 -144.45 + 30 454.299 814 2 1 -17.05 -164.842 -144.627 + 30 38.7737 67 2 0 -18.0969 -166.716 -145.85 + 30 286.764 66 2 0 -18.1159 -166.75 -145.872 + 30 247.534 65 2 0 -18.2272 -166.95 -146.003 + 30 219.1 64 2 0 -18.3378 -167.15 -146.133 + 30 59.483 616 2 0 89.5339 -56.8123 -145.85 + 30 108.991 1239 5 1 68.0308 42.409 -54.85 + 30 53.3019 113 11 1 -157.35 155.522 125.411 + 30 27.4217 101 11 1 -159.75 157.548 125.323 + 30 67.2436 114 11 1 -157.35 155.41 125.477 + 30 180.941 50 13 0 -2.41097 -169.98 183.798 + 30 65.1889 806 10 0 26.2752 -18.7299 93.7699 + 30 2477.77 1045 4 0 103.64 29.1094 -86.25 + 30 4963.63 1046 4 0 103.716 29.25 -86.153 + 30 4203.91 1047 4 0 103.822 29.45 -86.007 + 30 397.01 1305 3 1 81.1637 -11.1627 -114.45 + 30 634.67 1304 3 1 81.05 -11.0975 -114.579 + 30 142.428 1303 3 1 80.85 -10.9821 -114.804 + 30 24.2989 847 3 0 79.9376 -10.4536 -115.85 + 30 1090.82 848 3 0 79.9314 -10.45 -115.857 + 30 116.356 1175 2 1 55.0878 3.96989 -144.45 + 30 831.235 1174 2 1 55.05 3.99126 -144.493 + 30 427.257 1173 2 1 54.85 4.10324 -144.723 + 30 1276.07 923 2 0 53.8791 4.67256 -145.85 + 30 172.496 924 2 0 53.5769 4.85 -146.201 + 30 574.565 1052 1 1 30.5443 19.2547 -174.45 + 30 923.54 1051 1 1 30.45 19.3017 -174.564 + 30 154.018 1050 1 1 30.25 19.4042 -174.804 + 30 1619.66 999 1 0 29.3821 19.853 -175.85 + 30 431.787 928 0 1 5.72605 32.4212 -204.45 + 30 1149.31 927 0 1 5.65 32.4568 -204.528 + 30 688.528 926 0 1 5.45 32.5501 -204.732 + 30 1674.67 1065 0 0 4.33997 33.1128 -205.85 + 30 811.979 1066 0 0 4.07147 33.25 -206.12 + 30 121.725 1120 4 1 44.2241 -25.7384 -84.45 + 30 114.938 771 4 0 43.8133 -25.7259 -85.85 + 30 93.1529 1076 3 1 35.419 -25.4636 -114.45 + 30 144.654 773 3 0 35.0063 -25.4466 -115.85 + 30 100.754 1032 2 1 26.6011 -25.0935 -144.45 + 30 113.625 774 2 0 26.1921 -25.0763 -145.85 + 30 97.2688 988 1 1 17.8196 -24.7253 -174.45 + 30 153.726 776 1 0 17.409 -24.7102 -175.85 + 30 205.671 944 0 1 9.02833 -24.4101 -204.45 + 30 117.887 778 0 0 8.6165 -24.3947 -205.85 + 30 38.967 585 5 0 108.864 -62.9517 -56.25 + 30 13.6164 892 4 1 -1.60134 -7.73562 -84.45 + 30 78.308 891 4 1 -1.65 -7.71886 -84.4758 + 30 85.9361 890 4 1 -1.85 -7.65003 -84.5818 + 30 80.1884 889 4 1 -2.05 -7.58116 -84.6874 + 30 44.5072 888 4 1 -2.25 -7.5118 -84.7914 + 30 169.12 866 4 0 -4.26865 -6.80568 -85.85 + 30 110.378 867 4 0 -4.71373 -6.65 -86.0835 + 30 23.6646 607 3 1 -58.5929 12.181 -114.45 + 30 75.7762 606 3 1 -58.65 12.1975 -114.478 + 30 64.9552 605 3 1 -58.85 12.2554 -114.577 + 30 60.7646 604 3 1 -59.05 12.3163 -114.678 + 30 51.484 603 3 1 -59.25 12.3773 -114.779 + 30 16.2263 964 3 0 -61.3828 13.0351 -115.85 + 30 514.875 965 3 0 -61.4311 13.05 -115.874 + 30 39.3442 966 3 0 -62.0778 13.25 -116.198 + 30 0.364444 1001 3 0 -129.911 20.2504 -116.25 + 30 353.592 1000 3 0 -129.911 20.25 -116.249 + 30 57.3805 999 3 0 -129.774 20.0499 -116.072 + 30 29.2931 998 3 0 -129.759 19.8496 -116.113 + 30 85.0393 243 3 1 -131.383 20.0072 -114.85 + 30 229.358 242 3 1 -131.55 19.9693 -114.678 + 30 162.945 433 3 1 -93.475 86.6274 -114.45 + 30 268.756 434 3 1 -93.35 86.7428 -114.568 + 30 60.2627 1106 2 0 11.2329 41.25 -146.138 + 30 1030.51 960 3 0 -125.946 12.1259 -116.25 + 30 3138.3 959 3 0 -125.98 12.05 -116.134 + 30 7252.32 269 3 1 -126.234 11.2609 -114.85 +Number of digits in this event: 172 +Using G4ParticleGun... +Particle energy: 7.49101 LIN Particle: proton Event: 31 -Number of tracker hits in this event: 34 - 31 99.719 643 11 1 -51.332 46.3048 125.55 - 31 118.822 1131 11 0 -51.3309 46.3047 124.15 - 31 149.652 643 10 1 -51.3019 46.3023 95.55 - 31 111.561 1131 10 0 -51.3012 46.301 94.15 - 31 121.98 643 9 1 -51.289 46.2756 65.55 - 31 93.0804 1131 9 0 -51.2873 46.2742 64.15 - 31 96.421 643 8 1 -51.2569 46.2499 35.55 - 31 116.993 1130 8 0 -51.2564 46.25 34.15 - 31 108.406 644 7 1 -51.2472 46.2478 5.55 - 31 92.928 1130 7 0 -51.2449 46.2476 4.15 - 31 125.603 644 6 1 -51.193 46.2422 -24.45 - 31 88.8852 1130 6 0 -51.19 46.2414 -25.85 - 31 112.479 644 5 1 -51.1277 46.2278 -54.45 - 31 161.13 1130 5 0 -51.1261 46.2273 -55.85 - 31 192.83 644 4 1 -51.0982 46.2193 -84.45 - 31 103.45 1130 4 0 -51.1078 46.2254 -85.85 - 31 117.031 643 3 1 -51.3127 46.3563 -114.45 - 31 99.3231 1131 3 0 -51.323 46.3621 -115.85 - 31 86.6694 642 2 1 -51.533 46.4841 -144.45 - 31 135.211 1132 2 0 -51.5442 46.4889 -145.85 - 31 111.608 641 1 1 -51.7696 46.5882 -174.45 - 31 93.3274 1132 1 0 -51.7815 46.5928 -175.85 - 31 320.183 640 0 1 -52.0249 46.6863 -204.45 - 31 174.148 1133 0 0 -52.0367 46.691 -205.85 - 31 3.74245 1312 14 0 -41.1206 82.6438 213.75 - 31 3.64802 641 0 1 -51.8383 46.8446 -204.45 - 31 70.1631 639 0 1 -52.05 47.0403 -204.604 - 31 68.0588 638 0 1 -52.25 47.1261 -204.68 - 31 52.8335 637 0 1 -52.45 47.1741 -204.74 - 31 18.9584 636 0 1 -52.65 47.1947 -204.814 - 31 276.086 1136 0 0 -54.5965 47.2582 -205.85 - 31 123.589 643 7 1 -51.2502 46.2475 5.2922 - 31 85.2266 1128 7 0 -52.1427 45.6539 4.15 - 31 18.0736 1127 7 0 -52.1458 45.65 4.14374 -Number of digits in this event: 12 +Number of tracker hits in this event: 24 + 31 124.771 853 11 1 -9.37637 48.7386 125.55 + 31 102.231 1143 11 0 -9.37567 48.7376 124.15 + 31 116.316 853 10 1 -9.36388 48.7151 95.55 + 31 143.853 1143 10 0 -9.36286 48.7151 94.15 + 31 118.154 853 9 1 -9.34267 48.7193 65.55 + 31 102.262 1143 9 0 -9.34237 48.7187 64.15 + 31 108.25 853 8 1 -9.3373 48.7054 35.55 + 31 138.674 1143 8 0 -9.3372 48.7041 34.15 + 31 107.999 853 7 1 -9.33507 48.6774 5.55 + 31 148.86 1143 7 0 -9.33597 48.6773 4.15 + 31 121.695 853 6 1 -9.35111 48.6766 -24.45 + 31 185.006 1143 6 0 -9.35223 48.6767 -25.85 + 31 103.019 853 5 1 -9.37643 48.6847 -54.45 + 31 212.283 1143 5 0 -9.37801 48.686 -55.85 + 31 113.416 853 4 1 -9.41129 48.7178 -84.45 + 31 262.818 1143 4 0 -9.41328 48.7195 -85.85 + 31 93.6242 852 3 1 -9.45284 48.7508 -114.45 + 31 110.158 1143 3 0 -9.45493 48.7518 -115.85 + 31 113.607 852 2 1 -9.49574 48.776 -144.45 + 31 101.887 1143 2 0 -9.49785 48.7788 -145.85 + 31 107.835 852 1 1 -9.54233 48.8353 -174.45 + 31 110.429 1143 1 0 -9.54382 48.8386 -175.85 + 31 119.753 852 0 1 -9.57354 48.9049 -204.45 + 31 113.703 1144 0 0 -9.5744 48.9086 -205.85 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 2.06508 LIN +Particle energy: 4.94647 LIN Particle: proton Event: 32 -Number of tracker hits in this event: 26 - 32 213.888 411 9 1 -97.7767 92.6708 65.55 - 32 125.275 1362 9 0 -97.776 92.6731 64.15 - 32 110.307 411 8 1 -97.7558 92.7257 35.55 - 32 141.268 1362 8 0 -97.7563 92.7277 34.15 - 32 261.387 411 7 1 -97.7792 92.7574 5.55 - 32 232.156 1363 7 0 -97.7801 92.7547 4.15 - 32 97.7403 411 6 1 -97.8039 92.6987 -24.45 - 32 159.467 1362 6 0 -97.8094 92.6934 -25.85 - 32 100.436 411 5 1 -97.9235 92.5728 -54.45 - 32 111.743 1362 5 0 -97.9291 92.5706 -55.85 - 32 277.706 410 4 1 -98.0435 92.506 -84.45 - 32 149.804 1361 4 0 -98.0489 92.5095 -85.85 - 32 136.146 409 3 1 -98.1745 92.5605 -114.45 - 32 161.214 1362 3 0 -98.179 92.5597 -115.85 - 32 222.529 409 2 1 -98.2823 92.5443 -144.45 - 32 134.879 1361 2 0 -98.285 92.5436 -145.85 - 32 126.925 408 1 1 -98.3507 92.5244 -174.45 - 32 119.249 1361 1 0 -98.3537 92.5214 -175.85 - 32 107.99 408 0 1 -98.4235 92.4597 -204.45 - 32 110.002 1361 0 0 -98.4273 92.4552 -205.85 - 32 101.467 411 4 1 -97.95 92.4694 -84.7021 - 32 62.4001 412 7 1 -97.75 92.7861 5.40718 - 32 266.409 1362 7 0 -97.2674 92.6195 4.14995 - 32 32.9737 1361 7 0 -97.1419 92.55 3.9843 - 32 53.943 1410 7 0 -96.8071 102.2 3.75006 - 32 61.1413 1409 7 0 -96.8108 102.15 3.78759 -Number of digits in this event: 15 +Number of tracker hits in this event: 24 + 32 135.981 809 9 1 -18.1137 -126.211 65.55 + 32 142.3 269 9 0 -18.113 -126.212 64.15 + 32 161.215 809 8 1 -18.0936 -126.218 35.55 + 32 174.3 269 8 0 -18.0925 -126.218 34.15 + 32 98.7614 809 7 1 -18.0742 -126.209 5.55 + 32 113.351 269 7 0 -18.074 -126.207 4.15 + 32 127.586 809 6 1 -18.0692 -126.174 -24.45 + 32 125.797 269 6 0 -18.0712 -126.173 -25.85 + 32 110.166 809 5 1 -18.1198 -126.144 -54.45 + 32 158.819 270 5 0 -18.123 -126.142 -55.85 + 32 109.905 809 4 1 -18.1845 -126.086 -84.45 + 32 139.622 270 4 0 -18.1866 -126.085 -85.85 + 32 114.309 809 3 1 -18.2337 -126.076 -114.45 + 32 127.306 270 3 0 -18.236 -126.076 -115.85 + 32 148.41 808 2 1 -18.2785 -126.079 -144.45 + 32 102.683 270 2 0 -18.2811 -126.08 -145.85 + 32 120.699 808 1 1 -18.3309 -126.101 -174.45 + 32 158.804 270 1 0 -18.333 -126.102 -175.85 + 32 124.629 808 0 1 -18.3845 -126.122 -204.45 + 32 130.571 270 0 0 -18.3874 -126.122 -205.85 + 32 53.9597 263 8 0 -17.9744 -127.393 34.15 + 32 75.3316 815 8 1 -16.9821 -127.865 35.15 + 32 231.161 816 8 1 -16.85 -127.923 35.2572 + 32 160.928 270 9 0 -18.0833 -126.15 63.8454 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 5.73115 LIN +Particle energy: 7.40545 LIN Particle: proton Event: 33 -Number of tracker hits in this event: 55 - 33 114.227 928 11 1 5.81331 -51.2885 125.55 - 33 105.205 643 11 0 5.81422 -51.2896 124.15 - 33 259.76 928 10 1 5.83147 -51.3042 95.55 - 33 322.687 643 10 0 5.83056 -51.3051 94.15 - 33 113.251 928 9 1 5.81112 -51.3223 65.55 - 33 131.59 643 9 0 5.81077 -51.323 64.15 - 33 107.411 928 8 1 5.80614 -51.342 35.55 - 33 130.789 643 8 0 5.80643 -51.3433 34.15 - 33 132.963 928 7 1 5.81375 -51.3665 5.55 - 33 109.432 643 7 0 5.81511 -51.3655 4.15 - 33 132.437 928 6 1 5.8434 -51.3499 -24.45 - 33 112.014 643 6 0 5.84486 -51.3496 -25.85 - 33 139.358 929 5 1 5.87608 -51.3431 -54.45 - 33 142.641 643 5 0 5.87774 -51.3449 -55.85 - 33 99.3474 929 4 1 5.91161 -51.3849 -84.45 - 33 97.916 643 4 0 5.91274 -51.3871 -85.85 - 33 171.544 929 3 1 5.937 -51.4334 -114.45 - 33 90.261 643 3 0 5.93766 -51.4351 -115.85 - 33 103.304 929 2 1 5.95245 -51.4731 -144.45 - 33 99.267 642 2 0 5.95419 -51.4755 -145.85 - 33 209.042 929 1 1 5.98977 -51.5257 -174.45 - 33 110.533 642 1 0 5.99163 -51.5284 -175.85 - 33 130.074 929 0 1 6.02957 -51.5833 -204.45 - 33 89.5688 642 0 0 6.03251 -51.5867 -205.85 - 33 0.673409 1524 2 1 124.95 -79.1129 -144.745 - 33 111.711 106 0 0 -8.13924 -158.845 -206.25 - 33 123.031 105 0 0 -8.18159 -158.95 -206.061 - 33 269.095 857 0 1 -8.47596 -159.634 -204.85 - 33 75.1992 9 1 0 -16.9406 -178.261 -176.25 - 33 186.445 8 1 0 -16.9811 -178.35 -176.113 - 33 167.865 813 1 1 -17.3696 -179.209 -174.85 - 33 99.9918 812 1 1 -17.45 -179.388 -174.588 - 33 271.16 670 4 0 -14.7004 -45.9677 -86.2499 - 33 136.073 826 4 1 -14.7027 -45.8613 -84.85 - 33 139.013 729 5 0 -15.6778 -34.2129 -56.25 - 33 8.08848 730 5 0 -15.6669 -34.05 -55.8791 - 33 206.151 822 5 1 -15.6169 -33.5487 -54.8497 - 33 19.4903 758 6 0 -22.7708 -28.2653 -26.25 - 33 137.005 759 6 0 -22.783 -28.2499 -26.1859 - 33 254.784 784 6 1 -23.1597 -27.7486 -24.85 - 33 12.8984 783 6 1 -23.25 -27.727 -24.5149 - 33 21.4316 785 6 1 -23.05 -27.7003 -24.8236 - 33 10.985 754 6 0 -21.0178 -29.2251 -25.85 - 33 118.521 753 6 0 -20.9871 -29.25 -25.8617 - 33 126.526 752 6 0 -20.6511 -29.45 -25.9246 - 33 81.2775 751 6 0 -20.3693 -29.65 -25.9085 - 33 153.502 750 6 0 -20.2301 -29.8502 -26.0284 - 33 62.431 616 6 0 60.4612 -56.7312 -26.2499 - 33 24.7381 563 6 0 101.61 -67.4125 -26.25 - 33 431.474 562 6 0 101.62 -67.45 -26.1761 - 33 229.243 361 14 1 -107.819 -34.6876 215.15 - 33 110.274 360 14 1 -107.95 -34.5492 215.247 - 33 131.675 362 14 1 -107.75 -34.1856 215.271 - 33 148.785 929 10 1 5.85 -51.3327 95.1868 - 33 120.005 929 11 1 5.85026 -51.3124 125.184 -Number of digits in this event: 32 +Number of tracker hits in this event: 22 + 33 105.112 458 10 1 -88.3326 7.29544 95.55 + 33 254.972 936 10 0 -88.3329 7.29612 94.15 + 33 128.948 458 9 1 -88.3386 7.31283 65.55 + 33 101.885 936 9 0 -88.3386 7.31353 64.15 + 33 103.771 458 8 1 -88.3397 7.3287 35.55 + 33 126.458 936 8 0 -88.3402 7.32887 34.15 + 33 151.184 458 7 1 -88.3575 7.32981 5.55 + 33 97.6458 936 7 0 -88.3595 7.33016 4.15 + 33 141.128 458 6 1 -88.4008 7.34036 -24.45 + 33 167.99 936 6 0 -88.4018 7.34076 -25.85 + 33 134.327 458 5 1 -88.4232 7.34901 -54.45 + 33 233.815 936 5 0 -88.4259 7.34863 -55.85 + 33 108.673 457 4 1 -88.48 7.34056 -84.45 + 33 102.78 936 4 0 -88.4829 7.33977 -85.85 + 33 117.994 457 3 1 -88.5395 7.31976 -114.45 + 33 109.035 936 3 0 -88.5423 7.31805 -115.85 + 33 135.092 457 2 1 -88.5957 7.28256 -144.45 + 33 103.204 936 2 0 -88.5988 7.28073 -145.85 + 33 107.184 456 1 1 -88.6606 7.24477 -174.45 + 33 105.871 935 1 0 -88.6626 7.24273 -175.85 + 33 105.37 456 0 1 -88.7044 7.20121 -204.45 + 33 93.628 935 0 0 -88.7068 7.19952 -205.85 +Number of digits in this event: 10 Using G4ParticleGun... -Particle energy: 9.85432 LIN +Particle energy: 4.86429 LIN Particle: proton Event: 34 -Number of tracker hits in this event: 24 - 34 94.9708 1201 11 1 60.3698 -36.0561 125.55 - 34 137.473 719 11 0 60.3699 -36.0564 124.15 - 34 91.3519 1201 10 1 60.3703 -36.0611 95.55 - 34 118.308 719 10 0 60.3701 -36.0609 94.15 - 34 110.863 1201 9 1 60.365 -36.0558 65.55 - 34 100.672 719 9 0 60.3649 -36.0549 64.15 - 34 154.54 1201 8 1 60.363 -36.0372 35.55 - 34 134.47 720 8 0 60.3633 -36.0367 34.15 - 34 115.262 1201 7 1 60.373 -36.0273 5.55 - 34 130.633 720 7 0 60.3741 -36.0268 4.15 - 34 99.7013 1201 6 1 60.3954 -36.0137 -24.45 - 34 168.096 720 6 0 60.3971 -36.0138 -25.85 - 34 120.173 1201 5 1 60.4324 -36.0177 -54.45 - 34 239.42 720 5 0 60.4335 -36.0188 -55.85 - 34 114.225 1202 4 1 60.4533 -36.0402 -84.45 - 34 124.572 720 4 0 60.4548 -36.0404 -85.85 - 34 119.037 1202 3 1 60.485 -36.0457 -114.45 - 34 102.844 720 3 0 60.4863 -36.0466 -115.85 - 34 333.053 1202 2 1 60.5137 -36.0646 -144.45 - 34 109.867 719 2 0 60.5149 -36.0658 -145.85 - 34 143.825 1202 1 1 60.537 -36.0958 -174.45 - 34 103.68 719 1 0 60.5383 -36.0954 -175.85 - 34 111.464 1202 0 1 60.5661 -36.0833 -204.45 - 34 114.594 719 0 0 60.5676 -36.0823 -205.85 -Number of digits in this event: 11 +Number of tracker hits in this event: 34 + 34 142.785 939 7 1 7.91671 146.78 5.55 + 34 135.356 1633 7 0 7.91578 146.781 4.15 + 34 127.776 939 6 1 7.90242 146.806 -24.45 + 34 99.3359 1633 6 0 7.90172 146.806 -25.85 + 34 118.779 939 5 1 7.88931 146.821 -54.45 + 34 93.3615 1633 5 0 7.887 146.821 -55.85 + 34 104.448 938 4 1 7.8379 146.812 -84.45 + 34 99.9267 1633 4 0 7.83544 146.812 -85.85 + 34 135.373 938 3 1 7.78152 146.814 -114.45 + 34 110.008 1633 3 0 7.77915 146.813 -115.85 + 34 116.453 938 2 1 7.72779 146.794 -144.45 + 34 109.14 1633 2 0 7.72521 146.793 -145.85 + 34 111.09 938 1 1 7.6746 146.772 -174.45 + 34 120.096 1633 1 0 7.67217 146.771 -175.85 + 34 108.651 937 0 1 7.61999 146.749 -204.45 + 34 108.839 1632 0 0 7.61658 146.748 -205.85 + 34 101.917 937 3 1 7.65 146.83 -114.557 + 34 25.4267 936 3 1 7.45 146.881 -114.774 + 34 424.498 1635 3 0 6.36828 147.2 -115.85 + 34 37.6261 1460 3 0 -135.028 112.186 -116.25 + 34 120.586 1459 3 0 -135.113 112.15 -116.225 + 34 95.6573 1458 3 0 -135.477 111.95 -116.126 + 34 131.248 1457 3 0 -135.703 111.75 -116.026 + 34 60.3894 1456 3 0 -135.936 111.55 -115.896 + 34 53.3705 209 3 1 -138.236 109.752 -114.85 + 34 80.3551 208 3 1 -138.35 109.683 -114.81 + 34 73.3039 207 3 1 -138.55 109.572 -114.726 + 34 90.8945 206 3 1 -138.75 109.475 -114.621 + 34 14.596 205 3 1 -138.95 109.406 -114.498 + 34 74.858 203 3 1 -139.409 109.352 -114.45 + 34 72.2132 202 3 1 -139.55 109.369 -114.561 + 34 54.1185 201 3 1 -139.75 109.43 -114.721 + 34 172.917 1449 3 0 -140.927 110.022 -115.85 + 34 10.1604 1450 3 0 -141.207 110.15 -116.219 +Number of digits in this event: 10 Using G4ParticleGun... -Particle energy: 4.48832 LIN +Particle energy: 1.50246 LIN Particle: proton Event: 35 -Number of tracker hits in this event: 25 - 35 171.577 626 9 1 -54.6992 -114.808 65.55 - 35 106.737 326 9 0 -54.7 -114.807 64.15 - 35 115.567 626 8 1 -54.72 -114.777 35.55 - 35 99.1241 326 8 0 -54.7194 -114.776 34.15 - 35 117.755 626 7 1 -54.7019 -114.76 5.55 - 35 128.886 326 7 0 -54.7014 -114.76 4.15 - 35 188.329 626 6 1 -54.6969 -114.766 -24.45 - 35 214.682 326 6 0 -54.6969 -114.767 -25.85 - 35 227.563 626 5 1 -54.6998 -114.789 -54.45 - 35 167.449 326 5 0 -54.6987 -114.789 -55.85 - 35 110.975 626 4 1 -54.6699 -114.792 -84.45 - 35 126.942 326 4 0 -54.6655 -114.794 -85.85 - 35 118.219 627 3 1 -54.5761 -114.831 -114.45 - 35 117.868 326 3 0 -54.5721 -114.833 -115.85 - 35 98.268 627 2 1 -54.4878 -114.88 -144.45 - 35 93.803 326 2 0 -54.4833 -114.881 -145.85 - 35 127.947 628 1 1 -54.3864 -114.913 -174.45 - 35 142.583 326 1 0 -54.3799 -114.913 -175.85 - 35 93.7685 629 0 1 -54.2454 -114.922 -204.45 - 35 94.2456 326 0 0 -54.2403 -114.924 -205.85 - 35 52.2533 1107 8 1 41.5254 -110.102 35.55 - 35 82.8689 1106 8 1 41.4496 -110.18 35.4477 - 35 104.466 1105 8 1 41.25 -110.189 35.3053 - 35 253.14 1104 8 1 41.05 -110.208 35.4284 - 35 158.667 613 5 1 -57.2947 -114.806 -54.8498 -Number of digits in this event: 14 +Number of tracker hits in this event: 22 + 35 94.2038 428 10 1 -94.4657 -22.3794 95.55 + 35 112.22 788 10 0 -94.4649 -22.3836 94.15 + 35 111.571 428 9 1 -94.4193 -22.4535 65.55 + 35 120.639 787 9 0 -94.4198 -22.4582 64.15 + 35 126.982 428 8 1 -94.4383 -22.5431 35.55 + 35 105.248 787 8 0 -94.4432 -22.5476 34.15 + 35 124.612 427 7 1 -94.5642 -22.6372 5.55 + 35 162.072 787 7 0 -94.5638 -22.6445 4.15 + 35 130.227 427 6 1 -94.5577 -22.8013 -24.45 + 35 128.306 786 6 0 -94.5574 -22.8063 -25.85 + 35 126.049 428 5 1 -94.549 -22.9185 -54.45 + 35 205.66 785 5 0 -94.5491 -22.9269 -55.85 + 35 134 428 4 1 -94.5474 -23.1034 -84.45 + 35 122.04 784 4 0 -94.5469 -23.112 -85.85 + 35 128.763 428 3 1 -94.5154 -23.264 -114.45 + 35 164.063 783 3 0 -94.5121 -23.2708 -115.85 + 35 171.172 428 2 1 -94.4391 -23.4112 -144.45 + 35 123.055 783 2 0 -94.4329 -23.4189 -145.85 + 35 126.564 429 1 1 -94.3227 -23.5559 -174.45 + 35 123.994 782 1 0 -94.3183 -23.5643 -175.85 + 35 135.649 429 0 1 -94.2295 -23.7341 -204.45 + 35 129.588 781 0 0 -94.2271 -23.7432 -205.85 +Number of digits in this event: 19 Using G4ParticleGun... -Particle energy: 7.2996 LIN +Particle energy: 3.28902 LIN Particle: proton Event: 36 -Number of tracker hits in this event: 27 - 36 344.945 1219 10 1 63.9915 -93.6883 95.55 - 36 163.258 432 10 0 63.9926 -93.6884 94.15 - 36 91.2133 1219 9 1 64.0143 -93.6892 65.55 - 36 121.305 432 9 0 64.0157 -93.6904 64.15 - 36 116.057 1219 8 1 64.0438 -93.7208 35.55 - 36 203.297 432 8 0 64.0454 -93.7228 34.15 - 36 220.534 1220 7 1 64.0722 -93.7676 5.55 - 36 129.722 431 7 0 64.0746 -93.7698 4.15 - 36 124.954 1220 6 1 64.1255 -93.8088 -24.45 - 36 251.276 431 6 0 64.1285 -93.8114 -25.85 - 36 153.441 1220 5 1 64.1833 -93.8611 -54.45 - 36 249.366 431 5 0 64.1866 -93.8648 -55.85 - 36 160.383 1221 4 1 64.2542 -93.9403 -84.45 - 36 102.202 431 4 0 64.2568 -93.9441 -85.85 - 36 98.4998 1221 3 1 64.3084 -94.0218 -114.45 - 36 155.455 430 3 0 64.3108 -94.0251 -115.85 - 36 209.877 1221 2 1 64.3608 -94.0965 -144.45 - 36 185.951 430 2 0 64.3626 -94.099 -145.85 - 36 104.542 1221 1 1 64.4032 -94.1452 -174.45 - 36 176.091 430 1 0 64.4053 -94.1464 -175.85 - 36 120.381 1221 0 1 64.4475 -94.1672 -204.45 - 36 285.192 429 0 0 64.449 -94.1681 -205.85 - 36 2.77316 1220 10 1 64.05 -93.6529 95.159 - 36 125.843 431 10 0 64.527 -93.75 94.0543 - 36 107.258 430 10 0 64.8325 -93.95 93.8923 - 36 366.03 429 10 0 64.9079 -94.15 94.0349 - 36 75.6445 428 10 0 64.8232 -94.35 94.0538 -Number of digits in this event: 20 +Number of tracker hits in this event: 21 + 36 121.939 1430 10 0 -46.6741 106.33 94.15 + 36 100.78 666 9 1 -46.676 106.324 65.55 + 36 148.692 1430 9 0 -46.677 106.325 64.15 + 36 106.052 666 8 1 -46.6978 106.347 35.55 + 36 96.6652 1430 8 0 -46.6997 106.347 34.15 + 36 104.989 666 7 1 -46.7381 106.355 5.55 + 36 138.994 1431 7 0 -46.7423 106.355 4.15 + 36 101.928 666 6 1 -46.8225 106.354 -24.45 + 36 100.668 1431 6 0 -46.826 106.352 -25.85 + 36 116.085 665 5 1 -46.8984 106.315 -54.45 + 36 108.532 1430 5 0 -46.9023 106.313 -55.85 + 36 100.522 665 4 1 -46.987 106.26 -84.45 + 36 104.393 1430 4 0 -46.9912 106.258 -85.85 + 36 114.594 664 3 1 -47.0755 106.213 -114.45 + 36 188.946 1430 3 0 -47.081 106.21 -115.85 + 36 144.767 664 2 1 -47.1912 106.15 -144.45 + 36 93.6777 1429 2 0 -47.1984 106.148 -145.85 + 36 155.875 663 1 1 -47.347 106.103 -174.45 + 36 104.501 1429 1 0 -47.3551 106.103 -175.85 + 36 107.142 662 0 1 -47.5259 106.102 -204.45 + 36 108.078 1429 0 0 -47.5328 106.103 -205.85 +Number of digits in this event: 7 Using G4ParticleGun... -Particle energy: 8.14025 LIN +Particle energy: 2.51954 LIN Particle: proton Event: 37 -Number of tracker hits in this event: 23 - 37 205.22 489 9 1 -82.2197 94.1814 65.55 - 37 120.688 1370 9 0 -82.2197 94.1813 64.15 - 37 85.7304 489 8 1 -82.2187 94.179 35.55 - 37 108.59 1370 8 0 -82.2181 94.1785 34.15 - 37 92.2817 489 7 1 -82.2056 94.1717 5.55 - 37 167.066 1370 7 0 -82.2051 94.1719 4.15 - 37 157.972 489 6 1 -82.1965 94.1777 -24.45 - 37 114.105 1370 6 0 -82.196 94.1776 -25.85 - 37 113.129 489 5 1 -82.1841 94.1737 -54.45 - 37 109.757 1370 5 0 -82.1835 94.1725 -55.85 - 37 97.82 489 4 1 -82.1705 94.1481 -84.45 - 37 169.526 1369 4 0 -82.1705 94.1475 -85.85 - 37 117.969 489 3 1 -82.1681 94.1363 -114.45 - 37 120.775 1369 3 0 -82.1684 94.1351 -115.85 - 37 110.747 489 2 1 -82.175 94.1097 -144.45 - 37 387.344 1369 2 0 -82.1754 94.109 -145.85 - 37 143.859 489 1 1 -82.187 94.0958 -174.45 - 37 128.619 1369 1 0 -82.187 94.0943 -175.85 - 37 150.119 489 0 1 -82.1867 94.0659 -204.45 - 37 91.9002 1369 0 0 -82.1865 94.0643 -205.85 - 37 80.6453 488 9 1 -82.2504 94.1955 65.4553 - 37 88.6254 487 9 1 -82.45 94.2915 65.4481 - 37 260.993 486 9 1 -82.6501 94.4438 65.4565 -Number of digits in this event: 12 +Number of tracker hits in this event: 16 + 37 115.117 1351 9 1 90.4022 87.7546 65.55 + 37 122.889 1338 9 0 90.3996 87.7518 64.15 + 37 115.857 1350 8 1 90.3324 87.6832 35.55 + 37 106.497 1338 8 0 90.3286 87.681 34.15 + 37 221.468 1350 7 1 90.2603 87.6355 5.55 + 37 142.65 1337 7 0 90.2573 87.6337 4.15 + 37 108.761 1350 6 1 90.1946 87.6057 -24.45 + 37 116.715 1337 6 0 90.191 87.6025 -25.85 + 37 105.868 1349 4 1 90.0474 87.5008 -84.45 + 37 113.988 1337 4 0 90.0466 87.5006 -85.85 + 37 113.917 1349 3 1 90.0324 87.497 -114.45 + 37 131.47 1337 3 0 90.0342 87.4993 -115.85 + 37 453.831 1350 1 1 90.1523 87.6004 -174.45 + 37 97.2094 1337 1 0 90.1551 87.6024 -175.85 + 37 105.87 1350 0 1 90.2038 87.6493 -204.45 + 37 105.587 1338 0 0 90.2063 87.6531 -205.85 +Number of digits in this event: 6 Using G4ParticleGun... -Particle energy: 1.08212 LIN +Particle energy: 7.77471 LIN Particle: proton Event: 38 Number of tracker hits in this event: 22 - 38 118.785 343 9 1 -111.497 75.2369 65.55 - 38 138.371 1275 9 0 -111.506 75.2416 64.15 - 38 125.702 342 8 1 -111.717 75.3415 35.55 - 38 121.984 1276 8 0 -111.734 75.3529 34.15 - 38 157.323 340 7 1 -112.097 75.5796 5.55 - 38 165.812 1277 7 0 -112.116 75.586 4.15 - 38 119.04 338 6 1 -112.5 75.7147 -24.45 - 38 119.319 1278 6 0 -112.517 75.7217 -25.85 - 38 161.459 336 5 1 -112.824 75.8765 -54.45 - 38 146.205 1279 5 0 -112.838 75.8934 -55.85 - 38 112.963 335 4 1 -113.14 76.2598 -84.45 - 38 128.897 1281 4 0 -113.161 76.2801 -85.85 - 38 120.256 332 3 1 -113.588 76.7059 -114.45 - 38 209.199 1283 3 0 -113.609 76.7241 -115.85 - 38 227.251 330 2 1 -114.028 77.0718 -144.45 - 38 213.475 1285 2 0 -114.046 77.0909 -145.85 - 38 208.971 328 1 1 -114.423 77.4833 -174.45 - 38 160.634 1287 1 0 -114.445 77.5055 -175.85 - 38 196.612 326 0 1 -114.894 77.9459 -204.45 - 38 208.423 1289 0 0 -114.917 77.9747 -205.85 - 38 23.1068 1287 2 0 -114.925 77.532 -145.85 - 38 73.8178 331 2 1 -113.883 77.0562 -144.85 -Number of digits in this event: 17 + 38 94.0932 976 10 1 15.386 87.7106 95.55 + 38 200.162 1338 10 0 15.3856 87.7104 94.15 + 38 166.768 976 9 1 15.3769 87.7035 65.55 + 38 94.4453 1338 9 0 15.3766 87.7025 64.15 + 38 223.373 976 8 1 15.3733 87.683 35.55 + 38 123.987 1338 8 0 15.3742 87.6819 34.15 + 38 228.836 976 7 1 15.3956 87.6614 5.55 + 38 120.673 1338 7 0 15.3964 87.6593 4.15 + 38 100.525 976 6 1 15.4133 87.6213 -24.45 + 38 148.51 1337 6 0 15.414 87.6198 -25.85 + 38 112.154 976 5 1 15.4271 87.587 -54.45 + 38 122.779 1337 5 0 15.4278 87.5852 -55.85 + 38 103.323 976 4 1 15.4452 87.5489 -84.45 + 38 192.843 1337 4 0 15.4457 87.5472 -85.85 + 38 149.303 977 3 1 15.4622 87.5216 -114.45 + 38 108.464 1337 3 0 15.4624 87.5206 -115.85 + 38 93.0395 977 2 1 15.4676 87.4983 -144.45 + 38 112.766 1337 2 0 15.468 87.4971 -145.85 + 38 118.966 977 1 1 15.4742 87.4725 -174.45 + 38 122.423 1337 1 0 15.4748 87.4696 -175.85 + 38 126.577 977 0 1 15.483 87.4055 -204.45 + 38 108.585 1336 0 0 15.4839 87.4027 -205.85 +Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 4.8708 LIN +Particle energy: 6.6235 LIN Particle: proton Event: 39 -Number of tracker hits in this event: 31 - 39 289.165 1043 9 1 28.7801 129.227 65.55 - 39 86.8552 1545 9 0 28.7811 129.227 64.15 - 39 130.126 1043 8 1 28.8001 129.221 35.55 - 39 234.951 1545 8 0 28.8019 129.22 34.15 - 39 108.81 1043 7 1 28.838 129.197 5.55 - 39 102.067 1545 7 0 28.8394 129.198 4.15 - 39 233.277 1044 6 1 28.8654 129.217 -24.45 - 39 123.08 1545 6 0 28.8671 129.219 -25.85 - 39 100.442 1044 5 1 28.897 129.269 -54.45 - 39 102.431 1545 5 0 28.8991 129.272 -55.85 - 39 87.8025 1044 4 1 28.9406 129.315 -84.45 - 39 130.487 1545 4 0 28.9407 129.316 -85.85 - 39 110.54 1044 3 1 28.951 129.346 -114.45 - 39 107.486 1545 3 0 28.9516 129.347 -115.85 - 39 113.786 1044 2 1 28.9657 129.364 -144.45 - 39 228.064 1546 2 0 28.9666 129.365 -145.85 - 39 141.856 1044 1 1 28.9855 129.379 -174.45 - 39 118.222 1546 1 0 28.9872 129.379 -175.85 - 39 94.1629 1044 0 1 29.0142 129.388 -204.45 - 39 111.177 1546 0 0 29.0141 129.39 -205.85 - 39 36.802 1545 2 0 29.0193 129.35 -146.011 - 39 173.95 1043 6 1 28.85 129.225 -24.475 - 39 46.4435 1042 6 1 28.65 129.305 -24.6905 - 39 83.2545 1547 6 0 28.2162 129.662 -25.85 - 39 72.7735 1548 6 0 28.11 129.75 -26.0035 - 39 60.9066 1549 6 0 28.0036 129.95 -26.0557 - 39 76.443 1550 6 0 27.9646 130.15 -26.0963 - 39 66.4055 1551 6 0 27.8516 130.35 -26.1381 - 39 109.777 1552 6 0 27.8336 130.551 -26.0533 - 39 83.0748 1553 6 0 28.018 130.75 -25.9355 - 39 253.6 1045 6 1 29.05 131.761 -24.811 +Number of tracker hits in this event: 21 + 39 139.764 1533 9 1 126.835 2.66112 65.55 + 39 137.767 913 9 0 126.835 2.66023 64.15 + 39 100.752 1533 8 1 126.83 2.64279 35.55 + 39 107.636 912 8 0 126.829 2.64077 34.15 + 39 108.33 1533 7 1 126.819 2.59318 5.55 + 39 98.0302 912 7 0 126.818 2.59006 4.15 + 39 94.7047 1533 6 1 126.799 2.52718 -24.45 + 39 101.976 912 6 0 126.798 2.52406 -25.85 + 39 130.317 1533 5 1 126.782 2.46462 -54.45 + 39 118.543 912 5 0 126.781 2.46081 -55.85 + 39 106.145 1533 4 1 126.77 2.3826 -84.45 + 39 125.074 911 4 0 126.77 2.37906 -85.85 + 39 137.581 1533 3 1 126.766 2.30752 -114.45 + 39 106.284 911 3 0 126.765 2.30405 -115.85 + 39 257.642 1533 2 1 126.751 2.2336 -144.45 + 39 102.369 910 2 0 126.75 2.23099 -145.85 + 39 98.9894 1532 1 1 126.721 2.17693 -174.45 + 39 113.22 910 1 0 126.719 2.17395 -175.85 + 39 259.726 1532 0 1 126.677 2.11694 -204.45 + 39 119.489 910 0 0 126.676 2.1141 -205.85 + 39 384.481 516 5 0 59.2726 -76.7871 -55.9407 Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 2.52819 LIN +Particle energy: 3.674 LIN Particle: proton Event: 40 -Number of tracker hits in this event: 22 - 40 101.659 180 8 1 -144.076 13.8848 35.55 - 40 110.011 969 8 0 -144.078 13.8835 34.15 - 40 100.381 180 7 1 -144.125 13.8574 5.55 - 40 105.209 969 7 0 -144.126 13.8559 4.15 - 40 111.584 180 6 1 -144.147 13.8208 -24.45 - 40 173.064 968 6 0 -144.147 13.8202 -25.85 - 40 103.78 179 5 1 -144.154 13.8066 -54.45 - 40 98.6659 968 5 0 -144.157 13.8066 -55.85 - 40 143.175 179 4 1 -144.216 13.7965 -84.45 - 40 97.5787 968 4 0 -144.218 13.797 -85.85 - 40 113.6 179 3 1 -144.265 13.8017 -114.45 - 40 106.135 968 3 0 -144.261 13.7997 -115.85 - 40 112.062 179 2 1 -144.176 13.7509 -144.45 - 40 120.483 968 2 0 -144.173 13.7499 -145.85 - 40 156.932 180 1 1 -144.105 13.7309 -174.45 - 40 191.41 968 1 0 -144.102 13.7316 -175.85 - 40 100.169 180 0 1 -144.033 13.7552 -204.45 - 40 144.905 968 0 0 -144.032 13.7578 -205.85 - 40 40.0803 918 1 0 96.1517 3.7406 -175.997 - 40 58.8182 534 4 0 51.1033 -73.1542 -86.2125 - 40 24.1355 1196 6 1 59.2753 -135.005 -24.805 - 40 527.45 1079 10 1 35.8929 -94.95 95.3406 -Number of digits in this event: 11 +Number of tracker hits in this event: 30 + 40 144.11 1386 7 1 97.4921 -109.396 5.55 + 40 224.582 353 7 0 97.4929 -109.397 4.15 + 40 235.454 1386 6 1 97.5106 -109.414 -24.45 + 40 124.399 353 6 0 97.5119 -109.416 -25.85 + 40 84.5566 1386 5 1 97.5459 -109.445 -54.45 + 40 193.053 353 5 0 97.5485 -109.445 -55.85 + 40 137.095 1387 4 1 97.6025 -109.442 -84.45 + 40 208.96 353 4 0 97.6054 -109.44 -85.85 + 40 278.552 1387 3 1 97.6566 -109.414 -114.45 + 40 117.615 353 3 0 97.6583 -109.414 -115.85 + 40 112.331 1387 2 1 97.6917 -109.408 -144.45 + 40 169.885 353 2 0 97.6919 -109.408 -145.85 + 40 97.5188 1387 1 1 97.6963 -109.401 -174.45 + 40 90.2768 353 1 0 97.6948 -109.401 -175.85 + 40 108.477 1387 0 1 97.6632 -109.406 -204.45 + 40 199.944 353 0 0 97.6624 -109.406 -205.85 + 40 11.2316 129 4 0 132.894 -154.316 -86.25 + 40 74.1802 128 4 0 132.919 -154.35 -86.2322 + 40 132.176 127 4 0 133.097 -154.55 -86.1773 + 40 126.026 126 4 0 133.464 -154.75 -86.0647 + 40 55.1501 125 4 0 133.777 -154.95 -85.9425 + 40 89.0342 1587 4 1 137.584 -157.905 -84.85 + 40 42.1558 1588 4 1 137.75 -158.014 -84.8447 + 40 58.4666 112 4 0 143.464 -157.603 -85.85 + 40 149.956 113 4 0 143.622 -157.55 -85.932 + 40 392.31 1619 4 1 143.972 -157.052 -84.85 + 40 9.88757 352 5 0 97.6661 -109.55 -56.2366 + 40 142.521 358 5 0 128.23 -108.522 -56.2499 + 40 26.1759 357 5 0 128.182 -108.55 -56.1964 + 40 50.0722 1385 6 1 97.35 -109.576 -24.4978 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 7.36764 LIN +Particle energy: 1.00841 LIN Particle: proton Event: 41 -Number of tracker hits in this event: 83 - 41 109.836 947 9 1 9.46491 122.738 65.55 - 41 110.923 1512 9 0 9.46468 122.738 64.15 - 41 102.691 947 8 1 9.45957 122.761 35.55 - 41 131.404 1513 8 0 9.4596 122.763 34.15 - 41 96.7955 947 7 1 9.45736 122.793 5.55 - 41 93.1369 1513 7 0 9.45712 122.794 4.15 - 41 166.474 946 6 1 9.44858 122.809 -24.45 - 41 284.943 1513 6 0 9.44815 122.809 -25.85 - 41 113.004 946 5 1 9.43748 122.815 -54.45 - 41 112.086 1513 5 0 9.43693 122.815 -55.85 - 41 102.167 946 4 1 9.42863 122.825 -84.45 - 41 120.051 1513 4 0 9.42847 122.825 -85.85 - 41 149.929 946 3 1 9.42646 122.825 -114.45 - 41 106.437 1513 3 0 9.42594 122.825 -115.85 - 41 121.801 946 2 1 9.41653 122.827 -144.45 - 41 127.098 1513 2 0 9.41534 122.829 -145.85 - 41 141.959 946 1 1 9.38988 122.862 -174.45 - 41 279.635 1513 1 0 9.38972 122.863 -175.85 - 41 173.409 946 0 1 9.38382 122.89 -204.45 - 41 131.967 1513 0 0 9.38365 122.891 -205.85 - 41 68.266 914 0 1 2.8844 171.559 -204.45 - 41 77.3731 915 0 1 3.05 171.465 -204.53 - 41 90.2149 916 0 1 3.2503 171.339 -204.526 - 41 55.5956 917 0 1 3.45 171.316 -204.56 - 41 310.707 156 3 1 -148.896 -14.5986 -114.689 - 41 39.9019 1066 13 1 33.2784 -124.661 185.27 - 41 713.237 1439 0 0 61.3493 108.076 -206.25 - 41 667.768 1438 0 0 61.7828 107.95 -206.063 - 41 282.113 1222 0 1 64.5149 107.141 -204.85 - 41 313.084 1223 0 1 64.65 107.101 -204.79 - 41 307.55 1224 0 1 64.85 107.042 -204.701 - 41 236.219 1225 0 1 65.05 106.982 -204.611 - 41 173.397 1226 0 1 65.25 106.922 -204.522 - 41 653.766 1332 1 0 125.251 86.6241 -176.25 - 41 437.046 1331 1 0 125.765 86.45 -176.008 - 41 273.656 1540 1 1 128.218 85.6013 -174.85 - 41 288.93 1541 1 1 128.35 85.5554 -174.788 - 41 229.036 1542 1 1 128.55 85.4856 -174.693 - 41 283.876 1543 1 1 128.75 85.4152 -174.597 - 41 153.763 1544 1 1 128.95 85.3446 -174.502 - 41 91.0271 774 1 1 -25.2246 -134.077 -174.809 - 41 196.102 1114 10 1 42.954 -147.752 95.55 - 41 119.175 1113 10 1 42.85 -148.267 95.3004 - 41 38.1807 150 10 0 43.0249 -150.032 94.15 - 41 183.446 149 10 0 43.0424 -150.15 94.0739 - 41 75.3468 148 10 0 43.047 -150.35 93.9522 - 41 31.6799 147 10 0 42.9671 -150.55 93.8161 - 41 1.03108 586 7 0 92.8435 -62.7033 3.75 - 41 327.284 1784 0 0 23.0966 177.077 -206.25 - 41 941.95 1785 0 0 23.1175 177.15 -206.216 - 41 953.268 1786 0 0 23.1725 177.35 -206.125 - 41 954.285 1787 0 0 23.2273 177.55 -206.036 - 41 948.323 1788 0 0 23.2856 177.75 -205.951 - 41 195.72 1789 0 0 23.3455 177.95 -205.866 - 41 254.748 1521 0 0 -14.5714 124.494 -206.25 - 41 42.8297 820 0 1 -15.9936 124.591 -204.85 - 41 128.678 819 0 1 -16.05 124.595 -204.795 - 41 173.762 818 0 1 -16.25 124.608 -204.597 - 41 239.724 1525 1 0 -46.3426 125.237 -176.25 - 41 24.0686 661 1 1 -47.8241 125.265 -174.85 - 41 123.711 660 1 1 -47.85 125.266 -174.826 - 41 138.754 659 1 1 -48.05 125.269 -174.636 - 41 386.9 1529 2 0 -81.6225 126.033 -146.25 - 41 101.859 483 2 1 -83.2516 126.077 -144.85 - 41 96.387 482 2 1 -83.45 126.083 -144.678 - 41 39.249 481 2 1 -83.65 126.089 -144.507 - 41 319.487 1525 3 0 -118.39 125.284 -116.25 - 41 12.8597 300 3 1 -120.12 125.245 -114.85 - 41 124.872 299 3 1 -120.15 125.245 -114.825 - 41 117.331 298 3 1 -120.35 125.241 -114.663 - 41 35.6586 297 3 1 -120.55 125.236 -114.501 - 41 379.029 1527 4 0 -154.828 125.709 -86.25 - 41 28.7126 118 4 1 -156.486 125.733 -84.85 - 41 109.063 117 4 1 -156.55 125.734 -84.7951 - 41 120.072 116 4 1 -156.75 125.736 -84.6245 - 41 2.8769 115 4 1 -156.95 125.738 -84.4556 - 41 139.494 1514 0 0 9.32525 123.079 -205.85 - 41 0.275912 1515 0 0 9.31551 123.15 -206.249 - 41 4.782 1790 6 0 -6.02394 178.325 -26.25 - 41 58.044 1791 6 0 -6.02514 178.35 -26.2382 - 41 64.9671 1792 6 0 -6.07865 178.55 -26.1329 - 41 78.8568 1793 6 0 -5.99124 178.75 -26.0857 - 41 61.9598 1794 6 0 -5.76115 178.95 -26.1156 -Number of digits in this event: 50 +Number of tracker hits in this event: 25 + 41 294.963 1210 11 1 62.0546 -45.6814 125.55 + 41 122.413 671 11 0 62.0591 -45.6817 124.15 + 41 128.807 1210 10 1 62.1302 -45.6974 95.55 + 41 132.536 671 10 0 62.1375 -45.6988 94.15 + 41 193.002 1211 9 1 62.2891 -45.7378 65.55 + 41 108.854 671 9 0 62.298 -45.7367 64.15 + 41 138.813 1212 8 1 62.4852 -45.7163 35.55 + 41 127.059 671 8 0 62.4962 -45.7133 34.15 + 41 131.33 1213 7 1 62.7175 -45.6535 5.55 + 41 49.4736 671 7 0 62.7222 -45.6503 4.15 + 41 125.214 672 7 0 62.7227 -45.65 4.0018 + 41 187.947 1213 6 1 62.839 -45.5836 -24.45 + 41 131.77 672 6 0 62.8452 -45.5874 -25.85 + 41 136.449 1214 5 1 62.9516 -45.6528 -54.45 + 41 127.52 672 5 0 62.9593 -45.6487 -55.85 + 41 164.912 1215 4 1 63.1147 -45.5567 -84.45 + 41 141.745 672 4 0 63.1215 -45.5525 -85.85 + 41 140.975 1216 3 1 63.2575 -45.4603 -114.45 + 41 114.945 673 3 0 63.2725 -45.4499 -115.85 + 41 129.707 1217 2 1 63.5812 -45.2433 -144.45 + 41 233.294 674 2 0 63.6039 -45.2303 -145.85 + 41 135.463 1220 1 1 64.0648 -44.9399 -174.45 + 41 135.183 675 1 0 64.0879 -44.923 -175.85 + 41 126.237 1222 0 1 64.5707 -44.5788 -204.45 + 41 159.414 677 0 0 64.5843 -44.5604 -205.85 +Number of digits in this event: 23 Using G4ParticleGun... -Particle energy: 8.86959 LIN +Particle energy: 3.45406 LIN Particle: proton Event: 42 -Number of tracker hits in this event: 27 - 42 101.002 1354 10 1 91.1055 -60.6537 95.55 - 42 160.021 596 10 0 91.1048 -60.6537 94.15 - 42 141.504 1354 9 1 91.0887 -60.6554 65.55 - 42 113.305 596 9 0 91.0879 -60.6565 64.15 - 42 135.184 1354 8 1 91.0691 -60.6802 35.55 - 42 122.883 596 8 0 91.0687 -60.6803 34.15 - 42 120.409 1354 7 1 91.0631 -60.6841 5.55 - 42 106.488 596 7 0 91.0622 -60.6843 4.15 - 42 208.405 1354 6 1 91.0406 -60.6885 -24.45 - 42 120.824 596 6 0 91.0386 -60.6888 -25.85 - 42 171.871 1354 5 1 90.9961 -60.6914 -54.45 - 42 98.9609 596 5 0 90.9937 -60.6914 -55.85 - 42 123.636 1353 4 1 90.9425 -60.6926 -84.45 - 42 112.686 596 4 0 90.9403 -60.6927 -85.85 - 42 128.89 1353 3 1 90.8958 -60.6954 -114.45 - 42 124.198 596 3 0 90.894 -60.6968 -115.85 - 42 95.3226 1353 2 1 90.8539 -60.7262 -144.45 - 42 143.031 596 2 0 90.8514 -60.7275 -145.85 - 42 152.681 1353 1 1 90.7976 -60.7533 -174.45 - 42 122.293 596 1 0 90.7956 -60.755 -175.85 - 42 216.271 1353 0 1 90.7577 -60.7836 -204.45 - 42 146.671 596 0 0 90.7556 -60.7843 -205.85 - 42 39.2884 1352 0 1 90.75 -60.7421 -204.482 - 42 129.021 599 0 0 91.269 -60.2458 -205.85 - 42 349.276 531 0 0 98.7061 -73.7925 -206.25 - 42 106.242 1353 6 1 90.95 -60.7241 -24.4848 - 42 289.197 1352 6 1 90.7499 -60.8715 -24.5367 -Number of digits in this event: 22 +Number of tracker hits in this event: 23 + 42 133.152 525 10 1 -74.8977 -60.4628 95.55 + 42 133.591 597 10 0 -74.897 -60.462 94.15 + 42 111.888 525 9 1 -74.8801 -60.4512 65.55 + 42 116.003 597 9 0 -74.88 -60.4519 64.15 + 42 101.157 525 8 1 -74.8814 -60.4575 35.55 + 42 93.5747 597 8 0 -74.8839 -60.4574 34.15 + 42 97.7114 525 7 1 -74.9355 -60.4541 5.55 + 42 163.228 597 7 0 -74.9391 -60.4564 4.15 + 42 100.731 525 6 1 -75.0202 -60.4995 -24.45 + 42 145.435 597 6 0 -75.0222 -60.5016 -25.85 + 42 230.209 524 5 1 -75.0728 -60.5408 -54.45 + 42 169.887 597 5 0 -75.0777 -60.5424 -55.85 + 42 209.479 524 4 1 -75.1756 -60.5754 -84.45 + 42 107.386 597 4 0 -75.1795 -60.5757 -85.85 + 42 135.727 523 3 1 -75.2662 -60.5852 -114.45 + 42 116.079 597 3 0 -75.2715 -60.5876 -115.85 + 42 174.047 523 2 1 -75.3776 -60.63 -144.45 + 42 208.399 597 2 0 -75.3821 -60.6321 -145.85 + 42 157.781 522 1 1 -75.4778 -60.6719 -174.45 + 42 142.54 596 1 0 -75.4831 -60.6734 -175.85 + 42 104.989 522 0 1 -75.5889 -60.7088 -204.45 + 42 150.923 596 0 0 -75.5899 -60.7023 -205.85 + 42 4.70326 552 8 0 -168.912 -69.4577 33.75 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 1.78169 LIN +Particle energy: 6.95353 LIN Particle: proton Event: 43 -Number of tracker hits in this event: 16 - 43 114.369 1052 7 1 30.5277 -144.782 5.55 - 43 110.531 176 7 0 30.5303 -144.782 4.15 - 43 127.741 1052 6 1 30.5805 -144.782 -24.45 - 43 127.014 176 6 0 30.5881 -144.783 -25.85 - 43 137.402 1053 5 1 30.7266 -144.797 -54.45 - 43 141.497 176 5 0 30.7338 -144.798 -55.85 - 43 131.666 1054 4 1 30.8886 -144.825 -84.45 - 43 121.043 176 4 0 30.8974 -144.827 -85.85 - 43 107.136 1055 3 1 31.0869 -144.865 -114.45 - 43 139.382 176 3 0 31.0967 -144.866 -115.85 - 43 137.306 1056 2 1 31.2962 -144.907 -144.45 - 43 153.821 176 2 0 31.3074 -144.908 -145.85 - 43 198.758 1057 1 1 31.5434 -144.952 -174.45 - 43 163.991 175 1 0 31.5519 -144.953 -175.85 - 43 108.375 1058 0 1 31.7149 -144.996 -204.45 - 43 119.018 175 0 0 31.7227 -144.996 -205.85 -Number of digits in this event: 12 +Number of tracker hits in this event: 44 + 43 119.886 971 11 1 14.3794 66.2564 125.55 + 43 100.697 1231 11 0 14.379 66.2561 124.15 + 43 114.023 971 10 1 14.3684 66.2459 95.55 + 43 114.5 1230 10 0 14.369 66.245 94.15 + 43 89.255 971 9 1 14.3809 66.2253 65.55 + 43 147.815 1230 9 0 14.3821 66.2241 64.15 + 43 111.678 971 8 1 14.4079 66.199 35.55 + 43 142.202 1230 8 0 14.4088 66.1974 34.15 + 43 129.105 971 7 1 14.4264 66.158 5.55 + 43 91.3376 1230 7 0 14.4267 66.1551 4.15 + 43 115.129 971 6 1 14.4343 66.094 -24.45 + 43 165.812 1230 6 0 14.4347 66.0904 -25.85 + 43 152.747 971 5 1 14.4426 66.0128 -54.45 + 43 103.5 1229 5 0 14.4443 66.0077 -55.85 + 43 135.719 972 4 1 14.4808 65.902 -84.45 + 43 124.839 1229 4 0 14.4834 65.8966 -85.85 + 43 115.549 972 3 1 14.5371 65.7894 -114.45 + 43 109.269 1228 3 0 14.5401 65.7838 -115.85 + 43 105.348 972 2 1 14.6014 65.665 -144.45 + 43 91.0429 1228 2 0 14.6046 65.6593 -145.85 + 43 120.091 973 1 1 14.6702 65.5449 -174.45 + 43 127.784 1227 1 0 14.6735 65.5401 -175.85 + 43 108.497 973 0 1 14.74 65.442 -204.45 + 43 107.437 1226 0 0 14.7424 65.4366 -205.85 + 43 15.9045 717 4 1 -36.544 157.317 -84.7949 + 43 52.5531 452 10 0 77.5525 -89.479 93.75 + 43 139.268 453 10 0 77.615 -89.4499 93.8763 + 43 36.3952 1293 10 1 78.7766 -88.742 95.15 + 43 79.5208 1294 10 1 78.85 -88.7074 95.2536 + 43 72.2904 1295 10 1 79.05 -88.667 95.2486 + 43 170.776 458 10 0 79.4636 -88.3433 94.15 + 43 18.7536 445 1 1 -90.962 -175.555 -174.45 + 43 123.512 446 1 1 -90.95 -175.595 -174.516 + 43 39.1459 16 1 0 -90.6462 -176.836 -175.85 + 43 92.3099 15 1 0 -90.6233 -176.95 -175.97 + 43 19.0037 14 1 0 -90.5694 -177.15 -176.195 + 43 143.967 599 1 0 -38.0526 -60.0581 -176.25 + 43 83.7486 600 1 0 -38.3284 -60.05 -175.962 + 43 69.3767 601 1 0 -38.436 -59.85 -175.864 + 43 7.59897 704 1 1 -39.2392 -56.3704 -174.85 + 43 32.4611 703 1 1 -39.25 -56.3554 -174.843 + 43 14.5106 626 1 0 -37.5515 -54.6776 -175.85 + 43 100.486 627 1 0 -37.5264 -54.65 -175.861 + 43 194.093 722 1 1 -35.6093 -51.4487 -174.85 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 6.2476 LIN +Particle energy: 3.67996 LIN Particle: proton Event: 44 -Number of tracker hits in this event: 34 - 44 95.0998 1402 9 1 100.673 71.3194 65.55 - 44 110.014 1256 9 0 100.674 71.3187 64.15 - 44 113.875 1402 8 1 100.686 71.3078 35.55 - 44 141.636 1256 8 0 100.686 71.3075 34.15 - 44 129.429 1402 7 1 100.686 71.2983 5.55 - 44 142.045 1256 7 0 100.684 71.2978 4.15 - 44 96.2064 1402 6 1 100.652 71.2945 -24.45 - 44 129.334 1256 6 0 100.649 71.2952 -25.85 - 44 103.648 1402 5 1 100.597 71.3112 -54.45 - 44 88.6019 1256 5 0 100.596 71.3117 -55.85 - 44 191.839 1402 4 1 100.576 71.3219 -84.45 - 44 105.8 1256 4 0 100.575 71.3219 -85.85 - 44 125.232 1402 3 1 100.556 71.3217 -114.45 - 44 117.285 1256 3 0 100.555 71.3227 -115.85 - 44 105.569 1401 2 1 100.528 71.3439 -144.45 - 44 105.07 1256 2 0 100.527 71.3452 -145.85 - 44 125.536 1401 1 1 100.506 71.3702 -174.45 - 44 108.355 1256 1 0 100.505 71.3726 -175.85 - 44 94.5895 1401 0 1 100.492 71.4184 -204.45 - 44 112.35 1256 0 0 100.49 71.4221 -205.85 - 44 295.756 501 4 1 -79.7062 154.631 -84.85 - 44 0.0584673 502 4 1 -79.65 154.485 -84.5016 - 44 219.365 1435 0 0 34.1128 107.184 -206.006 - 44 212.041 62 1 0 25.0247 -167.55 -176.033 - 44 264.895 61 1 0 24.9396 -167.75 -175.903 - 44 4.4641 1042 1 1 28.4681 -168.728 -174.85 - 44 45.8864 1134 7 1 46.8921 -30.2511 5.15 - 44 161.857 1133 7 1 46.85 -30.2641 5.44657 - 44 100.158 553 11 0 33.3664 -69.4298 123.802 - 44 201.84 1252 4 0 102.185 70.5953 -85.85 - 44 84.6752 1251 4 0 102.524 70.45 -86.1938 - 44 26.5696 1193 4 0 135.495 58.8347 -86.25 - 44 24.3469 1194 4 0 135.488 58.85 -86.2156 - 44 87.2702 1172 4 0 134.787 54.5742 -86.25 -Number of digits in this event: 16 +Number of tracker hits in this event: 24 + 44 107.659 1126 9 1 45.2913 -108.812 65.55 + 44 117.59 356 9 0 45.2919 -108.813 64.15 + 44 108.35 1126 8 1 45.3058 -108.842 35.55 + 44 122.467 356 8 0 45.3064 -108.843 34.15 + 44 105.759 1126 7 1 45.3168 -108.856 5.55 + 44 101.713 356 7 0 45.3159 -108.856 4.15 + 44 163.214 1126 6 1 45.3008 -108.867 -24.45 + 44 105.812 356 6 0 45.2999 -108.868 -25.85 + 44 137.724 1126 5 1 45.2825 -108.893 -54.45 + 44 97.7353 356 5 0 45.2805 -108.893 -55.85 + 44 127.179 1125 4 1 45.2411 -108.895 -84.45 + 44 159.595 356 4 0 45.2394 -108.895 -85.85 + 44 152.497 1125 3 1 45.2069 -108.901 -114.45 + 44 98.1109 356 3 0 45.2053 -108.902 -115.85 + 44 87.1737 1125 2 1 45.1816 -108.924 -144.45 + 44 117.446 356 2 0 45.181 -108.925 -145.85 + 44 111.208 1125 1 1 45.178 -108.945 -174.45 + 44 118.637 356 1 0 45.1804 -108.948 -175.85 + 44 115.737 1125 0 1 45.2247 -109.014 -204.45 + 44 120.774 355 0 0 45.225 -109.018 -205.85 + 44 41.8802 1540 1 1 128.246 -111.433 -174.45 + 44 68.6117 1539 1 1 128.15 -111.474 -174.491 + 44 78.7625 1538 1 1 127.95 -111.402 -174.49 + 44 56.8698 524 9 0 21.8103 -75.2219 63.75 +Number of digits in this event: 10 Using G4ParticleGun... -Particle energy: 4.16481 LIN +Particle energy: 5.97144 LIN Particle: proton Event: 45 -Number of tracker hits in this event: 24 - 45 240.949 1236 7 1 67.3433 132.034 5.55 - 45 139.573 1559 7 0 67.3436 132.032 4.15 - 45 104.216 1236 6 1 67.3495 132.005 -24.45 - 45 89.5385 1559 6 0 67.3503 132.003 -25.85 - 45 176.415 1236 5 1 67.3696 131.982 -54.45 - 45 99.783 1559 5 0 67.37 131.982 -55.85 - 45 100.87 1236 4 1 67.3785 131.968 -84.45 - 45 112.547 1559 4 0 67.3803 131.969 -85.85 - 45 110.293 1236 3 1 67.4193 131.999 -114.45 - 45 157.827 1559 3 0 67.4193 132.001 -115.85 - 45 166.078 1236 2 1 67.4274 132.029 -144.45 - 45 109.734 1559 2 0 67.4284 132.032 -145.85 - 45 97.4815 1236 1 1 67.441 132.091 -174.45 - 45 206.956 1559 1 0 67.4416 132.094 -175.85 - 45 125.436 1236 0 1 67.4487 132.157 -204.45 - 45 117.781 1560 0 0 67.4488 132.16 -205.85 - 45 148.844 1560 1 0 67.3866 132.15 -176.128 - 45 13.8603 1544 7 0 65.9077 128.995 4.15 - 45 80.5229 1543 7 0 65.8917 128.95 4.12038 - 45 125.837 1542 7 0 65.7779 128.75 4.0333 - 45 107.316 1541 7 0 65.5112 128.55 3.99451 - 45 232.987 1540 7 0 65.4055 128.349 4.06707 - 45 36.8979 1539 7 0 65.271 128.15 4.08848 - 45 101.109 1222 7 1 64.6047 128.55 5.15 -Number of digits in this event: 11 +Number of tracker hits in this event: 43 + 45 151.796 951 11 1 10.2807 -71.5811 125.55 + 45 119.183 542 11 0 10.2805 -71.5815 124.15 + 45 248.702 951 10 1 10.2739 -71.5884 95.55 + 45 192.449 542 10 0 10.274 -71.5891 94.15 + 45 150.714 951 9 1 10.2788 -71.6056 65.55 + 45 145.65 542 9 0 10.2792 -71.6076 64.15 + 45 116.33 951 8 1 10.2869 -71.6451 35.55 + 45 144.306 542 8 0 10.2875 -71.6468 34.15 + 45 163.535 951 7 1 10.3018 -71.6811 5.55 + 45 100.343 541 7 0 10.3026 -71.6829 4.15 + 45 119.874 951 6 1 10.3195 -71.716 -24.45 + 45 297.025 541 6 0 10.321 -71.717 -25.85 + 45 116.283 951 5 1 10.355 -71.7346 -54.45 + 45 144.528 541 5 0 10.3561 -71.7361 -55.85 + 45 108.969 951 4 1 10.3781 -71.7659 -84.45 + 45 101.776 541 4 0 10.3801 -71.7686 -85.85 + 45 93.3192 951 3 1 10.415 -71.8257 -114.45 + 45 163.611 541 3 0 10.4171 -71.8294 -115.85 + 45 97.6051 952 2 1 10.4616 -71.9087 -144.45 + 45 135.26 540 2 0 10.4642 -71.9131 -145.85 + 45 103.767 952 1 1 10.5192 -72.0035 -174.45 + 45 104.835 540 1 0 10.5212 -72.0083 -175.85 + 45 157.387 952 0 1 10.5628 -72.1052 -204.45 + 45 205.338 539 0 0 10.5643 -72.1108 -205.85 + 45 33.4076 558 0 0 -25.5425 -68.3179 -206.25 + 45 11.9612 766 0 0 22.4202 -26.6719 -206.25 + 45 24.9007 755 0 0 80.8347 -28.8649 -206.25 + 45 67.8931 889 0 0 130.79 -2.16294 -206.25 + 45 6.47448 952 10 1 10.45 -71.7746 95.1744 + 45 33.0827 537 10 0 11.2526 -72.5657 94.1499 + 45 98.7737 536 10 0 11.3285 -72.65 94.0453 + 45 59.0291 535 10 0 11.4946 -72.8502 93.8589 + 45 17.9884 373 10 0 47.5735 -105.527 93.75 + 45 286.707 372 10 0 47.5918 -105.55 93.7845 + 45 77.858 371 10 0 47.7951 -105.75 93.97 + 45 125.333 370 10 0 47.8733 -105.95 94.062 + 45 75.7954 1143 10 1 48.76 -107.495 95.15 + 45 78.1698 1144 10 1 48.8501 -107.605 95.2452 + 45 210.241 1145 10 1 49.05 -107.711 95.3871 + 45 84.5957 369 10 0 49.1281 -106.32 94.15 + 45 16.3714 533 10 0 56.2189 -73.2897 93.75 + 45 37.5018 534 10 0 56.2327 -73.2498 93.785 + 45 133.393 702 10 0 57.1292 -39.5926 93.75 +Number of digits in this event: 18 Using G4ParticleGun... -Particle energy: 2.7974 LIN +Particle energy: 2.47429 LIN Particle: proton Event: 46 -Number of tracker hits in this event: 19 - 46 114.061 1441 8 1 108.471 85.877 35.55 - 46 114.981 1329 8 0 108.474 85.8757 34.15 - 46 229.528 1441 7 1 108.524 85.8488 5.55 - 46 99.6972 1328 7 0 108.525 85.8491 4.15 - 46 128.393 1442 6 1 108.556 85.8532 -24.45 - 46 135.208 1329 6 0 108.554 85.8556 -25.85 - 46 185.345 1441 5 1 108.534 85.8944 -54.45 - 46 398.778 1329 5 0 108.531 85.8953 -55.85 - 46 126.344 1441 4 1 108.486 85.91 -84.45 - 46 129.276 1329 4 0 108.485 85.9081 -85.85 - 46 160.016 1441 3 1 108.467 85.8706 -114.45 - 46 277.057 1329 3 0 108.465 85.8693 -115.85 - 46 123.3 1441 2 1 108.415 85.8432 -144.45 - 46 99.9241 1328 2 0 108.409 85.8409 -145.85 - 46 334.9 1440 1 1 108.294 85.7948 -174.45 - 46 146.443 1328 1 0 108.289 85.7913 -175.85 - 46 107.089 1440 0 1 108.166 85.7135 -204.45 - 46 96.8939 1328 0 0 108.16 85.7102 -205.85 - 46 6.44083 1328 5 0 108.387 85.85 -56.0453 -Number of digits in this event: 13 +Number of tracker hits in this event: 21 + 46 273.132 1078 10 1 35.7499 -89.8438 95.55 + 46 110.529 451 10 0 35.7474 -89.8441 94.15 + 46 152.615 1078 9 1 35.6908 -89.8486 65.55 + 46 236.308 450 9 0 35.687 -89.8522 64.15 + 46 117.568 1077 8 1 35.596 -89.9244 35.55 + 46 108.012 450 8 0 35.5904 -89.927 34.15 + 46 165.524 1077 7 1 35.4847 -89.9845 5.55 + 46 114.015 450 7 0 35.4788 -89.9897 4.15 + 46 102.431 1075 5 1 35.2476 -90.2039 -54.45 + 46 129.891 449 5 0 35.2444 -90.2067 -55.85 + 46 155.645 1075 4 1 35.1841 -90.2586 -84.45 + 46 108.708 449 4 0 35.1804 -90.2608 -85.85 + 46 115.729 1075 3 1 35.1099 -90.311 -114.45 + 46 104.036 449 3 0 35.1033 -90.3122 -115.85 + 46 137.203 1074 2 1 34.9747 -90.3251 -144.45 + 46 107.061 449 2 0 34.9675 -90.3242 -145.85 + 46 129.072 1073 1 1 34.8183 -90.3047 -174.45 + 46 113.769 449 1 0 34.813 -90.3022 -175.85 + 46 118.648 1073 0 1 34.7121 -90.2431 -204.45 + 46 126.018 449 0 0 34.7057 -90.2421 -205.85 + 46 104.431 1079 10 1 35.85 -89.8813 95.189 +Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 3.82954 LIN +Particle energy: 9.16839 LIN Particle: proton Event: 47 -Number of tracker hits in this event: 22 - 47 95.7179 409 10 1 -98.342 -51.7598 95.55 - 47 108.132 641 10 0 -98.3419 -51.7576 94.15 - 47 137.299 409 9 1 -98.3455 -51.7141 65.55 - 47 155.592 641 9 0 -98.3453 -51.7124 64.15 - 47 93.7167 409 8 1 -98.3393 -51.6835 35.55 - 47 120.378 641 8 0 -98.3406 -51.682 34.15 - 47 110.614 408 7 1 -98.3758 -51.6514 5.55 - 47 107.127 642 7 0 -98.3764 -51.6496 4.15 - 47 127.802 408 6 1 -98.386 -51.6159 -24.45 - 47 117.548 642 6 0 -98.3864 -51.613 -25.85 - 47 153.621 408 5 1 -98.3942 -51.5577 -54.45 - 47 136.37 642 5 0 -98.3939 -51.5597 -55.85 - 47 107.201 408 4 1 -98.3778 -51.6017 -84.45 - 47 98.7412 642 4 0 -98.377 -51.6035 -85.85 - 47 108.448 408 3 1 -98.3586 -51.6389 -114.45 - 47 204.304 642 3 0 -98.3585 -51.64 -115.85 - 47 131.808 409 2 1 -98.3443 -51.6515 -144.45 - 47 121.925 641 2 0 -98.3425 -51.6525 -145.85 - 47 118.769 409 1 1 -98.3011 -51.6684 -174.45 - 47 120.859 641 1 0 -98.2996 -51.669 -175.85 - 47 289.89 409 0 1 -98.2698 -51.6792 -204.45 - 47 116.999 641 0 0 -98.2675 -51.6785 -205.85 -Number of digits in this event: 12 +Number of tracker hits in this event: 91 + 47 135.464 774 11 1 -25.1221 -34.6815 125.55 + 47 174.693 726 11 0 -25.1223 -34.6805 124.15 + 47 223.748 774 10 1 -25.1258 -34.6602 95.55 + 47 120.076 726 10 0 -25.1266 -34.6587 94.15 + 47 198.591 774 9 1 -25.1389 -34.6303 65.55 + 47 112.919 727 9 0 -25.1403 -34.6294 64.15 + 47 169.265 774 8 1 -25.1684 -34.6108 35.55 + 47 110.484 727 8 0 -25.1703 -34.6098 34.15 + 47 147.409 774 7 1 -25.2101 -34.5914 5.55 + 47 185.208 727 7 0 -25.2112 -34.5904 4.15 + 47 143.329 774 6 1 -25.2379 -34.5738 -24.45 + 47 107.596 727 6 0 -25.2398 -34.5723 -25.85 + 47 132.378 773 5 1 -25.2805 -34.5422 -54.45 + 47 158.739 727 5 0 -25.2827 -34.5403 -55.85 + 47 121.421 773 4 1 -25.3283 -34.4975 -84.45 + 47 109.9 727 4 0 -25.3307 -34.4958 -85.85 + 47 111.077 773 3 1 -25.3775 -34.4619 -114.45 + 47 131.05 727 3 0 -25.3798 -34.4608 -115.85 + 47 99.8174 773 2 1 -25.4287 -34.4379 -144.45 + 47 99.0698 728 2 0 -25.4301 -34.4374 -145.85 + 47 94.4126 772 1 1 -25.46 -34.4234 -174.45 + 47 160.178 728 1 0 -25.4616 -34.422 -175.85 + 47 105.297 772 0 1 -25.4957 -34.3955 -204.45 + 47 88.5568 728 0 0 -25.4975 -34.3943 -205.85 + 47 80.4478 709 2 0 47.4118 -38.1026 -145.972 + 47 45.5513 1044 0 0 -20.3239 29.0341 -206.25 + 47 64.6085 1045 0 0 -20.3228 29.05 -206.241 + 47 88.2338 1046 0 0 -20.3086 29.25 -206.126 + 47 77.966 1047 0 0 -20.2943 29.45 -206.012 + 47 27.6138 1048 0 0 -20.2804 29.65 -205.898 + 47 244.263 799 0 1 -20.1553 31.4881 -204.85 + 47 127.658 1302 1 0 -16.5249 80.462 -176.25 + 47 87.2688 1303 1 0 -16.5109 80.65 -176.14 + 47 120.923 1304 1 0 -16.4961 80.85 -176.023 + 47 113.507 1305 1 0 -16.4812 81.05 -175.906 + 47 272.002 818 1 1 -16.3514 82.8561 -174.85 + 47 65.5597 1555 2 0 -13.988 131.155 -146.25 + 47 72.6978 1556 2 0 -13.9786 131.35 -146.135 + 47 62.0988 1557 2 0 -13.9695 131.55 -146.016 + 47 34.5073 1558 2 0 -13.9614 131.75 -145.899 + 47 448.236 830 2 1 -13.8852 133.52 -144.85 + 47 138.618 858 0 0 -1.14054 -8.28597 -206.25 + 47 795.959 859 0 0 -1.10889 -8.25 -206.2 + 47 266.308 860 0 0 -0.934004 -8.05 -205.924 + 47 46.6593 898 0 1 -0.256493 -7.27869 -204.85 + 47 742.091 899 0 1 -0.25 -7.27129 -204.84 + 47 131.507 953 1 0 16.2051 10.8127 -176.25 + 47 796.739 954 1 0 16.2391 10.85 -176.191 + 47 39.8895 955 1 0 16.4218 11.05 -175.866 + 47 238.168 984 1 1 16.9982 11.6689 -174.85 + 47 832.817 985 1 1 17.05 11.7245 -174.759 + 47 827.319 1047 2 0 36.1114 29.4525 -146.25 + 47 239.912 1048 2 0 36.3242 29.65 -145.933 + 47 12.3275 1084 2 1 37.047 30.319 -144.85 + 47 823.541 1085 2 1 37.05 30.3217 -144.845 + 47 350.74 1086 2 1 37.25 30.5055 -144.546 + 47 85.5279 1148 3 0 55.8866 49.8285 -116.25 + 47 983.888 1149 3 0 55.9074 49.85 -116.219 + 47 218.352 1150 3 0 56.0996 50.05 -115.925 + 47 300.436 1183 3 1 56.7886 50.7997 -114.85 + 47 1079.08 1184 3 1 56.85 50.8666 -114.754 + 47 340.096 1260 4 0 73.6031 72.183 -86.25 + 47 909.451 1261 4 0 73.6556 72.25 -86.1605 + 47 163.592 1262 4 0 73.8124 72.45 -85.8922 + 47 170.814 1271 4 1 74.4227 73.2261 -84.85 + 47 1251.02 1272 4 1 74.45 73.2608 -84.8034 + 47 37.8955 1273 4 1 74.65 73.5169 -84.4589 + 47 295.907 1385 5 0 95.0884 97.3052 -56.25 + 47 1429.96 1386 5 0 95.1269 97.35 -56.1969 + 47 542.041 1387 5 0 95.312 97.55 -55.9552 + 47 1288.23 1380 5 1 96.1579 98.4677 -54.85 + 47 800.645 1381 5 1 96.35 98.6764 -54.5989 + 47 1634.66 1516 6 0 115.365 123.417 -26.25 + 47 2837.45 1517 6 0 115.466 123.55 -26.1003 + 47 432.33 1518 6 0 115.613 123.75 -25.8801 + 47 1076.56 1480 6 1 116.299 124.617 -24.85 + 47 6660.82 1481 6 1 116.35 124.681 -24.7737 + 47 14.3306 728 3 0 -25.3665 -34.45 -116.217 + 47 41.3684 925 3 0 61.2564 5.15982 -116.25 + 47 96.9497 926 3 0 61.3219 5.25 -116.197 + 47 91.8828 927 3 0 61.4719 5.45009 -116.121 + 47 116.714 928 3 0 61.6899 5.65 -116.112 + 47 235.521 929 3 0 61.906 5.85 -116.067 + 47 140.173 930 3 0 62.1609 6.0501 -116.036 + 47 77.4102 1218 3 1 63.6964 6.40878 -114.85 + 47 66.1836 1219 3 1 63.85 6.39999 -114.663 + 47 109.939 1220 3 1 64.05 6.32538 -114.547 + 47 143.884 1221 3 1 64.2501 6.38587 -114.699 + 47 61.9602 773 8 1 -25.25 -34.5039 35.3048 + 47 71.0686 728 8 0 -25.3791 -34.2894 34.1493 + 47 109.534 729 8 0 -25.4142 -34.2497 33.9878 +Number of digits in this event: 56 Using G4ParticleGun... -Particle energy: 4.93624 LIN +Particle energy: 8.6504 LIN Particle: proton Event: 48 Number of tracker hits in this event: 22 - 48 108.254 452 10 1 -89.5369 29.4681 95.55 - 48 112.873 1047 10 0 -89.5375 29.4683 94.15 - 48 112.508 452 9 1 -89.5543 29.47 65.55 - 48 99.5646 1047 9 0 -89.5553 29.4716 64.15 - 48 170.11 452 8 1 -89.5819 29.512 35.55 - 48 112.187 1047 8 0 -89.5823 29.5134 34.15 - 48 104.733 452 7 1 -89.5853 29.5435 5.55 - 48 121.971 1047 7 0 -89.5852 29.5443 4.15 - 48 130.07 452 6 1 -89.5793 29.5584 -24.45 - 48 120.684 1047 6 0 -89.5787 29.5587 -25.85 - 48 110.413 452 5 1 -89.5628 29.5586 -54.45 - 48 126.109 1047 5 0 -89.5622 29.5577 -55.85 - 48 181.806 452 4 1 -89.5492 29.5376 -84.45 - 48 109.596 1047 4 0 -89.5486 29.5364 -85.85 - 48 96.992 452 3 1 -89.5305 29.5151 -114.45 - 48 116.828 1047 3 0 -89.5309 29.5125 -115.85 - 48 104.973 452 2 1 -89.5455 29.4509 -144.45 - 48 132.895 1046 2 0 -89.545 29.4476 -145.85 - 48 193.582 452 1 1 -89.5313 29.3809 -174.45 - 48 125.418 1046 1 0 -89.5318 29.3797 -175.85 - 48 108.495 452 0 1 -89.5394 29.355 -204.45 - 48 112.056 1046 0 0 -89.5383 29.3528 -205.85 -Number of digits in this event: 10 + 48 114.441 515 10 1 -76.878 -58.4583 95.55 + 48 97.7412 607 10 0 -76.8775 -58.4576 94.15 + 48 139.465 515 9 1 -76.8713 -58.446 65.55 + 48 141.977 608 9 0 -76.8707 -58.4453 64.15 + 48 112.719 515 8 1 -76.8567 -58.4356 35.55 + 48 145.474 608 8 0 -76.8562 -58.4348 34.15 + 48 103.552 516 7 1 -76.8389 -58.4168 5.55 + 48 107.641 608 7 0 -76.8384 -58.4165 4.15 + 48 142.085 516 6 1 -76.8278 -58.4096 -24.45 + 48 111.945 608 6 0 -76.8273 -58.409 -25.85 + 48 120.736 516 5 1 -76.8226 -58.3918 -54.45 + 48 93.8724 608 5 0 -76.8219 -58.3919 -55.85 + 48 117.085 516 4 1 -76.8085 -58.3957 -84.45 + 48 99.0005 608 4 0 -76.8082 -58.3966 -85.85 + 48 145.788 516 3 1 -76.803 -58.4177 -114.45 + 48 105.713 608 3 0 -76.8026 -58.4186 -115.85 + 48 112.742 516 2 1 -76.7909 -58.4379 -144.45 + 48 111.156 608 2 0 -76.7901 -58.4388 -145.85 + 48 102.968 516 1 1 -76.7692 -58.4543 -174.45 + 48 120.649 607 1 0 -76.7678 -58.4544 -175.85 + 48 118.929 516 0 1 -76.7398 -58.4549 -204.45 + 48 109.867 607 0 0 -76.7376 -58.4549 -205.85 +Number of digits in this event: 8 Using G4ParticleGun... -Particle energy: 5.90911 LIN +Particle energy: 7.20318 LIN Particle: proton Event: 49 -Number of tracker hits in this event: 24 - 49 117.701 274 9 1 -125.305 -41.5763 65.55 - 49 121.774 692 9 0 -125.306 -41.5759 64.15 - 49 96.8507 274 8 1 -125.32 -41.5645 35.55 - 49 132.602 692 8 0 -125.321 -41.5642 34.15 - 49 129.523 274 7 1 -125.337 -41.5591 5.55 - 49 96.601 692 7 0 -125.339 -41.5584 4.15 - 49 117.318 273 6 1 -125.362 -41.5433 -24.45 - 49 126.393 692 6 0 -125.364 -41.5414 -25.85 - 49 95.2253 273 5 1 -125.395 -41.5015 -54.45 - 49 160.248 692 5 0 -125.398 -41.4985 -55.85 - 49 100.754 273 4 1 -125.471 -41.4382 -84.45 - 49 148.66 693 4 0 -125.473 -41.435 -85.85 - 49 148.973 273 3 1 -125.523 -41.3684 -114.45 - 49 95.5072 693 3 0 -125.527 -41.3652 -115.85 - 49 167.063 272 2 1 -125.606 -41.2966 -144.45 - 49 181.65 693 2 0 -125.611 -41.2933 -145.85 - 49 108.93 272 1 1 -125.714 -41.2277 -174.45 - 49 111.497 694 1 0 -125.72 -41.2255 -175.85 - 49 101.383 271 0 1 -125.846 -41.1808 -204.45 - 49 239.488 694 0 0 -125.852 -41.1787 -205.85 - 49 61.471 695 0 0 -125.815 -41.05 -206.131 - 49 346.65 661 0 0 -135.128 -47.8145 -206.25 - 49 64.307 660 0 0 -135.155 -47.85 -206.199 - 49 141.759 692 4 0 -125.492 -41.45 -86.1805 -Number of digits in this event: 13 +Number of tracker hits in this event: 97 + 49 104.427 1122 10 1 44.644 83.0519 95.55 + 49 109.48 1315 10 0 44.6438 83.0525 94.15 + 49 133.982 1122 9 1 44.6419 83.0645 65.55 + 49 102.649 1315 9 0 44.6409 83.0648 64.15 + 49 122.12 1122 8 1 44.622 83.0706 35.55 + 49 124.303 1315 8 0 44.6215 83.0708 34.15 + 49 100.254 1122 7 1 44.6092 83.0741 5.55 + 49 108.153 1315 7 0 44.6093 83.0741 4.15 + 49 136.551 1122 6 1 44.6129 83.0725 -24.45 + 49 97.1011 1315 6 0 44.6135 83.0723 -25.85 + 49 158.065 1122 5 1 44.6257 83.0643 -54.45 + 49 116.037 1315 5 0 44.6269 83.0634 -55.85 + 49 170.685 1123 4 1 44.6522 83.0452 -84.45 + 49 140.127 1314 4 0 44.6546 83.0477 -85.85 + 49 117.248 1123 3 1 44.7127 83.1228 -114.45 + 49 102.936 1315 3 0 44.7152 83.1268 -115.85 + 49 103.588 1123 2 1 44.7653 83.2085 -144.45 + 49 141.864 1315 2 0 44.7678 83.2139 -145.85 + 49 109.514 1123 1 1 44.8178 83.3274 -174.45 + 49 114.449 1316 1 0 44.8204 83.3326 -175.85 + 49 88.5942 1124 0 1 44.8727 83.443 -204.45 + 49 187.4 1316 0 0 44.8756 83.4476 -205.85 + 49 286.999 791 3 1 -21.6897 2.12621 -114.45 + 49 375.866 792 3 1 -21.65 2.2166 -114.536 + 49 36.8429 1076 9 1 35.2623 73.7806 65.457 + 49 25.9435 1484 0 1 117.101 -14.3529 -204.607 + 49 0.958603 264 5 0 88.2162 -127.15 -56.1267 + 49 24.29 1359 0 0 18.4912 92.0237 -206.027 + 49 117.775 1219 0 0 53.8637 63.9836 -206.25 + 49 20.2404 1218 0 0 54.0022 63.8499 -205.891 + 49 9.83754 1171 0 1 54.4329 63.4124 -204.85 + 49 126.11 1172 0 1 54.45 63.3949 -204.809 + 49 115.482 1149 1 0 56.9222 50.0409 -176.25 + 49 144.987 1185 1 1 57.0589 49.4052 -174.85 + 49 67.9698 1124 2 0 67.0819 44.887 -146.25 + 49 49.0105 1123 2 0 67.1766 44.85 -145.995 + 49 21.8102 1237 2 1 67.6226 44.7067 -144.85 + 49 101.15 1238 2 1 67.65 44.6971 -144.779 + 49 131.009 1123 3 0 87.1237 44.8328 -116.25 + 49 9.39916 1124 3 0 87.3662 44.85 -115.892 + 49 98.5301 1340 3 1 88.0518 44.912 -114.85 + 49 45.5718 1341 3 1 88.25 44.933 -114.565 + 49 7.10086 1227 4 0 100.107 65.6318 -86.2499 + 49 111.653 1228 4 0 100.118 65.65 -86.2303 + 49 82.594 1229 4 0 100.263 65.85 -86.0106 + 49 173.905 1405 4 1 101.171 66.8721 -84.8499 + 49 71.217 1406 4 1 101.35 67.0815 -84.6184 + 49 84.3013 1413 5 0 152.594 102.831 -56.25 + 49 116.36 1414 5 0 152.761 102.95 -56.1514 + 49 175.133 1415 5 0 153.101 103.15 -55.9764 + 49 0.321656 1416 5 0 153.634 103.35 -55.8504 + 49 68.1766 1689 5 1 158.037 105.375 -54.85 + 49 116.56 1690 5 1 158.15 105.425 -54.8231 + 49 74.0861 1691 5 1 158.35 105.519 -54.781 + 49 96.1487 1692 5 1 158.55 105.613 -54.758 + 49 60.962 1693 5 1 158.75 105.705 -54.7427 + 49 60.5792 1694 5 1 158.95 105.794 -54.73 + 49 63.5987 1695 5 1 159.15 105.884 -54.7162 + 49 88.4707 1696 5 1 159.35 105.979 -54.7011 + 49 72.6363 1697 5 1 159.55 106.089 -54.6816 + 49 56.5945 1698 5 1 159.75 106.191 -54.6577 + 49 139.247 1699 5 1 159.95 106.291 -54.6238 + 49 73.032 1700 5 1 160.15 106.399 -54.5858 + 49 69.1396 1701 5 1 160.351 106.497 -54.5563 + 49 64.7358 1702 5 1 160.551 106.598 -54.5307 + 49 80.591 1703 5 1 160.75 106.7 -54.5119 + 49 56.2856 1704 5 1 160.95 106.815 -54.4985 + 49 26.363 1705 5 1 161.15 106.941 -54.4678 + 49 102.325 1709 5 1 162.055 107.335 -54.45 + 49 83.0982 1710 5 1 162.15 107.38 -54.4997 + 49 69.3461 1711 5 1 162.35 107.49 -54.5968 + 49 72.0325 1712 5 1 162.55 107.615 -54.6773 + 49 70.8928 1713 5 1 162.75 107.736 -54.755 + 49 28.7388 1714 5 1 162.95 107.859 -54.8229 + 49 5.79853 1448 5 0 166.648 109.942 -55.8501 + 49 258.545 1449 5 0 166.663 109.95 -55.8542 + 49 107.318 1450 5 0 167.008 110.151 -55.9612 + 49 125.481 1451 5 0 167.344 110.35 -56.0789 + 49 54.5385 1452 5 0 167.731 110.55 -56.2082 + 49 47.3685 1219 2 1 63.8942 44.1154 -144.85 + 49 156.614 1104 4 0 119.839 41.0463 -86.25 + 49 374.059 1502 4 1 120.567 40.4075 -84.85 + 49 150.239 1503 4 1 120.75 40.2472 -84.5074 + 49 90.8191 1101 4 0 120.78 40.3781 -85.85 + 49 25.5424 1102 4 0 120.811 40.45 -86.1464 + 49 142.001 1137 4 0 121.43 47.624 -86.25 + 49 34.3868 1136 4 0 121.392 47.45 -85.9389 + 49 359.501 1508 4 1 121.769 46.9783 -84.85 + 49 383.057 1504 4 1 120.95 40.3342 -84.7688 + 49 25.0934 1505 4 1 121.15 40.3306 -84.6747 + 49 18.8434 1027 4 1 25.4897 100.843 -84.85 + 49 45.7748 1581 5 0 44.2633 136.35 -56.1109 + 49 73.2887 1026 4 1 25.45 100.814 -84.7905 + 49 72.8362 1025 4 1 25.25 100.688 -84.7326 + 49 391.867 1024 4 1 25.05 100.659 -84.7353 + 49 275.202 1599 12 0 -20.5042 140.041 153.946 + 49 9.78372 1246 2 1 69.2974 138.273 -144.85 +Number of digits in this event: 31 Using G4ParticleGun... -Particle energy: 8.20081 LIN +Particle energy: 8.17472 LIN Particle: proton Event: 50 -Number of tracker hits in this event: 22 - 50 148.043 1483 8 1 116.92 -85.7181 35.55 - 50 127.469 471 8 0 116.92 -85.7176 34.15 - 50 135.316 1483 7 1 116.916 -85.7081 5.55 - 50 166.236 471 7 0 116.916 -85.7071 4.15 - 50 129.808 1483 6 1 116.916 -85.6897 -24.45 - 50 112.996 471 6 0 116.915 -85.6888 -25.85 - 50 110.059 1483 5 1 116.892 -85.6722 -54.45 - 50 123.634 471 5 0 116.891 -85.6709 -55.85 - 50 98.8649 1483 4 1 116.868 -85.6488 -84.45 - 50 218.978 472 4 0 116.867 -85.6477 -85.85 - 50 125.008 1483 3 1 116.853 -85.6233 -114.45 - 50 102.411 472 3 0 116.853 -85.6221 -115.85 - 50 141.326 1483 2 1 116.856 -85.5974 -144.45 - 50 115.829 472 2 0 116.855 -85.596 -145.85 - 50 113.271 1483 1 1 116.84 -85.5671 -174.45 - 50 108.628 472 1 0 116.839 -85.5654 -175.85 - 50 127.97 1483 0 1 116.826 -85.5254 -204.45 - 50 119.279 472 0 0 116.824 -85.5232 -205.85 - 50 151.743 503 4 0 137.165 -79.371 -86.25 - 50 98.932 1586 4 1 137.384 -79.1017 -84.85 - 50 49.1224 1585 4 1 137.35 -79.0375 -84.589 - 50 232.715 1484 8 1 116.95 -85.7689 35.348 -Number of digits in this event: 13 +Number of tracker hits in this event: 27 + 50 100.814 1330 8 1 86.0657 116.014 35.55 + 50 243.944 1479 8 0 86.0663 116.015 34.15 + 50 132.435 1330 7 1 86.0796 116.033 5.55 + 50 128.79 1479 7 0 86.08 116.033 4.15 + 50 114.618 1330 6 1 86.0907 116.041 -24.45 + 50 163.449 1479 6 0 86.0917 116.041 -25.85 + 50 105.782 1330 5 1 86.1104 116.03 -54.45 + 50 146.167 1479 5 0 86.1115 116.029 -55.85 + 50 109.729 1330 4 1 86.1353 116.005 -84.45 + 50 87.7641 1479 4 0 86.1356 116.003 -85.85 + 50 464.19 1330 3 1 86.1364 115.97 -114.45 + 50 255.111 1479 3 0 86.1356 115.969 -115.85 + 50 105.928 1330 2 1 86.122 115.948 -144.45 + 50 415.122 1478 2 0 86.1221 115.948 -145.85 + 50 122.272 1330 1 1 86.1246 115.94 -174.45 + 50 117.824 1478 1 0 86.1249 115.94 -175.85 + 50 197.683 1330 0 1 86.1292 115.938 -204.45 + 50 141.006 1478 0 0 86.1297 115.938 -205.85 + 50 132.485 1479 2 0 86.0834 115.95 -146.205 + 50 66.3154 1478 3 0 86.1211 115.95 -116.053 + 50 102.994 1477 3 0 86.046 115.749 -116.16 + 50 71.7049 1476 3 0 85.9583 115.55 -116.24 + 50 71.3317 1475 3 0 85.898 115.35 -116.191 + 50 65.3251 1474 3 0 85.97 115.15 -116.106 + 50 65.5963 1473 3 0 86.0935 114.95 -116.175 + 50 180.76 1472 3 0 86.123 114.749 -116.208 + 50 87.3049 1471 3 0 86.3561 114.55 -116.076 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 6.4011 LIN +Particle energy: 6.27314 LIN Particle: proton Event: 51 -Number of tracker hits in this event: 34 - 51 139.022 953 11 1 10.7406 45.1131 125.55 - 51 96.5594 1125 11 0 10.7401 45.113 124.15 - 51 98.6496 953 10 1 10.7272 45.1073 95.55 - 51 128.425 1125 10 0 10.725 45.1052 94.15 - 51 132.481 953 9 1 10.6794 45.0649 65.55 - 51 115.138 1125 9 0 10.6779 45.0625 64.15 - 51 128.766 952 8 1 10.6454 45.0125 35.55 - 51 91.5534 1124 8 0 10.6433 45.0099 34.15 - 51 167.366 952 7 1 10.5995 44.9525 5.55 - 51 121.248 1124 7 0 10.5967 44.9499 4.15 - 51 106.701 952 6 1 10.5447 44.893 -24.45 - 51 234.56 1124 6 0 10.5432 44.8909 -25.85 - 51 147.334 952 5 1 10.5146 44.8437 -54.45 - 51 127.695 1123 5 0 10.5128 44.8414 -55.85 - 51 100.615 952 4 1 10.4771 44.7914 -84.45 - 51 113.079 1123 4 0 10.4755 44.7888 -85.85 - 51 106.422 951 3 1 10.446 44.7383 -114.45 - 51 128.713 1123 3 0 10.4441 44.7365 -115.85 - 51 302.664 951 2 1 10.4016 44.7002 -144.45 - 51 130.182 1123 2 0 10.3988 44.698 -145.85 - 51 161.332 951 1 1 10.3394 44.6487 -174.45 - 51 126.443 1122 1 0 10.3362 44.6469 -175.85 - 51 112.458 951 0 1 10.2709 44.6112 -204.45 - 51 96.0204 1122 0 0 10.2683 44.609 -205.85 - 51 76.785 952 1 1 10.4502 44.6558 -174.474 - 51 61.1183 953 1 1 10.65 44.7259 -174.563 - 51 65.1821 954 1 1 10.85 44.8251 -174.582 - 51 166.61 955 1 1 11.0501 44.9013 -174.608 - 51 77.2395 952 2 1 10.6421 44.6817 -144.45 - 51 133.78 1122 2 0 9.69839 44.5423 -145.85 - 51 129.231 1121 2 0 9.63825 44.45 -146.132 - 51 234.89 1282 2 0 104.514 76.5638 -146.25 - 51 137.898 1124 5 0 10.489 44.85 -55.9668 - 51 121.325 953 5 1 10.65 44.6821 -54.7888 -Number of digits in this event: 21 -Using G4ParticleGun... -Particle energy: 9.81908 LIN +Number of tracker hits in this event: 125 + 51 123.747 1156 11 1 51.41 60.5179 125.55 + 51 118.233 1202 11 0 51.4094 60.5175 124.15 + 51 188.846 1156 10 1 51.3932 60.5068 95.55 + 51 137.017 1202 10 0 51.3928 60.5058 94.15 + 51 95.0428 1156 9 1 51.3828 60.484 65.55 + 51 93.2471 1202 9 0 51.3823 60.483 64.15 + 51 101.193 1156 8 1 51.3677 60.4662 35.55 + 51 109.146 1202 8 0 51.3669 60.4659 34.15 + 51 103.72 1156 7 1 51.3483 60.4634 5.55 + 51 146.627 1202 7 0 51.3475 60.4627 4.15 + 51 126.272 1156 6 1 51.3279 60.4502 -24.45 + 51 124.015 1201 6 0 51.3289 60.4478 -25.85 + 51 106.398 1156 5 1 51.3457 60.4014 -54.45 + 51 115.305 1201 5 0 51.3465 60.3989 -55.85 + 51 146.185 1156 4 1 51.3694 60.3466 -84.45 + 51 123.747 1201 4 0 51.3709 60.3437 -85.85 + 51 131.581 1156 3 1 51.4007 60.2869 -114.45 + 51 143.67 1201 3 0 51.4032 60.2849 -115.85 + 51 173.627 1157 2 1 51.4521 60.2396 -144.45 + 51 100.712 1200 2 0 51.4538 60.2371 -145.85 + 51 93.6085 1157 1 1 51.4878 60.1827 -174.45 + 51 314.947 1200 1 0 51.4892 60.1813 -175.85 + 51 260.004 1157 0 1 51.506 60.1421 -204.45 + 51 119.643 1200 0 0 51.506 60.1399 -205.85 + 51 37.0787 89 0 0 -58.3129 -162.175 -206.081 + 51 36.1469 90 0 0 -58.262 -162.15 -206.019 + 51 281.247 1004 9 1 20.8839 5.64637 65.15 + 51 29.9481 589 6 0 82.0871 -62.05 -25.9806 + 51 68.8874 1313 6 1 82.7164 -61.926 -24.85 + 51 91.5284 1314 6 1 82.8503 -61.9009 -24.725 + 51 230.698 1315 6 1 83.05 -61.928 -24.7484 + 51 1571.1 1197 0 0 8.74421 59.5587 -206.25 + 51 286.211 924 0 1 4.99714 59.4918 -204.85 + 51 289.463 923 0 1 4.85 59.4888 -204.795 + 51 305.074 922 0 1 4.65 59.4852 -204.721 + 51 301.967 921 0 1 4.45 59.4816 -204.647 + 51 285.786 920 0 1 4.25 59.4775 -204.576 + 51 207.526 919 0 1 4.05 59.4716 -204.505 + 51 101.217 1159 1 0 -91.989 51.8547 -176.25 + 51 2285.43 1158 1 0 -92.0473 51.85 -176.233 + 51 135.587 417 1 1 -96.711 51.4836 -174.85 + 51 373.675 416 1 1 -96.75 51.4806 -174.838 + 51 303.627 415 1 1 -96.95 51.4648 -174.778 + 51 299.67 414 1 1 -97.15 51.4489 -174.718 + 51 304.379 413 1 1 -97.35 51.4329 -174.658 + 51 333.963 412 1 1 -97.55 51.4133 -174.597 + 51 462.342 411 1 1 -97.75 51.3918 -174.536 + 51 147.64 410 1 1 -97.95 51.3694 -174.475 + 51 196.987 1152 0 0 28.7938 50.5003 -206.25 + 51 932.123 1151 0 0 28.6748 50.45 -206.168 + 51 192.411 1033 0 1 26.768 49.6422 -204.85 + 51 386.732 1032 0 1 26.65 49.5923 -204.768 + 51 427.604 1031 0 1 26.45 49.5071 -204.63 + 51 110.033 1030 0 1 26.25 49.4231 -204.489 + 51 851.373 1061 1 0 -13.0221 32.4318 -176.25 + 51 321.81 1060 1 0 -13.4422 32.25 -175.948 + 51 165.938 825 1 1 -14.9613 31.589 -174.85 + 51 448.585 824 1 1 -15.05 31.5505 -174.786 + 51 387.313 823 1 1 -15.25 31.463 -174.64 + 51 137.919 822 1 1 -15.45 31.3765 -174.494 + 51 814.362 988 2 0 -52.8307 17.7629 -146.25 + 51 549.986 987 2 0 -53.1416 17.65 -146.015 + 51 428.657 626 2 1 -54.6916 17.1054 -144.85 + 51 472.921 625 2 1 -54.85 17.0501 -144.731 + 51 439.833 624 2 1 -55.05 16.9805 -144.58 + 51 1496.02 920 3 0 -100.832 4.19853 -116.25 + 51 280.611 919 3 0 -101.365 4.05 -115.921 + 51 164.319 385 3 1 -103.092 3.56622 -114.85 + 51 541.98 384 3 1 -103.15 3.54991 -114.814 + 51 431.776 383 3 1 -103.35 3.49459 -114.689 + 51 465.529 382 3 1 -103.55 3.43628 -114.563 + 51 1188.3 858 4 0 -139.737 -8.30984 -86.25 + 51 227.72 857 4 0 -140.169 -8.45 -85.9114 + 51 277.381 193 4 1 -141.46 -8.89084 -84.85 + 51 681.162 192 4 1 -141.55 -8.92167 -84.7758 + 51 731.283 191 4 1 -141.75 -8.99142 -84.6117 + 51 72.9665 783 5 0 -174.874 -23.4431 -56.25 + 51 2067.68 782 5 0 -174.89 -23.45 -56.2364 + 51 119.545 18 5 1 -176.532 -24.1546 -54.85 + 51 805.733 17 5 1 -176.55 -24.1623 -54.8349 + 51 795.9 16 5 1 -176.75 -24.2467 -54.6674 + 51 227.376 15 5 1 -176.95 -24.3322 -54.4992 + 51 96.1806 833 0 0 -113.401 -13.4055 -206.25 + 51 462.82 832 0 0 -113.501 -13.45 -206.241 + 51 386.502 831 0 0 -113.951 -13.65 -206.202 + 51 485.525 830 0 0 -114.395 -13.85 -206.165 + 51 776.212 829 0 0 -114.865 -14.05 -206.136 + 51 404.655 828 0 0 -115.341 -14.25 -206.1 + 51 409.702 827 0 0 -115.781 -14.45 -206.076 + 51 507.393 826 0 0 -116.218 -14.65 -206.076 + 51 379.445 825 0 0 -116.641 -14.85 -206.074 + 51 374.53 824 0 0 -117.063 -15.05 -206.062 + 51 436.932 823 0 0 -117.524 -15.25 -206.048 + 51 573.13 822 0 0 -117.987 -15.45 -206.04 + 51 498.321 821 0 0 -118.503 -15.65 -206.024 + 51 452.453 820 0 0 -118.983 -15.85 -206.01 + 51 443.351 819 0 0 -119.461 -16.05 -205.993 + 51 667.872 818 0 0 -119.921 -16.25 -205.976 + 51 520.278 817 0 0 -120.369 -16.45 -205.969 + 51 488.088 816 0 0 -120.848 -16.65 -205.962 + 51 484.14 815 0 0 -121.338 -16.85 -205.964 + 51 504.612 814 0 0 -121.806 -17.05 -205.981 + 51 654.232 813 0 0 -122.303 -17.25 -206.006 + 51 630.075 812 0 0 -122.835 -17.45 -206.036 + 51 581.788 811 0 0 -123.338 -17.65 -206.071 + 51 572.023 810 0 0 -123.831 -17.85 -206.123 + 51 478.408 809 0 0 -124.291 -18.05 -206.168 + 51 219.211 808 0 0 -124.737 -18.25 -206.225 + 51 174.752 1168 0 0 52.8015 53.6637 -206.25 + 51 73.0733 1167 0 0 52.8021 53.6496 -206.228 + 51 81.449 1529 0 0 82.2807 126.113 -206.25 + 51 473.442 1530 0 0 82.298 126.15 -206.241 + 51 423.871 1531 0 0 82.3918 126.35 -206.193 + 51 511.602 1532 0 0 82.4832 126.55 -206.147 + 51 456.658 1533 0 0 82.5739 126.75 -206.099 + 51 515.292 1534 0 0 82.6661 126.95 -206.051 + 51 483.087 1535 0 0 82.7589 127.15 -206.003 + 51 473.168 1536 0 0 82.8508 127.35 -205.955 + 51 423.633 1537 0 0 82.9435 127.55 -205.906 + 51 55.527 1538 0 0 83.0367 127.75 -205.856 + 51 122.029 1323 0 1 84.8212 131.223 -204.85 + 51 977.409 1324 0 1 84.85 131.279 -204.834 + 51 1213.12 1325 0 1 85.05 131.672 -204.717 + 51 1315.05 1326 0 1 85.25 132.08 -204.602 + 51 127.685 1327 0 1 85.45 132.504 -204.468 +Number of digits in this event: 105 +Using G4ParticleGun... +Particle energy: 6.7869 LIN Particle: proton Event: 52 Number of tracker hits in this event: 24 - 52 127.688 590 10 1 -61.9055 95.9802 95.55 - 52 106.22 1379 10 0 -61.9052 95.9811 94.15 - 52 112.056 590 9 1 -61.8998 95.999 65.55 - 52 208.017 1379 9 0 -61.8999 95.9996 64.15 - 52 120.761 590 8 1 -61.9017 96.0121 35.55 - 52 172.577 1379 8 0 -61.9021 96.0127 34.15 - 52 124.414 590 7 1 -61.9086 96.0258 5.55 - 52 136.934 1379 7 0 -61.9091 96.0262 4.15 - 52 155.607 590 6 1 -61.9178 96.0366 -24.45 - 52 126.167 1379 6 0 -61.918 96.0376 -25.85 - 52 148.839 590 5 1 -61.9253 96.0618 -54.45 - 52 108.417 1379 5 0 -61.9261 96.0626 -55.85 - 52 88.6352 590 4 1 -61.9402 96.0811 -84.45 - 52 155.518 1379 4 0 -61.9402 96.0828 -85.85 - 52 108.737 590 3 1 -61.9411 96.119 -114.45 - 52 97.4372 1379 3 0 -61.9413 96.1204 -115.85 - 52 179.913 590 2 1 -61.9466 96.1509 -144.45 - 52 150.102 1380 2 0 -61.9471 96.1521 -145.85 - 52 142.731 590 1 1 -61.9548 96.175 -174.45 - 52 110.542 1380 1 0 -61.9554 96.1764 -175.85 - 52 122.244 590 0 1 -61.969 96.2068 -204.45 - 52 122.124 1380 0 0 -61.97 96.2085 -205.85 - 52 39.6783 1380 9 0 -61.9023 96.15 63.8172 - 52 352.358 1470 9 0 -17.4035 114.284 63.75 -Number of digits in this event: 17 + 52 125.638 982 11 1 16.4999 -48.1325 125.55 + 52 114.31 659 11 0 16.5003 -48.1326 124.15 + 52 491.706 982 10 1 16.5104 -48.1338 95.55 + 52 93.7917 659 10 0 16.511 -48.133 94.15 + 52 142.012 982 9 1 16.5195 -48.1161 65.55 + 52 111.158 659 9 0 16.5194 -48.1159 64.15 + 52 102.067 982 8 1 16.518 -48.1147 35.55 + 52 114.08 659 8 0 16.5177 -48.1135 34.15 + 52 128.693 982 7 1 16.507 -48.0869 5.55 + 52 109.409 659 7 0 16.5061 -48.0853 4.15 + 52 101.945 982 6 1 16.4868 -48.0525 -24.45 + 52 103.968 659 6 0 16.4861 -48.051 -25.85 + 52 96.1516 982 5 1 16.4731 -48.0205 -54.45 + 52 110.536 660 5 0 16.4717 -48.0186 -55.85 + 52 214.758 981 4 1 16.4376 -47.9794 -84.45 + 52 113.246 660 4 0 16.4363 -47.9772 -85.85 + 52 162.784 981 3 1 16.406 -47.9293 -114.45 + 52 142.909 660 3 0 16.4053 -47.9257 -115.85 + 52 98.11 981 2 1 16.3927 -47.8611 -144.45 + 52 100.188 660 2 0 16.3932 -47.8588 -145.85 + 52 108.803 981 1 1 16.4058 -47.8084 -174.45 + 52 119.518 661 1 0 16.4069 -47.8063 -175.85 + 52 152.807 981 0 1 16.4294 -47.7678 -204.45 + 52 95.0904 661 0 0 16.4306 -47.7641 -205.85 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 4.36217 LIN +Particle energy: 1.22758 LIN Particle: proton Event: 53 -Number of tracker hits in this event: 24 - 53 135.243 1022 11 1 24.472 -30.6243 125.55 - 53 115.933 747 11 0 24.4745 -30.6233 124.15 - 53 145.673 1022 10 1 24.514 -30.6041 95.55 - 53 206.56 747 10 0 24.5145 -30.6029 94.15 - 53 144.641 1022 9 1 24.5303 -30.5759 65.55 - 53 184.605 747 9 0 24.5307 -30.5761 64.15 - 53 126.355 1022 8 1 24.5346 -30.5812 35.55 - 53 112.836 747 8 0 24.5329 -30.5816 34.15 - 53 252.345 1022 7 1 24.5027 -30.5858 5.55 - 53 126.14 747 7 0 24.5001 -30.5873 4.15 - 53 102.708 1022 6 1 24.4534 -30.6186 -24.45 - 53 108.036 747 6 0 24.4528 -30.6193 -25.85 - 53 116.033 1021 5 1 24.4345 -30.6479 -54.45 - 53 152.988 747 5 0 24.4332 -30.6495 -55.85 - 53 195.072 1021 4 1 24.3986 -30.6804 -84.45 - 53 108.708 746 4 0 24.3954 -30.6813 -85.85 - 53 99.025 1021 3 1 24.331 -30.6923 -114.45 - 53 119.865 746 3 0 24.3286 -30.6923 -115.85 - 53 123.301 1021 2 1 24.2879 -30.6921 -144.45 - 53 102.601 746 2 0 24.2863 -30.6911 -145.85 - 53 91.96 1021 1 1 24.2526 -30.6702 -174.45 - 53 100.39 746 1 0 24.2481 -30.6715 -175.85 - 53 99.4221 1020 0 1 24.167 -30.6953 -204.45 - 53 117.955 746 0 0 24.1637 -30.6957 -205.85 -Number of digits in this event: 12 +Number of tracker hits in this event: 19 + 53 190.754 277 8 1 -124.678 -57.992 35.55 + 53 129.86 610 8 0 -124.677 -57.9956 34.15 + 53 132.153 277 7 1 -124.657 -58.0596 5.55 + 53 176.023 609 7 0 -124.657 -58.0587 4.15 + 53 105.172 277 6 1 -124.624 -58.0304 -24.45 + 53 197.087 610 6 0 -124.623 -58.0277 -25.85 + 53 134.936 277 5 1 -124.586 -57.9622 -54.45 + 53 134.226 610 5 0 -124.583 -57.9593 -55.85 + 53 115.189 278 4 1 -124.517 -57.8976 -84.45 + 53 136.476 610 4 0 -124.513 -57.8994 -85.85 + 53 114.495 278 3 1 -124.435 -57.9422 -114.45 + 53 131.995 610 3 0 -124.431 -57.9454 -115.85 + 53 134.73 278 2 1 -124.357 -57.9987 -144.45 + 53 109.654 610 2 0 -124.348 -57.9995 -145.85 + 53 136.293 279 1 1 -124.152 -58.0091 -174.45 + 53 51.5098 280 1 1 -124.15 -58.0079 -174.745 + 53 110.426 610 1 0 -124.142 -58.0025 -175.85 + 53 139.229 280 0 1 -123.969 -57.8917 -204.45 + 53 120.951 610 0 0 -123.956 -57.8808 -205.85 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 1.73987 LIN +Particle energy: 1.99812 LIN Particle: proton Event: 54 -Number of tracker hits in this event: 36 - 54 125.215 624 11 0 62.0164 -55.0678 124.15 - 54 149.593 1209 10 1 62.0075 -55.0622 95.55 - 54 158.124 624 10 0 62.0086 -55.0619 94.15 - 54 108.835 1209 9 1 62.0244 -55.0615 65.55 - 54 175.635 624 9 0 62.0273 -55.0643 64.15 - 54 123.155 1210 8 1 62.0792 -55.1217 35.55 - 54 111.915 624 8 0 62.0797 -55.1287 34.15 - 54 140.947 1210 7 1 62.0785 -55.2631 5.55 - 54 139.846 623 7 0 62.0753 -55.2697 4.15 - 54 96.6226 1209 6 1 62.0092 -55.3978 -24.45 - 54 109.869 623 6 0 62.0086 -55.4052 -25.85 - 54 120.466 1209 5 1 62.0121 -55.5551 -54.45 - 54 112.4 622 5 0 62.0133 -55.5625 -55.85 - 54 131.354 1210 4 1 62.0559 -55.7166 -84.45 - 54 124.642 621 4 0 62.0569 -55.7222 -85.85 - 54 118.181 1210 3 1 62.0765 -55.8284 -114.45 - 54 101.762 621 3 0 62.0795 -55.8342 -115.85 - 54 111.261 1210 2 1 62.1548 -55.9577 -144.45 - 54 104.098 620 2 0 62.1571 -55.9645 -145.85 - 54 117.35 1210 1 1 62.2119 -56.1036 -174.45 - 54 151.275 619 1 0 62.2124 -56.1149 -175.85 - 54 129.562 1210 0 1 62.1971 -56.343 -204.45 - 54 119.699 618 0 0 62.1972 -56.3574 -205.85 - 54 111.076 1209 4 1 62.05 -55.6979 -84.582 - 54 24.1754 1208 4 1 61.85 -55.4366 -84.8203 - 54 31.0505 637 4 0 60.8963 -52.5356 -85.8501 - 54 68.9035 638 4 0 60.8705 -52.45 -85.8698 - 54 76.2359 639 4 0 60.8028 -52.25 -85.9078 - 54 78.6523 640 4 0 60.7182 -52.05 -85.8966 - 54 90.5392 641 4 0 60.7179 -51.85 -85.9818 - 54 77.3844 642 4 0 60.7774 -51.6499 -86.0846 - 54 61.5314 643 4 0 60.749 -51.45 -86.1929 - 54 23.9771 797 4 0 71.2701 -20.6206 -86.2499 - 54 91.8261 796 4 0 71.2682 -20.65 -86.1723 - 54 132.413 795 4 0 71.1818 -20.85 -86.0177 - 54 215.431 1260 4 1 72.0765 -20.7728 -84.85 -Number of digits in this event: 15 +Number of tracker hits in this event: 71 + 54 131.897 1444 8 1 109.041 -92.3931 35.55 + 54 122.02 438 8 0 109.037 -92.3885 34.15 + 54 93.3087 1444 7 1 108.952 -92.2983 5.55 + 54 102.372 439 7 0 108.946 -92.2946 4.15 + 54 156.107 1443 6 1 108.83 -92.2131 -24.45 + 54 223.21 439 6 0 108.824 -92.2101 -25.85 + 54 301.902 1443 5 1 108.769 -92.1186 -54.45 + 54 133.261 440 5 0 108.769 -92.117 -55.85 + 54 113 1443 4 1 108.758 -92.0896 -84.45 + 54 128.61 440 4 0 108.758 -92.087 -85.85 + 54 171.505 1443 3 1 108.765 -92.0339 -114.45 + 54 105.814 440 3 0 108.759 -92.0315 -115.85 + 54 109.735 1442 2 1 108.654 -91.9882 -144.45 + 54 110.599 440 2 0 108.65 -91.9884 -145.85 + 54 114.333 1442 1 1 108.563 -91.9934 -174.45 + 54 97.5575 440 1 0 108.556 -91.9918 -175.85 + 54 142.073 1441 0 1 108.412 -91.946 -204.45 + 54 148.14 441 0 0 108.407 -91.9437 -205.85 + 54 374.916 429 0 0 134.045 -94.2233 -206.25 + 54 135.746 1574 0 1 135.05 -94.0689 -204.85 + 54 354.758 1575 0 1 135.15 -94.0537 -204.71 + 54 459.696 465 1 0 152.213 -87.0385 -176.25 + 54 193.778 1664 1 1 153.058 -86.6784 -174.85 + 54 368.019 1665 1 1 153.15 -86.6389 -174.698 + 54 71.1218 478 2 0 170.969 -84.2559 -146.25 + 54 530.846 479 2 0 171.014 -84.25 -146.177 + 54 246.112 1758 2 1 171.853 -84.1614 -144.85 + 54 299.933 1759 2 1 171.95 -84.1513 -144.697 + 54 8.7269 676 8 0 169.06 -44.6648 33.75 + 54 210.34 677 8 0 169.039 -44.65 33.7677 + 54 98.993 678 8 0 168.779 -44.45 33.9759 + 54 1.16454 1736 8 1 167.355 -43.2733 35.15 + 54 109.012 1735 8 1 167.35 -43.2695 35.1538 + 54 87.3744 1734 8 1 167.15 -43.1049 35.3156 + 54 49.6834 1733 8 1 166.95 -42.9454 35.4803 + 54 218.342 862 9 0 123.1 -7.62565 63.75 + 54 125.891 863 9 0 122.891 -7.44985 63.8864 + 54 60.471 864 9 0 122.653 -7.24998 64.0383 + 54 31.8983 1504 9 1 121.008 -5.87051 65.15 + 54 98.2343 1503 9 1 120.95 -5.82094 65.1902 + 54 75.964 1502 9 1 120.75 -5.64943 65.3288 + 54 41.5252 1501 9 1 120.55 -5.47203 65.4691 + 54 0.231984 1005 10 0 97.8482 21.2494 93.75 + 54 93.5823 1006 10 0 97.8477 21.25 93.7506 + 54 95.2256 1007 10 0 97.664 21.4502 93.9728 + 54 85.7192 1382 10 1 96.7055 22.444 95.15 + 54 85.3072 1381 10 1 96.55 22.6009 95.3446 + 54 87.6029 1116 11 0 83.5424 43.2799 123.75 + 54 56.4021 1117 11 0 83.4308 43.45 123.979 + 54 135.772 1313 11 1 82.8084 44.3451 125.15 + 54 30.3662 1312 11 1 82.6499 44.5773 125.464 + 54 46.9586 1301 12 0 32.466 80.3738 153.75 + 54 99.2336 1302 12 0 32.3613 80.4505 153.812 + 54 98.8509 1303 12 0 32.1127 80.6501 153.961 + 54 32.0345 1304 12 0 31.8695 80.8501 154.107 + 54 3.30833 1051 12 1 30.2523 82.1537 155.15 + 54 131.118 1050 12 1 30.25 82.1556 155.152 + 54 81.8893 1049 12 1 30.049 82.3294 155.288 + 54 142.887 1048 12 1 29.8499 82.5008 155.416 + 54 196.394 1047 12 1 29.65 82.6571 155.532 + 54 495.666 1308 12 0 25.2774 81.8023 154.15 + 54 285.561 1307 12 0 24.3587 81.65 154.003 + 54 5.33095 985 10 0 103.444 17.25 94.0809 + 54 142.603 566 8 0 135.404 -66.8368 33.75 + 54 140.117 567 8 0 135.24 -66.65 33.9628 + 54 87.1276 568 8 0 135.228 -66.45 34.0807 + 54 53.2041 1576 8 1 135.427 -66.928 35.15 + 54 26.8492 992 1 0 18.8398 18.45 -176.018 + 54 74.4475 995 1 1 19.1772 18.4181 -174.85 + 54 26.897 994 1 0 19.362 19.004 -175.85 + 54 134.691 995 1 0 19.3928 19.05 -175.873 +Number of digits in this event: 35 Using G4ParticleGun... -Particle energy: 7.16256 LIN +Particle energy: 6.96637 LIN Particle: proton Event: 55 -Number of tracker hits in this event: 36 - 55 127.064 605 10 1 -59.0171 -66.4676 95.55 - 55 93.9169 567 10 0 -59.0169 -66.4694 94.15 - 55 108.362 605 9 1 -59.012 -66.5116 65.55 - 55 96.7227 567 9 0 -59.0114 -66.5136 64.15 - 55 105.343 605 8 1 -58.9958 -66.5585 35.55 - 55 105.666 567 8 0 -58.9948 -66.5605 34.15 - 55 100.333 605 7 1 -58.9757 -66.5992 5.55 - 55 213.417 567 7 0 -58.9753 -66.601 4.15 - 55 97.5256 605 6 1 -58.9706 -66.634 -24.45 - 55 105.443 567 6 0 -58.9711 -66.6352 -25.85 - 55 104.226 605 5 1 -58.9832 -66.659 -54.45 - 55 92.3849 566 5 0 -58.9839 -66.66 -55.85 - 55 130.456 605 4 1 -58.9989 -66.6779 -84.45 - 55 101.37 566 4 0 -58.9995 -66.6797 -85.85 - 55 142.921 605 3 1 -59.0094 -66.7156 -114.45 - 55 113.721 566 3 0 -59.0107 -66.7174 -115.85 - 55 227.619 605 2 1 -59.0379 -66.7533 -144.45 - 55 88.7142 566 2 0 -59.0402 -66.7537 -145.85 - 55 111.558 604 1 1 -59.0838 -66.7697 -174.45 - 55 114.277 566 1 0 -59.0858 -66.7704 -175.85 - 55 132.056 604 0 1 -59.1246 -66.786 -204.45 - 55 111.723 566 0 0 -59.1275 -66.7866 -205.85 - 55 138.987 604 2 1 -59.05 -66.7984 -144.659 - 55 96.3606 565 2 0 -59.1208 -66.998 -145.85 - 55 27.8352 564 2 0 -59.1431 -67.0501 -146.154 - 55 46.3694 593 1 1 -61.2781 -72.1967 -174.45 - 55 81.1471 594 1 1 -61.25 -72.2507 -174.597 - 55 62.2461 536 1 0 -60.9114 -72.7692 -175.85 - 55 115.966 535 1 0 -60.8613 -72.85 -176.031 - 55 198.787 528 1 0 -26.2813 -74.416 -176.25 - 55 168.783 776 1 1 -24.8123 -74.0751 -174.85 - 55 180.195 777 1 1 -24.65 -74.0257 -174.697 - 55 134.842 778 1 1 -24.4499 -73.9852 -174.551 - 55 236.377 779 1 1 -24.25 -73.9146 -174.487 - 55 137.435 527 1 0 -24.7576 -74.5808 -175.851 - 55 148.77 565 4 0 -58.6725 -66.9335 -85.85 -Number of digits in this event: 15 +Number of tracker hits in this event: 44 + 55 103.7 1468 10 1 113.927 5.05415 95.55 + 55 137.735 925 10 0 113.927 5.05338 94.15 + 55 100.503 1468 9 1 113.918 5.03643 65.55 + 55 97.8228 924 9 0 113.918 5.03476 64.15 + 55 162.158 1468 8 1 113.906 5.00083 35.55 + 55 104.338 924 8 0 113.905 4.99905 34.15 + 55 235.824 1468 7 1 113.889 4.96002 5.55 + 55 105.774 924 7 0 113.888 4.9579 4.15 + 55 210.563 1468 6 1 113.879 4.91492 -24.45 + 55 108.349 924 6 0 113.879 4.91263 -25.85 + 55 111.366 1468 5 1 113.875 4.85613 -54.45 + 55 150.075 924 5 0 113.875 4.85334 -55.85 + 55 134.363 1468 4 1 113.881 4.79489 -84.45 + 55 117.13 923 4 0 113.88 4.79233 -85.85 + 55 107.405 1468 3 1 113.869 4.73665 -114.45 + 55 117.282 923 3 0 113.869 4.73409 -115.85 + 55 211.105 1468 2 1 113.868 4.68257 -144.45 + 55 180.245 923 2 0 113.869 4.6809 -145.85 + 55 107.854 1468 1 1 113.892 4.64351 -174.45 + 55 97.7233 922 1 0 113.893 4.64229 -175.85 + 55 121.798 1468 0 1 113.912 4.61851 -204.45 + 55 100.774 922 0 0 113.912 4.6172 -205.85 + 55 107.909 1145 2 0 -46.0445 49.25 -145.927 + 55 23.0467 575 7 1 -65.0262 144.152 5.43132 + 55 173.782 548 0 0 145.194 -70.3779 -206.25 + 55 526.088 547 0 0 145.206 -70.45 -206.178 + 55 310.752 546 0 0 145.239 -70.65 -205.978 + 55 1272.12 1626 0 1 145.439 -71.792 -204.85 + 55 71.8418 417 1 0 152.67 -96.7185 -176.25 + 55 565.014 416 1 0 152.679 -96.75 -176.214 + 55 474.246 415 1 0 152.736 -96.95 -175.984 + 55 1149.29 1664 1 1 153.016 -97.9076 -174.85 + 55 241.379 291 2 0 157.219 -121.871 -146.25 + 55 628.212 290 2 0 157.233 -121.95 -146.155 + 55 189.418 289 2 0 157.267 -122.15 -145.918 + 55 1149.84 1686 2 1 157.434 -123.05 -144.85 + 55 147.328 156 3 0 161.197 -148.898 -116.25 + 55 656.464 155 3 0 161.205 -148.95 -116.193 + 55 428.781 154 3 0 161.234 -149.15 -115.97 + 55 1344.21 1706 3 1 161.385 -150.15 -114.85 + 55 609.659 21 4 0 165.104 -175.786 -86.25 + 55 678.217 20 4 0 165.128 -175.95 -86.0669 + 55 1408.36 1725 4 1 165.276 -177.017 -84.85 + 55 36.1663 1469 2 1 113.95 4.59592 -144.698 +Number of digits in this event: 31 Using G4ParticleGun... -Particle energy: 4.33117 LIN +Particle energy: 4.36317 LIN Particle: proton Event: 56 -Number of tracker hits in this event: 62 - 56 115.797 285 9 1 -123.062 53.369 65.55 - 56 105.65 1166 9 0 -123.063 53.3694 64.15 - 56 165.743 285 8 1 -123.074 53.3743 35.55 - 56 137.232 1166 8 0 -123.075 53.3748 34.15 - 56 137.758 285 7 1 -123.099 53.3854 5.55 - 56 256.578 1166 7 0 -123.095 53.3874 4.15 - 56 139.446 285 6 1 -123.015 53.4227 -24.45 - 56 146.206 1166 6 0 -123.012 53.4241 -25.85 - 56 126.687 286 5 1 -122.949 53.4587 -54.45 - 56 139.73 1167 5 0 -122.944 53.459 -55.85 - 56 87.192 286 4 1 -122.843 53.4665 -84.45 - 56 114.909 1167 4 0 -122.837 53.4664 -85.85 - 56 114.456 287 3 1 -122.718 53.4711 -114.45 - 56 247.902 1167 3 0 -122.712 53.4707 -115.85 - 56 114.788 287 2 1 -122.595 53.4624 -144.45 - 56 97.2002 1167 2 0 -122.589 53.4597 -145.85 - 56 234.885 288 1 1 -122.454 53.4079 -174.45 - 56 184.458 1166 1 0 -122.446 53.4067 -175.85 - 56 121.437 289 0 1 -122.292 53.3822 -204.45 - 56 117.768 1166 0 0 -122.283 53.3804 -205.85 - 56 73.9463 1331 0 0 -138.418 86.3677 -206.25 - 56 15.601 1332 0 0 -138.551 86.45 -206.225 - 56 151.349 288 3 1 -122.505 53.024 -114.85 - 56 164.492 281 6 1 -123.914 56.6754 -24.45 - 56 38.4376 1184 6 0 -123.591 57.0129 -25.8503 - 56 63.364 1185 6 0 -123.555 57.05 -26.0097 - 56 115.577 325 5 1 -115.125 63.9557 -54.45 - 56 105.482 1219 5 0 -115.015 63.9823 -55.85 - 56 111.788 333 4 1 -113.422 62.9783 -84.45 - 56 32.3474 1215 4 0 -113.195 63.227 -85.85 - 56 72.5528 1216 4 0 -113.174 63.25 -85.9828 - 56 62.2619 362 3 1 -107.666 65.9421 -114.45 - 56 61.4622 363 3 1 -107.55 65.926 -114.652 - 56 136.992 1229 3 0 -106.887 65.8951 -115.85 - 56 215.911 457 2 1 -88.4801 65.4813 -144.45 - 56 146.277 458 2 1 -88.45 65.528 -144.633 - 56 36.6311 1228 2 0 -88.2252 65.8122 -145.85 - 56 76.5897 1229 2 0 -88.1884 65.85 -146.001 - 56 83.5113 511 1 1 -77.6612 77.7869 -174.45 - 56 49.1956 510 1 1 -77.85 77.7064 -174.729 - 56 30.9089 1285 1 0 -78.5732 77.0953 -175.85 - 56 96.3221 1284 1 0 -78.6186 77.05 -175.917 - 56 56.6637 1283 1 0 -78.7134 76.85 -176.133 - 56 133.308 456 0 1 -88.6762 51.5373 -204.45 - 56 109.503 455 0 1 -88.85 51.5065 -204.534 - 56 66.1631 454 0 1 -89.05 51.352 -204.692 - 56 70.5288 1150 0 0 -90.2787 50.1945 -205.85 - 56 64.6414 1149 0 0 -90.4325 50.05 -205.933 - 56 45.7868 1148 0 0 -90.5637 49.85 -205.968 - 56 236.466 1147 0 0 -90.6712 49.65 -206.03 - 56 74.0405 1146 0 0 -90.7295 49.4499 -206.053 - 56 102.9 1145 0 0 -90.7317 49.25 -206.041 - 56 59.2378 1144 0 0 -90.7224 49.05 -206.035 - 56 140.213 1143 0 0 -90.8133 48.85 -206.047 - 56 68.1132 1142 0 0 -90.9822 48.6499 -206.012 - 56 39.7094 448 0 1 -90.4307 47.6558 -204.85 - 56 63.1866 449 0 1 -90.35 47.5495 -204.768 - 56 66.938 450 0 1 -90.05 47.4872 -204.674 - 56 141.838 451 0 1 -89.8499 47.6036 -204.685 - 56 70.6541 1023 0 0 -103.604 24.8038 -206.25 - 56 211.089 1022 0 0 -103.737 24.65 -206.066 - 56 355.734 1021 0 0 -103.887 24.45 -205.871 -Number of digits in this event: 24 -Using G4ParticleGun... -Particle energy: 1.06051 LIN +Number of tracker hits in this event: 20 + 56 104.255 252 9 1 -129.657 -25.2983 65.55 + 56 135.021 773 9 0 -129.656 -25.2991 64.15 + 56 100.237 252 8 1 -129.639 -25.3155 35.55 + 56 109.63 773 8 0 -129.638 -25.3175 34.15 + 56 139.272 252 7 1 -129.61 -25.3496 5.55 + 56 119.656 773 7 0 -129.608 -25.3523 4.15 + 56 143.585 252 6 1 -129.555 -25.4117 -24.45 + 56 100.31 773 6 0 -129.552 -25.4143 -25.85 + 56 115.382 253 5 1 -129.488 -25.4638 -54.45 + 56 150.607 772 5 0 -129.486 -25.4672 -55.85 + 56 124.654 253 4 1 -129.436 -25.5442 -84.45 + 56 118.302 772 4 0 -129.435 -25.5494 -85.85 + 56 127.965 253 3 1 -129.414 -25.6542 -114.45 + 56 108.283 771 3 0 -129.412 -25.6594 -115.85 + 56 360.083 253 2 1 -129.388 -25.7707 -144.45 + 56 95.1937 771 2 0 -129.385 -25.7759 -145.85 + 56 112.38 254 1 1 -129.315 -25.8872 -174.45 + 56 126.387 770 1 0 -129.313 -25.8933 -175.85 + 56 243.801 254 0 1 -129.28 -26.0186 -204.45 + 56 87.3931 770 0 0 -129.276 -26.0239 -205.85 +Number of digits in this event: 10 +Using G4ParticleGun... +Particle energy: 1.70307 LIN Particle: proton Event: 57 -Number of tracker hits in this event: 20 - 57 117.586 611 9 1 -57.6943 121.555 65.55 - 57 127.27 1507 9 0 -57.6947 121.556 64.15 - 57 141.281 611 8 1 -57.716 121.557 35.55 - 57 209.801 1507 8 0 -57.7181 121.553 34.15 - 57 137.63 611 7 1 -57.7567 121.448 5.55 - 57 139.859 1506 7 0 -57.7511 121.446 4.15 - 57 243.884 612 6 1 -57.6438 121.417 -24.45 - 57 127.845 1506 6 0 -57.6335 121.419 -25.85 - 57 129.793 613 5 1 -57.437 121.455 -54.45 - 57 126.246 1506 5 0 -57.4295 121.461 -55.85 - 57 150.712 613 4 1 -57.2835 121.626 -84.45 - 57 172.358 1507 4 0 -57.27 121.627 -85.85 - 57 156.067 615 3 1 -57.0031 121.643 -114.45 - 57 145.772 1507 3 0 -56.9901 121.648 -115.85 - 57 139.561 616 2 1 -56.7354 121.737 -144.45 - 57 112.61 1507 2 0 -56.7224 121.746 -145.85 - 57 100.892 617 1 1 -56.4537 121.949 -174.45 - 57 113.77 1509 1 0 -56.4417 121.954 -175.85 - 57 125.446 619 0 1 -56.1733 121.996 -204.45 - 57 123.442 1509 0 0 -56.1585 122 -205.85 -Number of digits in this event: 17 +Number of tracker hits in this event: 23 + 57 28.2027 1173 10 1 54.6501 92.4515 95.55 + 57 89.439 1172 10 1 54.65 92.4514 95.4256 + 57 115.753 1361 10 0 54.6486 92.4502 94.15 + 57 145.069 1172 9 1 54.618 92.4214 65.55 + 57 152.976 1361 9 0 54.6137 92.4189 64.15 + 57 107.299 1172 8 1 54.5172 92.3766 35.55 + 57 122.112 1361 8 0 54.5117 92.3731 34.15 + 57 140.816 1171 7 1 54.4088 92.2945 5.55 + 57 143.041 1360 7 0 54.4027 92.2913 4.15 + 57 149.704 1171 6 1 54.2919 92.2349 -24.45 + 57 103.635 1360 6 0 54.2859 92.2278 -25.85 + 57 115.042 1170 5 1 54.1611 92.0826 -54.45 + 57 104.449 1359 5 0 54.1538 92.0743 -55.85 + 57 98.3326 1169 4 1 53.9878 91.8916 -84.45 + 57 183.238 1358 4 0 53.9803 91.8827 -85.85 + 57 120.814 1168 3 1 53.8412 91.7078 -114.45 + 57 99.4737 1357 3 0 53.8354 91.6984 -115.85 + 57 147.571 1168 2 1 53.7078 91.4957 -144.45 + 57 214.1 1356 2 0 53.697 91.4885 -145.85 + 57 103.966 1167 1 1 53.4662 91.3407 -174.45 + 57 158.213 1355 1 0 53.4559 91.3346 -175.85 + 57 106.825 1165 0 1 53.246 91.2145 -204.45 + 57 171.636 1355 0 0 53.2373 91.2121 -205.85 +Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 3.43897 LIN +Particle energy: 2.47587 LIN Particle: proton Event: 58 -Number of tracker hits in this event: 35 - 58 215.201 681 10 1 -43.6831 80.3106 95.55 - 58 101.863 1301 10 0 -43.6823 80.3106 94.15 - 58 197.376 681 9 1 -43.6656 80.3004 65.55 - 58 164.825 1301 9 0 -43.6646 80.3011 64.15 - 58 171.565 682 8 1 -43.6401 80.3083 35.55 - 58 212.062 1301 8 0 -43.6402 80.3094 34.15 - 58 111.16 682 7 1 -43.6408 80.34 5.55 - 58 127.602 1301 7 0 -43.64 80.3426 4.15 - 58 134.721 682 6 1 -43.632 80.3963 -24.45 - 58 135.439 1301 6 0 -43.6306 80.4016 -25.85 - 58 105.548 682 5 1 -43.6033 80.5189 -54.45 - 58 137.297 1302 5 0 -43.6039 80.5228 -55.85 - 58 113.983 682 4 1 -43.6167 80.6088 -84.45 - 58 111.007 1302 4 0 -43.6163 80.6138 -85.85 - 58 162.847 682 3 1 -43.6107 80.7104 -114.45 - 58 125.451 1303 3 0 -43.6108 80.7154 -115.85 - 58 121.299 682 2 1 -43.6151 80.8149 -144.45 - 58 107.362 1303 2 0 -43.6155 80.8175 -145.85 - 58 101.796 682 1 1 -43.6314 80.8676 -174.45 - 58 143.325 1304 1 0 -43.6252 80.8661 -175.85 - 58 143.605 682 0 1 -43.4945 80.8377 -204.45 - 58 137.463 1303 0 0 -43.4864 80.8385 -205.85 - 58 163.874 574 13 1 -65.05 -17.5292 185.326 - 58 68.7458 1004 3 0 -170.362 20.9093 -116.188 - 58 77.758 1022 0 1 24.45 14.8937 -204.717 - 58 6.65608 1099 0 1 39.85 32.6808 -204.499 - 58 50.29 692 5 1 -41.5313 65.1358 -54.5124 - 58 39.5704 848 2 1 -10.3184 2.51376 -144.45 - 58 92.7648 847 2 1 -10.45 2.57675 -144.505 - 58 61.7645 846 2 1 -10.6506 2.72524 -144.571 - 58 72.3653 845 2 1 -10.85 2.78007 -144.515 - 58 130.736 844 2 1 -11.05 2.67397 -144.477 - 58 134.388 843 2 1 -11.25 2.29579 -144.518 - 58 177.856 842 2 1 -11.45 2.11579 -144.572 - 58 165.804 911 2 0 -12.2367 2.32532 -145.85 -Number of digits in this event: 24 -Using G4ParticleGun... -Particle energy: 7.59154 LIN +Number of tracker hits in this event: 23 + 58 118.304 894 9 1 -1.23231 -127.688 65.55 + 58 87.0462 262 9 0 -1.22655 -127.69 64.15 + 58 100.123 894 8 1 -1.1082 -127.727 35.55 + 58 120.396 262 8 0 -1.10369 -127.727 34.15 + 58 124.844 895 7 1 -1.01233 -127.733 5.55 + 58 139.215 262 7 0 -1.00756 -127.735 4.15 + 58 204.656 895 6 1 -0.914112 -127.758 -24.45 + 58 162.299 261 6 0 -0.908341 -127.758 -25.85 + 58 111.577 896 5 1 -0.785063 -127.758 -54.45 + 58 106.265 261 5 0 -0.779095 -127.759 -55.85 + 58 94.1136 896 4 1 -0.677688 -127.774 -84.45 + 58 83.9912 261 4 0 -0.673037 -127.773 -85.85 + 58 132.77 897 3 1 -0.572833 -127.759 -114.45 + 58 96.168 261 3 0 -0.56965 -127.758 -115.85 + 58 126.03 897 2 1 -0.508085 -127.744 -144.45 + 58 113.718 262 2 0 -0.503814 -127.743 -145.85 + 58 148.695 898 1 1 -0.424191 -127.747 -174.45 + 58 131.7 262 1 0 -0.422911 -127.746 -175.85 + 58 186.023 898 0 1 -0.398233 -127.713 -204.45 + 58 440.014 262 0 0 -0.400131 -127.713 -205.85 + 58 26.459 263 0 0 -0.319406 -127.549 -206.17 + 58 121.458 261 0 0 -0.324901 -127.75 -206.035 + 58 158.826 894 6 1 -1.05 -127.813 -24.5905 +Number of digits in this event: 14 +Using G4ParticleGun... +Particle energy: 7.20048 LIN Particle: proton Event: 59 -Number of tracker hits in this event: 22 - 59 95.655 371 10 1 -105.867 -39.9161 95.55 - 59 121.905 700 10 0 -105.868 -39.9154 94.15 - 59 105.379 371 9 1 -105.884 -39.9025 65.55 - 59 103.485 700 9 0 -105.885 -39.9021 64.15 - 59 117.61 371 8 1 -105.898 -39.8915 35.55 - 59 107.25 700 8 0 -105.897 -39.8918 34.15 - 59 181.365 371 7 1 -105.891 -39.8979 5.55 - 59 108.359 700 7 0 -105.891 -39.8981 4.15 - 59 120.217 371 6 1 -105.884 -39.9009 -24.45 - 59 150.653 700 6 0 -105.884 -39.9012 -25.85 - 59 118.537 371 5 1 -105.884 -39.9179 -54.45 - 59 128.737 700 5 0 -105.884 -39.9196 -55.85 - 59 118.622 371 4 1 -105.894 -39.9511 -84.45 - 59 179.796 700 4 0 -105.893 -39.9532 -85.85 - 59 114.687 371 3 1 -105.89 -39.9963 -114.45 - 59 148.751 700 3 0 -105.889 -39.9984 -115.85 - 59 124.827 371 2 1 -105.874 -40.0418 -144.45 - 59 122.347 700 2 0 -105.873 -40.0442 -145.85 - 59 147.862 371 1 1 -105.851 -40.0909 -174.45 - 59 206.4 699 1 0 -105.852 -40.0925 -175.85 - 59 107.031 371 0 1 -105.854 -40.1245 -204.45 - 59 116.153 699 0 0 -105.853 -40.1262 -205.85 -Number of digits in this event: 12 +Number of tracker hits in this event: 31 + 59 206.201 1209 9 1 61.8825 -101.398 65.55 + 59 122.293 393 9 0 61.8825 -101.399 64.15 + 59 446.442 1209 8 1 61.8827 -101.404 35.55 + 59 193.547 393 8 0 61.8828 -101.405 34.15 + 59 111.989 1209 7 1 61.8838 -101.416 5.55 + 59 115.12 393 7 0 61.8831 -101.416 4.15 + 59 491.521 1209 6 1 61.8702 -101.415 -24.45 + 59 92.9558 393 6 0 61.8683 -101.414 -25.85 + 59 158.642 1208 5 1 61.8238 -101.395 -54.45 + 59 138.341 393 5 0 61.8212 -101.395 -55.85 + 59 138.045 1208 4 1 61.7683 -101.382 -84.45 + 59 128.44 393 4 0 61.7664 -101.383 -85.85 + 59 164.502 1208 3 1 61.7308 -101.381 -114.45 + 59 119.974 393 3 0 61.7288 -101.381 -115.85 + 59 111.775 1208 2 1 61.6877 -101.391 -144.45 + 59 136.318 393 2 0 61.6825 -101.391 -145.85 + 59 96.2906 1207 1 1 61.5661 -101.398 -174.45 + 59 111.335 393 1 0 61.5607 -101.398 -175.85 + 59 127.159 1206 0 1 61.4464 -101.409 -204.45 + 59 169.064 393 0 0 61.4409 -101.41 -205.85 + 59 16.5918 683 0 0 137.711 -43.45 -206.194 + 59 321.819 1229 12 1 65.85 46.3476 155.278 + 59 353.097 1228 12 1 65.8499 47.1824 155.264 + 59 58.9907 1011 3 1 22.45 12.7026 -114.649 + 59 70.7339 1290 9 0 -57.1306 78.121 63.75 + 59 168.457 1291 9 0 -57.1183 78.25 63.8597 + 59 16.8796 287 1 0 -31.4225 -122.661 -175.863 + 59 30.7391 1210 6 1 62.05 -101.475 -24.7008 + 59 35.494 289 7 0 32.5502 -122.261 3.75 + 59 374.368 288 7 0 32.6101 -122.35 3.8178 + 59 122.654 287 7 0 32.7191 -122.55 3.89111 +Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 1.67588 LIN +Particle energy: 2.25832 LIN Particle: proton Event: 60 -Number of tracker hits in this event: 35 - 60 143.141 1102 11 1 40.5163 59.0656 125.55 - 60 150.098 1195 11 0 40.5163 59.061 124.15 - 60 148.168 1102 10 1 40.5185 58.9613 95.55 - 60 98.3845 1194 10 0 40.5173 58.9556 94.15 - 60 112.116 1102 9 1 40.4913 58.8401 65.55 - 60 179.818 1193 9 0 40.4886 58.8405 64.15 - 60 118.07 1101 8 1 40.4381 58.8403 35.55 - 60 48.5092 1193 8 0 40.4512 58.8489 34.15 - 60 62.8102 1194 8 0 40.4532 58.85 33.9506 - 60 195.872 1103 7 1 40.7186 59.0015 5.55 - 60 105.354 1194 7 0 40.7296 59.0117 4.15 - 60 255.788 1104 6 1 40.9509 59.2232 -24.45 - 60 225.259 1195 6 0 40.9613 59.2336 -25.85 - 60 121.874 1105 5 1 41.1845 59.4321 -54.45 - 60 21.4079 1196 5 0 41.1991 59.4489 -55.85 - 60 91.0481 1197 5 0 41.2 59.45 -55.9412 - 60 104.71 1107 4 1 41.4967 59.8035 -84.45 - 60 102.379 1198 4 0 41.5099 59.8199 -85.85 - 60 104.865 1108 3 1 41.7691 60.1532 -114.45 - 60 115.242 1200 3 0 41.7837 60.1709 -115.85 - 60 114.948 1110 2 1 42.0803 60.5379 -144.45 - 60 134.368 1202 2 0 42.0925 60.5567 -145.85 - 60 153.837 1111 1 1 42.326 60.9325 -174.45 - 60 195.37 1204 1 0 42.339 60.9515 -175.85 - 60 130.241 1112 0 1 42.6131 61.3332 -204.45 - 60 94.2184 1206 0 0 42.6241 61.3519 -205.85 - 60 101.476 1045 5 1 29.1465 60.6939 -54.4501 - 60 12.7417 1202 5 0 29.0051 60.4649 -55.85 - 60 166.673 1201 5 0 29.0004 60.45 -55.9069 - 60 45.439 1209 5 0 63.7576 61.9305 -56.25 - 60 143.078 1208 5 0 63.8368 61.85 -56.1271 - 60 114.571 1207 5 0 64.0084 61.6498 -55.9787 - 60 75.524 1221 5 1 64.2551 61.5186 -54.8496 - 60 59.898 1220 5 1 64.25 61.4872 -54.7226 - 60 307.624 1103 6 1 40.85 59.1771 -24.53 -Number of digits in this event: 16 +Number of tracker hits in this event: 18 + 60 138.081 1048 8 1 29.8252 133.638 35.55 + 60 140.75 1567 8 0 29.8238 133.637 34.15 + 60 149.684 1048 7 1 29.8037 133.6 5.55 + 60 170.543 1567 7 0 29.8089 133.593 4.15 + 60 106.049 1049 6 1 29.9172 133.413 -24.45 + 60 96.1443 1566 6 0 29.9232 133.406 -25.85 + 60 155.9 1049 5 1 30.0353 133.291 -54.45 + 60 125.886 1565 5 0 30.0414 133.284 -55.85 + 60 129.633 1050 4 1 30.1535 133.146 -84.45 + 60 106.513 1564 4 0 30.1595 133.14 -85.85 + 60 106.997 1051 3 1 30.2912 133.027 -114.45 + 60 100.67 1564 3 0 30.2996 133.022 -115.85 + 60 102.531 1052 2 1 30.4687 132.923 -144.45 + 60 116.178 1563 2 0 30.4744 132.916 -145.85 + 60 113.339 1052 1 1 30.5951 132.783 -174.45 + 60 105.629 1563 1 0 30.6029 132.777 -175.85 + 60 111.251 1053 0 1 30.7594 132.652 -204.45 + 60 153.777 1562 0 0 30.7629 132.641 -205.85 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 7.94141 LIN +Particle energy: 1.97399 LIN Particle: proton Event: 61 -Number of tracker hits in this event: 25 - 61 145.623 595 11 1 -60.9533 25.4608 125.55 - 61 119.223 1027 11 0 -60.9534 25.4621 124.15 - 61 189.026 595 10 1 -60.9539 25.4904 95.55 - 61 146.569 1027 10 0 -60.9552 25.4922 94.15 - 61 130.635 595 9 1 -60.9803 25.526 65.55 - 61 125.905 1027 9 0 -60.9812 25.5266 64.15 - 61 118.885 595 8 1 -60.9988 25.5383 35.55 - 61 106.092 1027 8 0 -60.9987 25.5392 34.15 - 61 118.448 595 7 1 -61.0011 25.5548 5.55 - 61 101.365 1027 7 0 -61.0003 25.5551 4.15 - 61 234.955 595 6 1 -60.9797 25.558 -24.45 - 61 90.262 1027 6 0 -60.9787 25.5578 -25.85 - 61 147.616 595 5 1 -60.9542 25.555 -54.45 - 61 123.638 1027 5 0 -60.9535 25.5536 -55.85 - 61 113.388 595 4 1 -60.9394 25.5256 -84.45 - 61 109.614 1027 4 0 -60.9389 25.524 -85.85 - 61 135.587 595 3 1 -60.9296 25.4898 -114.45 - 61 116.784 1027 3 0 -60.9294 25.4885 -115.85 - 61 106.264 595 2 1 -60.9236 25.4605 -144.45 - 61 149.345 1027 2 0 -60.9246 25.4591 -145.85 - 61 124.896 595 1 1 -60.9418 25.4297 -174.45 - 61 111.334 1026 1 0 -60.9425 25.4281 -175.85 - 61 124.342 595 0 1 -60.9553 25.3987 -204.45 - 61 100.841 1026 0 0 -60.9569 25.3971 -205.85 - 61 103.021 594 10 1 -61.05 25.4896 95.46 -Number of digits in this event: 13 +Number of tracker hits in this event: 37 + 61 147.711 1073 11 1 34.7651 73.3847 125.55 + 61 100.641 1266 11 0 34.7625 73.3858 124.15 + 61 103.357 1073 10 1 34.6976 73.3922 95.55 + 61 100.209 1266 10 0 34.6959 73.3943 94.15 + 61 95.4777 1073 9 1 34.667 73.4241 65.55 + 61 206.997 1266 9 0 34.6637 73.4275 64.15 + 61 154.808 1072 8 1 34.5967 73.4988 35.55 + 61 94.3576 1267 8 0 34.5949 73.5036 34.15 + 61 121.174 1072 7 1 34.5483 73.6026 5.55 + 61 138.799 1267 7 0 34.547 73.607 4.15 + 61 101.244 1072 6 1 34.5119 73.7047 -24.45 + 61 159.445 1268 6 0 34.5134 73.7096 -25.85 + 61 104.707 1072 5 1 34.5438 73.8071 -54.45 + 61 94.7583 1268 5 0 34.5431 73.812 -55.85 + 61 222.918 1072 4 1 34.5277 73.9206 -84.45 + 61 167.945 1269 4 0 34.5256 73.9248 -85.85 + 61 102.391 1072 3 1 34.4842 74.0163 -114.45 + 61 120.576 1269 3 0 34.4796 74.0227 -115.85 + 61 139.146 1071 2 1 34.3853 74.1503 -144.45 + 61 161.284 1270 2 0 34.3822 74.152 -145.85 + 61 126.248 1071 1 1 34.3323 74.1827 -174.45 + 61 168.123 1270 1 0 34.3317 74.1816 -175.85 + 61 207.153 1071 0 1 34.3203 74.1491 -204.45 + 61 112.652 1270 0 0 34.3147 74.1428 -205.85 + 61 6.99987 1384 0 0 -11.0498 96.95 -206.151 + 61 68.7642 844 0 1 -11.1196 97.352 -204.85 + 61 110.597 845 0 1 -11.0498 97.3042 -204.691 + 61 310.199 846 0 1 -10.8499 97.2984 -204.533 + 61 262.845 1432 8 0 -56.7427 106.607 33.75 + 61 77.2489 1433 8 0 -57.646 106.75 33.8989 + 61 134.354 1434 8 0 -57.8767 106.95 33.9261 + 61 101.228 606 8 1 -58.7405 106.862 35.15 + 61 82.2566 607 8 1 -58.65 106.856 35.3533 + 61 269.602 608 8 1 -58.45 106.872 35.3859 + 61 68.3171 1295 8 0 73.0532 79.204 33.75 + 61 151.939 1296 8 0 73.2692 79.25 33.7775 + 61 368.365 1273 8 1 74.7607 79.1967 35.15 +Number of digits in this event: 23 Using G4ParticleGun... -Particle energy: 3.92356 LIN +Particle energy: 4.95455 LIN Particle: proton Event: 62 -Number of tracker hits in this event: 27 - 62 145.799 1133 11 1 46.6965 6.95246 125.55 - 62 155.453 934 11 0 46.6991 6.954 124.15 - 62 104.297 1133 10 1 46.7566 6.99641 95.55 - 62 102.429 934 10 0 46.7594 6.99786 94.15 - 62 148.235 1133 9 1 46.81 7.01861 65.55 - 62 145.452 934 9 0 46.8126 7.01815 64.15 - 62 101.357 1134 8 1 46.8598 7.00459 35.55 - 62 137.903 934 8 0 46.865 7.00194 34.15 - 62 103.507 1134 7 1 46.9751 6.94205 5.55 - 62 89.5579 934 7 0 46.981 6.93832 4.15 - 62 123.319 1135 6 1 47.1009 6.85795 -24.45 - 62 105.752 934 6 0 47.107 6.85573 -25.85 - 62 116.358 1135 5 1 47.2288 6.81337 -54.45 - 62 120.73 933 5 0 47.2358 6.81281 -55.85 - 62 112.178 1136 4 1 47.3806 6.79712 -84.45 - 62 104.276 933 4 0 47.3862 6.79266 -85.85 - 62 297.355 1137 3 1 47.5044 6.70204 -114.45 - 62 138.051 933 3 0 47.5091 6.69906 -115.85 - 62 351.192 1137 2 1 47.6031 6.64083 -144.45 - 62 108.705 932 2 0 47.6071 6.6383 -145.85 - 62 110.847 1138 1 1 47.6928 6.60405 -174.45 - 62 99.9758 932 1 0 47.6973 6.60159 -175.85 - 62 196.586 1138 0 1 47.7886 6.55047 -204.45 - 62 125.779 932 0 0 47.7907 6.54911 -205.85 - 62 37.088 934 5 0 47.2174 6.85 -55.8802 - 62 337.526 1130 5 1 46.0964 8.23727 -54.85 - 62 1.49785 1129 5 1 46.05 8.36211 -54.7711 -Number of digits in this event: 14 +Number of tracker hits in this event: 18 + 62 106.435 675 8 1 -44.8568 -130.162 35.55 + 62 133.42 249 8 0 -44.857 -130.163 34.15 + 62 105.349 675 7 1 -44.8623 -130.196 5.55 + 62 182.492 249 7 0 -44.864 -130.198 4.15 + 62 153.265 675 6 1 -44.8968 -130.232 -24.45 + 62 109.816 249 6 0 -44.8975 -130.233 -25.85 + 62 101.234 675 5 1 -44.9093 -130.25 -54.45 + 62 124.285 249 5 0 -44.9106 -130.251 -55.85 + 62 172.523 675 4 1 -44.9401 -130.27 -84.45 + 62 104.588 249 4 0 -44.9404 -130.271 -85.85 + 62 181.664 675 3 1 -44.9417 -130.282 -114.45 + 62 126.29 249 3 0 -44.9399 -130.281 -115.85 + 62 165.569 675 2 1 -44.9032 -130.27 -144.45 + 62 97.7106 249 2 0 -44.9016 -130.269 -145.85 + 62 231.066 675 1 1 -44.8673 -130.251 -174.45 + 62 108.23 249 1 0 -44.8659 -130.25 -175.85 + 62 100.972 676 0 1 -44.8295 -130.217 -204.45 + 62 171.197 249 0 0 -44.8274 -130.218 -205.85 +Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 4.7641 LIN +Particle energy: 8.48057 LIN Particle: proton Event: 63 -Number of tracker hits in this event: 36 - 63 167.272 427 10 1 -94.6796 29.8952 95.55 - 63 83.1889 1049 10 0 -94.68 29.8964 94.15 - 63 174.391 427 9 1 -94.6847 29.9237 65.55 - 63 126.964 1049 9 0 -94.6847 29.923 64.15 - 63 105.002 427 8 1 -94.6889 29.9092 35.55 - 63 118.406 1049 8 0 -94.6893 29.9097 34.15 - 63 131.669 427 7 1 -94.6933 29.9118 5.55 - 63 302.716 1049 7 0 -94.6931 29.9119 4.15 - 63 344.731 427 6 1 -94.6865 29.9155 -24.45 - 63 118.084 1049 6 0 -94.688 29.9153 -25.85 - 63 108.5 427 5 1 -94.7194 29.915 -54.45 - 63 156.389 1049 5 0 -94.7213 29.9163 -55.85 - 63 115.303 426 4 1 -94.7611 29.9439 -84.45 - 63 113.063 1049 4 0 -94.7635 29.9434 -85.85 - 63 115.34 426 3 1 -94.812 29.9337 -114.45 - 63 190.349 1049 3 0 -94.816 29.9338 -115.85 - 63 89.0453 426 2 1 -94.9019 29.9344 -144.45 - 63 169.461 1049 2 0 -94.9058 29.9344 -145.85 - 63 156.825 425 1 1 -94.9916 29.9273 -174.45 - 63 279.563 1049 1 0 -94.9955 29.9271 -175.85 - 63 113.539 425 0 1 -95.0738 29.9228 -204.45 - 63 154.344 1049 0 0 -95.0784 29.9234 -205.85 - 63 3.02006 282 1 1 -123.553 -174.361 -174.85 - 63 41.159 1663 4 0 -92.1857 152.77 -86.25 - 63 272.928 1664 4 0 -92.0914 152.95 -85.9705 - 63 263.489 1013 1 0 -161.473 22.7872 -176.25 - 63 92.4728 1014 1 0 -161.652 22.85 -175.914 - 63 4.31997 1534 0 0 -70.3284 126.995 -206.25 - 63 62.7641 1535 0 0 -70.0749 127.15 -205.963 - 63 227.891 549 0 1 -70.1404 126.997 -204.85 - 63 368.42 428 6 1 -94.55 30.3695 -24.6103 - 63 92.1788 426 7 1 -94.7502 29.9617 5.41934 - 63 60.9701 1054 7 0 -96.1323 30.928 4.14947 - 63 466.269 1055 7 0 -96.2183 31.05 4.06984 - 63 150.649 1056 7 0 -96.0859 31.25 4.02417 - 63 135.23 423 7 1 -95.4905 31.3906 5.15 -Number of digits in this event: 22 +Number of tracker hits in this event: 40 + 63 125.949 1212 11 1 62.5115 -48.0982 125.55 + 63 134.976 659 11 0 62.5112 -48.0968 124.15 + 63 105.947 1212 10 1 62.5077 -48.0632 95.55 + 63 157.646 659 10 0 62.5077 -48.0611 94.15 + 63 97.2303 1212 9 1 62.5041 -48.0198 65.55 + 63 93.2249 660 9 0 62.5037 -48.0177 64.15 + 63 136.176 1212 8 1 62.4966 -47.974 35.55 + 63 111.22 660 8 0 62.4958 -47.9734 34.15 + 63 350.089 1212 7 1 62.4813 -47.9584 5.55 + 63 153.4 660 7 0 62.4804 -47.9577 4.15 + 63 185.475 1212 6 1 62.461 -47.9451 -24.45 + 63 148.013 660 6 0 62.4585 -47.9452 -25.85 + 63 116.888 1211 5 1 62.4111 -47.945 -54.45 + 63 156.907 660 5 0 62.4077 -47.9456 -55.85 + 63 103.536 1211 4 1 62.3419 -47.9547 -84.45 + 63 109.732 660 4 0 62.3385 -47.9544 -85.85 + 63 140.469 1211 3 1 62.2672 -47.9447 -114.45 + 63 115.724 660 3 0 62.2636 -47.9443 -115.85 + 63 124.222 1210 2 1 62.188 -47.9419 -144.45 + 63 103.551 660 2 0 62.1846 -47.9413 -145.85 + 63 147.511 1210 1 1 62.1113 -47.9297 -174.45 + 63 115.792 660 1 0 62.1076 -47.9294 -175.85 + 63 112.813 1209 0 1 62.0314 -47.9244 -204.45 + 63 117.045 660 0 0 62.0288 -47.9239 -205.85 + 63 136.679 825 1 0 122.212 -14.9289 -176.25 + 63 352.406 824 1 0 122.207 -15.05 -176.14 + 63 17.936 313 7 0 28.7273 -117.524 3.88399 + 63 45.8566 173 2 0 84.1525 -145.465 -146.25 + 63 119.036 172 2 0 84.1998 -145.55 -146.139 + 63 24.3902 171 2 0 84.2967 -145.75 -145.912 + 63 12.1102 1322 2 1 84.6379 -146.84 -144.85 + 63 111.552 1323 2 1 84.6501 -146.874 -144.815 + 63 31.096 1324 2 1 84.9759 -147.254 -144.45 + 63 186.139 1325 2 1 85.0501 -147.295 -144.531 + 63 24.3701 1326 2 1 85.25 -147.424 -144.779 + 63 140.589 166 2 0 86.1624 -146.916 -145.85 + 63 20.8038 167 2 0 86.1873 -146.75 -146.198 + 63 96.4032 852 5 0 85.2029 -9.60906 -56.2497 + 63 106.039 851 5 0 85.3627 -9.65022 -56.131 + 63 285.418 1213 7 1 62.65 -47.9811 5.47541 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 5.26208 LIN +Particle energy: 6.87941 LIN Particle: proton Event: 64 Number of tracker hits in this event: 20 - 64 225.181 596 9 1 -60.7839 -101.163 65.55 - 64 118.436 394 9 0 -60.7839 -101.163 64.15 - 64 114.125 596 8 1 -60.7902 -101.154 35.55 - 64 105.895 394 8 0 -60.7907 -101.154 34.15 - 64 85.3517 596 7 1 -60.7998 -101.141 5.55 - 64 158.195 395 7 0 -60.8001 -101.141 4.15 - 64 134.332 596 6 1 -60.8004 -101.13 -24.45 - 64 104.563 395 6 0 -60.801 -101.129 -25.85 - 64 95.791 596 5 1 -60.8041 -101.118 -54.45 - 64 182.797 395 5 0 -60.8042 -101.117 -55.85 - 64 129.337 596 4 1 -60.8025 -101.088 -84.45 - 64 139.627 395 4 0 -60.8018 -101.086 -85.85 - 64 112.414 596 3 1 -60.7873 -101.046 -114.45 - 64 157.897 395 3 0 -60.7863 -101.044 -115.85 - 64 115.673 596 2 1 -60.7649 -101.015 -144.45 - 64 106.009 395 2 0 -60.7656 -101.013 -145.85 - 64 141.094 596 1 1 -60.7775 -100.971 -174.45 - 64 110.578 395 1 0 -60.7778 -100.968 -175.85 - 64 82.165 596 0 1 -60.7865 -100.913 -204.45 - 64 134.492 396 0 0 -60.7869 -100.909 -205.85 + 64 384.677 835 8 1 -13.0488 -142.521 35.55 + 64 127.292 188 8 0 -13.048 -142.521 34.15 + 64 129.236 835 7 1 -13.0278 -142.526 5.55 + 64 125.744 188 7 0 -13.0276 -142.526 4.15 + 64 114.924 835 6 1 -13.024 -142.537 -24.45 + 64 107.128 188 6 0 -13.0238 -142.537 -25.85 + 64 233.837 835 5 1 -13.0164 -142.541 -54.45 + 64 112.674 188 5 0 -13.0172 -142.541 -55.85 + 64 106.953 835 4 1 -13.0347 -142.542 -84.45 + 64 115.619 188 4 0 -13.0345 -142.541 -85.85 + 64 122.513 835 3 1 -13.0306 -142.533 -114.45 + 64 98.7119 188 3 0 -13.0299 -142.533 -115.85 + 64 226.08 835 2 1 -13.0154 -142.536 -144.45 + 64 112.815 188 2 0 -13.0146 -142.535 -145.85 + 64 112.923 835 1 1 -12.9966 -142.528 -174.45 + 64 111.818 188 1 0 -12.9963 -142.527 -175.85 + 64 91.0812 835 0 1 -12.991 -142.499 -204.45 + 64 197.358 188 0 0 -12.9917 -142.498 -205.85 + 64 139.4 187 5 0 -13.3033 -142.698 -55.85 + 64 3.03837 834 8 1 -13.0501 -142.527 35.3555 Number of digits in this event: 10 Using G4ParticleGun... -Particle energy: 7.73856 LIN +Particle energy: 8.97774 LIN Particle: proton Event: 65 -Number of tracker hits in this event: 20 - 65 113.621 343 9 1 -111.512 71.2352 65.55 - 65 122.373 1255 9 0 -111.512 71.2362 64.15 - 65 153.484 343 8 1 -111.512 71.2577 35.55 - 65 166.388 1256 8 0 -111.511 71.2597 34.15 - 65 147.477 343 7 1 -111.509 71.3017 5.55 - 65 161.986 1256 7 0 -111.509 71.3035 4.15 - 65 99.4072 343 6 1 -111.499 71.3393 -24.45 - 65 131.103 1256 6 0 -111.499 71.3405 -25.85 - 65 93.5292 343 5 1 -111.492 71.3646 -54.45 - 65 103.707 1256 5 0 -111.492 71.3654 -55.85 - 65 152.771 343 4 1 -111.485 71.3829 -84.45 - 65 102.071 1256 4 0 -111.485 71.3845 -85.85 - 65 101.409 343 3 1 -111.486 71.4172 -114.45 - 65 137.688 1256 3 0 -111.485 71.4184 -115.85 - 65 125.221 343 2 1 -111.478 71.4419 -144.45 - 65 126.991 1256 2 0 -111.478 71.4431 -145.85 - 65 113.396 343 1 1 -111.475 71.4662 -174.45 - 65 134.943 1257 1 0 -111.476 71.4697 -175.85 - 65 110.803 343 0 1 -111.484 71.5382 -204.45 - 65 131.472 1257 0 0 -111.485 71.5414 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 40 + 65 167.856 768 10 1 -26.3889 95.7916 95.55 + 65 215.076 1378 10 0 -26.3899 95.7915 94.15 + 65 127.902 768 9 1 -26.4151 95.7906 65.55 + 65 140.089 1378 9 0 -26.4173 95.79 64.15 + 65 102.683 767 8 1 -26.4637 95.7761 35.55 + 65 632.943 1378 8 0 -26.4658 95.7752 34.15 + 65 156.687 768 7 1 -26.3315 96.1893 5.55 + 65 115.509 1380 7 0 -26.3249 96.2099 4.15 + 65 130.552 769 6 1 -26.189 96.6333 -24.45 + 65 118.316 1382 6 0 -26.1823 96.6537 -25.85 + 65 111.996 770 5 1 -26.0417 97.0701 -54.45 + 65 100.424 1384 5 0 -26.0349 97.0902 -55.85 + 65 154 770 4 1 -25.8931 97.4981 -84.45 + 65 134.357 1386 4 0 -25.8861 97.5177 -85.85 + 65 125.468 771 3 1 -25.7442 97.9177 -114.45 + 65 102.076 1388 3 0 -25.7367 97.937 -115.85 + 65 215.031 772 2 1 -25.5852 98.3306 -144.45 + 65 229.197 1391 2 0 -25.5762 98.3511 -145.85 + 65 89.0305 773 1 1 -25.3931 98.7698 -174.45 + 65 135.361 1393 1 0 -25.3839 98.7913 -175.85 + 65 169.934 774 0 1 -25.1986 99.2313 -204.45 + 65 107.677 1395 0 0 -25.1895 99.2527 -205.85 + 65 31.5257 841 2 0 -137.398 -11.7081 -146.083 + 65 79.1035 1392 2 0 -24.6243 98.6169 -145.85 + 65 22.4307 778 2 1 -24.3307 99.131 -144.85 + 65 62.0427 743 2 1 -31.2984 104.459 -144.85 + 65 100.827 769 10 1 -26.2497 95.5059 95.4201 + 65 10.7831 770 10 1 -26.05 95.1582 95.1711 + 65 17.9872 1366 10 0 -25.2201 93.421 94.15 + 65 77.3554 1365 10 0 -25.1842 93.35 94.1109 + 65 84.3011 1364 10 0 -25.0602 93.15 94.0235 + 65 94.0654 1363 10 0 -24.8618 92.95 93.9087 + 65 47.2313 1362 10 0 -24.6614 92.75 93.8104 + 65 185.848 993 10 0 -23.2834 18.8477 93.75 + 65 37.5447 779 10 1 -24.1992 18.206 95.15 + 65 117.445 778 10 1 -24.25 18.1604 95.259 + 65 225.707 1028 11 0 25.498 25.7104 123.75 + 65 11.0415 1032 11 1 26.6257 25.8143 125.15 + 65 137.277 1033 11 1 26.65 25.8166 125.202 + 65 164.586 994 10 0 -23.4449 18.85 93.9838 +Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 9.22307 LIN +Particle energy: 9.22621 LIN Particle: proton Event: 66 -Number of tracker hits in this event: 149 - 66 133.484 1192 11 1 58.6011 56.2881 125.55 - 66 131.035 1181 11 0 58.6016 56.2889 124.15 - 66 121.486 1192 10 1 58.6138 56.3023 95.55 - 66 88.1895 1181 10 0 58.6148 56.3034 94.15 - 66 127.068 1192 9 1 58.637 56.3258 65.55 - 66 119.512 1181 9 0 58.6399 56.3284 64.15 - 66 101.572 1193 8 1 58.7007 56.3785 35.55 - 66 108.82 1181 8 0 58.7031 56.3815 34.15 - 66 194.595 1193 7 1 58.7557 56.4439 5.55 - 66 104.014 1181 7 0 58.7587 56.4469 4.15 - 66 218.801 1193 6 1 58.8228 56.5077 -24.45 - 66 136.28 1182 6 0 58.8261 56.5106 -25.85 - 66 121.906 1194 5 1 58.8876 56.584 -54.45 - 66 123.143 1182 5 0 58.8883 56.5868 -55.85 - 66 144.889 1266 4 0 99.8771 73.3132 -86.2441 - 66 656.067 918 3 0 111.377 3.84857 -116.054 - 66 515.214 1194 4 1 58.9582 56.5416 -84.45 - 66 42.9988 1195 4 1 59.05 56.3733 -84.7447 - 66 40.3308 1178 4 0 59.3949 55.7418 -85.85 - 66 89.9313 1177 4 0 59.4451 55.65 -86.0107 - 66 137.531 1241 3 1 68.3562 39.3726 -114.45 - 66 27.8391 1242 3 1 68.45 39.1989 -114.763 - 66 91.9513 1092 3 0 68.7745 38.5979 -115.85 - 66 40.8315 1091 3 0 68.8544 38.45 -116.118 - 66 268.123 1286 2 1 77.3275 22.791 -144.45 - 66 96.8808 1009 2 0 77.7437 22.0108 -145.85 - 66 70.117 1008 2 0 77.8293 21.85 -146.139 - 66 87.5394 1330 1 1 86.2155 6.05297 -174.45 - 66 86.4346 1331 1 1 86.25 5.98065 -174.574 - 66 106.982 925 1 0 86.6042 5.23369 -175.85 - 66 44.5916 924 1 0 86.6912 5.05 -176.164 - 66 30.5566 1371 0 1 94.5322 -11.4072 -204.45 - 66 98.6267 1372 0 1 94.55 -11.4453 -204.516 - 66 23.6442 839 0 0 94.9134 -12.2216 -205.85 - 66 233.759 838 0 0 94.9267 -12.25 -205.899 - 66 3.08413 837 0 0 95.0204 -12.45 -206.242 - 66 254.586 1293 2 1 78.7374 22.2326 -144.85 - 66 44.0749 1188 4 1 57.6604 56.5633 -84.45 - 66 668.664 1187 4 1 57.65 56.5638 -84.4506 - 66 555.295 1186 4 1 57.45 56.5726 -84.4619 - 66 679.782 1185 4 1 57.25 56.5801 -84.4735 - 66 629.512 1184 4 1 57.05 56.5827 -84.4842 - 66 726.534 1183 4 1 56.85 56.587 -84.4924 - 66 646.407 1182 4 1 56.65 56.5919 -84.5012 - 66 716.62 1181 4 1 56.45 56.5995 -84.5091 - 66 738.273 1180 4 1 56.25 56.6096 -84.5164 - 66 878.026 1179 4 1 56.05 56.6218 -84.5226 - 66 827.628 1178 4 1 55.85 56.6347 -84.5293 - 66 857.973 1177 4 1 55.65 56.6476 -84.5359 - 66 897.503 1176 4 1 55.45 56.6612 -84.5409 - 66 832.72 1175 4 1 55.25 56.675 -84.5468 - 66 949.894 1174 4 1 55.05 56.6897 -84.5507 - 66 969.782 1173 4 1 54.85 56.7026 -84.5526 - 66 1047.71 1172 4 1 54.65 56.7161 -84.5563 - 66 1181.57 1171 4 1 54.45 56.7265 -84.5632 - 66 1225.88 1170 4 1 54.25 56.7345 -84.5683 - 66 1087.74 1169 4 1 54.05 56.7444 -84.5761 - 66 1291.81 1168 4 1 53.85 56.7544 -84.5727 - 66 1351.02 1167 4 1 53.65 56.7628 -84.5628 - 66 1580.45 1166 4 1 53.45 56.7716 -84.5476 - 66 1705.47 1165 4 1 53.25 56.7828 -84.5358 - 66 2124.53 1164 4 1 53.05 56.7895 -84.5167 - 66 2795.07 1163 4 1 52.85 56.7799 -84.4877 - 66 3324.85 1162 4 1 52.65 56.757 -84.46 - 66 99.7742 1163 2 1 52.6689 61.5564 -144.45 - 66 138.647 1162 2 1 52.65 61.5713 -144.63 - 66 220.861 1208 2 0 52.521 61.6713 -145.85 - 66 394.079 1147 1 1 49.596 64.057 -174.45 - 66 256.816 1220 1 0 49.4487 64.1516 -175.85 - 66 334.446 1132 0 1 46.4649 66.0774 -204.45 - 66 85.5969 1131 0 1 46.45 66.0871 -204.588 - 66 114.263 1230 0 0 46.3125 66.1701 -205.85 - 66 8.85479 1250 2 0 41.25 70.2309 -146.25 - 66 274.484 1251 2 0 41.2405 70.25 -146.22 - 66 107.135 1252 2 0 41.147 70.45 -146.231 - 66 89.483 1177 2 0 56.373 55.5364 -146.25 - 66 83.9717 1176 2 0 56.3677 55.4499 -146.091 - 66 15.3355 1175 2 0 56.3238 55.25 -145.903 - 66 115.121 1178 2 1 55.7586 54.3038 -144.85 - 66 320.396 1177 2 1 55.65 54.052 -144.604 - 66 82.8045 1176 2 1 55.45 53.3787 -144.75 - 66 7.46003 1159 2 0 53.96 51.8673 -145.85 - 66 203.412 1158 2 0 53.943 51.85 -145.865 - 66 120.376 1233 0 0 46.5116 66.6815 -205.85 - 66 527.209 1218 1 0 49.5549 63.7285 -175.85 - 66 99.1742 1219 1 0 54.7311 63.85 -176.145 - 66 144.212 1193 4 1 58.85 56.7646 -84.5806 - 66 584.628 1186 4 0 58.6436 57.2692 -85.85 - 66 0.902085 1170 3 1 54.0508 68.6165 -114.45 - 66 473.664 1169 3 1 54.05 68.6184 -114.455 - 66 94.9454 1245 3 0 53.8367 69.1614 -115.85 - 66 40.9701 1246 3 0 53.802 69.25 -116.078 - 66 143.468 1147 2 1 49.5171 80.2546 -144.45 - 66 32.6041 1303 2 0 49.3219 80.8071 -145.85 - 66 131.027 1304 2 0 49.3067 80.85 -145.959 - 66 99.3743 1126 1 1 45.3834 92.2047 -174.45 - 66 140.55 1363 1 0 45.1907 92.7859 -175.85 - 66 1.75008 1364 1 0 45.1364 92.95 -176.245 - 66 150.236 1105 0 1 41.2171 104.702 -204.45 - 66 66.9273 1425 0 0 41.0169 105.263 -205.85 - 66 56.7349 1426 0 0 40.986 105.35 -206.065 - 66 255.17 1185 4 0 59.0545 57.1465 -85.85 - 66 336.307 1210 3 1 62.0672 66.7538 -114.45 - 66 189.269 1235 3 0 62.1267 67.2092 -115.85 - 66 167.817 1236 3 0 62.1321 67.25 -115.976 - 66 278.735 1216 2 1 63.3324 76.5368 -144.45 - 66 222.315 1284 2 0 63.3674 76.9623 -145.85 - 66 73.2558 1285 2 0 63.374 77.05 -146.135 - 66 158.681 1225 1 1 65.1546 90.0416 -174.45 - 66 11.7326 1353 1 0 65.2615 90.9366 -175.85 - 66 231.364 1354 1 0 65.2633 90.95 -175.871 - 66 46.3443 1355 1 0 65.2888 91.15 -176.186 - 66 242.055 1237 0 1 67.4547 108.674 -204.45 - 66 194.494 1447 0 0 67.6777 109.568 -205.85 - 66 63.4086 1448 0 0 67.7232 109.75 -206.138 - 66 158.532 595 4 1 -61.0095 53.8648 -84.4505 - 66 39.9671 1162 4 0 -61.0036 52.5453 -85.85 - 66 80.6277 1161 4 0 -61.0156 52.4495 -85.9629 - 66 3.75577 1160 4 0 -60.9982 52.25 -86.2374 - 66 265.822 595 3 1 -60.9844 34.7113 -114.45 - 66 5.06102 1081 3 0 -60.908 36.438 -115.85 - 66 258.756 1082 3 0 -60.9081 36.45 -115.86 - 66 190.311 591 3 1 -61.7006 37.4051 -114.85 - 66 40.6102 594 3 1 -61.05 34.6971 -114.508 - 66 23.5816 1494 1 0 40.9837 118.967 -176.25 - 66 125.277 1493 1 0 40.9619 118.95 -176.149 - 66 56.5053 1102 1 1 40.5191 118.575 -174.85 - 66 122.434 1101 1 1 40.45 118.51 -174.682 - 66 11.9963 912 10 1 2.65 -112.411 95.2112 - 66 97.9623 1144 2 1 49.042 76.7712 -144.45 - 66 118.917 1286 2 0 48.8059 77.25 -145.894 - 66 130.014 1120 1 1 44.1703 86.7021 -174.45 - 66 93.6477 1335 1 0 43.9294 87.1638 -175.85 - 66 321.008 1336 1 0 43.8835 87.25 -176.113 - 66 89.3736 1094 0 1 38.9047 96.5174 -204.45 - 66 44.7483 1093 0 1 38.85 96.6235 -204.779 - 66 109.2 1384 0 0 38.6728 96.968 -205.85 - 66 127.471 1183 4 0 58.8581 56.7431 -85.85 - 66 104.365 1190 3 1 58.0675 58.5602 -114.45 - 66 6.94313 1192 3 0 58.0296 58.6483 -115.85 - 66 141.548 1193 3 0 58.0289 58.65 -115.877 - 66 40.5288 1186 2 1 57.255 60.4471 -144.45 - 66 66.0122 1185 2 1 57.25 60.4588 -144.634 - 66 175.659 1202 2 0 57.2165 60.5357 -145.85 - 66 111.675 1181 1 1 56.4277 62.344 -174.45 - 66 61.317 1211 1 0 56.39 62.4331 -175.85 - 66 47.2407 1212 1 0 56.3829 62.45 -176.116 - 66 140.978 1177 0 1 55.6177 64.2552 -204.45 - 66 99.7007 1221 0 0 55.5792 64.3434 -205.85 -Number of digits in this event: 85 -Using G4ParticleGun... -Particle energy: 9.97703 LIN +Number of tracker hits in this event: 18 + 66 127.658 578 8 1 -64.2508 128.467 35.55 + 66 124.011 1541 8 0 -64.2505 128.468 34.15 + 66 115.513 579 7 1 -64.2442 128.477 5.55 + 66 113.764 1541 7 0 -64.244 128.478 4.15 + 66 110.527 579 6 1 -64.2389 128.491 -24.45 + 66 157.11 1541 6 0 -64.2382 128.492 -25.85 + 66 102.765 579 5 1 -64.2232 128.499 -54.45 + 66 129.276 1541 5 0 -64.2222 128.5 -55.85 + 66 269.099 579 4 1 -64.1974 128.514 -84.45 + 66 128.619 1541 4 0 -64.1958 128.514 -85.85 + 66 98.6786 579 3 1 -64.1623 128.519 -114.45 + 66 114.911 1541 3 0 -64.1611 128.52 -115.85 + 66 143.49 579 2 1 -64.1344 128.54 -144.45 + 66 159.325 1541 2 0 -64.134 128.541 -145.85 + 66 154.207 579 1 1 -64.1265 128.553 -174.45 + 66 262.009 1542 1 0 -64.1263 128.553 -175.85 + 66 114.868 579 0 1 -64.1242 128.555 -204.45 + 66 160.852 1542 0 0 -64.1248 128.556 -205.85 +Number of digits in this event: 12 +Using G4ParticleGun... +Particle energy: 6.1713 LIN Particle: proton Event: 67 -Number of tracker hits in this event: 25 - 67 120.863 839 11 1 -12.1321 -61.1861 125.55 - 67 134.139 594 11 0 -12.131 -61.1861 124.15 - 67 110.744 839 10 1 -12.1081 -61.1866 95.55 - 67 122.433 594 10 0 -12.1077 -61.187 94.15 - 67 124.07 839 9 1 -12.1014 -61.1947 65.55 - 67 85.8643 594 9 0 -12.101 -61.1957 64.15 - 67 129.824 839 8 1 -12.0944 -61.2198 35.55 - 67 129.295 594 8 0 -12.0952 -61.2205 34.15 - 67 179.162 839 7 1 -12.1098 -61.2355 5.55 - 67 136.646 594 7 0 -12.1106 -61.2362 4.15 - 67 119.528 839 6 1 -12.1266 -61.2515 -24.45 - 67 112.413 593 6 0 -12.1276 -61.2528 -25.85 - 67 263.89 839 5 1 -12.1467 -61.2797 -54.45 - 67 136.852 593 5 0 -12.1482 -61.2814 -55.85 - 67 132.523 839 4 1 -12.1779 -61.3149 -84.45 - 67 213.279 593 4 0 -12.1792 -61.3157 -85.85 - 67 104.587 839 3 1 -12.205 -61.3334 -114.45 - 67 103.381 593 3 0 -12.2055 -61.3337 -115.85 - 67 105.699 839 2 1 -12.2184 -61.3354 -144.45 - 67 124.64 593 2 0 -12.2193 -61.335 -145.85 - 67 103.275 839 1 1 -12.2395 -61.3274 -174.45 - 67 110.538 593 1 0 -12.2408 -61.3279 -175.85 - 67 123.299 838 0 1 -12.2688 -61.3373 -204.45 - 67 271.532 593 0 0 -12.2704 -61.3366 -205.85 - 67 33.8087 838 5 1 -12.2503 -61.2024 -54.5014 +Number of tracker hits in this event: 24 + 67 113.562 985 10 1 17.1486 110.765 95.55 + 67 131.119 1453 10 0 17.1474 110.765 94.15 + 67 93.9871 985 9 1 17.1268 110.767 65.55 + 67 163.023 1453 9 0 17.1275 110.767 64.15 + 67 168.94 985 8 1 17.1447 110.758 35.55 + 67 124.242 1453 8 0 17.1467 110.759 34.15 + 67 96.7196 985 7 1 17.1857 110.769 5.55 + 67 107.28 1453 7 0 17.1882 110.769 4.15 + 67 131.59 985 6 1 17.2399 110.751 -24.45 + 67 113.591 1453 6 0 17.2423 110.751 -25.85 + 67 200.021 986 5 1 17.2865 110.733 -54.45 + 67 176.825 1452 5 0 17.2887 110.733 -55.85 + 67 577.59 986 4 1 17.3336 110.729 -84.45 + 67 105.953 1452 4 0 17.3358 110.729 -85.85 + 67 101.088 986 3 1 17.3772 110.738 -114.45 + 67 107.344 1452 3 0 17.3775 110.739 -115.85 + 67 240.09 986 2 1 17.3786 110.742 -144.45 + 67 161.217 1452 2 0 17.3784 110.743 -145.85 + 67 95.9218 986 1 1 17.3755 110.755 -174.45 + 67 326.902 1453 1 0 17.3761 110.757 -175.85 + 67 172.904 986 0 1 17.3923 110.805 -204.45 + 67 98.5984 1453 0 0 17.3922 110.807 -205.85 + 67 270.595 987 4 1 17.4504 110.644 -84.5843 + 67 29.9459 985 4 1 17.25 109.861 -84.4782 Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 5.3304 LIN +Particle energy: 6.47648 LIN Particle: proton Event: 68 -Number of tracker hits in this event: 31 - 68 109.177 782 11 1 -23.6139 3.48581 125.55 - 68 127.775 917 11 0 -23.6139 3.48648 124.15 - 68 119.372 782 10 1 -23.6118 3.50375 95.55 - 68 84.1627 917 10 0 -23.6113 3.5059 94.15 - 68 129.231 782 9 1 -23.5953 3.55002 65.55 - 68 124.861 917 9 0 -23.5935 3.55273 64.15 - 68 120.884 782 8 1 -23.555 3.61059 35.55 - 68 171.694 917 8 0 -23.5537 3.61332 34.15 - 68 133.616 782 7 1 -23.5246 3.67233 5.55 - 68 115.822 918 7 0 -23.523 3.67467 4.15 - 68 104.477 782 6 1 -23.4873 3.72024 -24.45 - 68 166.739 918 6 0 -23.4847 3.72305 -25.85 - 68 112.38 783 5 1 -23.3976 3.78698 -54.45 - 68 175.232 918 5 0 -23.3939 3.78873 -55.85 - 68 102.469 783 4 1 -23.3208 3.81791 -84.45 - 68 130.517 918 4 0 -23.3177 3.81848 -85.85 - 68 119.272 783 3 1 -23.2527 3.82796 -114.45 - 68 161.496 918 3 0 -23.25 3.82828 -115.85 - 68 98.9996 784 2 1 -23.1886 3.83398 -144.45 - 68 93.2077 918 2 0 -23.1845 3.83456 -145.85 - 68 90.1923 784 1 1 -23.0947 3.84348 -174.45 - 68 160.092 918 1 0 -23.0904 3.84468 -175.85 - 68 204.133 785 0 1 -23.0028 3.87238 -204.45 - 68 114.517 919 0 0 -22.9981 3.87269 -205.85 - 68 111.82 786 0 1 -22.8499 3.75488 -204.665 - 68 64.2209 787 0 1 -22.6495 3.49353 -204.797 - 68 6.99925 899 0 0 -20.2431 -0.174761 -205.85 - 68 19.1191 815 0 1 -17.0271 -4.58767 -204.85 - 68 26.4596 855 0 0 -7.92855 -8.92932 -205.85 - 68 119.996 870 0 1 -5.9631 -10.0923 -204.85 - 68 315.161 847 0 0 -4.29248 -10.4953 -205.85 -Number of digits in this event: 14 +Number of tracker hits in this event: 24 + 68 113.278 215 8 1 -137.089 24.402 35.55 + 68 139.655 1021 8 0 -137.088 24.4026 34.15 + 68 106.221 215 7 1 -137.079 24.4198 5.55 + 68 146.961 1021 7 0 -137.079 24.4202 4.15 + 68 98.1107 215 6 1 -137.076 24.4275 -24.45 + 68 172.578 1021 6 0 -137.075 24.428 -25.85 + 68 89.7551 215 5 1 -137.063 24.4414 -54.45 + 68 94.6165 1021 5 0 -137.063 24.4424 -55.85 + 68 91.2227 215 4 1 -137.059 24.4534 -84.45 + 68 142.308 1022 4 0 -137.059 24.4543 -85.85 + 68 165.493 215 3 1 -137.049 24.4741 -114.45 + 68 200.732 1022 3 0 -137.049 24.473 -115.85 + 68 113.762 215 2 1 -137.042 24.4529 -144.45 + 68 81.9251 1022 2 0 -137.042 24.4515 -145.85 + 68 99.4948 215 1 1 -137.057 24.4205 -174.45 + 68 100.717 1021 1 0 -137.058 24.4197 -175.85 + 68 127.572 215 0 1 -137.075 24.4068 -204.45 + 68 146.366 1021 0 0 -137.076 24.4056 -205.85 + 68 133.718 952 6 0 -56.6642 10.6476 -26.25 + 68 50.5646 1514 6 0 61.3193 122.984 -26.25 + 68 78.3414 1515 6 0 61.3876 123.15 -26.1712 + 68 59.677 1516 6 0 61.5232 123.35 -26.016 + 68 44.3493 1517 6 0 61.5471 123.55 -25.8906 + 68 198.948 1207 6 1 61.5835 126.663 -24.85 +Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 4.77343 LIN +Particle energy: 5.23297 LIN Particle: proton Event: 69 -Number of tracker hits in this event: 26 - 69 98.0887 827 10 1 -14.6037 -105.784 95.55 - 69 100.711 371 10 0 -14.6037 -105.783 94.15 - 69 100.19 827 9 1 -14.6015 -105.765 65.55 - 69 98.6941 371 9 0 -14.6003 -105.763 64.15 - 69 294.737 827 8 1 -14.5763 -105.734 35.55 - 69 114.951 372 8 0 -14.5736 -105.732 34.15 - 69 121.504 827 7 1 -14.5189 -105.698 5.55 - 69 113.21 372 7 0 -14.5166 -105.697 4.15 - 69 118.246 827 6 1 -14.4766 -105.691 -24.45 - 69 117.8 372 6 0 -14.4734 -105.689 -25.85 - 69 169.846 828 5 1 -14.4018 -105.653 -54.45 - 69 125.959 372 5 0 -14.3984 -105.652 -55.85 - 69 145.195 828 4 1 -14.3241 -105.626 -84.45 - 69 107.159 372 4 0 -14.3234 -105.63 -85.85 - 69 209.974 828 3 1 -14.3128 -105.717 -114.45 - 69 137.471 372 3 0 -14.3139 -105.721 -115.85 - 69 114.824 828 2 1 -14.332 -105.802 -144.45 - 69 123.815 371 2 0 -14.3339 -105.808 -145.85 - 69 132.267 828 1 1 -14.3688 -105.924 -174.45 - 69 108.103 371 1 0 -14.3696 -105.93 -175.85 - 69 107.228 828 0 1 -14.3864 -106.041 -204.45 - 69 93.8687 370 0 0 -14.3847 -106.047 -205.85 - 69 21.3154 827 3 1 -14.45 -105.73 -114.637 - 69 359.465 374 3 0 -14.7693 -105.323 -115.85 - 69 244.275 373 3 0 -14.6442 -105.35 -116.152 - 69 325.801 826 8 1 -14.6502 -105.484 35.3565 -Number of digits in this event: 13 +Number of tracker hits in this event: 27 + 69 170.798 487 10 1 -82.5966 57.457 95.55 + 69 90.4265 1187 10 0 -82.5971 57.4555 94.15 + 69 120.084 487 9 1 -82.6081 57.4203 65.55 + 69 109.374 1186 9 0 -82.6094 57.4173 64.15 + 69 110.723 487 8 1 -82.6472 57.3558 35.55 + 69 103.571 1186 8 0 -82.6499 57.3531 34.15 + 69 193.978 486 7 1 -82.7029 57.3016 5.55 + 69 153.422 1186 7 0 -82.7049 57.3004 4.15 + 69 109.187 486 6 1 -82.7462 57.2753 -24.45 + 69 149.275 1186 6 0 -82.7496 57.273 -25.85 + 69 97.3374 486 5 1 -82.8199 57.2289 -54.45 + 69 139.818 1185 5 0 -82.8235 57.2266 -55.85 + 69 132.289 485 4 1 -82.8984 57.1835 -84.45 + 69 116.114 1185 4 0 -82.9029 57.1821 -85.85 + 69 91.0777 485 3 1 -82.9988 57.1503 -114.45 + 69 96.3478 1185 3 0 -83.0037 57.1481 -115.85 + 69 147.804 484 2 1 -83.0977 57.1058 -144.45 + 69 113.389 1185 2 0 -83.1003 57.1035 -145.85 + 69 106.153 484 1 1 -83.156 57.0491 -174.45 + 69 98.3157 1184 1 0 -83.1579 57.0466 -175.85 + 69 111.132 484 0 1 -83.1995 56.9935 -204.45 + 69 135.006 1184 0 0 -83.2009 56.9919 -205.85 + 69 9.41286 1054 1 0 -84.106 30.8701 -176.25 + 69 37.4089 1053 1 0 -84.1105 30.85 -176.234 + 69 159.635 1018 1 0 -66.1404 23.8169 -176.25 + 69 175.584 1175 2 0 -85.1886 55.221 -145.85 + 69 39.3127 1174 2 0 -85.1755 55.0498 -145.932 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 3.72545 LIN +Particle energy: 8.40503 LIN Particle: proton Event: 70 -Number of tracker hits in this event: 46 - 70 103.334 833 11 1 -13.2573 74.9948 125.55 - 70 111.11 1274 11 0 -13.2576 74.9954 124.15 - 70 130.693 833 10 1 -13.2571 75.0065 95.55 - 70 106.383 1274 10 0 -13.2556 75.009 94.15 - 70 196.584 834 9 1 -13.2199 75.0629 65.55 - 70 137.642 1275 9 0 -13.2209 75.0691 64.15 - 70 110.761 834 8 1 -13.244 75.2017 35.55 - 70 118.764 1275 8 0 -13.2463 75.2094 34.15 - 70 111.562 833 7 1 -13.2926 75.3837 5.55 - 70 223.529 1276 7 0 -13.2938 75.3901 4.15 - 70 225.822 833 6 1 -13.3074 75.524 -24.45 - 70 105.361 1277 6 0 -13.3076 75.5306 -25.85 - 70 127.762 833 5 1 -13.3166 75.6555 -54.45 - 70 101.765 1278 5 0 -13.3176 75.6599 -55.85 - 70 110.93 833 4 1 -13.3443 75.7438 -84.45 - 70 108.604 1278 4 0 -13.3454 75.7482 -85.85 - 70 122.438 833 3 1 -13.3705 75.8415 -114.45 - 70 129.091 1278 3 0 -13.3713 75.8482 -115.85 - 70 2.89223 1279 3 0 -13.3715 75.85 -116.234 - 70 209.475 833 2 1 -13.3831 75.9796 -144.45 - 70 106.856 1279 2 0 -13.3835 75.9866 -145.85 - 70 106.432 833 1 1 -13.392 76.1263 -174.45 - 70 123.274 1280 1 0 -13.3926 76.1327 -175.85 - 70 180.597 833 0 1 -13.4131 76.2635 -204.45 - 70 195.984 1281 0 0 -13.414 76.2704 -205.85 - 70 41.4 1280 0 0 -13.3864 76.25 -205.897 - 70 31.4065 834 2 1 -13.25 76.0178 -144.751 - 70 140.292 1280 2 0 -12.6843 76.0528 -145.85 - 70 94.2671 930 1 1 6.09717 77.8763 -174.45 - 70 92.1418 931 1 1 6.25011 77.7953 -174.626 - 70 0.158977 932 1 1 6.45 77.7109 -174.849 - 70 96.3781 1286 1 0 7.52072 77.3367 -175.85 - 70 30.0151 1285 1 0 7.75869 77.25 -176.144 - 70 36.3466 1398 1 0 46.1706 99.8496 -176.25 - 70 107.453 1399 1 0 46.2043 99.9501 -176.144 - 70 15.9582 1400 1 0 46.2568 100.15 -175.905 - 70 137.707 1133 1 1 46.7327 100.808 -174.85 - 70 74.7574 1134 1 1 46.85 100.921 -174.661 - 70 209.745 1135 1 1 47.199 101.091 -174.45 - 70 130.497 1407 1 0 47.3672 101.628 -175.85 - 70 335.876 1361 1 0 91.3264 92.4774 -176.25 - 70 59.876 1136 1 1 47.25 100.856 -174.527 - 70 129.948 1137 1 1 47.45 100.835 -174.536 - 70 258.55 1138 1 1 47.6501 100.881 -174.656 - 70 41.3039 1402 1 0 46.6667 100.551 -175.85 - 70 351.419 1401 1 0 46.5992 100.55 -175.923 -Number of digits in this event: 21 +Number of tracker hits in this event: 24 + 70 106.533 654 11 1 -49.2263 -47.9596 125.55 + 70 170.078 660 11 0 -49.2263 -47.9597 124.15 + 70 116.813 654 10 1 -49.2253 -47.9613 95.55 + 70 155.338 660 10 0 -49.2258 -47.9614 94.15 + 70 108.207 654 9 1 -49.2346 -47.9669 65.55 + 70 119.381 660 9 0 -49.2349 -47.9673 64.15 + 70 107.126 654 8 1 -49.2406 -47.9761 35.55 + 70 107.201 660 8 0 -49.2409 -47.9771 34.15 + 70 146.667 654 7 1 -49.2466 -47.9994 5.55 + 70 106.679 660 7 0 -49.2475 -48.0005 4.15 + 70 115.095 653 6 1 -49.2659 -48.0231 -24.45 + 70 159.24 660 6 0 -49.2659 -48.0237 -25.85 + 70 97.3895 653 5 1 -49.2655 -48.0361 -54.45 + 70 107.934 660 5 0 -49.2628 -48.0336 -55.85 + 70 105.352 654 4 1 -49.2109 -47.9808 -84.45 + 70 104.568 660 4 0 -49.2083 -47.9779 -85.85 + 70 155.384 654 3 1 -49.1531 -47.9145 -114.45 + 70 106.875 660 3 0 -49.1501 -47.911 -115.85 + 70 116.626 654 2 1 -49.0876 -47.8413 -144.45 + 70 98.002 661 2 0 -49.0853 -47.8379 -145.85 + 70 109.693 655 1 1 -49.0357 -47.7682 -174.45 + 70 119.956 661 1 0 -49.0334 -47.7643 -175.85 + 70 99.6017 655 0 1 -48.9827 -47.6857 -204.45 + 70 123.644 661 0 0 -48.9804 -47.6825 -205.85 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 4.04718 LIN +Particle energy: 7.5231 LIN Particle: proton Event: 71 -Number of tracker hits in this event: 102 - 71 101.488 1103 11 1 40.7942 -23.8913 125.55 - 71 108.927 780 11 0 40.7947 -23.8911 124.15 - 71 136.887 1103 10 1 40.8144 -23.8867 95.55 - 71 214.034 780 10 0 40.8153 -23.8882 94.15 - 71 153.931 1103 9 1 40.8333 -23.9181 65.55 - 71 202.788 780 9 0 40.8345 -23.9199 64.15 - 71 152.64 1104 8 1 40.8589 -23.9645 35.55 - 71 113.429 780 8 0 40.8622 -23.9659 34.15 - 71 103.362 1104 7 1 40.9298 -23.9912 5.55 - 71 111.086 780 7 0 40.9307 -23.9897 4.15 - 71 100.617 1104 6 1 40.9511 -23.9597 -24.45 - 71 114.556 780 6 0 40.9522 -23.9584 -25.85 - 71 262.637 1104 5 1 40.9743 -23.9284 -54.45 - 71 113.172 780 5 0 40.9759 -23.9259 -55.85 - 71 180.24 1104 4 1 41.012 -23.8753 -84.45 - 71 112.13 780 4 0 41.0153 -23.873 -85.85 - 71 110.992 1105 3 1 41.0836 -23.8279 -114.45 - 71 96.1533 781 3 0 41.0867 -23.8253 -115.85 - 71 104.099 1105 2 1 41.1519 -23.7636 -144.45 - 71 102.723 781 2 0 41.156 -23.7615 -145.85 - 71 124.367 1105 1 1 41.2452 -23.7309 -174.45 - 71 146.106 781 1 0 41.2509 -23.7312 -175.85 - 71 144.949 1106 0 1 41.3637 -23.7473 -204.45 - 71 105.143 781 0 0 41.3684 -23.7495 -205.85 - 71 18.9225 241 0 0 78.262 -131.87 -206.181 - 71 65.85 1441 4 0 -65.8904 108.55 -86.2469 - 71 352.444 811 0 0 89.4734 -17.7426 -206.25 - 71 64.5843 1363 0 1 92.8224 -17.9044 -204.85 - 71 73.6942 1364 0 1 92.95 -17.9169 -204.795 - 71 61.4062 1365 0 1 93.15 -17.9449 -204.704 - 71 83.9109 1366 0 1 93.3501 -17.9731 -204.606 - 71 81.4928 1367 0 1 93.55 -17.9905 -204.517 - 71 273.345 773 1 0 125.931 -25.2971 -176.25 - 71 24.3013 772 1 0 126.487 -25.45 -175.886 - 71 37.5818 1544 1 1 128.988 -26.2948 -174.85 - 71 73.5047 1545 1 1 129.15 -26.3562 -174.782 - 71 89.9576 1546 1 1 129.35 -26.4287 -174.699 - 71 189.065 1547 1 1 129.55 -26.4891 -174.624 - 71 135.419 1548 1 1 129.75 -26.542 -174.562 - 71 125.98 1549 1 1 129.95 -26.5836 -174.508 - 71 56.0243 1550 1 1 130.15 -26.6039 -174.454 - 71 133.63 749 1 0 127.408 -30.0951 -175.85 - 71 275.413 748 1 0 127.139 -30.25 -175.964 - 71 15.837 747 1 0 126.583 -30.45 -176.224 - 71 86.0154 1536 1 1 127.492 -30.9234 -174.85 - 71 111.38 778 2 0 128.449 -24.3912 -146.249 - 71 152.707 779 2 0 128.367 -24.2499 -145.919 - 71 98.1515 1539 2 1 128.082 -22.6696 -144.85 - 71 470.258 1538 2 1 127.95 -22.4309 -144.708 - 71 42.5678 1537 2 1 127.75 -21.9354 -144.592 - 71 12.7385 807 2 0 127.913 -18.4884 -145.85 - 71 71.1318 808 2 0 127.921 -18.45 -145.862 - 71 68.8449 809 2 0 127.924 -18.25 -145.967 - 71 82.5389 810 2 0 127.888 -18.0496 -146.1 - 71 377.873 1642 4 0 98.9303 148.588 -86.0523 - 71 31.7437 1643 4 0 98.9904 148.75 -85.9266 - 71 578.83 1395 4 1 99.345 149.999 -84.8495 - 71 348.118 1396 4 1 99.35 150.014 -84.8358 - 71 12.233 1663 4 0 98.4834 152.91 -85.85 - 71 334.979 1664 4 0 98.4701 152.95 -85.8745 - 71 213.402 1665 4 0 98.4594 153.15 -85.9442 - 71 57.7084 1666 4 0 98.4408 153.35 -85.9748 - 71 73.2326 1667 4 0 98.468 153.55 -86.0212 - 71 49.4079 1668 4 0 98.5189 153.75 -86.0198 - 71 57.2879 1669 4 0 98.5249 153.95 -85.9575 - 71 88.0554 1670 4 0 98.6248 154.15 -85.9532 - 71 59.1915 1394 4 1 99.1498 156.109 -84.7194 - 71 149.161 1393 4 1 98.95 156.282 -84.7128 - 71 218.558 1392 4 1 98.75 156.705 -84.5143 - 71 3.63751 1391 4 1 98.55 157.013 -84.843 - 71 6.16693 1689 4 0 98.1937 158.133 -85.85 - 71 47.1709 1690 4 0 98.1839 158.15 -85.8662 - 71 18.9671 1381 4 1 96.3853 158.246 -84.85 - 71 223.912 1380 4 1 96.35 158.25 -84.8324 - 71 17.5812 1400 4 1 100.15 154.652 -84.6705 - 71 12.3354 1517 4 0 116.61 123.73 -86.25 - 71 106.445 793 1 0 -15.5832 -21.4428 -176.25 - 71 52.9506 794 1 0 -15.8438 -21.25 -176.173 - 71 76.021 293 7 1 -121.53 -7.09335 5.35161 - 71 10.8491 1629 10 1 146.019 147.685 95.4697 - 71 599.912 677 0 0 72.6605 -44.4692 -206.25 - 71 373.451 676 0 0 72.9524 -44.65 -205.996 - 71 334.121 1271 0 1 74.2722 -45.4679 -204.85 - 71 365.417 1272 0 1 74.45 -45.578 -204.696 - 71 247.939 1273 0 1 74.65 -45.7015 -204.522 - 71 21.5709 575 1 0 105.099 -65.0432 -176.25 - 71 696.923 574 1 0 105.109 -65.05 -176.24 - 71 242.738 573 1 0 105.424 -65.25 -175.947 - 71 537.619 1432 1 1 106.581 -66.0125 -174.85 - 71 452.708 1433 1 1 106.75 -66.1239 -174.69 - 71 98.6224 1434 1 1 106.95 -66.2573 -174.498 - 71 248.814 473 2 0 137.28 -85.3878 -146.25 - 71 833.767 472 2 0 137.378 -85.45 -146.158 - 71 32.7251 471 2 0 137.693 -85.65 -145.866 - 71 425.494 1593 2 1 138.799 -86.349 -144.85 - 71 525.104 1594 2 1 138.95 -86.4445 -144.711 - 71 173.268 1595 2 1 139.15 -86.5714 -144.526 - 71 399.275 366 3 0 171.579 -106.846 -116.25 - 71 681.818 365 3 0 171.745 -106.95 -116.106 - 71 610.973 1765 3 1 173.171 -107.839 -114.85 - 71 547.623 1766 3 1 173.35 -107.95 -114.691 - 71 141.763 1767 3 1 173.55 -108.076 -114.513 -Number of digits in this event: 50 +Number of tracker hits in this event: 21 + 71 155.296 1197 9 1 59.5708 114.199 65.55 + 71 160.461 1470 9 0 59.5706 114.198 64.15 + 71 110.688 1197 8 1 59.5619 114.19 35.55 + 71 176.179 1470 8 0 59.5619 114.19 34.15 + 71 109.506 1197 7 1 59.5618 114.189 5.55 + 71 135.206 1470 7 0 59.5622 114.19 4.15 + 71 122.958 1197 6 1 59.5618 114.193 -24.45 + 71 121.46 1470 6 0 59.5609 114.192 -25.85 + 71 107.956 1197 5 1 59.543 114.179 -54.45 + 71 118.42 1470 5 0 59.5413 114.178 -55.85 + 71 85.4794 1197 4 1 59.5069 114.155 -84.45 + 71 223.372 1470 4 0 59.5053 114.151 -85.85 + 71 140.559 1197 3 1 59.4776 114.085 -114.45 + 71 99.8798 1469 3 0 59.4756 114.083 -115.85 + 71 136.171 1196 2 1 59.4345 114.044 -144.45 + 71 104.374 1469 2 0 59.433 114.041 -145.85 + 71 121.186 1196 1 1 59.4009 113.977 -174.45 + 71 155.077 1469 1 0 59.3998 113.974 -175.85 + 71 109.382 1196 0 1 59.3767 113.902 -204.45 + 71 188.527 1468 0 0 59.3755 113.898 -205.85 + 71 154.311 1556 5 0 -3.66649 131.487 -56.25 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 5.74253 LIN +Particle energy: 2.40268 LIN Particle: proton Event: 72 -Number of tracker hits in this event: 77 - 72 198.859 472 10 1 -85.5041 -72.0233 95.55 - 72 98.2761 540 10 0 -85.5039 -72.0226 94.15 - 72 128.856 472 9 1 -85.499 -72.008 65.55 - 72 166.748 540 9 0 -85.4981 -72.0073 64.15 - 72 107.098 472 8 1 -85.4807 -71.9974 35.55 - 72 105.471 540 8 0 -85.4798 -71.9967 34.15 - 72 98.2818 472 7 1 -85.4626 -71.9831 5.55 - 72 98.0473 540 7 0 -85.462 -71.9822 4.15 - 72 149.472 472 6 1 -85.4533 -71.9691 -24.45 - 72 123.943 540 6 0 -85.4528 -71.9696 -25.85 - 72 167.003 473 5 1 -85.4438 -71.9825 -54.45 - 72 103.947 540 5 0 -85.4432 -71.9835 -55.85 - 72 106.614 473 4 1 -85.4345 -72.0097 -84.45 - 72 333.057 540 4 0 -85.4357 -72.0115 -85.85 - 72 109.189 472 3 1 -85.46 -72.046 -114.45 - 72 170.33 540 3 0 -85.4617 -72.0483 -115.85 - 72 113.103 472 2 1 -85.4997 -72.0925 -144.45 - 72 151.045 539 2 0 -85.5018 -72.0944 -145.85 - 72 164.127 472 1 1 -85.5423 -72.1354 -174.45 - 72 100.187 539 1 0 -85.544 -72.1368 -175.85 - 72 124.598 472 0 1 -85.5802 -72.1693 -204.45 - 72 96.1698 539 0 0 -85.5814 -72.1707 -205.85 - 72 136.875 899 4 0 67.2436 -0.149421 -86.25 - 72 587.839 553 0 0 -54.6575 -69.4437 -206.25 - 72 41.0382 633 0 1 -53.282 -69.3738 -204.85 - 72 509.708 634 0 1 -53.25 -69.3722 -204.818 - 72 193.076 635 0 1 -53.05 -69.3622 -204.615 - 72 537.37 555 1 0 -25.6439 -68.9033 -176.25 - 72 62.6286 778 1 1 -24.3034 -68.8713 -174.85 - 72 355.196 779 1 1 -24.25 -68.8698 -174.794 - 72 178.566 780 1 1 -24.05 -68.8641 -174.585 - 72 716.804 562 2 0 2.74666 -67.5342 -146.25 - 72 249.918 920 2 1 4.06603 -67.4774 -144.85 - 72 308.37 921 2 1 4.25 -67.47 -144.654 - 72 729.046 575 3 0 30.5792 -65.0043 -116.25 - 72 387.284 1059 3 1 31.8695 -64.884 -114.85 - 72 516.12 1060 3 1 32.05 -64.8672 -114.654 - 72 643.289 586 4 0 59.233 -62.7924 -86.25 - 72 106.572 1202 4 1 60.5857 -62.6848 -84.85 - 72 272.335 1203 4 1 60.65 -62.6796 -84.7837 - 72 231.812 1204 4 1 60.85 -62.6627 -84.5774 - 72 703.948 596 5 0 90.5414 -60.8442 -56.25 - 72 181.67 1359 5 1 92.0148 -60.7535 -54.85 - 72 321.938 1360 5 1 92.15 -60.7451 -54.7217 - 72 108.492 1361 5 1 92.35 -60.7335 -54.5319 - 72 657.644 598 6 0 123.759 -60.3634 -26.25 - 72 43.1221 1525 6 1 125.313 -60.3463 -24.85 - 72 330.896 1526 6 1 125.35 -60.346 -24.8171 - 72 284.042 1527 6 1 125.55 -60.3441 -24.6376 - 72 11.8015 1528 6 1 125.75 -60.3425 -24.4591 - 72 571.554 600 7 0 154.18 -59.9658 3.75 - 72 304.889 1677 7 1 155.593 -59.9412 5.15 - 72 342.431 1678 7 1 155.75 -59.9382 5.30576 - 72 6797.12 1679 7 1 155.95 -59.9341 5.50416 - 72 0.570106 1670 7 1 154.35 -59.6405 5.38406 - 72 26.824 1072 6 0 37.091 34.4821 -26.2049 - 72 8.68347 560 7 0 171.793 -67.85 4.05105 - 72 8744.34 1680 7 1 156.15 -59.5641 5.39817 - 72 479.306 1681 7 1 156.35 -59.0144 5.20286 - 72 151.714 613 7 0 156.21 -57.2746 4.15 - 72 894.618 614 7 0 156.212 -57.25 4.13704 - 72 961.245 615 7 0 156.228 -57.05 4.03258 - 72 1085.93 616 7 0 156.24 -56.85 3.92841 - 72 862.095 617 7 0 156.25 -56.65 3.82848 - 72 29.6384 916 2 1 3.2541 -67.6989 -144.85 - 72 37.5775 915 2 1 3.24995 -67.7091 -144.831 - 72 50.1571 438 3 0 -155.239 -92.35 -116.199 - 72 26.7705 439 3 0 -155.414 -92.35 -115.917 - 72 154.069 120 3 1 -156.048 -92.1536 -114.85 - 72 71.1642 121 3 1 -155.905 -92.2042 -114.45 - 72 147.51 122 3 1 -155.75 -92.4605 -114.531 - 72 118.615 123 3 1 -155.55 -92.7567 -114.821 - 72 68.4611 124 3 1 -155.35 -92.95 -114.809 - 72 98.3843 125 3 1 -155.15 -93.0909 -114.773 - 72 282.122 126 3 1 -154.95 -93.2889 -114.609 - 72 87.2101 127 3 1 -154.75 -93.4435 -114.524 - 72 213.332 428 3 0 -155.121 -94.3942 -115.85 -Number of digits in this event: 52 +Number of tracker hits in this event: 27 + 72 208.486 1102 11 1 40.5792 -21.6176 125.55 + 72 127.323 792 11 0 40.5776 -21.6171 124.15 + 72 122.836 1102 10 1 40.5104 -21.5923 95.55 + 72 105.571 792 10 0 40.5066 -21.5907 94.15 + 72 110.369 1101 9 1 40.4168 -21.5568 65.55 + 72 117.622 792 9 0 40.4116 -21.5549 64.15 + 72 119.695 1101 8 1 40.3061 -21.5132 35.55 + 72 198.943 792 8 0 40.2982 -21.5148 34.15 + 72 123.484 1100 7 1 40.1288 -21.5574 5.55 + 72 160.166 792 7 0 40.1196 -21.5615 4.15 + 72 136.362 1099 6 1 39.9219 -21.6447 -24.45 + 72 341.442 791 6 0 39.9155 -21.6508 -25.85 + 72 144.55 1098 5 1 39.7945 -21.7745 -54.45 + 72 99.8986 791 5 0 39.7904 -21.7807 -55.85 + 72 192.893 1098 4 1 39.7018 -21.9108 -84.45 + 72 99.7937 790 4 0 39.6987 -21.9201 -85.85 + 72 96.1471 1097 3 1 39.6271 -22.1085 -114.45 + 72 104.001 789 3 0 39.6246 -22.1178 -115.85 + 72 105.865 1097 2 1 39.5707 -22.3136 -144.45 + 72 92.3329 788 2 0 39.5691 -22.3222 -145.85 + 72 132.738 1097 1 1 39.5295 -22.4986 -174.45 + 72 122.377 787 1 0 39.5274 -22.5087 -175.85 + 72 100.307 1097 0 1 39.4794 -22.7085 -204.45 + 72 132.816 786 0 0 39.4727 -22.7169 -205.85 + 72 101.153 790 6 0 39.9465 -21.85 -26.0521 + 72 81.3489 789 6 0 39.4237 -22.1479 -25.85 + 72 253.761 788 6 0 39.3436 -22.25 -25.9993 +Number of digits in this event: 15 Using G4ParticleGun... -Particle energy: 7.04651 LIN +Particle energy: 5.73822 LIN Particle: proton Event: 73 -Number of tracker hits in this event: 24 - 73 95.2854 821 11 1 -15.6886 2.61579 125.55 - 73 173.85 912 11 0 -15.6892 2.61654 124.15 - 73 116.233 821 10 1 -15.6994 2.6353 95.55 - 73 120.924 912 10 0 -15.6998 2.63784 94.15 - 73 115.762 821 9 1 -15.7091 2.68783 65.55 - 73 174.049 913 9 0 -15.709 2.69135 64.15 - 73 128.62 821 8 1 -15.7066 2.76062 35.55 - 73 106.061 913 8 0 -15.7059 2.76315 34.15 - 73 109.032 821 7 1 -15.6959 2.81309 5.55 - 73 132.357 913 7 0 -15.6945 2.81551 4.15 - 73 103.596 821 6 1 -15.6659 2.86914 -24.45 - 73 101.372 914 6 0 -15.6641 2.87182 -25.85 - 73 120.315 822 5 1 -15.6259 2.92152 -54.45 - 73 106.42 914 5 0 -15.6247 2.9245 -55.85 - 73 107.954 822 4 1 -15.6023 2.98478 -84.45 - 73 160.886 914 4 0 -15.6015 2.98785 -85.85 - 73 233.737 822 3 1 -15.5851 3.05151 -114.45 - 73 313.249 915 3 0 -15.5827 3.05575 -115.85 - 73 122.302 822 2 1 -15.531 3.14203 -144.45 - 73 126.188 915 2 0 -15.5257 3.15019 -145.85 - 73 100.703 823 1 1 -15.421 3.31779 -174.45 - 73 150.029 916 1 0 -15.4166 3.32692 -175.85 - 73 113.994 823 0 1 -15.3305 3.51416 -204.45 - 73 124.795 917 0 0 -15.3266 3.52258 -205.85 -Number of digits in this event: 14 +Number of tracker hits in this event: 21 + 73 117.304 347 9 1 -110.644 -56.1525 65.55 + 73 170.373 619 9 0 -110.646 -56.1516 64.15 + 73 131.437 347 8 1 -110.671 -56.1349 35.55 + 73 104.359 619 8 0 -110.672 -56.1342 34.15 + 73 219.84 347 7 1 -110.693 -56.1238 5.55 + 73 114.81 619 7 0 -110.694 -56.1225 4.15 + 73 101.891 347 6 1 -110.718 -56.0961 -24.45 + 73 123.282 619 6 0 -110.72 -56.0939 -25.85 + 73 158.356 346 5 1 -110.762 -56.0471 -54.45 + 73 119.372 620 5 0 -110.763 -56.045 -55.85 + 73 117.354 346 4 1 -110.794 -56.0029 -84.45 + 73 160.88 620 4 0 -110.796 -56.0027 -85.85 + 73 137.542 346 3 1 -110.832 -55.9934 -114.45 + 73 106.214 620 3 0 -110.834 -55.9919 -115.85 + 73 99.223 346 2 1 -110.873 -55.9564 -144.45 + 73 162.243 620 2 0 -110.875 -55.9547 -145.85 + 73 118.533 346 1 1 -110.929 -55.9212 -174.45 + 73 96.2433 620 1 0 -110.931 -55.9205 -175.85 + 73 127.689 345 0 1 -110.984 -55.9115 -204.45 + 73 106.025 620 0 0 -110.985 -55.9113 -205.85 + 73 170.454 346 7 1 -110.75 -55.87 5.4396 +Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 4.98384 LIN +Particle energy: 1.42344 LIN Particle: proton Event: 74 -Number of tracker hits in this event: 23 - 74 122.149 1599 8 1 140.146 -10.078 35.55 - 74 110.098 849 8 0 140.144 -10.0777 34.15 - 74 91.026 1599 7 1 140.111 -10.0764 5.55 - 74 113.284 849 7 0 140.11 -10.0778 4.15 - 74 98.9575 1599 6 1 140.08 -10.1054 -24.45 - 74 192.818 849 6 0 140.079 -10.1077 -25.85 - 74 104.511 1599 5 1 140.04 -10.1531 -54.45 - 74 113.435 849 5 0 140.036 -10.1549 -55.85 - 74 105.361 1599 4 1 139.96 -10.1951 -84.45 - 74 189.615 849 4 0 139.955 -10.1986 -85.85 - 74 242.539 1598 3 1 139.851 -10.2749 -114.45 - 74 106.382 848 3 0 139.846 -10.2797 -115.85 - 74 97.9481 1597 2 1 139.739 -10.3775 -144.45 - 74 130.229 848 2 0 139.733 -10.3836 -145.85 - 74 99.0191 1597 1 1 139.623 -10.5005 -174.45 - 74 141.081 847 1 0 139.617 -10.5057 -175.85 - 74 114.262 1596 0 1 139.504 -10.6113 -204.45 - 74 134.084 847 0 0 139.498 -10.6169 -205.85 - 74 117.287 1597 3 1 139.75 -10.3287 -114.761 - 74 34.1358 835 3 0 140.095 -12.9411 -115.85 - 74 77.5172 834 3 0 140.052 -13.05 -115.903 - 74 155.306 1599 3 1 139.95 -15.0896 -114.724 - 74 66.5373 1600 3 1 140.15 -15.1002 -114.733 -Number of digits in this event: 10 +Number of tracker hits in this event: 22 + 74 163.764 598 9 1 -60.2896 116.836 65.55 + 74 122.071 1483 9 0 -60.2869 116.832 64.15 + 74 116.42 599 8 1 -60.2232 116.74 35.55 + 74 114.685 1482 8 0 -60.2195 116.736 34.15 + 74 142.932 599 7 1 -60.1301 116.653 5.55 + 74 155.923 1482 7 0 -60.1257 116.651 4.15 + 74 134.362 600 6 1 -60.0281 116.611 -24.45 + 74 113.4 1482 6 0 -60.0225 116.609 -25.85 + 74 137.367 600 5 1 -59.8957 116.57 -54.45 + 74 140.631 1482 5 0 -59.8868 116.563 -55.85 + 74 129.51 601 4 1 -59.6824 116.425 -84.45 + 74 202.895 1481 4 0 -59.676 116.417 -85.85 + 74 126.645 602 3 1 -59.5492 116.246 -114.45 + 74 130.041 1480 3 0 -59.5461 116.241 -115.85 + 74 130.784 602 2 1 -59.5011 116.098 -144.45 + 74 101.69 1479 2 0 -59.4999 116.087 -145.85 + 74 112.168 602 1 1 -59.4783 115.858 -174.45 + 74 121.065 1478 1 0 -59.4776 115.845 -175.85 + 74 147.311 602 0 1 -59.4585 115.582 -204.45 + 74 111.688 1477 0 0 -59.4604 115.565 -205.85 + 74 36.9548 577 4 0 13.0141 -64.5149 -86.25 + 74 84.2753 576 4 0 12.9729 -64.65 -86.2368 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 9.25078 LIN +Particle energy: 6.70883 LIN Particle: proton Event: 75 -Number of tracker hits in this event: 25 - 75 99.1153 785 11 1 -22.981 29.1727 125.55 - 75 130.38 1045 11 0 -22.981 29.1725 124.15 - 75 112.235 785 10 1 -22.9811 29.1686 95.55 - 75 253.145 1045 10 0 -22.9809 29.1694 94.15 - 75 94.6174 785 9 1 -22.9746 29.1871 65.55 - 75 104.692 1045 9 0 -22.974 29.1885 64.15 - 75 130.347 785 8 1 -22.9609 29.2233 35.55 - 75 125.565 1045 8 0 -22.9612 29.225 34.15 - 75 112.564 785 7 1 -22.9694 29.2608 5.55 - 75 145.75 1046 7 0 -22.9687 29.2632 4.15 - 75 113.696 785 6 1 -22.9536 29.3116 -24.45 - 75 105.819 1046 6 0 -22.9531 29.3141 -25.85 - 75 121.869 785 5 1 -22.9416 29.3646 -54.45 - 75 125.244 1046 5 0 -22.9411 29.3667 -55.85 - 75 157.044 785 4 1 -22.9296 29.4114 -84.45 - 75 107.472 1046 4 0 -22.9296 29.4138 -85.85 - 75 131.207 785 3 1 -22.9301 29.4643 -114.45 - 75 116.832 1047 3 0 -22.9303 29.4673 -115.85 - 75 115.11 785 2 1 -22.9343 29.5278 -144.45 - 75 102.416 1047 2 0 -22.9349 29.5308 -145.85 - 75 104.143 785 1 1 -22.9452 29.5934 -174.45 - 75 134.848 1047 1 0 -22.9448 29.5953 -175.85 - 75 103.191 785 0 1 -22.936 29.6335 -204.45 - 75 170.726 1047 0 0 -22.9362 29.6359 -205.85 - 75 172.76 1048 0 0 -22.9448 29.65 -206.138 -Number of digits in this event: 13 -Using G4ParticleGun... -Particle energy: 3.97161 LIN +Number of tracker hits in this event: 89 + 75 98.5893 513 11 0 29.0775 -77.4465 124.15 + 75 148.25 1045 10 1 29.0795 -77.4444 95.55 + 75 242.125 513 10 0 29.0803 -77.4437 94.15 + 75 106.996 1045 9 1 29.0904 -77.4332 65.55 + 75 115.174 513 9 0 29.0909 -77.4337 64.15 + 75 113.606 1045 8 1 29.1011 -77.4442 35.55 + 75 135.676 513 8 0 29.1011 -77.4438 34.15 + 75 117.965 1045 7 1 29.1009 -77.4345 5.55 + 75 109.176 513 7 0 29.1011 -77.4349 4.15 + 75 123.567 1045 6 1 29.1071 -77.4479 -24.45 + 75 131.383 513 6 0 29.1065 -77.4484 -25.85 + 75 109.032 1045 5 1 29.094 -77.459 -54.45 + 75 144.219 512 5 0 29.0931 -77.4604 -55.85 + 75 144.074 1045 4 1 29.0782 -77.4919 -84.45 + 75 107.056 512 4 0 29.0773 -77.4933 -85.85 + 75 295.846 1045 3 1 29.0574 -77.5204 -114.45 + 75 361.762 512 3 0 29.0557 -77.5219 -115.85 + 75 103.135 1044 2 1 29.0239 -77.5519 -144.45 + 75 99.7414 512 2 0 29.0213 -77.5522 -145.85 + 75 163.34 1044 1 1 28.9668 -77.5578 -174.45 + 75 164.901 512 1 0 28.9645 -77.5585 -175.85 + 75 172.232 1044 0 1 28.9183 -77.5732 -204.45 + 75 121.812 512 0 0 28.9152 -77.5748 -205.85 + 75 36.8682 512 7 1 -77.65 -37.2701 5.18035 + 75 398.726 501 7 1 -79.774 -34.5432 5.53747 + 75 71.9485 742 1 1 -31.6166 -137.788 -174.45 + 75 208.947 741 1 1 -31.65 -137.685 -174.619 + 75 8.38797 740 1 1 -31.85 -137.346 -174.834 + 75 71.7363 219 1 0 -32.8103 -136.29 -175.85 + 75 262.123 220 1 0 -32.9767 -136.15 -175.926 + 75 236.669 322 1 0 -46.5375 -115.731 -176.25 + 75 123.935 424 0 1 -95.2755 18.2519 -204.85 + 75 123.999 407 0 0 35.7514 -98.576 -206.25 + 75 6.73728 1075 0 1 35.0642 -98.9687 -204.85 + 75 224.077 1074 0 1 35.05 -98.977 -204.821 + 75 31.3353 1073 0 1 34.8498 -99.0917 -204.539 + 75 16.4984 359 1 0 -2.66522 -108.331 -176.25 + 75 150.099 358 1 0 -2.71131 -108.35 -176.217 + 75 71.7958 357 1 0 -3.28982 -108.55 -176.073 + 75 67.993 356 1 0 -3.44355 -108.75 -176.013 + 75 72.6385 355 1 0 -3.58248 -108.95 -175.952 + 75 7.78362 354 1 0 -3.68295 -109.15 -175.863 + 75 78.5801 876 1 1 -4.73681 -111.356 -174.85 + 75 385.672 875 1 1 -4.85014 -111.596 -174.775 + 75 25.0736 333 1 0 -5.7911 -113.486 -175.85 + 75 136.382 332 1 0 -5.85522 -113.55 -175.911 + 75 76.4247 331 1 0 -5.95914 -113.75 -176.001 + 75 48.7529 330 1 0 -6.03845 -113.95 -176.166 + 75 57.0431 329 1 0 -6.08846 -114.15 -176.201 + 75 0.868862 328 1 0 -6.0147 -114.35 -176.249 + 75 49.4637 364 1 0 15.0843 -107.15 -176.119 + 75 25.8221 299 1 0 -10.1263 -120.15 -175.855 + 75 12.719 776 2 1 -24.65 -117.353 -144.802 + 75 57.7928 315 2 0 22.3951 -117.125 -146.25 + 75 52.6127 314 2 0 22.4304 -117.15 -146.092 + 75 312.053 1013 2 1 22.713 -117.428 -144.85 + 75 33.8059 1014 2 1 22.85 -117.56 -144.518 + 75 59.5864 304 2 0 22.891 -119.169 -145.85 + 75 138.486 303 2 0 22.9353 -119.35 -145.964 + 75 104.401 302 2 0 22.8798 -119.55 -146.011 + 75 77.7472 301 2 0 22.6464 -119.75 -146.08 + 75 148.908 300 2 0 22.5598 -119.95 -146.177 + 75 64.3133 299 2 0 22.5647 -120.15 -145.915 + 75 263.043 298 2 0 22.5122 -120.35 -145.898 + 75 36.6068 130 2 0 1.93011 -154.047 -146.25 + 75 70.1912 129 2 0 1.9007 -154.15 -146.183 + 75 63.4273 128 2 0 1.80376 -154.35 -146.041 + 75 78.3074 904 2 1 1.03747 -155.488 -144.85 + 75 150.434 903 2 1 0.849553 -155.696 -144.659 + 75 266.149 902 2 1 0.649765 -155.809 -144.493 + 75 21.611 1043 0 1 28.85 -77.5593 -204.811 + 75 12.4919 513 0 0 26.8779 -77.2638 -205.85 + 75 225.259 514 0 0 26.8143 -77.25 -205.874 + 75 226.141 515 0 0 26.3933 -77.05 -206.046 + 75 374.277 519 3 0 30.5646 -76.1459 -116.25 + 75 6.71171 520 3 0 30.3667 -76.05 -115.91 + 75 87.9693 1068 2 1 33.7471 -78.5475 -144.45 + 75 41.4256 1069 2 1 33.85 -78.5605 -144.731 + 75 30.9706 507 2 0 34.245 -78.6415 -145.85 + 75 99.5568 506 2 0 34.2869 -78.65 -145.973 + 75 58.6779 1118 1 1 43.7923 -80.4166 -174.45 + 75 52.5636 1119 1 1 43.85 -80.4466 -174.666 + 75 31.5819 497 1 0 44.1984 -80.631 -175.85 + 75 125.331 496 1 0 44.2309 -80.65 -175.962 + 75 27.9496 1164 0 1 53.0281 -84.8473 -204.45 + 75 119.116 1165 0 1 53.05 -84.8721 -204.523 + 75 131.706 473 0 0 53.4118 -85.2844 -205.85 + 75 162.664 514 10 0 29.2766 -77.2497 93.8176 + 75 403.448 515 10 0 29.5267 -77.0499 93.8759 +Number of digits in this event: 40 +Using G4ParticleGun... +Particle energy: 6.68694 LIN Particle: proton Event: 76 -Number of tracker hits in this event: 26 - 76 107.683 1047 11 1 29.593 74.4985 125.55 - 76 102.708 1272 11 0 29.5941 74.4977 124.15 - 76 168.015 1047 10 1 29.6152 74.4906 95.55 - 76 131.751 1272 10 0 29.6171 74.4889 94.15 - 76 124.489 1047 9 1 29.6485 74.4531 65.55 - 76 117.563 1271 9 0 29.6486 74.4495 64.15 - 76 112.357 1047 8 1 29.6487 74.3718 35.55 - 76 148.317 1271 8 0 29.6495 74.3677 34.15 - 76 159.828 1048 7 1 29.6631 74.2876 5.55 - 76 88.5845 1271 7 0 29.6636 74.2829 4.15 - 76 144.22 1048 6 1 29.6693 74.1811 -24.45 - 76 95.0867 1270 6 0 29.668 74.1737 -25.85 - 76 118.582 1047 5 1 29.6449 74.0296 -54.45 - 76 93.5885 1269 5 0 29.6452 74.0242 -55.85 - 76 126.971 1048 4 1 29.6522 73.9134 -84.45 - 76 131.885 1269 4 0 29.6526 73.9056 -85.85 - 76 150.93 1048 3 1 29.652 73.7366 -114.45 - 76 97.4034 1268 3 0 29.6498 73.7295 -115.85 - 76 97.1149 1047 2 1 29.5938 73.5854 -144.45 - 76 108.859 1267 2 0 29.5907 73.5785 -145.85 - 76 91.8957 1047 1 1 29.5309 73.437 -174.45 - 76 126.775 1266 1 0 29.5276 73.4288 -175.85 - 76 94.9314 1047 0 1 29.4577 73.2627 -204.45 - 76 108.328 1266 0 0 29.454 73.2544 -205.85 - 76 333.153 1237 2 0 37.8449 67.6273 -146.25 - 76 188.54 1272 9 0 29.6472 74.45 63.8202 -Number of digits in this event: 13 +Number of tracker hits in this event: 24 + 76 130.372 1289 11 1 77.9697 18.5605 125.55 + 76 110.168 992 11 0 77.9699 18.5594 124.15 + 76 90.0633 1289 10 1 77.9729 18.5378 95.55 + 76 174.989 992 10 0 77.9724 18.5359 94.15 + 76 127.628 1289 9 1 77.9616 18.4977 65.55 + 76 120.309 992 9 0 77.9613 18.4949 64.15 + 76 127.595 1289 8 1 77.9562 18.4416 35.55 + 76 145.316 991 8 0 77.9566 18.4393 34.15 + 76 103.722 1289 7 1 77.9657 18.3902 5.55 + 76 184.349 991 7 0 77.9659 18.3871 4.15 + 76 136.21 1289 6 1 77.9669 18.3229 -24.45 + 76 92.4026 991 6 0 77.9677 18.3205 -25.85 + 76 234.335 1289 5 1 77.9826 18.2652 -54.45 + 76 153.272 991 5 0 77.9819 18.2623 -55.85 + 76 108.327 1289 4 1 77.9724 18.2041 -84.45 + 76 117.212 990 4 0 77.971 18.2009 -85.85 + 76 102.308 1289 3 1 77.9433 18.1378 -114.45 + 76 132.296 990 3 0 77.9435 18.1351 -115.85 + 76 145.976 1289 2 1 77.9498 18.0807 -144.45 + 76 79.1354 990 2 0 77.9484 18.078 -145.85 + 76 100.891 1289 1 1 77.9183 18.0172 -174.45 + 76 116.827 989 1 0 77.9156 18.0143 -175.85 + 76 97.9243 1289 0 1 77.8731 17.949 -204.45 + 76 132.606 989 0 0 77.8707 17.9458 -205.85 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 3.61068 LIN +Particle energy: 6.3295 LIN Particle: proton Event: 77 -Number of tracker hits in this event: 26 - 77 260.237 1282 11 1 76.6083 -24.5441 125.55 - 77 119.615 777 11 0 76.6107 -24.5379 124.15 - 77 99.9303 1283 10 1 76.6606 -24.4083 95.55 - 77 102.53 778 10 0 76.6637 -24.4012 94.15 - 77 101.029 1283 9 1 76.7271 -24.2584 65.55 - 77 38.3272 778 9 0 76.7314 -24.2508 64.15 - 77 75.3539 779 9 0 76.7319 -24.25 64.0043 - 77 101.851 1283 8 1 76.8128 -24.092 35.55 - 77 134.133 779 8 0 76.8237 -24.085 34.15 - 77 119.454 1284 7 1 77.0389 -23.9373 5.55 - 77 123.446 780 7 0 77.0496 -23.9291 4.15 - 77 160.849 1286 6 1 77.2554 -23.7578 -24.45 - 77 92.8367 781 6 0 77.268 -23.7518 -25.85 - 77 189.069 1287 5 1 77.5283 -23.6242 -54.45 - 77 106.468 782 5 0 77.5419 -23.6177 -55.85 - 77 98.5887 1288 4 1 77.8226 -23.4873 -84.45 - 77 118.52 782 4 0 77.8361 -23.4822 -85.85 - 77 147.357 1290 3 1 78.1118 -23.3676 -114.45 - 77 116.03 783 3 0 78.1279 -23.3665 -115.85 - 77 68.9985 1291 2 1 78.4484 -23.3356 -144.45 - 77 51.384 1292 2 1 78.45 -23.3355 -144.613 - 77 123.13 783 2 0 78.4624 -23.3348 -145.85 - 77 115.107 1293 1 1 78.7453 -23.3197 -174.45 - 77 148.118 783 1 0 78.7576 -23.3184 -175.85 - 77 120.184 1294 0 1 79.0052 -23.287 -204.45 - 77 127.785 783 0 0 79.0161 -23.2842 -205.85 -Number of digits in this event: 11 +Number of tracker hits in this event: 20 + 77 110.309 492 9 1 -81.572 -88.081 65.55 + 77 115.547 459 9 0 -81.5721 -88.0813 64.15 + 77 106.689 492 8 1 -81.579 -88.0922 35.55 + 77 117.052 459 8 0 -81.5799 -88.0929 34.15 + 77 152.659 492 7 1 -81.6061 -88.1015 5.55 + 77 161.635 459 7 0 -81.6076 -88.1024 4.15 + 77 105.488 492 6 1 -81.6348 -88.1161 -24.45 + 77 98.139 459 6 0 -81.6355 -88.1169 -25.85 + 77 102.586 491 5 1 -81.6506 -88.1311 -54.45 + 77 128.951 459 5 0 -81.65 -88.1321 -55.85 + 77 129.24 492 4 1 -81.6385 -88.1544 -84.45 + 77 124.658 459 4 0 -81.6377 -88.158 -85.85 + 77 119.186 492 3 1 -81.6208 -88.2307 -114.45 + 77 220.265 459 3 0 -81.6193 -88.2339 -115.85 + 77 100.493 492 2 1 -81.5862 -88.3032 -144.45 + 77 117.823 458 2 0 -81.5847 -88.3062 -145.85 + 77 160.468 492 1 1 -81.5599 -88.3662 -174.45 + 77 174.75 458 1 0 -81.5592 -88.3696 -175.85 + 77 124.004 492 0 1 -81.5411 -88.4389 -204.45 + 77 101.082 458 0 0 -81.5401 -88.4418 -205.85 +Number of digits in this event: 10 Using G4ParticleGun... -Particle energy: 5.10731 LIN +Particle energy: 6.65223 LIN Particle: proton Event: 78 -Number of tracker hits in this event: 27 - 78 223.338 830 11 0 -82.5113 -14.0322 124.15 - 78 119.334 487 10 1 -82.5157 -14.0359 95.55 - 78 127.985 830 10 0 -82.515 -14.0375 94.15 - 78 108.397 487 9 1 -82.5006 -14.0683 65.55 - 78 108.629 829 9 0 -82.4973 -14.0708 64.15 - 78 120.892 488 8 1 -82.4337 -14.1227 35.55 - 78 120.621 829 8 0 -82.4316 -14.1253 34.15 - 78 108.739 488 7 1 -82.3931 -14.1809 5.55 - 78 94.7412 829 7 0 -82.3924 -14.1828 4.15 - 78 98.0699 488 6 1 -82.4053 -14.219 -24.45 - 78 124.329 829 6 0 -82.4063 -14.2211 -25.85 - 78 145.892 488 5 1 -82.4279 -14.2624 -54.45 - 78 98.2483 828 5 0 -82.4291 -14.267 -55.85 - 78 100.083 487 4 1 -82.4533 -14.3597 -84.45 - 78 151.502 828 4 0 -82.4555 -14.3635 -85.85 - 78 162.409 487 3 1 -82.5025 -14.4368 -114.45 - 78 134.487 828 3 0 -82.5033 -14.4415 -115.85 - 78 157.451 487 2 1 -82.5156 -14.5316 -144.45 - 78 255.831 827 2 0 -82.5168 -14.5368 -145.85 - 78 81.3308 487 1 1 -82.535 -14.6463 -174.45 - 78 125.691 826 1 0 -82.5367 -14.6526 -175.85 - 78 108.385 487 0 1 -82.5698 -14.7801 -204.45 - 78 111.453 826 0 0 -82.571 -14.7874 -205.85 - 78 21.0279 831 11 0 -82.2429 -13.85 123.794 - 78 134.389 959 11 0 -68.7825 12.0044 123.75 - 78 263.583 960 11 0 -68.9577 12.05 123.94 - 78 111.454 961 11 0 -68.9929 12.2502 123.86 -Number of digits in this event: 15 +Number of tracker hits in this event: 43 + 78 272.167 797 11 1 -20.63 -69.4429 125.55 + 78 116.085 553 11 0 -20.6293 -69.4436 124.15 + 78 168.124 797 10 1 -20.6157 -69.4584 95.55 + 78 111.526 552 10 0 -20.6145 -69.4598 94.15 + 78 103.599 797 9 1 -20.5906 -69.484 65.55 + 78 117.555 552 9 0 -20.59 -69.4864 64.15 + 78 104.143 797 8 1 -20.58 -69.5386 35.55 + 78 141.913 552 8 0 -20.5798 -69.5413 34.15 + 78 110.837 797 7 1 -20.5743 -69.5942 5.55 + 78 110.11 552 7 0 -20.5752 -69.5965 4.15 + 78 110.3 797 6 1 -20.5927 -69.6392 -24.45 + 78 133.054 552 6 0 -20.5936 -69.6413 -25.85 + 78 131.232 797 5 1 -20.6085 -69.683 -54.45 + 78 116.852 551 5 0 -20.6095 -69.6858 -55.85 + 78 122.015 797 4 1 -20.6289 -69.7394 -84.45 + 78 175.354 551 4 0 -20.63 -69.7431 -85.85 + 78 103.156 796 3 1 -20.6537 -69.8214 -114.45 + 78 125.755 551 3 0 -20.6554 -69.8258 -115.85 + 78 119.576 796 2 1 -20.6858 -69.9151 -144.45 + 78 120.047 550 2 0 -20.6867 -69.9192 -145.85 + 78 126.259 796 1 1 -20.7046 -70.0115 -174.45 + 78 104.02 550 1 0 -20.7067 -70.0151 -175.85 + 78 189.17 796 0 1 -20.7469 -70.0916 -204.45 + 78 103.719 549 0 0 -20.7486 -70.0959 -205.85 + 78 50.2317 1312 8 0 -43.0863 82.4617 33.983 + 78 25.1376 85 11 1 -162.95 81.1933 125.38 + 78 98.6485 86 11 1 -162.95 81.2232 125.398 + 78 2511.88 1465 13 0 -172.397 113.347 184.023 + 78 66.336 1464 13 0 -172.16 113.15 184.128 + 78 76.2439 1463 13 0 -172.066 112.95 184.037 + 78 41.7557 1462 13 0 -171.961 112.75 183.881 + 78 57.8011 1192 13 0 -130.086 58.5675 183.75 + 78 99.6249 1191 13 0 -130.063 58.45 183.911 + 78 90.9159 1190 13 0 -130.001 58.25 184.038 + 78 83.0993 1189 13 0 -129.966 58.0499 184.031 + 78 15.8625 1188 13 0 -129.959 57.85 184.12 + 78 61.1771 254 13 1 -129.244 56.9031 185.15 + 78 62.0935 1169 13 0 -128.039 54.0237 184.15 + 78 171.875 266 13 1 -126.86 54.1952 185.15 + 78 2.45486 267 13 1 -126.75 54.1916 185.19 + 78 61.3699 992 2 1 18.4845 -143.183 -144.85 + 78 108.508 15 0 1 -176.95 -49.9127 -204.609 + 78 84.4784 1525 0 0 -81.0149 125.15 -206.15 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 1.36681 LIN +Particle energy: 8.00439 LIN Particle: proton Event: 79 -Number of tracker hits in this event: 56 - 79 113.869 648 11 1 -50.2736 47.7652 125.55 - 79 110.571 1138 11 0 -50.2776 47.7652 124.15 - 79 124.278 648 10 1 -50.3702 47.7581 95.55 - 79 121.411 1138 10 0 -50.374 47.7528 94.15 - 79 149.878 647 9 1 -50.4722 47.6372 65.55 - 79 130.701 1137 9 0 -50.4733 47.6359 64.15 - 79 119.779 647 8 1 -50.4886 47.62 35.55 - 79 313.752 1137 8 0 -50.4898 47.6183 34.15 - 79 118.05 647 7 1 -50.5131 47.5916 5.55 - 79 131.204 1137 7 0 -50.5136 47.5874 4.15 - 79 112.27 647 6 1 -50.5351 47.4811 -24.45 - 79 2740.49 1137 6 0 -50.5397 47.4745 -25.85 - 79 101.949 940 9 0 -47.8662 8.20281 63.7507 - 79 25.7914 939 9 0 -47.8536 8.05 64.0367 - 79 130.428 660 9 1 -47.8575 7.42451 65.15 - 79 52.1829 1149 10 0 -80.4116 49.9013 93.75 - 79 72.8589 1150 10 0 -80.5369 50.0502 93.8071 - 79 82.999 1151 10 0 -80.7541 50.2501 93.7936 - 79 86.7642 1152 10 0 -80.9284 50.4501 93.7766 - 79 59.4434 1153 10 0 -81.1066 50.6505 93.7924 - 79 35.9859 1717 10 0 -147.427 163.65 93.75 - 79 58.0823 1718 10 0 -147.449 163.75 93.8107 - 79 50.3239 1719 10 0 -147.485 163.95 93.9154 - 79 59.3768 1720 10 0 -147.538 164.15 93.9692 - 79 89.9243 1721 10 0 -147.598 164.35 93.9859 - 79 56.6084 1722 10 0 -147.641 164.55 93.9619 - 79 54.4988 1723 10 0 -147.655 164.75 93.9206 - 79 60.0366 1724 10 0 -147.684 164.95 93.864 - 79 87.9971 1023 9 0 -42.7694 24.7673 63.7501 - 79 26.9723 1024 9 0 -42.6996 24.85 64.0577 - 79 57.5209 687 9 1 -42.4996 25.5506 65.15 - 79 62.1439 688 9 1 -42.45 25.6722 65.3362 - 79 4.18628 1437 5 0 -60.1251 107.55 -56.0479 - 79 268.064 1438 5 0 -60.1558 107.75 -56.1474 - 79 2137.3 688 5 1 -42.2904 66.2275 -54.45 - 79 939.438 1235 5 0 -42.1858 67.1455 -55.85 - 79 1633.63 1236 5 0 -42.1733 67.25 -56.0091 - 79 94.1786 622 5 1 -55.6079 49.4472 -54.45 - 79 54.0824 621 5 1 -55.65 49.4648 -54.6922 - 79 165.574 1147 5 0 -55.8513 49.5496 -55.85 - 79 75.2039 596 4 1 -60.8178 51.641 -84.45 - 79 64.5995 595 4 1 -60.85 51.6545 -84.6323 - 79 120.282 1158 4 0 -61.0653 51.7446 -85.85 - 79 122.472 569 3 1 -66.1547 53.8523 -114.45 - 79 123.291 1169 3 0 -66.4007 53.9552 -115.85 - 79 30.1031 543 2 1 -71.432 56.0604 -144.45 - 79 98.9964 542 2 1 -71.45 56.0679 -144.551 - 79 144.288 1180 2 0 -71.6821 56.164 -145.85 - 79 121.316 516 1 1 -76.7873 58.2744 -174.45 - 79 11.2997 515 1 1 -76.85 58.3012 -174.805 - 79 166.015 1191 1 0 -77.0357 58.3802 -175.85 - 79 158.722 489 0 1 -82.1202 60.5368 -204.45 - 79 28.051 1202 0 0 -82.3698 60.6408 -205.85 - 79 67.526 1203 0 0 -82.3919 60.65 -205.974 - 79 371.281 1136 8 0 -50.5502 47.4498 33.9024 - 79 78.7244 1064 8 0 -34.7159 33.0466 33.7501 -Number of digits in this event: 23 +Number of tracker hits in this event: 22 + 79 150.963 962 10 1 12.6297 -102.934 95.55 + 79 178.606 386 10 0 12.6302 -102.934 94.15 + 79 134.36 962 9 1 12.6436 -102.93 65.55 + 79 154.036 386 9 0 12.6437 -102.929 64.15 + 79 119.111 963 8 1 12.6521 -102.91 35.55 + 79 113.962 386 8 0 12.6531 -102.91 34.15 + 79 128.322 963 7 1 12.6722 -102.914 5.55 + 79 118.012 386 7 0 12.6733 -102.914 4.15 + 79 92.6234 963 6 1 12.6921 -102.919 -24.45 + 79 129.431 386 6 0 12.6926 -102.919 -25.85 + 79 218.387 963 5 1 12.7025 -102.911 -54.45 + 79 104.593 386 5 0 12.704 -102.91 -55.85 + 79 119.417 963 4 1 12.7336 -102.894 -84.45 + 79 125.987 386 4 0 12.735 -102.894 -85.85 + 79 110.852 963 3 1 12.7651 -102.888 -114.45 + 79 213.749 386 3 0 12.7669 -102.889 -115.85 + 79 104.327 963 2 1 12.8039 -102.895 -144.45 + 79 208.777 386 2 0 12.8059 -102.895 -145.85 + 79 110.05 963 1 1 12.8459 -102.904 -174.45 + 79 169.704 386 1 0 12.8478 -102.905 -175.85 + 79 126.782 964 0 1 12.8909 -102.929 -204.45 + 79 104.325 386 0 0 12.8936 -102.93 -205.85 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 9.61696 LIN +Particle energy: 8.21259 LIN Particle: proton Event: 80 Number of tracker hits in this event: 24 - 80 115.824 1076 11 1 35.3353 -8.27 125.55 - 80 103.848 858 11 0 35.3359 -8.2699 124.15 - 80 106.677 1076 10 1 35.3487 -8.26844 95.55 - 80 109.109 858 10 0 35.3488 -8.26909 94.15 - 80 91.7064 1076 9 1 35.3511 -8.28164 65.55 - 80 104.628 858 9 0 35.3511 -8.28204 64.15 - 80 224.947 1076 8 1 35.3493 -8.28809 35.55 - 80 122.219 858 8 0 35.3496 -8.28872 34.15 - 80 135.914 1076 7 1 35.3538 -8.30069 5.55 - 80 91.7219 858 7 0 35.3545 -8.30194 4.15 - 80 134.382 1076 6 1 35.3683 -8.32885 -24.45 - 80 141.69 858 6 0 35.3682 -8.33076 -25.85 - 80 113.508 1076 5 1 35.3665 -8.36886 -54.45 - 80 113.632 858 5 0 35.3662 -8.37105 -55.85 - 80 153.113 1076 4 1 35.362 -8.41318 -84.45 - 80 119.226 858 4 0 35.3621 -8.41491 -85.85 - 80 153.518 1076 3 1 35.3636 -8.44745 -114.45 - 80 133.884 858 3 0 35.3635 -8.44935 -115.85 - 80 149.876 1076 2 1 35.3615 -8.49147 -144.45 - 80 104.539 857 2 0 35.362 -8.49286 -145.85 - 80 126.528 1076 1 1 35.3728 -8.51825 -174.45 - 80 119.792 857 1 0 35.3728 -8.51858 -175.85 - 80 135.085 1076 0 1 35.3742 -8.52256 -204.45 - 80 129.445 857 0 0 35.374 -8.52279 -205.85 -Number of digits in this event: 13 + 80 90.2817 883 9 1 -3.4071 -122.429 65.55 + 80 121.081 288 9 0 -3.40696 -122.429 64.15 + 80 106.441 883 8 1 -3.40204 -122.437 35.55 + 80 188.768 288 8 0 -3.40227 -122.436 34.15 + 80 108.92 883 7 1 -3.40611 -122.426 5.55 + 80 123.381 288 7 0 -3.40648 -122.426 4.15 + 80 179.361 883 6 1 -3.40864 -122.425 -24.45 + 80 153.564 288 6 0 -3.40857 -122.425 -25.85 + 80 109.77 883 5 1 -3.41217 -122.42 -54.45 + 80 82.3316 288 5 0 -3.41357 -122.42 -55.85 + 80 128.947 883 4 1 -3.44291 -122.422 -84.45 + 80 173.231 288 4 0 -3.44489 -122.423 -85.85 + 80 114.483 882 3 1 -3.48048 -122.437 -114.45 + 80 116.053 288 3 0 -3.48206 -122.436 -115.85 + 80 175.764 882 2 1 -3.51629 -122.424 -144.45 + 80 138.865 288 2 0 -3.51709 -122.423 -145.85 + 80 287.445 882 1 1 -3.54225 -122.414 -174.45 + 80 78.9324 288 1 0 -3.52921 -122.361 -175.85 + 80 28.872 289 1 0 -3.52633 -122.35 -176.159 + 80 110.187 883 0 1 -3.25895 -121.298 -204.45 + 80 118.721 294 0 0 -3.24561 -121.246 -205.85 + 80 83.7539 884 6 1 -3.25 -122.322 -24.5499 + 80 178.906 885 6 1 -3.04995 -122.317 -24.5814 + 80 82.5083 886 6 1 -2.84996 -122.233 -24.5272 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 8.8827 LIN +Particle energy: 9.72569 LIN Particle: proton Event: 81 -Number of tracker hits in this event: 29 - 81 198.472 447 10 1 -90.6331 46.7623 95.55 - 81 159.23 1133 10 0 -90.6328 46.7619 94.15 - 81 209.21 447 9 1 -90.6262 46.7513 65.55 - 81 125.862 1133 9 0 -90.625 46.751 64.15 - 81 123.803 447 8 1 -90.6007 46.7434 35.55 - 81 102.695 1133 8 0 -90.5999 46.7431 34.15 - 81 156.568 447 7 1 -90.5863 46.7354 5.55 - 81 163.032 1133 7 0 -90.5863 46.735 4.15 - 81 99.1836 447 6 1 -90.5847 46.7253 -24.45 - 81 102.72 1133 6 0 -90.5848 46.724 -25.85 - 81 118.686 447 5 1 -90.5907 46.6979 -54.45 - 81 118.861 1133 5 0 -90.5904 46.6959 -55.85 - 81 155.922 447 4 1 -90.5861 46.6565 -84.45 - 81 234.973 1133 4 0 -90.5854 46.6552 -85.85 - 81 108.98 447 3 1 -90.57 46.63 -114.45 - 81 108.333 1132 3 0 -90.5694 46.6303 -115.85 - 81 110.74 447 2 1 -90.5595 46.6342 -144.45 - 81 108.079 1132 2 0 -90.5594 46.6338 -145.85 - 81 130.301 447 1 1 -90.5523 46.6276 -174.45 - 81 124.342 1132 1 0 -90.5525 46.6267 -175.85 - 81 125.899 447 0 1 -90.5577 46.6103 -204.45 - 81 96.5222 1132 0 0 -90.5581 46.6112 -205.85 - 81 29.2003 184 1 1 -143.223 81.358 -174.554 - 81 13.3611 1384 11 0 -167.446 97.0187 123.869 - 81 158.674 1120 9 1 44.1075 -111.105 65.4169 - 81 6.28065 154 1 1 -149.277 31.1596 -174.85 - 81 200.374 327 10 1 -114.703 92.573 95.3783 - 81 53.7741 1132 4 0 -90.5869 46.6499 -86.1224 - 81 218.755 1038 4 0 -80.2603 27.7364 -86.25 -Number of digits in this event: 18 +Number of tracker hits in this event: 28 + 81 160.307 1331 10 1 86.4235 -17.1701 95.55 + 81 137.594 814 10 0 86.4239 -17.1697 94.15 + 81 113.638 1331 9 1 86.437 -17.1558 65.55 + 81 199.509 814 9 0 86.4372 -17.1557 64.15 + 81 134.87 1331 8 1 86.4392 -17.1544 35.55 + 81 178.441 814 8 0 86.4385 -17.1543 34.15 + 81 372.126 1331 7 1 86.4233 -17.1504 5.55 + 81 120.083 814 7 0 86.4226 -17.1498 4.15 + 81 112.354 1331 6 1 86.4058 -17.1483 -24.45 + 81 119.205 814 6 0 86.4055 -17.1488 -25.85 + 81 133.644 1331 5 1 86.4019 -17.1607 -54.45 + 81 106.557 814 5 0 86.4016 -17.161 -55.85 + 81 109.209 1331 4 1 86.3977 -17.1667 -84.45 + 81 121.899 814 4 0 86.3978 -17.1666 -85.85 + 81 108.434 1331 3 1 86.3997 -17.1657 -114.45 + 81 89.4826 814 3 0 86.3997 -17.1652 -115.85 + 81 115.612 1331 2 1 86.4001 -17.1553 -144.45 + 81 92.5373 814 2 0 86.3996 -17.1554 -145.85 + 81 100.167 1331 1 1 86.3896 -17.1548 -174.45 + 81 140.47 814 1 0 86.3892 -17.1548 -175.85 + 81 270.088 1331 0 1 86.3826 -17.1548 -204.45 + 81 122.646 814 0 0 86.3819 -17.154 -205.85 + 81 84.1276 1330 0 1 86.25 -17.4389 -204.64 + 81 121.862 1329 0 1 86.05 -17.4986 -204.73 + 81 179.153 1328 0 1 85.85 -17.3289 -204.69 + 81 133.007 1327 0 1 85.65 -17.1239 -204.628 + 81 275.742 1332 8 1 86.45 -17.1477 35.4414 + 81 45.8741 1333 8 1 86.65 -17.0383 35.5109 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 9.94294 LIN +Particle energy: 3.98566 LIN Particle: proton Event: 82 -Number of tracker hits in this event: 18 - 82 160.275 1337 8 1 87.59 -112.438 35.55 - 82 121.898 338 8 0 87.59 -112.437 34.15 - 82 204.173 1337 7 1 87.5869 -112.42 5.55 - 82 123.123 338 7 0 87.5864 -112.419 4.15 - 82 112.03 1337 6 1 87.5765 -112.399 -24.45 - 82 122.243 338 6 0 87.5757 -112.398 -25.85 - 82 117.642 1337 5 1 87.5573 -112.38 -54.45 - 82 123.898 338 5 0 87.557 -112.378 -55.85 - 82 135.394 1337 4 1 87.5529 -112.342 -84.45 - 82 171.211 339 4 0 87.5528 -112.341 -85.85 - 82 126.587 1337 3 1 87.5461 -112.317 -114.45 - 82 126.203 339 3 0 87.5456 -112.315 -115.85 - 82 224.243 1337 2 1 87.5384 -112.277 -144.45 - 82 82.1018 339 2 0 87.5373 -112.276 -145.85 - 82 96.232 1337 1 1 87.5141 -112.253 -174.45 - 82 119.927 339 1 0 87.5133 -112.252 -175.85 - 82 126.889 1337 0 1 87.5011 -112.244 -204.45 - 82 109.089 339 0 0 87.5004 -112.244 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 26 + 82 97.7636 874 11 1 -5.20448 79.4935 125.55 + 82 127.682 1297 11 0 -5.20184 79.4932 124.15 + 82 175.94 874 10 1 -5.13993 79.4891 95.55 + 82 131.263 1297 10 0 -5.13634 79.489 94.15 + 82 169.011 874 9 1 -5.06727 79.4897 65.55 + 82 126.308 1297 9 0 -5.06452 79.4898 64.15 + 82 188.816 875 8 1 -5.01575 79.4934 35.55 + 82 293.739 1297 8 0 -5.01404 79.4939 34.15 + 82 113.965 875 7 1 -4.97529 79.5047 5.55 + 82 132.933 1297 7 0 -4.97402 79.5033 4.15 + 82 158.701 875 6 1 -4.94725 79.4718 -24.45 + 82 104.865 1297 6 0 -4.94582 79.4702 -25.85 + 82 115.02 875 5 1 -4.91629 79.4345 -54.45 + 82 224.678 1296 5 0 -4.91534 79.4326 -55.85 + 82 129.612 875 4 1 -4.89188 79.3863 -84.45 + 82 101.008 1296 4 0 -4.89154 79.3824 -85.85 + 82 108.615 875 3 1 -4.88527 79.303 -114.45 + 82 169.153 1296 3 0 -4.88361 79.3005 -115.85 + 82 115.337 875 2 1 -4.85194 79.2476 -144.45 + 82 94.2731 1295 2 0 -4.84915 79.2443 -145.85 + 82 159.445 876 1 1 -4.79561 79.1796 -174.45 + 82 118.045 1295 1 0 -4.79216 79.1761 -175.85 + 82 104.029 876 0 1 -4.71804 79.0996 -204.45 + 82 1038.45 1295 0 0 -4.71369 79.0957 -205.85 + 82 45.8875 1297 5 0 -4.92306 79.45 -56.2187 + 82 98.1954 1296 8 0 -5.05131 79.4499 33.991 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 1.46318 LIN +Particle energy: 7.09464 LIN Particle: proton Event: 83 -Number of tracker hits in this event: 27 - 83 113.085 395 8 1 -101.147 -93.809 35.55 - 83 130.469 431 8 0 -101.145 -93.8117 34.15 - 83 152.244 395 7 1 -101.096 -93.8473 5.55 - 83 177.301 431 7 0 -101.091 -93.8503 4.15 - 83 177.353 395 6 1 -100.98 -93.9093 -24.45 - 83 157.033 431 6 0 -100.974 -93.9121 -25.85 - 83 118.149 396 5 1 -100.873 -93.9644 -54.45 - 83 109.864 430 5 0 -100.869 -93.9646 -55.85 - 83 114.033 396 4 1 -100.779 -93.9792 -84.45 - 83 100.968 430 4 0 -100.774 -93.9799 -85.85 - 83 113.843 397 3 1 -100.664 -93.9985 -114.45 - 83 139.259 430 3 0 -100.665 -94.0018 -115.85 - 83 113.381 397 2 1 -100.681 -94.0659 -144.45 - 83 141.283 430 2 0 -100.682 -94.0715 -145.85 - 83 101.694 397 1 1 -100.717 -94.2002 -174.45 - 83 119.979 429 1 0 -100.721 -94.209 -175.85 - 83 130.534 396 0 1 -100.804 -94.3757 -204.45 - 83 154.81 428 0 0 -100.811 -94.3848 -205.85 - 83 9.20171 396 6 1 -100.95 -93.9186 -24.8135 - 83 68.3553 430 6 0 -100.324 -93.95 -26.0005 - 83 41.7041 592 6 0 -58.5158 -61.5681 -26.25 - 83 108.219 593 6 0 -58.449 -61.4497 -26.1632 - 83 50.244 594 6 0 -58.2939 -61.25 -25.9598 - 83 154.446 613 6 1 -57.3627 -60.179 -24.8499 - 83 182.653 614 6 1 -57.2496 -60.0943 -24.7269 - 83 37.6638 615 6 1 -57.05 -60.0736 -24.5265 - 83 301.261 612 6 1 -57.45 -59.8463 -24.6221 -Number of digits in this event: 13 +Number of tracker hits in this event: 32 + 83 128.728 497 9 1 -80.5875 95.7109 65.55 + 83 113.396 1377 9 0 -80.5877 95.7112 64.15 + 83 188.676 497 8 1 -80.5888 95.717 35.55 + 83 120.487 1377 8 0 -80.5906 95.7152 34.15 + 83 117.297 497 7 1 -80.6274 95.6786 5.55 + 83 124.13 1377 7 0 -80.6289 95.6765 4.15 + 83 150.428 496 6 1 -80.6607 95.632 -24.45 + 83 114.803 1377 6 0 -80.6622 95.63 -25.85 + 83 97.4038 496 5 1 -80.6921 95.5858 -54.45 + 83 144.366 1377 5 0 -80.6936 95.5824 -55.85 + 83 117.32 496 4 1 -80.7236 95.5153 -84.45 + 83 97.4224 1376 4 0 -80.7238 95.5117 -85.85 + 83 211.983 496 3 1 -80.7272 95.433 -114.45 + 83 125.695 1376 3 0 -80.7278 95.4294 -115.85 + 83 107.34 496 2 1 -80.7388 95.3525 -144.45 + 83 250.55 1375 2 0 -80.7395 95.3486 -145.85 + 83 109.407 496 1 1 -80.7533 95.267 -174.45 + 83 103.461 1375 1 0 -80.7533 95.2636 -175.85 + 83 106.167 496 0 1 -80.7536 95.1978 -204.45 + 83 145.543 1375 0 0 -80.753 95.1937 -205.85 + 83 50.7743 139 9 1 -152.238 25.9596 65.217 + 83 0.0787022 189 14 1 -142.35 97.4957 215.257 + 83 0.175607 1453 13 0 -114.511 110.801 184.15 + 83 1241.24 1395 0 0 -76.084 99.2187 -206.25 + 83 735.726 521 0 1 -75.7158 99.5168 -204.85 + 83 490.547 522 0 1 -75.65 99.5701 -204.6 + 83 1651.47 1423 1 0 -69.5305 104.822 -176.25 + 83 1735.38 554 1 1 -69.1957 105.095 -174.85 + 83 2541.51 1458 2 0 -59.4158 111.816 -146.25 + 83 1301.65 605 2 1 -58.9182 112.164 -144.85 + 83 1601.18 606 2 1 -58.85 112.213 -144.659 + 83 114.981 1376 5 0 -80.7015 95.5499 -55.894 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 1.45141 LIN +Particle energy: 4.74643 LIN Particle: proton Event: 84 -Number of tracker hits in this event: 26 - 84 132.31 747 11 1 -30.4662 -33.492 125.55 - 84 128.406 732 11 0 -30.4693 -33.4912 124.15 - 84 154.634 747 10 1 -30.5431 -33.4766 95.55 - 84 118.534 732 10 0 -30.549 -33.4711 94.15 - 84 116.944 746 9 1 -30.6765 -33.3696 65.55 - 84 255.17 733 9 0 -30.6817 -33.361 64.15 - 84 300.042 746 8 1 -30.7812 -33.1737 35.55 - 84 141.371 734 8 0 -30.7809 -33.1639 34.15 - 84 142.049 746 7 1 -30.7795 -32.9553 5.55 - 84 134.303 735 7 0 -30.7781 -32.9443 4.15 - 84 139.808 746 6 1 -30.755 -32.7235 -24.45 - 84 123.881 736 6 0 -30.754 -32.7219 -25.85 - 84 103.902 746 5 1 -30.735 -32.6805 -54.45 - 84 124.511 736 5 0 -30.7347 -32.6811 -55.85 - 84 130.977 746 4 1 -30.7311 -32.6985 -84.45 - 84 127.218 736 4 0 -30.7306 -32.7011 -85.85 - 84 107.28 746 3 1 -30.712 -32.7356 -114.45 - 84 160.895 736 3 0 -30.7089 -32.7397 -115.85 - 84 92.5234 746 2 1 -30.662 -32.8192 -144.45 - 84 97.5408 736 2 0 -30.6619 -32.8214 -145.85 - 84 232.475 746 1 1 -30.6652 -32.8544 -174.45 - 84 173.704 735 1 0 -30.6654 -32.8588 -175.85 - 84 109.796 746 0 1 -30.6674 -32.9468 -204.45 - 84 135.93 735 0 0 -30.6712 -32.9511 -205.85 - 84 97.2227 564 6 1 -67.079 62.3937 -24.85 - 84 298.907 107 1 0 67.5816 -158.55 -176.128 -Number of digits in this event: 21 +Number of tracker hits in this event: 21 + 84 104.735 1244 9 1 68.894 98.5293 65.55 + 84 118.376 1391 9 0 68.8929 98.5291 64.15 + 84 210.412 1244 8 1 68.8728 98.5194 35.55 + 84 105.002 1391 8 0 68.872 98.5196 34.15 + 84 116.283 1244 7 1 68.8599 98.5232 5.55 + 84 106.129 1391 7 0 68.8601 98.524 4.15 + 84 107.156 1244 6 1 68.8615 98.5362 -24.45 + 84 217.193 1391 6 0 68.8618 98.536 -25.85 + 84 103.223 1244 5 1 68.8677 98.5464 -54.45 + 84 124.699 1391 5 0 68.8648 98.5476 -55.85 + 84 90.7872 1243 4 1 68.8052 98.5631 -84.45 + 84 96.9071 1392 4 0 68.8025 98.5644 -85.85 + 84 119.108 1243 3 1 68.743 98.5923 -114.45 + 84 141.242 1392 3 0 68.7406 98.5936 -115.85 + 84 131.455 1243 2 1 68.6867 98.6253 -144.45 + 84 152.85 1392 2 0 68.6848 98.6262 -145.85 + 84 87.8507 1242 1 1 68.6486 98.6471 -174.45 + 84 96.5607 1392 1 0 68.6465 98.6469 -175.85 + 84 100.654 1242 0 1 68.6107 98.6395 -204.45 + 84 121.048 1392 0 0 68.6087 98.6374 -205.85 + 84 46.037 1390 6 0 68.8631 98.35 -26.1382 +Number of digits in this event: 8 Using G4ParticleGun... -Particle energy: 3.11047 LIN +Particle energy: 3.06842 LIN Particle: proton Event: 85 -Number of tracker hits in this event: 26 - 85 218.021 942 10 1 8.61384 -104.262 95.55 - 85 134.214 379 10 0 8.61343 -104.261 94.15 - 85 121.916 942 9 1 8.60311 -104.246 65.55 - 85 181.192 379 9 0 8.60338 -104.244 64.15 - 85 134.197 942 8 1 8.61128 -104.204 35.55 - 85 156.553 379 8 0 8.61323 -104.2 34.15 - 85 105.6 943 7 1 8.65854 -104.123 5.55 - 85 107.267 380 7 0 8.66116 -104.121 4.15 - 85 146.368 943 6 1 8.71586 -104.072 -24.45 - 85 127.451 380 6 0 8.71444 -104.067 -25.85 - 85 101.89 943 5 1 8.68155 -103.965 -54.45 - 85 118.285 380 5 0 8.67989 -103.958 -55.85 - 85 100.677 942 4 1 8.64602 -103.831 -84.45 - 85 100.343 381 4 0 8.6488 -103.826 -85.85 - 85 124.287 943 3 1 8.70253 -103.707 -114.45 - 85 152.483 382 3 0 8.70788 -103.7 -115.85 - 85 164.504 943 2 1 8.82474 -103.554 -144.45 - 85 228.428 383 2 0 8.82979 -103.546 -145.85 - 85 152.805 944 1 1 8.93188 -103.393 -174.45 - 85 153.116 383 1 0 8.94097 -103.383 -175.85 - 85 110.317 945 0 1 9.12907 -103.178 -204.45 - 85 99.2284 384 0 0 9.13772 -103.168 -205.85 - 85 79.433 943 9 1 8.65 -104.248 65.4572 - 85 68.5414 944 9 1 8.85 -104.265 65.3476 - 85 89.4388 945 9 1 9.05012 -104.265 65.3869 - 85 330.804 946 9 1 9.25 -104.389 65.3793 -Number of digits in this event: 16 +Number of tracker hits in this event: 31 + 85 191.743 1450 9 1 110.269 -52.9582 65.55 + 85 157.927 635 9 0 110.274 -52.9582 64.15 + 85 151.787 1451 8 1 110.355 -52.9494 35.55 + 85 158.042 635 8 0 110.359 -52.9479 34.15 + 85 228.913 1451 7 1 110.443 -52.9183 5.55 + 85 196.741 635 7 0 110.448 -52.9205 4.15 + 85 3.84918 1451 6 1 110.55 -52.9548 -24.45 + 85 108.565 1452 6 1 110.55 -52.9548 -24.4701 + 85 120.997 635 6 0 110.556 -52.957 -25.85 + 85 126.922 1452 5 1 110.682 -52.9992 -54.45 + 85 134.768 635 5 0 110.686 -53.0014 -55.85 + 85 174.637 1453 4 1 110.777 -53.0511 -84.45 + 85 152.472 634 4 0 110.782 -53.0553 -85.85 + 85 121.039 1453 3 1 110.873 -53.1431 -114.45 + 85 136.634 634 3 0 110.877 -53.1463 -115.85 + 85 97.5643 1454 2 1 110.963 -53.21 -144.45 + 85 225.911 634 2 0 110.965 -53.214 -145.85 + 85 108.316 1454 1 1 111.01 -53.3001 -174.45 + 85 176.048 633 1 0 111.012 -53.3054 -175.85 + 85 118.145 1454 0 1 111.052 -53.4159 -204.45 + 85 207.215 633 0 0 111.053 -53.4184 -205.85 + 85 123.711 635 4 0 110.784 -53.05 -86.1105 + 85 19.8078 562 5 0 120.655 -67.6008 -56.25 + 85 65.2746 561 5 0 120.674 -67.65 -56.1596 + 85 58.27 560 5 0 120.708 -67.85 -56.1103 + 85 53.9094 559 5 0 120.771 -68.05 -56.1593 + 85 63.3198 1449 9 1 110.15 -52.9133 65.2353 + 85 40.6488 639 9 0 110.398 -52.0708 64.15 + 85 35.8165 1445 9 1 109.214 -50.539 65.15 + 85 7.61074 652 9 0 111.078 -49.6035 64.15 + 85 50.3394 1456 9 1 111.533 -48.7871 65.15 +Number of digits in this event: 18 Using G4ParticleGun... -Particle energy: 1.46097 LIN +Particle energy: 2.94185 LIN Particle: proton Event: 86 -Number of tracker hits in this event: 18 - 86 104.153 228 8 1 -134.521 49.5429 35.55 - 86 100.49 1147 8 0 -134.52 49.5435 34.15 - 86 109.029 228 7 1 -134.515 49.5303 5.55 - 86 165.233 1147 7 0 -134.514 49.5276 4.15 - 86 131.318 228 6 1 -134.49 49.4879 -24.45 - 86 143.46 1147 6 0 -134.484 49.4863 -25.85 - 86 191.681 228 5 1 -134.373 49.4515 -54.45 - 86 188.626 1146 5 0 -134.369 49.4486 -55.85 - 86 168.052 229 4 1 -134.284 49.3989 -84.45 - 86 129.866 1146 4 0 -134.283 49.3991 -85.85 - 86 166.105 229 3 1 -134.268 49.3938 -114.45 - 86 114.726 1146 3 0 -134.272 49.3966 -115.85 - 86 145.706 228 2 1 -134.353 49.4651 -144.45 - 86 118.419 1147 2 0 -134.361 49.4701 -145.85 - 86 117.997 228 1 1 -134.532 49.5962 -174.45 - 86 149.344 1147 1 0 -134.541 49.6044 -175.85 - 86 155.534 227 0 1 -134.736 49.7691 -204.45 - 86 140.109 1148 0 0 -134.743 49.7769 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 53 + 86 136.67 987 11 1 17.5689 -75.6395 125.55 + 86 121.387 522 11 0 17.5667 -75.6385 124.15 + 86 233.788 987 10 1 17.5194 -75.6223 95.55 + 86 113.401 522 10 0 17.518 -75.6197 94.15 + 86 147.615 987 9 1 17.4855 -75.5711 65.55 + 86 105.67 522 9 0 17.4848 -75.5697 64.15 + 86 108.786 987 8 1 17.4588 -75.5388 35.55 + 86 113.965 522 8 0 17.4571 -75.5371 34.15 + 86 115.75 986 7 1 17.4242 -75.5053 5.55 + 86 101.019 522 7 0 17.425 -75.502 4.15 + 86 110.143 986 6 1 17.4431 -75.4355 -24.45 + 86 161.009 523 6 0 17.4437 -75.4313 -25.85 + 86 169.144 987 5 1 17.4792 -75.3311 -54.45 + 86 122.468 523 5 0 17.4792 -75.3255 -55.85 + 86 87.0507 987 4 1 17.473 -75.2177 -84.45 + 86 123.186 524 4 0 17.472 -75.2131 -85.85 + 86 80.0177 987 3 1 17.4542 -75.1176 -114.45 + 86 137.158 524 3 0 17.4542 -75.109 -115.85 + 86 111.046 986 2 1 17.4487 -74.9369 -144.45 + 86 93.5619 525 2 0 17.4481 -74.9289 -145.85 + 86 97.6439 986 1 1 17.432 -74.77 -174.45 + 86 120.277 526 1 0 17.4283 -74.7619 -175.85 + 86 113.814 986 0 1 17.3472 -74.5998 -204.45 + 86 110.803 527 0 0 17.3442 -74.5893 -205.85 + 86 353.785 1024 1 1 25.05 -113.791 -174.785 + 86 94.2475 1023 1 1 24.8498 -114.13 -174.613 + 86 4.29907 693 4 0 75.2927 -41.3439 -86.25 + 86 66.1888 885 4 0 80.708 -2.98978 -86.2496 + 86 91.1084 886 4 0 80.7992 -2.84994 -86.1634 + 86 105.145 887 4 0 80.8891 -2.65 -85.9985 + 86 4.28075 888 4 0 80.7521 -2.44994 -85.8614 + 86 221.132 1298 4 1 79.7365 -2.28723 -84.85 + 86 27.2084 354 2 0 174.225 -109.308 -145.963 + 86 295.249 798 1 0 94.8406 -20.2553 -176.25 + 86 11.4235 1393 1 1 98.9113 -21.2283 -174.85 + 86 61.4448 1394 1 1 98.9502 -21.2381 -174.836 + 86 60.0895 1395 1 1 99.15 -21.2905 -174.806 + 86 79.7544 1396 1 1 99.3502 -21.3365 -174.818 + 86 5.87825 1397 1 1 99.55 -21.331 -174.847 + 86 84.2332 797 1 0 103.388 -20.6421 -175.85 + 86 67.6442 799 1 0 103.641 -20.25 -176.138 + 86 304.532 942 1 0 122.321 8.58677 -176.25 + 86 11.942 720 4 0 -77.5555 -35.9013 -85.8717 + 86 105.51 260 0 0 -13.0662 -128.086 -206.25 + 86 174.533 261 0 0 -13.0478 -127.95 -206.103 + 86 55.9856 1296 7 1 79.45 103.778 5.44456 + 86 0.928538 314 0 0 63.2473 -117.15 -206.176 + 86 22.8265 320 0 0 60.4941 -116.147 -206.018 + 86 305.775 542 5 1 -71.4982 -90.042 -54.4501 + 86 20.3067 543 5 1 -71.4499 -90.0484 -54.6867 + 86 226.048 1484 13 0 -78.7388 116.998 183.849 + 86 0.19399 86 13 1 -162.84 88.2952 185.15 + 86 46.4737 190 8 0 -128.614 -142.063 33.75 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 4.29516 LIN +Particle energy: 4.55199 LIN Particle: proton Event: 87 -Number of tracker hits in this event: 25 - 87 98.2406 884 9 1 -3.14699 -121.663 65.55 - 87 119.685 292 9 0 -3.1486 -121.664 64.15 - 87 117.185 884 8 1 -3.18801 -121.691 35.55 - 87 132.268 292 8 0 -3.19018 -121.693 34.15 - 87 104.499 884 7 1 -3.23775 -121.744 5.55 - 87 119.513 292 7 0 -3.23951 -121.747 4.15 - 87 105.208 883 6 1 -3.2718 -121.816 -24.45 - 87 118.572 291 6 0 -3.27495 -121.818 -25.85 - 87 133.887 883 5 1 -3.34103 -121.849 -54.45 - 87 274.554 291 5 0 -3.34398 -121.85 -55.85 - 87 89.5355 883 4 1 -3.4069 -121.888 -84.45 - 87 156.209 291 4 0 -3.40932 -121.888 -85.85 - 87 107.882 882 3 1 -3.45285 -121.896 -114.45 - 87 113.169 291 3 0 -3.45615 -121.898 -115.85 - 87 111.828 882 2 1 -3.52227 -121.935 -144.45 - 87 112.467 291 2 0 -3.52578 -121.938 -145.85 - 87 94.2859 882 1 1 -3.59536 -122.008 -174.45 - 87 115.477 290 1 0 -3.59873 -122.012 -175.85 - 87 116.854 881 0 1 -3.66915 -122.079 -204.45 - 87 83.8936 290 0 0 -3.67314 -122.083 -205.85 - 87 15.4695 1173 7 1 54.6537 28.9467 5.47706 - 87 63.4907 1611 5 1 142.513 -135.992 -54.5239 - 87 0.0578003 291 8 0 -3.16981 -121.75 33.7501 - 87 50.4253 261 8 0 -47.0007 -127.785 33.7502 - 87 71.9977 262 8 0 -47.0342 -127.75 33.7829 -Number of digits in this event: 8 +Number of tracker hits in this event: 95 + 87 100.377 399 10 1 -100.19 -2.89322 95.55 + 87 139.723 885 10 0 -100.191 -2.89242 94.15 + 87 102.572 399 9 1 -100.193 -2.87968 65.55 + 87 7682.37 885 9 0 -100.191 -2.87869 64.15 + 87 462.004 362 8 1 -107.693 -38.104 35.55 + 87 91.6426 361 8 1 -107.75 -39.3603 35.4809 + 87 76.181 360 8 1 -107.95 -39.5716 35.4675 + 87 8.3898 721 8 0 -110.994 -35.8224 33.75 + 87 1064.88 387 8 1 -102.674 -35.1013 35.55 + 87 99.9202 718 8 0 -102.816 -36.4176 34.15 + 87 639.88 717 8 0 -102.82 -36.45 34.1153 + 87 637.26 716 8 0 -102.841 -36.65 33.9001 + 87 1437.82 370 7 1 -105.978 -62.5843 5.55 + 87 298.099 580 7 0 -106.362 -63.9632 4.15 + 87 720.475 579 7 0 -106.387 -64.05 4.06151 + 87 331.865 578 7 0 -106.443 -64.25 3.85408 + 87 1706.48 327 6 1 -114.573 -91.542 -24.45 + 87 258.739 436 6 0 -114.96 -92.8862 -25.85 + 87 965.25 435 6 0 -114.978 -92.95 -25.9164 + 87 585.666 434 6 0 -115.034 -93.15 -26.1258 + 87 2088.07 281 5 1 -123.768 -120.68 -54.45 + 87 446.945 290 5 0 -123.959 -122.076 -55.85 + 87 1171.29 289 5 0 -123.969 -122.15 -55.9241 + 87 740.263 288 5 0 -123.997 -122.35 -56.1287 + 87 3342 257 4 1 -128.556 -149.312 -84.45 + 87 1560.47 148 4 0 -128.9 -150.428 -85.85 + 87 2646.9 147 4 0 -128.937 -150.55 -85.9995 + 87 347.884 146 4 0 -128.986 -150.75 -86.2213 + 87 2.0856 994 8 1 19.0378 10.1049 35.55 + 87 90.9402 995 8 1 19.05 10.106 35.5471 + 87 65.3404 996 8 1 19.25 10.1246 35.499 + 87 94.019 997 8 1 19.45 10.1429 35.4535 + 87 78.5592 998 8 1 19.65 10.1615 35.4077 + 87 47.192 999 8 1 19.85 10.1802 35.3619 + 87 53.3404 1000 8 1 20.05 10.1988 35.3167 + 87 163.989 1001 8 1 20.25 10.2171 35.2714 + 87 61.4713 1002 8 1 20.45 10.2357 35.2264 + 87 33.0134 1003 8 1 20.65 10.2539 35.1815 + 87 721.339 953 8 0 25.2346 10.6653 34.15 + 87 13.8567 1651 7 1 150.537 21.5213 5.55 + 87 95.6844 1652 7 1 150.55 21.522 5.54692 + 87 67.471 1653 7 1 150.75 21.5331 5.49863 + 87 77.6139 1654 7 1 150.95 21.544 5.45028 + 87 63.5654 1655 7 1 151.15 21.5549 5.4017 + 87 62.6119 1656 7 1 151.35 21.5655 5.35304 + 87 56.3375 1657 7 1 151.55 21.5764 5.30443 + 87 55.3847 1658 7 1 151.75 21.5875 5.25582 + 87 52.7954 1659 7 1 151.95 21.5986 5.20716 + 87 14.1852 1660 7 1 152.15 21.6097 5.15813 + 87 69.4844 1008 7 0 156.252 21.8378 4.15 + 87 401.226 1009 7 0 156.472 21.85 4.09611 + 87 182.499 402 9 1 -99.6684 -3.00633 65.15 + 87 31.3922 403 9 1 -99.55 -3.03546 65.4643 + 87 269.178 877 10 0 -89.3473 -4.63112 93.75 + 87 17.2969 876 10 0 -89.2256 -4.65 94.0876 + 87 164.035 456 10 1 -88.843 -4.71115 95.15 + 87 165.72 865 11 0 -79.1686 -6.89669 123.75 + 87 59.9523 506 11 1 -78.6976 -7.00539 125.15 + 87 98.863 507 11 1 -78.65 -7.01644 125.292 + 87 149.559 857 12 0 -70.0856 -8.60164 153.75 + 87 26.6506 551 12 1 -69.6714 -8.67714 155.15 + 87 168.171 552 12 1 -69.65 -8.68102 155.223 + 87 187.426 849 13 0 -62.3154 -10.1802 183.75 + 87 167.437 590 13 1 -61.9815 -10.2569 185.15 + 87 151.534 842 14 0 -55.4238 -11.4528 213.75 + 87 95.5283 624 14 1 -55.1083 -11.5013 215.15 + 87 38.6317 625 14 1 -55.05 -11.5096 215.41 + 87 39.5853 330 8 1 -114.125 17.0642 35.55 + 87 322.067 329 8 1 -114.15 17.0999 35.4988 + 87 6.45233 989 8 0 -114.814 18.0423 34.15 + 87 272.589 990 8 0 -114.819 18.05 34.139 + 87 104.535 991 8 0 -114.961 18.25 33.8529 + 87 44.0949 256 7 1 -128.909 38.1949 5.55 + 87 337.442 255 7 1 -128.95 38.2499 5.47264 + 87 71.135 1095 7 0 -129.65 39.1917 4.15 + 87 219.454 1096 7 0 -129.694 39.25 4.0682 + 87 67.1395 1097 7 0 -129.842 39.45 3.78843 + 87 297.582 176 6 1 -144.812 59.5567 -24.45 + 87 105.124 175 6 1 -144.95 59.7394 -24.7115 + 87 159.887 1202 6 0 -145.549 60.5308 -25.85 + 87 224.269 1203 6 0 -145.639 60.65 -26.0215 + 87 131.13 97 5 1 -160.66 80.4116 -54.45 + 87 206.464 96 5 1 -160.75 80.5327 -54.624 + 87 111.883 1306 5 0 -161.385 81.384 -55.85 + 87 308.157 1307 5 0 -161.435 81.45 -55.945 + 87 17.4773 1308 5 0 -161.583 81.65 -56.2324 + 87 126.589 20 4 1 -176.069 101.254 -84.45 + 87 184.299 19 4 1 -176.15 101.361 -84.6072 + 87 217.625 1410 4 0 -176.795 102.2 -85.85 + 87 123.078 1411 4 0 -176.91 102.35 -86.0719 + 87 75.8661 1090 7 0 -129.166 38.0644 4.1499 + 87 62.0125 1089 7 0 -129.163 38.05 4.12395 + 87 54.9552 730 8 0 -124.871 -33.9633 33.7501 + 87 117.202 729 8 0 -124.895 -34.0501 33.8215 + 87 240.045 728 8 0 -124.93 -34.25 34.0135 +Number of digits in this event: 53 Using G4ParticleGun... -Particle energy: 6.43265 LIN +Particle energy: 4.33391 LIN Particle: proton Event: 88 -Number of tracker hits in this event: 23 - 88 105.408 400 10 1 -100.009 25.5344 95.55 - 88 111.385 1027 10 0 -100.011 25.5364 94.15 - 88 93.3303 400 9 1 -100.044 25.5776 65.55 - 88 126.621 1027 9 0 -100.045 25.5793 64.15 - 88 110.113 400 8 1 -100.067 25.6125 35.55 - 88 172.258 1027 8 0 -100.069 25.6143 34.15 - 88 121.185 400 7 1 -100.113 25.6435 5.55 - 88 309.852 1027 7 0 -100.115 25.6459 4.15 - 88 189.758 399 6 1 -100.161 25.6976 -24.45 - 88 128.513 1028 6 0 -100.163 25.6992 -25.85 - 88 97.4574 399 5 1 -100.201 25.7296 -54.45 - 88 123.185 1028 5 0 -100.203 25.7319 -55.85 - 88 244.245 399 4 1 -100.252 25.787 -84.45 - 88 140.207 1028 4 0 -100.256 25.7899 -85.85 - 88 95.5995 399 3 1 -100.319 25.8438 -114.45 - 88 100.802 1028 3 0 -100.322 25.8491 -115.85 - 88 52.1154 1029 3 0 -100.323 25.85 -116.076 - 88 110.956 398 2 1 -100.389 25.9601 -144.45 - 88 138.59 1029 2 0 -100.391 25.9655 -145.85 - 88 116.087 398 1 1 -100.432 26.0763 -174.45 - 88 174.925 1030 1 0 -100.434 26.0822 -175.85 - 88 165.224 398 0 1 -100.48 26.2042 -204.45 - 88 105.879 1030 0 0 -100.482 26.2108 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 29 + 88 265.991 1113 9 1 42.8439 -119.958 65.55 + 88 105.411 300 9 0 42.8436 -119.958 64.15 + 88 122.952 1113 8 1 42.8398 -119.946 35.55 + 88 109.633 301 8 0 42.8397 -119.947 34.15 + 88 180.143 1113 7 1 42.8358 -119.95 5.55 + 88 146.107 301 7 0 42.8364 -119.95 4.15 + 88 174.857 1114 6 1 42.8537 -119.943 -24.45 + 88 101.322 301 6 0 42.8543 -119.944 -25.85 + 88 102.067 1114 5 1 42.8651 -119.959 -54.45 + 88 97.1617 300 5 0 42.8666 -119.958 -55.85 + 88 127.523 1114 4 1 42.8964 -119.934 -84.45 + 88 123.243 301 4 0 42.8973 -119.932 -85.85 + 88 120.077 1114 3 1 42.9205 -119.891 -114.45 + 88 125.963 301 3 0 42.9221 -119.889 -115.85 + 88 246.243 1114 2 1 42.9552 -119.851 -144.45 + 88 144.933 301 2 0 42.9589 -119.85 -145.85 + 88 147.03 1114 1 1 43.0311 -119.838 -174.45 + 88 185.798 301 1 0 43.0347 -119.839 -175.85 + 88 178.673 1115 0 1 43.1059 -119.875 -204.45 + 88 150.601 301 0 0 43.1106 -119.877 -205.85 + 88 112.521 300 0 0 43.1086 -119.95 -206.079 + 88 127.377 299 0 0 43.1544 -120.15 -206.09 + 88 6.17963 299 6 0 43.4494 -120.227 -25.85 + 88 43.6702 1118 6 1 43.8323 -120.523 -24.8499 + 88 149.108 1113 6 1 42.7046 -119.929 -24.4504 + 88 3.4228 305 6 0 43.1309 -118.958 -25.8507 + 88 99.9574 306 6 0 43.1368 -118.95 -25.8582 + 88 75.0127 307 6 0 43.3959 -118.75 -25.9435 + 88 176.292 1122 6 1 44.5589 -118.334 -24.85 +Number of digits in this event: 19 Using G4ParticleGun... -Particle energy: 3.60966 LIN +Particle energy: 2.29245 LIN Particle: proton Event: 89 -Number of tracker hits in this event: 24 - 89 126.614 221 8 1 -135.785 50.7625 35.55 - 89 102.392 1153 8 0 -135.785 50.7625 34.15 - 89 112.543 221 7 1 -135.793 50.7586 5.55 - 89 97.3532 1153 7 0 -135.795 50.7578 4.15 - 89 144.405 221 6 1 -135.829 50.7421 -24.45 - 89 134.912 1153 6 0 -135.831 50.7407 -25.85 - 89 125.676 221 5 1 -135.872 50.7095 -54.45 - 89 150.407 1153 5 0 -135.875 50.7094 -55.85 - 89 105.546 221 4 1 -135.941 50.7025 -84.45 - 89 97.4554 1153 4 0 -135.946 50.7013 -85.85 - 89 127.36 220 3 1 -136.044 50.6782 -114.45 - 89 94.8891 1153 3 0 -136.046 50.6757 -115.85 - 89 90.1956 220 2 1 -136.096 50.6239 -144.45 - 89 259.367 1152 2 0 -136.097 50.6206 -145.85 - 89 120.484 220 1 1 -136.103 50.5629 -174.45 - 89 98.2435 1152 1 0 -136.103 50.5637 -175.85 - 89 160.268 220 0 1 -136.099 50.5908 -204.45 - 89 97.3354 1152 0 0 -136.098 50.5942 -205.85 - 89 260.352 222 8 1 -135.75 50.7729 35.4561 - 89 37.1651 1157 8 0 -135.483 51.5676 34.15 - 89 76.0126 1158 8 0 -135.456 51.65 34.0617 - 89 158.008 1159 8 0 -135.451 51.85 33.9368 - 89 81.8523 1253 8 0 -136.827 70.7187 33.7503 - 89 255.295 1254 8 0 -136.955 70.85 33.843 -Number of digits in this event: 13 +Number of tracker hits in this event: 29 + 89 98.9913 1031 10 1 26.3931 86.5495 95.55 + 89 134.421 1332 10 0 26.3922 86.5538 94.15 + 89 117.059 1031 9 1 26.3801 86.6531 65.55 + 89 101.333 1333 9 0 26.3771 86.6584 64.15 + 89 111.909 1031 8 1 26.3022 86.7729 35.55 + 89 241.584 1333 8 0 26.2966 86.7786 34.15 + 89 173.432 1030 7 1 26.1763 86.8984 5.55 + 89 137.272 1334 7 0 26.1678 86.9009 4.15 + 89 104.342 1029 6 1 25.9877 86.9404 -24.45 + 89 106.236 1334 6 0 25.979 86.9402 -25.85 + 89 123.813 1028 5 1 25.7995 86.9389 -54.45 + 89 85.6734 1334 5 0 25.7926 86.938 -55.85 + 89 180.576 1027 4 1 25.6472 86.927 -84.45 + 89 158.109 1334 4 0 25.635 86.925 -85.85 + 89 199.153 1026 3 1 25.3954 86.8817 -114.45 + 89 131.851 1334 3 0 25.3824 86.8801 -115.85 + 89 188.607 1025 2 1 25.1094 86.845 -144.45 + 89 118.919 1333 2 0 25.0974 86.8445 -145.85 + 89 98.6185 1024 1 1 24.854 86.8351 -174.45 + 89 189.306 1333 1 0 24.8417 86.835 -175.85 + 89 97.1182 1022 0 1 24.6042 86.8244 -204.45 + 89 126.867 1333 0 0 24.5946 86.8195 -205.85 + 89 39.153 1334 0 0 24.6181 86.85 -206.165 + 89 61.0402 1025 3 1 25.2498 86.8085 -114.694 + 89 31.2935 1330 3 0 24.4513 86.1197 -115.851 + 89 78.4506 1329 3 0 24.3841 86.05 -115.901 + 89 67.1307 1328 3 0 24.3625 85.8492 -115.915 + 89 88.9948 1009 3 1 21.93 85.1409 -114.85 + 89 408.697 1008 3 1 21.8494 85.1128 -114.808 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 7.88125 LIN +Particle energy: 4.95536 LIN Particle: proton Event: 90 -Number of tracker hits in this event: 25 - 90 193.991 970 11 1 14.065 -11.5464 125.55 - 90 115.31 842 11 0 14.0653 -11.5461 124.15 - 90 113.334 970 10 1 14.0723 -11.5371 95.55 - 90 196.779 842 10 0 14.0726 -11.5363 94.15 - 90 151.374 970 9 1 14.0785 -11.5244 65.55 - 90 82.7465 842 9 0 14.0784 -11.5238 64.15 - 90 132.656 970 8 1 14.0787 -11.5131 35.55 - 90 136.495 842 8 0 14.0786 -11.5126 34.15 - 90 109.112 970 7 1 14.0778 -11.5046 5.55 - 90 88.9285 842 7 0 14.0785 -11.5036 4.15 - 90 133.519 970 6 1 14.0987 -11.4832 -24.45 - 90 105.48 842 6 0 14.0994 -11.4823 -25.85 - 90 102.49 970 5 1 14.1153 -11.4651 -54.45 - 90 112.96 842 5 0 14.1166 -11.464 -55.85 - 90 102.598 970 4 1 14.1468 -11.4401 -84.45 - 90 153.501 843 4 0 14.1491 -11.4386 -85.85 - 90 178.72 970 3 1 14.1992 -11.4069 -114.45 - 90 273.398 843 3 0 14.2014 -11.4042 -115.85 - 90 92.7957 970 2 1 14.2483 -11.3466 -144.45 - 90 128.344 843 2 0 14.2511 -11.3452 -145.85 - 90 95.7647 971 1 1 14.3055 -11.3156 -174.45 - 90 147.165 843 1 0 14.3079 -11.3146 -175.85 - 90 101.724 971 0 1 14.3607 -11.2904 -204.45 - 90 115.206 843 0 0 14.3639 -11.2886 -205.85 - 90 44.8931 842 4 0 14.1424 -11.4503 -86.2275 -Number of digits in this event: 12 +Number of tracker hits in this event: 24 + 90 117.724 1074 8 1 35.0431 -133.166 35.55 + 90 100.193 234 8 0 35.0396 -133.168 34.15 + 90 255.851 1074 7 1 34.9697 -133.21 5.55 + 90 107.594 234 7 0 34.9654 -133.212 4.15 + 90 100.951 1074 6 1 34.8768 -133.254 -24.45 + 90 150.472 234 6 0 34.8729 -133.257 -25.85 + 90 227.202 1073 5 1 34.7935 -133.315 -54.45 + 90 122.031 234 5 0 34.788 -133.318 -55.85 + 90 121.866 1073 4 1 34.6851 -133.373 -84.45 + 90 95.7356 233 4 0 34.6783 -133.377 -85.85 + 90 142.47 1072 3 1 34.5435 -133.449 -114.45 + 90 77.3455 233 3 0 34.5363 -133.452 -115.85 + 90 119.021 1071 2 1 34.3882 -133.523 -144.45 + 90 85.6949 233 2 0 34.3813 -133.526 -145.85 + 90 144.541 1070 1 1 34.2384 -133.578 -174.45 + 90 99.852 232 1 0 34.2306 -133.582 -175.85 + 90 150.207 1070 0 1 34.0793 -133.65 -204.45 + 90 129.581 232 0 0 34.0708 -133.655 -205.85 + 90 39.6424 237 5 0 34.9076 -132.591 -55.8504 + 90 109.716 238 5 0 34.9233 -132.55 -55.937 + 90 159.062 307 5 0 67.2929 -118.721 -56.25 + 90 18.2277 308 5 0 67.5971 -118.55 -55.9011 + 90 370.801 1238 5 1 67.7293 -118.155 -54.85 + 90 351.876 1239 5 1 67.85 -117.983 -54.5461 +Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 2.70592 LIN +Particle energy: 8.58477 LIN Particle: proton Event: 91 -Number of tracker hits in this event: 22 - 91 95.2755 1413 10 1 102.782 46.3973 95.55 - 91 121.373 1131 10 0 102.782 46.3985 94.15 - 91 97.2317 1413 9 1 102.787 46.427 65.55 - 91 161.973 1131 9 0 102.787 46.4279 64.15 - 91 127.839 1413 8 1 102.79 46.4381 35.55 - 91 104.829 1131 8 0 102.791 46.4365 34.15 - 91 108.859 1413 7 1 102.799 46.4042 5.55 - 91 138.457 1131 7 0 102.798 46.4019 4.15 - 91 137.692 1413 6 1 102.777 46.3598 -24.45 - 91 104.85 1131 6 0 102.776 46.3569 -25.85 - 91 131.007 1413 5 1 102.766 46.2963 -54.45 - 91 141.476 1131 5 0 102.767 46.2936 -55.85 - 91 119.194 1413 4 1 102.77 46.2459 -84.45 - 91 109.057 1130 4 0 102.77 46.2453 -85.85 - 91 107.179 1413 3 1 102.783 46.2421 -114.45 - 91 111.91 1130 3 0 102.784 46.2427 -115.85 - 91 99.5526 1413 2 1 102.797 46.2509 -144.45 - 91 107.548 1131 2 0 102.8 46.2527 -145.85 - 91 146.056 1413 1 1 102.859 46.2861 -174.45 - 91 234.403 1131 1 0 102.858 46.2873 -175.85 - 91 115.259 1413 0 1 102.838 46.3128 -204.45 - 91 130.347 1131 0 0 102.839 46.3128 -205.85 +Number of tracker hits in this event: 18 + 91 110.72 1471 7 1 114.416 -94.8388 5.55 + 91 128.394 426 7 0 114.416 -94.8391 4.15 + 91 179.358 1471 6 1 114.426 -94.845 -24.45 + 91 167.836 426 6 0 114.426 -94.8451 -25.85 + 91 109.248 1471 5 1 114.433 -94.8446 -54.45 + 91 114.925 426 5 0 114.434 -94.8441 -55.85 + 91 124.103 1471 4 1 114.442 -94.8343 -84.45 + 91 122.241 426 4 0 114.442 -94.8343 -85.85 + 91 98.0777 1471 3 1 114.438 -94.8306 -114.45 + 91 145.956 426 3 0 114.438 -94.8303 -115.85 + 91 96.6911 1471 2 1 114.436 -94.8219 -144.45 + 91 157.905 426 2 0 114.435 -94.822 -145.85 + 91 99.6776 1471 1 1 114.426 -94.8252 -174.45 + 91 98.2475 426 1 0 114.426 -94.8257 -175.85 + 91 123.934 1471 0 1 114.42 -94.8377 -204.45 + 91 233.1 426 0 0 114.419 -94.8357 -205.85 + 91 157.251 1787 4 1 177.597 9.96238 -84.85 + 91 2.35415 1788 4 1 177.75 9.98718 -84.6515 Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 6.51731 LIN +Particle energy: 5.55448 LIN Particle: proton Event: 92 -Number of tracker hits in this event: 34 - 92 88.448 501 11 1 -79.6832 -5.08452 125.55 - 92 131.584 874 11 0 -79.6826 -5.08367 124.15 - 92 155.214 501 10 1 -79.671 -5.0669 95.55 - 92 101.807 874 10 0 -79.6709 -5.06708 94.15 - 92 159.718 501 9 1 -79.6709 -5.06965 65.55 - 92 152.552 874 9 0 -79.6704 -5.07002 64.15 - 92 105.028 501 8 1 -79.6578 -5.08296 35.55 - 92 124.097 874 8 0 -79.6572 -5.08278 34.15 - 92 114.369 502 7 1 -79.6472 -5.0764 5.55 - 92 142.74 874 7 0 -79.6465 -5.07704 4.15 - 92 104.596 502 6 1 -79.6359 -5.08733 -24.45 - 92 115.135 874 6 0 -79.6353 -5.08807 -25.85 - 92 119.906 502 5 1 -79.62 -5.10339 -54.45 - 92 118.175 874 5 0 -79.6175 -5.10334 -55.85 - 92 160.742 502 4 1 -79.5699 -5.10055 -84.45 - 92 286.91 874 4 0 -79.5678 -5.10021 -85.85 - 92 109.557 502 3 1 -79.5254 -5.09726 -114.45 - 92 120.708 874 3 0 -79.5241 -5.08746 -115.85 - 92 172.107 502 2 1 -79.4981 -4.88057 -144.45 - 92 99.9741 875 2 0 -79.4969 -4.87064 -145.85 - 92 277.756 502 1 1 -79.4729 -4.66902 -174.45 - 92 121.535 876 1 0 -79.4713 -4.65768 -175.85 - 92 118.585 503 0 1 -79.4441 -4.42127 -204.45 - 92 146.369 878 0 0 -79.442 -4.40949 -205.85 - 92 189.115 877 1 0 -79.4706 -4.65 -176.151 - 92 158.85 501 1 1 -79.65 -4.47269 -174.6 - 92 157.691 500 1 1 -79.85 -4.33928 -174.553 - 92 93.7805 502 9 1 -79.65 -5.04008 65.4391 - 92 82.783 503 9 1 -79.45 -4.87366 65.2853 - 92 21.0578 504 9 1 -79.25 -4.73935 65.1985 - 92 33.2751 878 9 0 -78.2041 -4.44809 64.15 - 92 141.51 877 9 0 -78.1323 -4.45001 64.1023 - 92 198.768 876 9 0 -77.9571 -4.65 63.8385 - 92 91.0018 968 9 0 -100.213 13.7281 63.7501 -Number of digits in this event: 20 -Using G4ParticleGun... -Particle energy: 8.07078 LIN +Number of tracker hits in this event: 206 + 92 108.285 814 10 1 -17.1161 102.708 95.55 + 92 126.246 1412 10 0 -17.1167 102.708 94.15 + 92 119.217 814 9 1 -17.1354 102.707 65.55 + 92 107.77 1412 9 0 -17.1362 102.707 64.15 + 92 211.556 814 8 1 -17.1496 102.723 35.55 + 92 159.404 1412 8 0 -17.1505 102.725 34.15 + 92 118.373 814 7 1 -17.1696 102.756 5.55 + 92 25600.4 1413 7 0 -17.1719 102.757 4.15 + 92 11171.9 1412 7 0 -17.1726 102.75 3.78326 + 92 107.153 811 7 1 -17.7326 99.3583 5.2525 + 92 9891.47 1411 7 0 -17.6048 102.55 3.82547 + 92 3300.09 1414 7 0 -16.7105 102.95 4.05401 + 92 2493.92 825 7 1 -14.905 103.519 5.15 + 92 4.92188 598 6 1 -60.4496 99.5986 -24.45 + 92 2683.47 597 6 1 -60.45 99.5985 -24.4502 + 92 4846.48 596 6 1 -60.65 99.5739 -24.5691 + 92 125.911 1296 9 0 0.116776 79.3629 63.7501 + 92 67.7032 900 9 1 0.209137 78.9928 65.15 + 92 38.4753 901 9 1 0.250055 78.9083 65.4077 + 92 17.2892 1266 10 0 13.1762 73.2672 93.7501 + 92 115.074 1265 10 0 13.2156 73.25 93.8146 + 92 58.7903 971 10 1 14.3297 72.9015 95.15 + 92 305.029 972 10 1 14.45 72.88 95.3122 + 92 121.423 1277 9 0 6.8284 75.5941 63.75 + 92 38.8842 1276 9 0 6.96026 75.45 64.0713 + 92 51.873 936 9 1 7.3957 74.967 65.15 + 92 116.097 937 9 1 7.45 74.9068 65.2845 + 92 60.4724 1209 10 0 18.8057 61.9269 93.75 + 92 108.665 1208 10 0 18.8729 61.85 93.9186 + 92 74.5989 996 10 1 19.3571 61.286 95.15 + 92 100.955 997 10 1 19.45 61.1777 95.3866 + 92 57.0727 1137 11 0 30.7701 47.5562 123.75 + 92 61.7898 1136 11 0 30.8592 47.45 123.971 + 92 101.604 1056 11 1 31.3216 46.8645 125.15 + 92 30.4399 1057 11 1 31.45 46.7042 125.474 + 92 72.0935 1066 12 0 38.3769 33.367 153.75 + 92 55.0328 1065 12 0 38.4393 33.2495 153.998 + 92 116.692 1093 12 1 38.7381 32.7008 155.15 + 92 165.567 1007 13 0 46.0061 21.57 183.75 + 92 74.2739 1006 13 0 46.0873 21.45 184.059 + 92 90.3378 1131 13 1 46.3888 21.0008 185.15 + 92 56.0387 1132 13 1 46.45 20.9088 185.373 + 92 62.8609 958 14 0 52.6315 11.7082 213.75 + 92 59.4337 957 14 0 52.6714 11.65 213.931 + 92 150.546 1164 14 1 52.9558 11.2699 215.15 + 92 0.391882 1165 14 1 53.05 11.1447 215.544 + 92 385.612 872 6 1 -5.60884 78.928 -24.45 + 92 73.2201 1288 6 0 -5.07223 77.7213 -25.85 + 92 212.868 1287 6 0 -5.04049 77.65 -25.9327 + 92 73.0214 1286 6 0 -4.95142 77.45 -26.1647 + 92 54.047 928 5 1 5.8291 53.0301 -54.45 + 92 332.467 929 5 1 5.85 52.9835 -54.5035 + 92 178.913 1158 5 0 6.38329 51.8173 -55.85 + 92 184.507 1157 5 0 6.4603 51.65 -56.0437 + 92 151.138 988 4 1 17.7924 27.1739 -84.45 + 92 283.188 989 4 1 17.85 27.0621 -84.5811 + 92 175.058 1029 4 0 18.4075 25.9891 -85.85 + 92 287.36 1028 4 0 18.48 25.85 -86.0146 + 92 221.317 1054 3 1 30.9614 1.87023 -114.45 + 92 216.849 1055 3 1 31.05 1.70218 -114.661 + 92 116.643 903 3 0 31.5515 0.752375 -115.85 + 92 197.152 902 3 0 31.6056 0.65 -115.978 + 92 148.163 901 3 0 31.7114 0.45 -116.228 + 92 271.403 1117 2 1 43.5524 -22.129 -144.45 + 92 306.228 1118 2 1 43.65 -22.3169 -144.677 + 92 206.209 783 2 0 44.1575 -23.2898 -145.85 + 92 231 782 2 0 44.2411 -23.45 -146.043 + 92 344.784 1182 1 1 56.4756 -47.0365 -174.45 + 92 143.304 659 1 0 57.079 -48.1387 -175.85 + 92 278.509 658 1 0 57.1402 -48.25 -175.991 + 92 4.29243 657 1 0 57.25 -48.45 -176.244 + 92 13.0598 1246 0 1 69.4422 -70.796 -204.45 + 92 360.891 1247 0 1 69.45 -70.81 -204.468 + 92 257.166 540 0 0 70.058 -71.8895 -205.85 + 92 175.812 539 0 0 70.1477 -72.05 -206.056 + 92 34.9275 1253 0 1 70.7524 -71.7971 -204.85 + 92 29.9419 545 0 0 70.5145 -70.8873 -205.85 + 92 74.9011 1250 0 1 70.1432 -70.5348 -204.85 + 92 169.891 791 6 1 -21.7356 100.441 -24.45 + 92 143.222 1401 6 0 -21.9376 100.368 -25.85 + 92 25.8242 1400 6 0 -21.9863 100.35 -26.1877 + 92 206.909 769 5 1 -26.0648 98.9723 -54.45 + 92 214.004 1393 5 0 -26.2571 98.9477 -55.85 + 92 252.296 749 4 1 -30.1914 98.4427 -84.45 + 92 191.74 1390 4 0 -30.3675 98.245 -85.85 + 92 215.238 730 3 1 -33.8735 94.2927 -114.45 + 92 287.823 1369 3 0 -34.0651 94.1054 -115.85 + 92 214.868 709 2 1 -38.1905 90.2261 -144.45 + 92 206.212 1349 2 0 -38.3511 90.0262 -145.85 + 92 14.4741 691 1 1 -41.8447 86.2285 -174.45 + 92 171.973 690 1 1 -41.85 86.2229 -174.486 + 92 235.264 1329 1 0 -42.0425 86.0149 -175.85 + 92 202.475 671 0 1 -45.7556 81.9022 -204.45 + 92 208.847 1308 0 0 -46.0417 81.7104 -205.85 + 92 84.5014 924 6 1 4.85123 82.766 -24.45 + 92 47.9567 925 6 1 5.05 82.5827 -24.7111 + 92 61.33 1308 6 0 5.91342 81.7848 -25.85 + 92 79.0922 1307 6 0 6.05925 81.65 -26.0424 + 92 46.753 1037 5 1 27.5714 61.6746 -54.45 + 92 106.396 1038 5 1 27.65 61.599 -54.5603 + 92 2.77214 1039 5 1 27.85 61.4064 -54.842 + 92 40.7214 1203 5 0 28.5673 60.7153 -55.85 + 92 142.815 1202 5 0 28.635 60.65 -55.9452 + 92 6.51971 1201 5 0 28.8427 60.45 -56.2367 + 92 139.865 1144 4 1 48.8929 41.0953 -84.45 + 92 69.3679 1145 4 1 49.05 40.9396 -84.6741 + 92 49.1372 1100 4 0 49.8715 40.1254 -85.85 + 92 127.28 1099 4 0 49.9475 40.05 -85.9589 + 92 0.899818 1098 4 0 50.1492 39.85 -86.248 + 92 62.9967 1248 3 1 69.7474 20.4144 -114.45 + 92 115.169 1249 3 1 69.85 20.3146 -114.597 + 92 11.0698 997 3 0 70.7248 19.4659 -115.85 + 92 101.329 996 3 0 70.7412 19.45 -115.873 + 92 35.0455 995 3 0 70.9473 19.25 -116.169 + 92 12.3229 1352 2 1 90.7238 0.104049 -144.45 + 92 39.7285 1353 2 1 90.75 0.0780699 -144.488 + 92 18.9934 1354 2 1 90.95 -0.120335 -144.78 + 92 0.0661638 896 2 0 91.677 -0.848647 -145.85 + 92 113.712 895 2 0 91.6784 -0.85 -145.852 + 92 39.9816 894 2 0 91.8781 -1.05 -146.146 + 92 46.1953 1456 1 1 111.456 -20.319 -174.45 + 92 86.2851 1457 1 1 111.55 -20.3992 -174.561 + 92 13.6895 1458 1 1 111.75 -20.5699 -174.799 + 92 66.413 793 1 0 112.637 -21.3243 -175.85 + 92 93.9413 792 1 0 112.785 -21.45 -176.025 + 92 109.198 1583 0 1 136.795 -41.8684 -204.45 + 92 100.144 1584 0 1 136.95 -42.0027 -204.635 + 92 81.4058 685 0 0 137.97 -42.8858 -205.85 + 92 55.1839 684 0 0 138.16 -43.05 -206.076 + 92 91.0233 1002 3 0 70.5575 20.477 -115.85 + 92 46.9073 1001 3 0 70.5404 20.45 -115.937 + 92 271.828 820 6 1 -15.9762 142.07 -24.45 + 92 94.0528 1619 6 0 -15.9127 143.969 -25.85 + 92 123.985 1620 6 0 -15.9065 144.15 -25.9836 + 92 96.5388 1621 6 0 -15.8996 144.35 -26.1312 + 92 287.141 1415 7 0 -17.3489 103.15 3.82504 + 92 219.151 1416 7 0 -17.4405 103.35 3.84286 + 92 134.299 1417 7 0 -17.5303 103.55 3.86087 + 92 156.177 1418 7 0 -17.6201 103.75 3.8797 + 92 119.396 1419 7 0 -17.7099 103.95 3.89838 + 92 164.097 1420 7 0 -17.7996 104.15 3.91946 + 92 159.725 1421 7 0 -17.8862 104.35 3.92895 + 92 132.773 1422 7 0 -17.9729 104.55 3.93805 + 92 167.347 1423 7 0 -18.06 104.75 3.94861 + 92 116.504 1424 7 0 -18.1461 104.95 3.9608 + 92 121.807 1425 7 0 -18.2333 105.15 3.9727 + 92 246.329 1426 7 0 -18.3206 105.35 3.98297 + 92 218.97 1427 7 0 -18.4075 105.55 3.99236 + 92 164.615 1428 7 0 -18.4963 105.75 4.00174 + 92 121.607 1429 7 0 -18.5852 105.95 4.01135 + 92 197.533 1430 7 0 -18.6772 106.15 4.02251 + 92 150.168 1431 7 0 -18.7702 106.35 4.03216 + 92 143.63 1432 7 0 -18.8623 106.55 4.04133 + 92 284.181 1433 7 0 -18.9534 106.75 4.04973 + 92 145.506 1434 7 0 -19.0433 106.95 4.062 + 92 240.942 1435 7 0 -19.129 107.15 4.07403 + 92 173.971 1436 7 0 -19.2145 107.35 4.08765 + 92 109.651 1437 7 0 -19.2993 107.55 4.1003 + 92 139.243 1438 7 0 -19.3851 107.75 4.11561 + 92 119.875 1439 7 0 -19.472 107.95 4.13175 + 92 10.7145 1440 7 0 -19.5565 108.15 4.14866 + 92 307.57 778 7 1 -24.2592 119.096 5.15 + 92 451.374 777 7 1 -24.45 119.54 5.19062 + 92 377.475 776 7 1 -24.65 120.001 5.23104 + 92 349.39 775 7 1 -24.85 120.488 5.26925 + 92 473.009 774 7 1 -25.05 120.966 5.30319 + 92 388.922 773 7 1 -25.25 121.429 5.34622 + 92 308.29 772 7 1 -25.45 121.887 5.39227 + 92 292.311 771 7 1 -25.65 122.342 5.4342 + 92 313.816 770 7 1 -25.85 122.772 5.47717 + 92 142.919 769 7 1 -26.05 123.186 5.52474 + 92 209.046 1440 8 0 9.4576 108.308 33.75 + 92 130.999 1439 8 0 9.76839 108.15 33.9779 + 92 37.479 956 8 1 11.3797 107.279 35.15 + 92 99.8499 957 8 1 11.45 107.241 35.2007 + 92 59.5906 958 8 1 11.65 107.132 35.3433 + 92 29.2359 959 8 1 11.8501 107.018 35.4883 + 92 29.4687 1314 9 0 36.373 82.9171 63.75 + 92 102.38 1313 9 0 36.4399 82.85 63.8272 + 92 40.9012 1312 9 0 36.6341 82.65 64.0486 + 92 36.0555 1087 9 1 37.5676 81.6536 65.1502 + 92 106.556 1088 9 1 37.65 81.5652 65.2484 + 92 29.9684 1089 9 1 37.85 81.3615 65.4763 + 92 192.45 1213 10 0 46.0485 62.8498 93.75 + 92 58.9987 1212 10 0 46.1242 62.65 94.0283 + 92 112.826 1131 10 1 46.3841 61.7417 95.15 + 92 47.8857 1132 10 1 46.45 61.5067 95.4481 + 92 6.63453 1003 11 0 46.8758 20.6764 123.75 + 92 76.2225 1002 11 0 46.8761 20.65 123.769 + 92 114.985 1001 11 0 46.872 20.45 123.944 + 92 26.9336 1000 11 0 46.8563 20.25 124.141 + 92 214.524 1133 11 1 46.7242 19.2221 125.15 + 92 14.062 685 12 0 55.1089 -42.9982 153.75 + 92 82.0004 684 12 0 55.1166 -43.05 153.775 + 92 57.3989 683 12 0 55.1457 -43.25 153.869 + 92 59.2142 682 12 0 55.1712 -43.45 153.973 + 92 38.7458 681 12 0 55.2042 -43.6504 154.082 + 92 217.132 1178 12 1 55.6779 -45.2812 155.15 + 92 11.0621 555 13 0 57.7753 -69.0348 183.75 + 92 154.817 554 13 0 57.7768 -69.05 183.767 + 92 81.8175 553 13 0 57.8404 -69.2502 183.925 + 92 33.6202 552 13 0 57.9376 -69.4504 184.113 + 92 193.789 1192 13 1 58.4673 -71.1422 185.15 + 92 155.664 1193 13 1 58.65 -71.6441 185.43 + 92 77.7764 1258 12 1 71.65 -88.3524 155.456 + 92 2.80197 1234 1 1 66.85 172.229 -174.807 +Number of digits in this event: 100 +Using G4ParticleGun... +Particle energy: 3.2511 LIN Particle: proton Event: 93 -Number of tracker hits in this event: 23 - 93 242.418 391 10 1 -101.87 -28.7758 95.55 - 93 212.27 756 10 0 -101.869 -28.7766 94.15 - 93 115.706 391 9 1 -101.852 -28.7876 65.55 - 93 129.985 756 9 0 -101.851 -28.787 64.15 - 93 126.838 391 8 1 -101.829 -28.7748 35.55 - 93 116.663 756 8 0 -101.827 -28.7748 34.15 - 93 99.3837 391 7 1 -101.801 -28.7704 5.55 - 93 136.953 756 7 0 -101.8 -28.7693 4.15 - 93 100.768 391 6 1 -101.771 -28.7509 -24.45 - 93 106.638 756 6 0 -101.77 -28.75 -25.85 - 93 140.066 392 5 1 -101.742 -28.7328 -54.45 - 93 93.8094 756 5 0 -101.741 -28.7322 -55.85 - 93 129.561 392 4 1 -101.724 -28.719 -84.45 - 93 99.844 756 4 0 -101.723 -28.718 -85.85 - 93 286.912 392 3 1 -101.711 -28.696 -114.45 - 93 105.259 756 3 0 -101.711 -28.6931 -115.85 - 93 134.55 392 2 1 -101.709 -28.6372 -144.45 - 93 124.783 757 2 0 -101.708 -28.6353 -145.85 - 93 120.345 392 1 1 -101.703 -28.5978 -174.45 - 93 154.741 757 1 0 -101.703 -28.5959 -175.85 - 93 127.661 392 0 1 -101.711 -28.5546 -204.45 - 93 149.146 757 0 0 -101.712 -28.5525 -205.85 - 93 56.815 756 2 0 -101.805 -28.6501 -146.244 -Number of digits in this event: 16 +Number of tracker hits in this event: 21 + 93 191.889 534 9 1 -73.19 -111.548 65.55 + 93 149.508 343 9 0 -73.1904 -111.547 64.15 + 93 99.8039 534 8 1 -73.2012 -111.526 35.55 + 93 92.4989 343 8 0 -73.2026 -111.525 34.15 + 93 119.787 534 7 1 -73.2278 -111.506 5.55 + 93 327.871 343 7 0 -73.2294 -111.506 4.15 + 93 128.336 533 6 1 -73.2579 -111.492 -24.45 + 93 116.764 343 6 0 -73.2585 -111.492 -25.85 + 93 113.447 533 5 1 -73.2684 -111.493 -54.45 + 93 134.495 343 5 0 -73.2685 -111.491 -55.85 + 93 119.453 533 4 1 -73.2729 -111.44 -84.45 + 93 91.3826 343 4 0 -73.2725 -111.437 -85.85 + 93 111.52 533 3 1 -73.2659 -111.383 -114.45 + 93 150.516 343 3 0 -73.2656 -111.378 -115.85 + 93 127.773 533 2 1 -73.265 -111.27 -144.45 + 93 105.442 344 2 0 -73.2668 -111.264 -145.85 + 93 96.5084 533 1 1 -73.3125 -111.151 -174.45 + 93 183.028 345 1 0 -73.3159 -111.145 -175.85 + 93 147.893 533 0 1 -73.3855 -111.021 -204.45 + 93 128.57 345 0 0 -73.3897 -111.013 -205.85 + 93 23.7802 342 7 0 -73.236 -111.55 4.05226 +Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 1.11465 LIN +Particle energy: 1.75022 LIN Particle: proton Event: 94 -Number of tracker hits in this event: 35 - 94 313.7 663 10 1 -47.3198 92.1301 95.55 - 94 178.31 1359 10 0 -47.3166 92.129 94.15 - 94 106.355 663 9 1 -47.2543 92.0885 65.55 - 94 135.265 1359 9 0 -47.253 92.0861 64.15 - 94 117.813 664 8 1 -47.2438 92.0343 35.55 - 94 109.032 1359 8 0 -47.2443 92.0256 34.15 - 94 128.622 664 7 1 -47.2439 91.8172 5.55 - 94 166.164 1358 7 0 -47.2416 91.8158 4.15 - 94 117.95 664 6 1 -47.2004 91.7849 -24.45 - 94 128.039 1358 6 0 -47.1926 91.7836 -25.85 - 94 119.133 665 5 1 -47.0434 91.7678 -54.45 - 94 142.88 1358 5 0 -47.0363 91.7658 -55.85 - 94 129.87 665 4 1 -46.8898 91.7281 -84.45 - 94 206.403 1357 4 0 -46.8856 91.7235 -85.85 - 94 121.402 666 3 1 -46.7894 91.6151 -114.45 - 94 110.694 1357 3 0 -46.7815 91.6091 -115.85 - 94 105.879 667 2 1 -46.6321 91.4954 -144.45 - 94 118.845 1356 2 0 -46.6274 91.4838 -145.85 - 94 164.898 667 1 1 -46.5367 91.2483 -174.45 - 94 123.379 1355 1 0 -46.5348 91.2337 -175.85 - 94 140.303 667 0 1 -46.4892 90.9348 -204.45 - 94 128.45 1353 0 0 -46.4871 90.9199 -205.85 - 94 46.9258 1168 0 0 -118.709 53.7462 -206.25 - 94 108.646 1167 0 0 -118.762 53.6497 -206.092 - 94 48.5625 302 0 1 -119.666 52.7718 -204.85 - 94 105.03 301 0 1 -119.75 52.6913 -204.731 - 94 62.3222 300 0 1 -120.024 52.6415 -204.45 - 94 117.187 299 0 1 -120.15 52.8273 -204.504 - 94 87.1912 298 0 1 -120.35 53.2251 -204.53 - 94 206.691 297 0 1 -120.55 53.473 -204.467 - 94 141.771 296 0 1 -120.75 54.2167 -204.671 - 94 11.2231 1183 0 0 -122.103 56.8216 -205.85 - 94 252.737 1184 0 0 -122.116 56.8506 -205.86 - 94 160.34 1185 0 0 -122.325 57.0502 -205.951 - 94 22.1664 1186 0 0 -122.698 57.25 -206.16 -Number of digits in this event: 20 +Number of tracker hits in this event: 24 + 94 106.612 937 11 1 7.62669 21.1543 125.55 + 94 155.755 1005 11 0 7.62844 21.1505 124.15 + 94 215.721 937 10 1 7.64485 21.0774 95.55 + 94 105.064 1005 10 0 7.64303 21.0739 94.15 + 94 108.675 937 9 1 7.60386 21.0061 65.55 + 94 127.786 1004 9 0 7.59733 20.9988 64.15 + 94 140.811 937 8 1 7.47721 20.8397 35.55 + 94 163.482 1003 8 0 7.47598 20.8343 34.15 + 94 117.083 937 7 1 7.45275 20.7216 5.55 + 94 110.154 1003 7 0 7.45182 20.7175 4.15 + 94 207.884 936 6 1 7.41703 20.6535 -24.45 + 94 96.6739 1003 6 0 7.41534 20.6531 -25.85 + 94 102.883 936 5 1 7.38443 20.6571 -54.45 + 94 138.142 1003 5 0 7.39174 20.6611 -55.85 + 94 111.682 937 4 1 7.56126 20.7526 -84.45 + 94 113.396 1003 4 0 7.56832 20.756 -85.85 + 94 150.072 938 3 1 7.71255 20.828 -114.45 + 94 117.994 1003 3 0 7.71851 20.8298 -115.85 + 94 119.36 938 2 1 7.8411 20.8521 -144.45 + 94 124.876 1004 2 0 7.84501 20.8509 -145.85 + 94 146.023 939 1 1 7.91519 20.8303 -174.45 + 94 109.233 1003 1 0 7.91042 20.8386 -175.85 + 94 113.801 938 0 1 7.8146 21.0052 -204.45 + 94 199.949 1004 0 0 7.81108 21.0145 -205.85 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 6.43164 LIN +Particle energy: 8.00582 LIN Particle: proton Event: 95 -Number of tracker hits in this event: 24 - 95 110.549 624 11 1 -55.1404 2.05182 125.55 - 95 150.384 910 11 0 -55.1403 2.05287 124.15 - 95 113.206 624 10 1 -55.1399 2.07721 95.55 - 95 123.124 910 10 0 -55.1401 2.07829 94.15 - 95 100.643 624 9 1 -55.1489 2.0977 65.55 - 95 110.725 910 9 0 -55.1489 2.09851 64.15 - 95 129.822 624 8 1 -55.1484 2.11118 35.55 - 95 136.007 910 8 0 -55.1478 2.11155 34.15 - 95 159.075 624 7 1 -55.1338 2.11696 5.55 - 95 119.228 910 7 0 -55.1339 2.1166 4.15 - 95 116.676 624 6 1 -55.1357 2.11088 -24.45 - 95 100.328 910 6 0 -55.1359 2.11082 -25.85 - 95 103.328 624 5 1 -55.1389 2.11298 -54.45 - 95 117.46 910 5 0 -55.1381 2.11311 -55.85 - 95 159.844 624 4 1 -55.1163 2.11554 -84.45 - 95 115.437 910 4 0 -55.1159 2.11629 -85.85 - 95 94.7035 624 3 1 -55.1102 2.13376 -114.45 - 95 169.966 910 3 0 -55.1093 2.13425 -115.85 - 95 106.851 624 2 1 -55.0918 2.14196 -144.45 - 95 189.195 910 2 0 -55.0918 2.14243 -145.85 - 95 132.158 624 1 1 -55.0917 2.14988 -174.45 - 95 122.945 910 1 0 -55.0902 2.15045 -175.85 - 95 143.81 624 0 1 -55.0603 2.1633 -204.45 - 95 120.591 910 0 0 -55.0591 2.16357 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 25 + 95 126.383 1256 11 1 71.3018 39.4202 125.55 + 95 83.5459 1096 11 0 71.3023 39.4204 124.15 + 95 136.075 1256 10 1 71.3116 39.4301 95.55 + 95 97.9325 1096 10 0 71.3113 39.4311 94.15 + 95 137.615 1256 9 1 71.3082 39.4521 65.55 + 95 101.111 1097 9 0 71.3083 39.4522 64.15 + 95 105.933 1256 8 1 71.3102 39.454 35.55 + 95 112.153 1097 8 0 71.3103 39.4527 34.15 + 95 149.331 1256 7 1 71.3119 39.4265 5.55 + 95 90.6982 1096 7 0 71.3119 39.4258 4.15 + 95 150.574 1256 6 1 71.3126 39.4103 -24.45 + 95 128.374 1096 6 0 71.3132 39.4089 -25.85 + 95 102.642 1256 5 1 71.3242 39.3794 -54.45 + 95 154.09 1096 5 0 71.3243 39.3796 -55.85 + 95 124.72 1256 4 1 71.3292 39.3845 -84.45 + 95 307.29 1096 4 0 71.33 39.3857 -85.85 + 95 133.261 1256 3 1 71.346 39.409 -114.45 + 95 127.184 1096 3 0 71.3468 39.4097 -115.85 + 95 101.677 1256 2 1 71.3646 39.427 -144.45 + 95 127.887 1096 2 0 71.3652 39.428 -145.85 + 95 146.6 1256 1 1 71.3804 39.4474 -174.45 + 95 114.117 1096 1 0 71.3816 39.4479 -175.85 + 95 190.284 1256 0 1 71.4061 39.457 -204.45 + 95 145.627 1097 0 0 71.4076 39.4574 -205.85 + 95 59.074 1725 5 1 165.259 -8.3891 -54.4501 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 7.10127 LIN +Particle energy: 9.40434 LIN Particle: proton Event: 96 -Number of tracker hits in this event: 24 - 96 124.52 1222 10 1 64.5861 -85.0257 95.55 - 96 192.883 475 10 0 64.5871 -85.0251 94.15 - 96 124.886 1222 9 1 64.6063 -85.0133 65.55 - 96 126.996 475 9 0 64.6085 -85.0125 64.15 - 96 132.605 1223 8 1 64.6562 -84.9984 35.55 - 96 126.252 475 8 0 64.6584 -84.9965 34.15 - 96 97.493 1223 7 1 64.7025 -84.9595 5.55 - 96 319.525 475 7 0 64.7042 -84.9591 4.15 - 96 114.828 1223 6 1 64.7426 -84.9517 -24.45 - 96 121.374 475 6 0 64.7439 -84.9511 -25.85 - 96 97.4465 1223 5 1 64.7694 -84.936 -54.45 - 96 97.5335 475 5 0 64.7702 -84.9353 -55.85 - 96 131.745 1223 4 1 64.7846 -84.9233 -84.45 - 96 109.55 475 4 0 64.7847 -84.9242 -85.85 - 96 150.719 1223 3 1 64.7896 -84.9365 -114.45 - 96 102.514 475 3 0 64.7908 -84.9381 -115.85 - 96 103.703 1223 2 1 64.8159 -84.9745 -144.45 - 96 124.495 475 2 0 64.8174 -84.9758 -145.85 - 96 118.301 1223 1 1 64.846 -84.9972 -174.45 - 96 125.08 475 1 0 64.8475 -84.9984 -175.85 - 96 225.882 1224 0 1 64.8736 -85.0237 -204.45 - 96 258.989 475 0 0 64.875 -85.0243 -205.85 - 96 154.046 474 7 0 64.3161 -85.05 3.96847 - 96 128.243 324 7 0 93.0993 -115.232 3.75007 -Number of digits in this event: 17 +Number of tracker hits in this event: 132 + 96 103.851 297 9 1 -120.667 -27.7568 65.55 + 96 94.6467 761 9 0 -120.666 -27.7568 64.15 + 96 124.203 297 8 1 -120.647 -27.7583 35.55 + 96 110.758 761 8 0 -120.646 -27.7581 34.15 + 96 85.3811 297 7 1 -120.632 -27.7533 5.55 + 96 99.0233 761 7 0 -120.632 -27.7538 4.15 + 96 136.283 297 6 1 -120.634 -27.7653 -24.45 + 96 114.178 761 6 0 -120.634 -27.7668 -25.85 + 96 130.6 297 5 1 -120.649 -27.7954 -54.45 + 96 144.108 761 5 0 -120.65 -27.7967 -55.85 + 96 122.287 297 4 1 -120.666 -27.8216 -84.45 + 96 105.185 761 4 0 -120.667 -27.8234 -85.85 + 96 180.303 297 3 1 -120.676 -27.863 -114.45 + 96 105.72 760 3 0 -120.677 -27.8646 -115.85 + 96 151.498 297 2 1 -120.696 -27.8981 -144.45 + 96 91.8265 760 2 0 -120.697 -27.8987 -145.85 + 96 99.8332 297 1 1 -120.718 -27.9106 -174.45 + 96 358.151 760 1 0 -120.72 -27.9113 -175.85 + 96 130.95 296 0 1 -120.757 -27.9289 -204.45 + 96 154.57 760 0 0 -120.759 -27.9301 -205.85 + 96 90.9665 165 4 0 -109.032 -147.026 -86.25 + 96 75.8965 164 4 0 -108.954 -147.15 -86.1938 + 96 90.0217 163 4 0 -108.805 -147.35 -86.0894 + 96 31.2246 162 4 0 -108.638 -147.55 -85.9315 + 96 180.473 361 4 1 -107.948 -148.371 -84.85 + 96 196.694 133 5 0 -95.0963 -153.492 -56.25 + 96 124.339 428 5 1 -94.5415 -153.137 -54.85 + 96 63.3522 429 5 1 -94.3499 -153.023 -54.5747 + 96 102.4 430 5 1 -94.1499 -152.909 -54.4691 + 96 51.3828 431 5 1 -93.95 -152.838 -54.5033 + 96 86.3287 432 5 1 -93.75 -152.841 -54.5606 + 96 68.6838 433 5 1 -93.5498 -153.043 -54.7053 + 96 63.4583 131 5 0 -93.0094 -153.775 -55.85 + 96 67.8081 130 5 0 -92.8912 -153.95 -55.9653 + 96 73.3935 129 5 0 -92.8302 -154.151 -56.037 + 96 54.2321 128 5 0 -92.8272 -154.35 -56.1759 + 96 22.4248 127 5 0 -92.751 -154.55 -56.0574 + 96 353.624 132 5 0 -94.9488 -153.55 -56.1388 + 96 144.997 838 0 0 -144.71 -12.4019 -206.25 + 96 102.795 175 0 1 -145.09 -12.7812 -204.85 + 96 12.5534 174 0 1 -145.15 -12.9095 -204.511 + 96 44.9552 759 1 0 -140.765 -28.0503 -176.006 + 96 158.045 198 1 1 -140.482 -28.7316 -174.85 + 96 135.483 661 2 0 -128.064 -47.6591 -146.25 + 96 29.9807 660 2 0 -127.91 -47.85 -145.945 + 96 69.2134 264 2 1 -127.254 -48.5982 -144.85 + 96 111.302 265 2 1 -127.15 -48.7191 -144.683 + 96 178.475 506 3 0 -100.333 -78.6985 -116.25 + 96 220.408 505 3 0 -100.201 -78.8502 -116.097 + 96 16.4911 504 3 0 -100.045 -79.0501 -115.884 + 96 27.8172 404 3 1 -99.1963 -79.979 -114.85 + 96 118.715 405 3 1 -99.15 -80.0299 -114.794 + 96 40.0161 406 3 1 -98.9499 -80.2435 -114.543 + 96 14.4051 408 3 1 -98.3956 -80.0121 -114.45 + 96 74.231 409 3 1 -98.35 -79.9867 -114.484 + 96 188.662 410 3 1 -98.15 -79.8667 -114.635 + 96 20.9767 411 3 1 -97.9496 -79.7379 -114.804 + 96 54.2512 507 3 0 -96.3398 -78.65 -116.131 + 96 36.2868 554 2 1 -69.1767 -53.1725 -144.45 + 96 86.2268 553 2 1 -69.25 -53.0588 -144.496 + 96 85.0018 552 2 1 -69.45 -52.8017 -144.6 + 96 136.577 551 2 1 -69.65 -52.5365 -144.673 + 96 77.0948 550 2 1 -69.8503 -52.2579 -144.59 + 96 106.933 549 2 1 -70.05 -52.0974 -144.469 + 96 105.672 548 2 1 -70.25 -51.9945 -144.516 + 96 54.8202 547 2 1 -70.4502 -51.7617 -144.675 + 96 324.868 643 2 0 -70.8635 -51.3829 -145.85 + 96 74.2988 644 2 0 -70.9238 -51.25 -146.036 + 96 45.8713 645 2 0 -70.9971 -51.05 -146.163 + 96 234.698 981 2 0 -149.736 16.256 -146.25 + 96 56.5939 980 2 0 -150.381 16.2498 -145.91 + 96 24.7871 140 2 1 -152.109 15.0561 -144.85 + 96 17.5657 139 2 1 -152.15 15.0337 -144.831 + 96 99.2367 977 2 0 -152.94 15.5797 -145.85 + 96 76.3782 978 2 0 -152.987 15.65 -145.944 + 96 148.891 387 3 1 -102.695 -79.4491 -114.85 + 96 50.6058 386 3 1 -102.75 -79.5104 -114.817 + 96 35.3154 794 1 0 -148.244 -21.2439 -176.25 + 96 92.4088 157 1 1 -148.577 -20.0682 -174.85 + 96 321.143 158 1 1 -148.55 -19.8497 -174.751 + 96 10.7785 151 1 1 -149.75 -19.3416 -174.77 + 96 115.74 801 0 0 -142.738 -19.8182 -206.249 + 96 169.986 185 0 1 -142.986 -19.8056 -204.85 + 96 99.6443 800 0 0 -142.744 -19.85 -206.183 + 96 58.0947 799 0 0 -142.64 -20.05 -205.97 + 96 30.3012 186 0 1 -142.899 -21.1382 -204.85 + 96 116.459 184 0 1 -143.15 -21.1658 -204.833 + 96 257.267 183 0 1 -143.35 -21.0177 -204.715 + 96 54.9869 660 0 0 -135.314 -47.9473 -206.25 + 96 56.5448 659 0 0 -135.382 -48.05 -206.037 + 96 161.789 221 0 1 -135.778 -48.6384 -204.85 + 96 131.378 692 1 0 -152.385 -41.6076 -176.25 + 96 73.6817 133 1 1 -153.436 -41.0945 -174.85 + 96 124.917 132 1 1 -153.55 -41.0383 -174.694 + 96 101.324 701 2 0 -150.044 -39.7405 -146.25 + 96 107.813 152 2 1 -149.669 -39.5663 -144.85 + 96 9.03359 153 2 1 -149.55 -39.5283 -144.483 + 96 136.269 780 3 0 -166.614 -24.0086 -116.249 + 96 170.361 63 3 1 -167.352 -23.7022 -114.85 + 96 158.729 54 1 1 -169.197 -91.0884 -174.85 + 96 55.3823 583 0 0 -148.809 -63.3464 -206.25 + 96 119.158 582 0 0 -148.882 -63.45 -206.107 + 96 13.5426 153 0 1 -149.535 -64.3592 -204.85 + 96 147.135 152 0 1 -149.55 -64.3797 -204.821 + 96 38.3486 489 1 0 -160.807 -82.2013 -176.25 + 96 117.76 488 1 0 -160.838 -82.25 -176.171 + 96 32.3971 94 1 1 -161.323 -83.0637 -174.85 + 96 137.347 93 1 1 -161.35 -83.1079 -174.776 + 96 18.2112 411 2 0 -176.314 -97.9227 -146.25 + 96 137.386 410 2 0 -176.342 -97.9503 -146.196 + 96 98.5759 409 2 0 -176.478 -98.15 -145.886 + 96 122.714 16 2 1 -176.879 -98.8814 -144.85 + 96 216.324 15 2 1 -176.95 -99.0233 -144.647 + 96 47.4 327 3 0 -179.013 -114.697 -116.25 + 96 83.599 326 3 0 -179.02 -114.75 -116.153 + 96 162.111 5 3 1 -179.042 -115.397 -114.85 + 96 236.227 287 8 0 -164.677 -122.65 33.75 + 96 121.834 744 0 0 -152.121 -31.1088 -206.25 + 96 111.982 138 0 1 -152.399 -30.9199 -204.85 + 96 33.2173 841 1 0 -172.954 -11.7287 -176.25 + 96 112.785 842 1 0 -173.036 -11.6499 -176.136 + 96 3.6556 843 1 0 -173.225 -11.45 -175.86 + 96 49.2221 31 1 1 -173.889 -10.6745 -174.85 + 96 113.296 30 1 1 -173.95 -10.6061 -174.757 + 96 14.4696 29 1 1 -174.15 -10.36 -174.491 + 96 165.085 683 0 0 -165.775 -43.3097 -206.25 + 96 50.9184 682 0 0 -166.075 -43.4503 -205.959 + 96 43.6568 64 0 1 -167.229 -44.0239 -204.85 + 96 68.9217 63 0 1 -167.351 -44.084 -204.733 + 96 48.6769 62 0 1 -167.55 -44.1823 -204.543 + 96 12.8506 928 0 0 -172.877 5.85 -206.149 + 96 13.6522 1104 2 1 40.85 72.3197 -144.489 +Number of digits in this event: 46 Using G4ParticleGun... -Particle energy: 5.09777 LIN +Particle energy: 8.79269 LIN Particle: proton Event: 97 -Number of tracker hits in this event: 21 - 97 126.741 274 9 1 -125.263 40.6199 65.55 - 97 103.985 1102 9 0 -125.262 40.6202 64.15 - 97 99.6212 274 8 1 -125.245 40.6253 35.55 - 97 115.061 1102 8 0 -125.244 40.6273 34.15 - 97 187.521 274 7 1 -125.238 40.6657 5.55 - 97 114.772 1103 7 0 -125.237 40.6688 4.15 - 97 114.15 274 6 1 -125.231 40.7306 -24.45 - 97 101.101 1103 6 0 -125.231 40.7343 -25.85 - 97 112.663 274 5 1 -125.238 40.804 -54.45 - 97 119.988 1103 5 0 -125.239 40.808 -55.85 - 97 107.176 274 4 1 -125.259 40.8895 -84.45 - 97 152.658 1104 4 0 -125.261 40.8927 -85.85 - 97 96.4656 274 3 1 -125.294 40.9612 -114.45 - 97 237.616 1104 3 0 -125.296 40.9655 -115.85 - 97 157.39 274 2 1 -125.333 41.0506 -144.45 - 97 103.453 1105 2 0 -125.333 41.055 -145.85 - 97 151.589 274 1 1 -125.337 41.1474 -174.45 - 97 129.313 1105 1 0 -125.337 41.153 -175.85 - 97 114.539 274 0 1 -125.336 41.265 -204.45 - 97 93.2913 1106 0 0 -125.336 41.2707 -205.85 - 97 123.832 1105 3 0 -125.163 41.0501 -116.168 -Number of digits in this event: 9 +Number of tracker hits in this event: 25 + 97 201.755 1511 9 1 122.396 50.6927 65.55 + 97 188.066 1153 9 0 122.396 50.6932 64.15 + 97 237.029 1511 8 1 122.401 50.704 35.55 + 97 127.373 1153 8 0 122.401 50.7053 34.15 + 97 105.428 1511 7 1 122.412 50.7332 5.55 + 97 127.963 1153 7 0 122.411 50.735 4.15 + 97 160.31 1511 6 1 122.41 50.7724 -24.45 + 97 189.145 1153 6 0 122.411 50.775 -25.85 + 97 129.343 1511 5 1 122.421 50.8262 -54.45 + 97 103.934 1153 5 0 122.421 50.8291 -55.85 + 97 133.279 1511 4 1 122.425 50.8887 -84.45 + 97 96.3461 1154 4 0 122.425 50.8914 -85.85 + 97 186.763 1511 3 1 122.422 50.944 -114.45 + 97 146.425 1154 3 0 122.422 50.9464 -115.85 + 97 158.413 1511 2 1 122.423 50.9945 -144.45 + 97 189.946 1154 2 0 122.422 50.997 -145.85 + 97 154.914 1511 1 1 122.409 51.0477 -174.45 + 97 3.57693 1154 1 0 122.408 51.05 -175.85 + 97 111.8 1155 1 0 122.408 51.05 -175.873 + 97 109.244 1511 0 1 122.395 51.0988 -204.45 + 97 117.638 1155 0 0 122.394 51.1018 -205.85 + 97 47.2064 1512 8 1 122.55 50.5905 35.2119 + 97 275.52 1147 8 0 123.868 49.5695 34.15 + 97 153.883 1146 8 0 123.9 49.45 34.0882 + 97 64.042 1152 9 0 122.373 50.65 64.0711 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 3.92575 LIN +Particle energy: 7.83743 LIN Particle: proton Event: 98 -Number of tracker hits in this event: 27 - 98 160.423 1005 9 1 21.1821 -121.046 65.55 - 98 119.374 295 9 0 21.1831 -121.048 64.15 - 98 121.211 1005 8 1 21.2064 -121.091 35.55 - 98 132.755 295 8 0 21.2079 -121.091 34.15 - 98 119.828 1005 7 1 21.2396 -121.098 5.55 - 98 118.086 295 7 0 21.2401 -121.097 4.15 - 98 120.012 1005 6 1 21.2326 -121.113 -24.45 - 98 103.143 295 6 0 21.2331 -121.112 -25.85 - 98 92.1036 1005 5 1 21.2409 -121.113 -54.45 - 98 98.5596 295 5 0 21.2417 -121.112 -55.85 - 98 105.238 1006 4 1 21.2606 -121.095 -84.45 - 98 175.401 295 4 0 21.2607 -121.093 -85.85 - 98 117.531 1006 3 1 21.2737 -121.063 -114.45 - 98 97.671 295 3 0 21.2738 -121.063 -115.85 - 98 105.501 1006 2 1 21.2826 -121.025 -144.45 - 98 120.906 295 2 0 21.2816 -121.023 -145.85 - 98 110.739 1006 1 1 21.2621 -120.981 -174.45 - 98 120.668 295 1 0 21.2624 -120.978 -175.85 - 98 151.569 1006 0 1 21.2696 -120.908 -204.45 - 98 121.404 296 0 0 21.2702 -120.906 -205.85 - 98 13.0016 432 3 0 4.51649 -93.572 -116.25 - 98 129.682 433 3 0 4.5007 -93.55 -116.227 - 98 167.055 434 3 0 4.43164 -93.3499 -116.159 - 98 2.08959 913 3 1 2.6577 -93.4364 -114.85 - 98 58.7463 912 3 1 2.64982 -93.438 -114.845 - 98 3.43922 438 3 0 0.0623774 -92.3684 -115.85 - 98 116.43 439 3 0 -0.05 -92.2896 -115.989 -Number of digits in this event: 13 +Number of tracker hits in this event: 22 + 98 164.025 558 10 1 -68.3848 52.2933 95.55 + 98 126.745 1161 10 0 -68.3861 52.2927 94.15 + 98 111.645 558 9 1 -68.4124 52.2792 65.55 + 98 139.065 1161 9 0 -68.4128 52.2787 64.15 + 98 106.753 558 8 1 -68.4223 52.2702 35.55 + 98 121.594 1161 8 0 -68.4224 52.2702 34.15 + 98 154.424 558 7 1 -68.4234 52.2665 5.55 + 98 193.077 1161 7 0 -68.4234 52.2656 4.15 + 98 104.497 558 6 1 -68.4252 52.2485 -24.45 + 98 155.808 1160 6 0 -68.4258 52.2475 -25.85 + 98 153.057 558 5 1 -68.4434 52.2245 -54.45 + 98 107.179 1160 5 0 -68.4437 52.2243 -55.85 + 98 97.5609 557 4 1 -68.4502 52.2239 -84.45 + 98 114.23 1160 4 0 -68.4502 52.223 -85.85 + 98 110.619 558 3 1 -68.4486 52.2052 -114.45 + 98 91.2589 1160 3 0 -68.4487 52.2043 -115.85 + 98 164.254 557 2 1 -68.4543 52.1834 -144.45 + 98 127.147 1160 2 0 -68.4547 52.1823 -145.85 + 98 102.517 557 1 1 -68.4611 52.1591 -174.45 + 98 107.54 1160 1 0 -68.462 52.1577 -175.85 + 98 124.829 557 0 1 -68.4757 52.1343 -204.45 + 98 102.475 1160 0 0 -68.4749 52.1332 -205.85 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 4.19798 LIN +Particle energy: 4.47927 LIN Particle: proton Event: 99 -Number of tracker hits in this event: 20 - 99 107.896 876 9 1 -4.78655 -128.26 65.55 - 99 145.956 259 9 0 -4.78774 -128.261 64.15 - 99 143.152 876 8 1 -4.80951 -128.269 35.55 - 99 105.486 259 8 0 -4.81037 -128.27 34.15 - 99 97.4944 876 7 1 -4.83156 -128.293 5.55 - 99 167.89 259 7 0 -4.83473 -128.292 4.15 - 99 177.615 875 6 1 -4.89912 -128.274 -24.45 - 99 116.454 259 6 0 -4.90385 -128.273 -25.85 - 99 93.9715 875 5 1 -5.00054 -128.251 -54.45 - 99 111.134 259 5 0 -5.00718 -128.248 -55.85 - 99 107.787 874 4 1 -5.14183 -128.193 -84.45 - 99 162.046 259 4 0 -5.14795 -128.189 -85.85 - 99 149.177 873 3 1 -5.27012 -128.124 -114.45 - 99 169.58 260 3 0 -5.2754 -128.121 -115.85 - 99 155.874 873 2 1 -5.38242 -128.044 -144.45 - 99 114.431 260 2 0 -5.38468 -128.041 -145.85 - 99 128.097 873 1 1 -5.4382 -127.977 -174.45 - 99 124.123 260 1 0 -5.44067 -127.973 -175.85 - 99 107.071 872 0 1 -5.48523 -127.874 -204.45 - 99 121.299 261 0 0 -5.48721 -127.869 -205.85 -Number of digits in this event: 12 +Number of tracker hits in this event: 22 + 99 469.284 1058 9 1 31.6771 120.53 65.55 + 99 175.979 1501 9 0 31.6782 120.529 64.15 + 99 353.59 1058 8 1 31.7067 120.509 35.55 + 99 103.566 1501 8 0 31.7086 120.509 34.15 + 99 266.537 1058 7 1 31.7506 120.502 5.55 + 99 141.702 1501 7 0 31.7522 120.505 4.15 + 99 124.984 1058 6 1 31.7859 120.58 -24.45 + 99 147.701 1502 6 0 31.7872 120.583 -25.85 + 99 192.197 1058 5 1 31.813 120.653 -54.45 + 99 144.039 1502 5 0 31.8133 120.656 -55.85 + 99 114.919 1058 4 1 31.822 120.71 -84.45 + 99 115.309 1502 4 0 31.8216 120.712 -85.85 + 99 91.4758 1058 3 1 31.8148 120.745 -114.45 + 99 99.5676 1502 3 0 31.8162 120.747 -115.85 + 99 117.393 1058 2 1 31.8397 120.792 -144.45 + 99 112.07 1503 2 0 31.8399 120.793 -145.85 + 99 162.638 1058 1 1 31.8388 120.821 -174.45 + 99 149.376 1503 1 0 31.8397 120.822 -175.85 + 99 135.514 1059 0 1 31.86 120.854 -204.45 + 99 109.149 1503 0 0 31.86 120.857 -205.85 + 99 71.6 1059 7 1 31.85 120.447 5.24692 + 99 63.9719 1502 9 0 31.6216 120.55 63.9155 +Number of digits in this event: 13 Run terminated. Run Summary Number of events processed : 100 - User=3.370000s Real=4.544848s Sys=0.060000s + User=3.620000s Real=4.524811s Sys=0.050000s End of Run 0 There are histograms that can be viewed with visualization: 2 h1 histograms(s) @@ -4998,3882 +5435,3224 @@ Cannot set FirstId as its value was already used. done Using G4ParticleGun... -Particle energy: 8.39383 LIN +Particle energy: 6.24629 LIN Particle: gamma Event: 0 -Number of tracker hits in this event: 3 - 0 6.46522 1613 1 0 110.726 142.75 -176.058 - 0 225.018 1451 1 1 110.377 143.236 -174.85 - 0 470.381 1450 1 1 110.35 143.294 -174.754 +Number of tracker hits in this event: 7 + 0 97.1953 860 9 0 -11.9347 -7.86165 63.75 + 0 62.401 859 9 0 -12.1278 -8.05 63.8547 + 0 59.974 858 9 0 -12.236 -8.25 63.8571 + 0 45.9269 857 9 0 -12.2419 -8.45 63.8148 + 0 256.683 815 9 0 -35.9179 -16.8927 63.75 + 0 181.512 1188 1 1 57.85 144.396 -174.658 + 0 26.3013 956 1 0 -6.66621 11.3963 -176.25 Number of digits in this event: 4 Using G4ParticleGun... -Particle energy: 7.32723 LIN +Particle energy: 5.10272 LIN Particle: gamma Event: 1 -Number of tracker hits in this event: 359 - 1 248.789 1162 10 1 52.5546 -13.4507 95.55 - 1 110.682 832 10 0 52.5554 -13.4517 94.15 - 1 588.993 1162 9 1 52.5799 -13.4723 65.55 - 1 303.17 832 9 0 52.583 -13.4711 64.15 - 1 671.722 1162 8 1 52.6467 -13.443 35.55 - 1 425.47 833 8 0 52.6519 -13.4385 34.15 - 1 222.259 1163 7 1 52.7594 -13.3445 5.55 - 1 95.6876 833 7 0 52.7644 -13.3406 4.15 - 1 116.599 1164 6 1 52.8894 -13.271 -24.45 - 1 118.787 833 6 0 52.8969 -13.2681 -25.85 - 1 104.304 1165 5 1 53.0535 -13.2068 -54.45 - 1 388.695 834 5 0 53.0602 -13.2019 -55.85 - 1 128.543 1165 4 1 53.1966 -13.1031 -84.45 - 1 135.094 834 4 0 53.2055 -13.0973 -85.85 - 1 166.844 1166 3 1 53.3946 -12.9754 -114.45 - 1 100.394 835 3 0 53.4041 -12.9695 -115.85 - 1 108.231 1167 2 1 53.593 -12.8442 -144.45 - 1 98.6964 836 2 0 53.6007 -12.8406 -145.85 - 1 110.591 1168 1 1 53.7562 -12.7702 -174.45 - 1 137.899 836 1 0 53.7605 -12.7683 -175.85 - 1 497.414 1169 0 1 53.8652 -12.7385 -204.45 - 1 584.688 836 0 0 53.8663 -12.7354 -205.85 - 1 54.5271 1369 1 1 93.95 -110.632 -174.509 - 1 149.845 1368 1 1 93.95 -110.696 -174.485 - 1 59.483 702 1 0 61.0689 -39.45 -176.185 - 1 65.6138 1753 3 1 170.785 109.818 -114.85 - 1 38.8969 1517 7 1 123.55 -95.0464 5.16199 - 1 270.154 1518 7 1 123.767 -95.1669 5.55 - 1 56.6781 423 7 0 124.303 -95.4166 4.14973 - 1 58.8431 424 7 0 124.3 -95.3499 3.9657 - 1 97.0677 1519 7 1 123.95 -95.2448 5.3289 - 1 229.63 1520 7 1 124.15 -95.3521 5.29129 - 1 271.146 1170 0 1 54.0755 -12.6497 -204.45 - 1 51.3177 429 5 1 -94.1551 61.0062 -54.85 - 1 375.316 428 5 1 -94.35 61.1747 -54.5457 - 1 130.823 837 0 0 54.0822 -12.6436 -205.85 - 1 36.9453 1163 8 1 52.65 -13.4397 35.2818 - 1 88.4222 1164 7 1 52.8711 -13.0013 5.55 - 1 224.199 835 7 0 52.8918 -12.9818 4.15 - 1 170.432 1166 6 1 53.3679 -12.5668 -24.45 - 1 108.487 837 6 0 53.4119 -12.5474 -25.85 - 1 266.633 1170 5 1 54.2415 -12.2289 -54.45 - 1 142.161 1171 5 1 54.25 -12.2235 -54.6588 - 1 109.096 839 5 0 54.2982 -12.194 -55.85 - 1 281.599 1177 4 1 55.5534 -11.4291 -84.45 - 1 111.476 843 4 0 55.5924 -11.389 -85.85 - 1 109.583 1181 3 1 56.3548 -10.5733 -114.45 - 1 120.908 847 3 0 56.4017 -10.5405 -115.85 - 1 254.6 1186 2 1 57.3365 -9.87069 -144.45 - 1 76.8973 850 2 0 57.3723 -9.8532 -145.85 - 1 30.7786 851 2 0 57.3786 -9.85 -146.105 - 1 121.277 1190 1 1 58.0642 -9.49326 -174.45 - 1 106.064 852 1 0 58.1011 -9.47028 -175.85 - 1 146.842 1193 0 1 58.8458 -9.07121 -204.45 - 1 98.486 855 0 0 58.835 -9.03779 -205.85 - 1 126.429 1157 7 1 51.6365 -13.5033 5.55 - 1 277.786 832 7 0 51.5016 -13.5359 4.14947 - 1 82.5403 1141 6 1 48.316 -13.9678 -24.4507 - 1 30.817 1140 6 1 48.25 -13.9958 -24.7402 - 1 159.443 829 6 0 48.0101 -14.0972 -25.85 - 1 138.311 1109 5 1 42.0039 -16.4668 -54.45 - 1 133.9 817 5 0 41.6281 -16.4842 -55.85 - 1 125.365 1071 4 1 34.3003 -17.2878 -84.45 - 1 112.177 813 4 0 34.1225 -17.3862 -85.85 - 1 97.8167 1049 3 1 29.9481 -18.9467 -114.45 - 1 5.11156 1048 3 1 29.85 -18.9647 -114.835 - 1 172.638 805 3 0 29.5787 -19.0207 -115.85 - 1 136.547 1008 2 1 21.8359 -20.6018 -144.45 - 1 136.438 796 2 0 21.4078 -20.7373 -145.85 - 1 150.45 964 1 1 13.0037 -23.5724 -174.451 - 1 22.24 782 1 0 12.564 -23.6451 -175.85 - 1 95.4668 781 1 0 12.5358 -23.65 -175.94 - 1 40.7035 919 0 1 3.90699 -25.3197 -204.45 - 1 114.838 918 0 1 3.85 -25.3155 -204.592 - 1 143.109 773 0 0 3.35519 -25.2704 -205.85 - 1 99.4689 232 2 1 -133.679 -29.4864 -144.45 - 1 282.831 231 2 1 -133.75 -29.2895 -144.532 - 1 268.906 1128 4 1 45.7174 -15.1334 -84.4501 - 1 142.212 823 4 0 45.8459 -15.3027 -85.85 - 1 197.531 777 4 0 44.526 -24.6471 -86.25 - 1 8.66746 776 4 0 44.5257 -24.65 -86.2356 - 1 74.3923 778 4 0 44.6893 -24.4499 -86.0346 - 1 81.4103 779 4 0 44.6149 -24.2498 -85.9952 - 1 61.4896 780 4 0 44.4469 -24.0497 -86.073 - 1 4.736 978 5 1 15.8049 97.0198 -54.85 - 1 6.14991 977 5 1 15.65 97.7731 -54.4665 - 1 104.857 825 4 0 45.749 -15.0128 -85.85 - 1 72.3735 1132 3 1 46.5724 -7.34829 -114.45 - 1 63.7712 1133 3 1 46.6501 -7.21953 -114.642 - 1 23.4278 868 3 0 46.8899 -6.30889 -115.851 - 1 210.565 869 3 0 46.9026 -6.24956 -115.928 - 1 38.3172 870 3 0 46.9432 -6.05 -116.179 - 1 567.548 1160 2 1 52.1575 14.7997 -144.45 - 1 107.806 977 2 0 52.4917 15.4721 -145.85 - 1 28.6639 978 2 0 52.6084 15.65 -146.168 - 1 164.835 1211 1 1 62.3898 33.9836 -174.45 - 1 116.875 1212 1 1 62.4501 33.9518 -174.495 - 1 71.0126 1213 1 1 62.65 33.8453 -174.653 - 1 173.877 1214 1 1 62.8507 33.7317 -174.758 - 1 97.1762 1062 1 0 65.0134 32.5879 -175.85 - 1 86.7602 1061 1 0 65.2569 32.45 -175.957 - 1 107.922 1060 1 0 65.5035 32.25 -176.06 - 1 100.731 1059 1 0 65.7422 32.0497 -176.142 - 1 85.1958 1058 1 0 66.1082 31.85 -176.162 - 1 108.713 1057 1 0 66.404 31.65 -176.147 - 1 222.601 1056 1 0 66.7424 31.4499 -176.089 - 1 144.952 1055 1 0 67.4632 31.25 -175.927 - 1 45.4872 1273 1 1 74.6624 29.3838 -174.85 - 1 68.1408 1274 1 1 74.85 29.3425 -174.839 - 1 13.042 1275 1 1 75.05 29.2856 -174.844 - 1 76.5653 1041 1 0 82.077 28.2994 -175.85 - 1 48.5699 1040 1 0 82.3278 28.2499 -175.887 - 1 46.7123 1319 1 1 83.9775 25.4705 -174.85 - 1 68.2547 1320 1 1 84.05 25.3578 -174.822 - 1 61.6656 1321 1 1 84.25 25.1315 -174.769 - 1 63.2985 1322 1 1 84.45 24.9966 -174.707 - 1 71.7039 1323 1 1 84.6501 24.8849 -174.594 - 1 28.0737 1324 1 1 84.8501 24.8034 -174.457 - 1 51.3324 1325 1 1 85.0505 24.728 -174.478 - 1 60.1638 1326 1 1 85.2501 24.7134 -174.494 - 1 37.0702 1327 1 1 85.45 24.7381 -174.466 - 1 13.5615 1067 1 0 62.818 33.4704 -175.85 - 1 103.92 1066 1 0 62.842 33.45 -175.901 - 1 94.9373 1065 1 0 63.1823 33.25 -175.987 - 1 80.6065 1064 1 0 63.4073 33.0497 -176.107 - 1 64.5022 1063 1 0 63.5066 32.85 -176.157 - 1 132.446 833 10 0 52.5545 -13.4483 94.15 - 1 445.718 833 9 0 52.5832 -13.3825 64.15 - 1 120.63 834 8 0 52.5949 -13.1555 34.15 - 1 140.59 1162 7 1 52.6361 -12.9544 5.55 - 1 97.654 1162 6 1 52.6453 -12.8756 -24.45 - 1 128.968 835 6 0 52.6417 -12.8751 -25.85 - 1 478.093 1162 5 1 52.6063 -12.8827 -54.45 - 1 388.845 835 5 0 52.6011 -12.876 -55.85 - 1 118.401 1162 4 1 52.4718 -12.7673 -84.45 - 1 291.697 836 4 0 52.4654 -12.7617 -85.85 - 1 103.23 1161 3 1 52.3581 -12.6526 -114.45 - 1 111.135 837 3 0 52.3501 -12.641 -115.85 - 1 212.484 838 2 0 52.1769 -12.3635 -145.85 - 1 135.037 1160 1 1 52.2042 -11.7485 -174.45 - 1 130.839 841 1 0 52.2204 -11.7198 -175.85 - 1 110.481 1162 0 1 52.6392 -11.1944 -204.45 - 1 323.539 844 0 0 52.6424 -11.1674 -205.85 - 1 20.6613 815 0 0 58.6598 -16.9863 -206.25 - 1 157.379 1302 1 0 138.292 80.6235 -176.25 - 1 275.309 836 5 0 52.6182 -12.6511 -55.85 - 1 310.414 837 5 0 52.6188 -12.65 -55.9692 - 1 130.167 1163 4 1 52.8184 -12.4046 -84.45 - 1 175.716 838 4 0 52.8258 -12.3807 -85.85 - 1 100.45 1164 3 1 53.012 -11.8616 -114.45 - 1 115.879 841 3 0 53.0034 -11.8121 -115.85 - 1 73.1991 1164 2 1 52.8528 -10.7692 -144.45 - 1 43.8387 1163 2 1 52.85 -10.7589 -144.692 - 1 141.223 846 2 0 52.8386 -10.7086 -145.85 - 1 276.204 1162 1 1 52.5887 -9.48295 -174.45 - 1 282.535 853 1 0 52.5792 -9.4274 -175.85 - 1 175.23 1161 0 1 52.3618 -8.31431 -204.45 - 1 142.428 859 0 0 52.3328 -8.23739 -205.85 - 1 186.253 1168 0 1 53.7501 -10.4004 -204.45 - 1 133.83 849 0 0 53.7612 -10.2411 -205.85 - 1 65.4126 972 0 0 60.4723 14.4973 -206.25 - 1 69.4062 973 0 0 60.432 14.65 -206.021 - 1 157.656 1200 0 1 60.2257 15.3362 -204.85 - 1 63.1647 1044 1 0 52.3429 28.9481 -176.25 - 1 51.6939 1045 1 0 52.2809 29.05 -176.04 - 1 165.497 1158 1 1 51.8294 29.6252 -174.85 - 1 256.252 1096 2 0 38.8561 39.3081 -146.25 - 1 34.7829 1091 2 1 38.2828 39.7605 -144.85 - 1 124.308 1090 2 1 38.2499 39.7896 -144.764 - 1 218.25 1001 3 0 -7.85799 20.4355 -116.25 - 1 81.168 1000 3 0 -8.3375 20.2497 -115.956 - 1 70.6915 850 3 1 -9.86073 20.3808 -114.85 - 1 65.5685 849 3 1 -10.05 20.4122 -114.728 - 1 68.9859 848 3 1 -10.25 20.4553 -114.582 - 1 2.81797 847 3 1 -10.4504 20.5122 -114.456 - 1 169.321 1076 4 0 -49.526 35.2986 -86.25 - 1 32.8441 644 4 1 -51.1782 35.3578 -84.85 - 1 103.607 643 4 1 -51.2501 35.3588 -84.7928 - 1 273.331 642 4 1 -51.45 35.3494 -84.6388 - 1 5.54357 641 4 1 -51.6508 35.3125 -84.4614 - 1 199.124 1039 2 0 -28.614 27.9767 -145.85 - 1 302.465 984 2 0 16.7943 16.9016 -146.25 - 1 240.658 1167 0 1 53.65 -10.3694 -204.641 - 1 123.172 848 0 0 53.0064 -10.2654 -205.85 - 1 129.812 1166 0 1 53.4494 -10.8139 -204.45 - 1 73.6024 843 0 0 53.8634 -11.3801 -205.85 - 1 236.231 842 0 0 53.9156 -11.45 -206.042 - 1 128.739 846 0 0 53.4822 -10.7767 -205.85 - 1 305.003 1161 5 1 52.45 -12.838 -54.4519 - 1 114.953 1161 4 1 52.4221 -12.117 -84.45 - 1 109.154 839 4 0 52.4367 -12.1203 -85.85 - 1 111.903 1163 3 1 52.781 -12.3197 -114.45 - 1 581.768 838 3 0 52.8772 -12.3432 -115.85 - 1 128.975 1173 2 1 54.7222 -12.4989 -144.45 - 1 2.58647 1186 1 1 57.2504 -10.9035 -174.451 - 1 127.23 1185 1 1 57.25 -10.9038 -174.457 - 1 118.466 845 1 0 57.1313 -10.9954 -175.85 - 1 151.046 1176 0 1 55.4206 -13.1993 -204.451 - 1 140.781 833 0 0 55.4155 -13.3274 -205.85 - 1 294.505 825 0 0 55.0138 -14.8641 -205.85 - 1 82.3142 824 0 0 54.8663 -15.05 -206.103 - 1 222.412 835 1 0 28.292 -12.9952 -176.25 - 1 34.101 834 1 0 28.2121 -13.05 -176.186 - 1 40.7919 1162 3 1 52.5591 -12.2343 -114.45 - 1 3.80742 839 3 0 52.2786 -12.247 -115.85 - 1 280.293 832 8 0 52.5192 -13.5583 34.15 - 1 113.492 1158 7 1 51.7797 -10.6377 5.55 - 1 112.384 847 7 0 51.7494 -10.5434 4.15 - 1 53.7608 1155 6 1 51.2444 -8.90324 -24.45 - 1 70.7729 1156 6 1 51.25 -8.90108 -24.6165 - 1 118.85 855 6 0 51.2995 -8.88866 -25.85 - 1 131.068 856 5 0 52.4124 -8.67311 -55.85 - 1 92.7329 1170 4 1 54.2189 -12.535 -84.45 - 1 46.3364 1171 4 1 54.25 -12.5788 -84.7938 - 1 110.848 1183 3 1 56.8265 -16.2996 -114.45 - 1 39.7156 818 3 0 56.8924 -16.4378 -115.85 - 1 237.835 817 3 0 56.8985 -16.45 -115.976 - 1 121.256 1190 2 1 58.2215 -19.4071 -144.45 - 1 10.7723 1191 2 1 58.25 -19.4476 -144.813 - 1 156.822 802 2 0 58.3297 -19.5757 -145.85 - 1 154.389 1202 1 1 60.5803 -23.1139 -174.45 - 1 106.522 783 1 0 60.6606 -23.2759 -175.85 - 1 201.192 1209 0 1 61.9672 -26.2136 -204.45 - 1 120.706 768 0 0 62.0202 -26.3595 -205.85 - 1 78.5554 818 1 0 34.9459 -16.3986 -176.25 - 1 338.986 1161 8 1 52.311 -13.4513 35.55 - 1 124.715 1160 7 1 52.1644 -13.5457 5.55 - 1 143.882 1159 6 1 52.0098 -13.6039 -24.45 - 1 136.815 832 6 0 52.0053 -13.6014 -25.85 - 1 112.772 1159 5 1 51.9231 -13.5032 -54.45 - 1 129.124 832 5 0 51.9172 -13.4983 -55.85 - 1 115.201 1158 4 1 51.8024 -13.406 -84.45 - 1 124.943 833 4 0 51.8039 -13.4039 -85.85 - 1 102.469 1159 3 1 51.8918 -13.3584 -114.45 - 1 140.58 833 3 0 51.9016 -13.3446 -115.85 - 1 119.694 835 2 0 52.1296 -12.9663 -145.85 - 1 98.6556 838 1 0 52.4912 -12.4233 -175.85 - 1 168.008 1163 0 1 52.8259 -12.1329 -204.45 - 1 117.063 839 0 0 52.8432 -12.1177 -205.85 - 1 104.031 955 2 0 -17.9697 11.0769 -146.25 - 1 2.48446 704 1 0 38.6046 -39.05 -176.012 - 1 109.595 1089 1 1 38.0047 -39.1357 -174.85 - 1 58.0663 1090 1 1 38.05 -39.1378 -174.778 - 1 45.1116 147 7 1 -150.75 -135.801 5.39653 - 1 70.0089 1161 2 1 52.25 -13.4135 -144.749 - 1 404.277 829 2 0 52.4909 -14.234 -145.85 - 1 102.454 828 2 0 52.4946 -14.2502 -145.874 - 1 118.912 830 2 0 51.8929 -14.05 -146.203 - 1 2.51286 1094 2 0 61.5472 38.8788 -146.25 - 1 41.3206 1223 2 0 55.3024 64.7638 -146.25 - 1 141.922 1161 6 1 52.2504 -13.7989 -24.45 - 1 259.347 831 6 0 52.3269 -13.7726 -25.85 - 1 105.21 1221 4 1 64.3015 -9.4323 -84.4508 - 1 131.008 854 4 0 64.7231 -9.20999 -85.85 - 1 219.448 1262 3 1 72.4733 -5.01296 -114.45 - 1 19.4837 876 3 0 72.9365 -4.66472 -115.85 - 1 93.803 877 3 0 72.9565 -4.65 -115.909 - 1 93.1432 1307 2 1 81.5297 2.13635 -144.45 - 1 131.304 1308 2 1 81.65 2.12287 -144.656 - 1 153.186 909 2 0 82.3182 2.03589 -145.85 - 1 99.8853 1392 1 1 98.6724 -0.99783 -174.45 - 1 123.528 1393 1 1 98.7501 -1.05067 -174.586 - 1 67.6844 892 1 0 99.4418 -1.56656 -175.85 - 1 77.3187 891 1 0 99.553 -1.65 -176.057 - 1 169.334 1465 0 1 113.184 -14.1877 -204.45 - 1 58.8148 827 0 0 113.66 -14.5816 -205.85 - 1 38.717 826 0 0 113.744 -14.65 -206.096 - 1 12.9886 1481 0 1 116.526 -10.3197 -204.45 - 1 94.1085 1482 0 1 116.55 -10.3529 -204.475 - 1 90.8428 1483 0 1 116.75 -10.6364 -204.679 - 1 110.082 1309 2 1 81.8502 2.1636 -144.783 - 1 102.662 874 3 0 72.602 -5.08949 -115.85 - 1 79.1555 1271 2 1 74.2515 -9.11183 -144.45 - 1 106.553 1272 2 1 74.45 -9.07691 -144.591 - 1 58.041 1273 2 1 74.65 -9.06264 -144.729 - 1 282.014 855 2 0 76.2737 -8.9392 -145.85 - 1 130.716 1440 1 1 108.298 -14.0406 -174.45 - 1 340.01 825 1 0 108.368 -14.8586 -175.85 - 1 137.694 824 1 0 108.382 -15.0501 -176.18 - 1 101.537 1458 0 1 111.853 -30.4542 -204.45 - 1 37.6862 1459 0 1 111.95 -30.7127 -204.74 - 1 33.6298 740 0 0 112.323 -31.9441 -205.85 - 1 80.2723 739 0 0 112.343 -32.0502 -205.96 - 1 14.5088 738 0 0 112.354 -32.25 -206.205 - 1 81.1657 691 0 0 108.838 -41.794 -206.25 - 1 105.337 692 0 0 108.858 -41.65 -206.074 - 1 267.797 793 0 0 152.347 -21.4429 -206.25 - 1 97.7797 792 0 0 152.468 -21.45 -206.225 - 1 96.1689 878 3 0 73.0125 -4.33788 -115.85 - 1 103.338 879 3 0 73.0996 -4.24998 -116.004 - 1 179.673 1285 2 1 77.2291 10.6352 -144.45 - 1 12.3047 1286 2 1 77.25 10.9302 -144.823 - 1 291.444 952 2 0 77.4479 10.5008 -145.85 - 1 62.673 951 2 0 77.4626 10.4497 -146.031 - 1 165.726 831 5 0 54.3338 -13.6501 -55.9 - 1 64.7451 875 5 0 31.1678 -4.99987 -56.2499 - 1 155.485 876 5 0 31.0466 -4.85 -56.0715 - 1 150.643 1053 5 1 30.726 -3.95926 -54.85 - 1 5.18548 1007 6 0 35.9563 21.6297 -26.25 - 1 154.577 1008 6 0 35.9607 21.65 -26.2276 - 1 39.8591 1009 6 0 36.0189 21.8502 -25.9333 - 1 274.05 1082 6 1 36.474 22.8321 -24.85 - 1 95.0142 1083 6 1 36.6501 23.6929 -24.4901 - 1 73.5483 1084 6 1 36.8502 23.8807 -24.6566 - 1 85.4263 1085 6 1 37.0503 23.9969 -24.7122 - 1 77.7722 1086 6 1 37.2503 24.0724 -24.7192 - 1 101.993 1087 6 1 37.45 24.1899 -24.6853 - 1 95.6761 1088 6 1 37.6504 24.3188 -24.6817 - 1 69.7464 1089 6 1 37.85 24.5118 -24.687 - 1 130.013 1090 6 1 38.05 24.6122 -24.7365 - 1 81.5564 1091 6 1 38.2501 24.6745 -24.7538 - 1 52.5601 1092 6 1 38.4502 24.6768 -24.7681 - 1 76.2595 1093 6 1 38.65 24.6475 -24.7624 - 1 60.4998 1094 6 1 38.85 24.6184 -24.7869 - 1 71.0808 1095 6 1 39.0501 24.5669 -24.7775 - 1 67.1155 1096 6 1 39.25 24.4981 -24.6986 - 1 74.3228 1097 6 1 39.45 24.5384 -24.6253 - 1 52.4283 1098 6 1 39.65 24.5954 -24.6472 - 1 87.7623 1099 6 1 39.85 24.6996 -24.672 - 1 101.756 1100 6 1 40.05 24.8826 -24.6319 - 1 81.3696 1101 6 1 40.2505 25.0408 -24.5927 - 1 58.0859 1102 6 1 40.4515 25.1748 -24.489 - 1 155.776 1103 6 1 40.6504 25.1517 -24.4926 - 1 210.904 1104 6 1 40.85 24.9523 -24.5725 - 1 105.208 1105 6 1 41.0501 25.0225 -24.696 - 1 150.277 1033 6 0 41.2571 26.7448 -25.85 - 1 74.5873 1034 6 0 41.2821 26.85 -25.8825 - 1 174.656 1108 6 1 41.7897 26.8832 -24.85 - 1 74.654 851 5 0 27.1128 -9.6987 -56.25 - 1 88.3527 852 5 0 27.0132 -9.64985 -56.1723 - 1 61.6824 853 5 0 26.7734 -9.45 -56.0252 - 1 55.6094 854 5 0 26.7557 -9.25 -55.936 - 1 106.543 1026 5 1 25.4322 -8.19022 -54.85 - 1 81.5907 1025 5 1 25.25 -8.11853 -54.7045 - 1 180.377 1024 5 1 25.05 -8.09928 -54.5783 - 1 243.703 1023 5 1 24.85 -8.42141 -54.594 - 1 254.124 1022 5 1 24.65 -8.39673 -54.6879 - 1 148.937 1169 5 1 54.0497 -13.351 -54.6229 - 1 85.5499 1168 5 1 53.85 -13.3269 -54.785 - 1 149.189 1160 6 1 52.2459 -13.7949 -24.4505 - 1 213.728 1158 5 1 51.6613 -13.2593 -54.45 - 1 110.192 1156 4 1 51.429 -10.4629 -84.45 - 1 61.6489 848 4 0 51.3409 -10.2725 -85.85 - 1 83.5218 849 4 0 51.3301 -10.25 -86.0156 - 1 247.965 1145 3 1 49.2067 -6.35649 -114.45 - 1 130.095 1140 2 1 48.2238 -1.70136 -144.45 - 1 56.0213 891 2 0 48.1719 -1.65436 -145.85 - 1 77.5673 892 2 0 48.1665 -1.65 -145.99 - 1 126.626 1137 1 1 47.5879 -0.206027 -174.45 - 1 114.404 898 1 0 47.3978 -0.260466 -175.85 - 1 104.496 1115 0 1 43.0983 -1.25576 -204.45 - 1 33.1662 1114 0 1 43.05 -1.25598 -204.762 - 1 152.262 893 0 0 42.8913 -1.25156 -205.85 - 1 26.0494 1370 0 1 94.2428 -45.5902 -204.85 - 1 119.274 1371 0 1 94.35 -45.7961 -204.529 - 1 154.594 1372 0 1 94.55 -45.8185 -204.619 - 1 235.1 676 0 0 93.8951 -44.7043 -205.85 - 1 12.269 675 0 0 93.7532 -44.85 -205.87 - 1 99.0008 1367 0 1 93.633 -44.674 -204.85 -Number of digits in this event: 152 -Using G4ParticleGun... -Particle energy: 2.66843 LIN +Number of tracker hits in this event: 0 +Number of digits in this event: 1 +Using G4ParticleGun... +Particle energy: 2.09515 LIN Particle: gamma Event: 2 -Number of tracker hits in this event: 39 - 2 211.413 788 5 1 -22.3963 16.9686 -54.45 - 2 296.905 984 5 0 -22.3986 16.968 -55.85 - 2 136.666 787 4 1 -22.45 16.9594 -84.45 - 2 172.443 984 4 0 -22.453 16.9581 -85.85 - 2 168.163 787 3 1 -22.5101 16.9306 -114.45 - 2 327.295 984 3 0 -22.5077 16.9283 -115.85 - 2 110.626 787 2 1 -22.4597 16.8769 -144.45 - 2 220.117 984 2 0 -22.459 16.8716 -145.85 - 2 123.692 788 1 1 -22.446 16.7508 -174.45 - 2 142.442 983 1 0 -22.4481 16.7432 -175.85 - 2 94.7644 787 0 1 -22.518 16.5723 -204.45 - 2 303.288 982 0 0 -22.5242 16.5628 -205.85 - 2 15.0764 1066 0 0 -26.8429 33.3545 -206.25 - 2 65.2479 1285 0 0 -28.7247 77.1294 -206.25 - 2 57.2908 983 2 0 -22.4151 16.85 -146.083 - 2 60.9244 788 2 1 -22.3871 16.8745 -144.45 - 2 99.9312 789 2 1 -22.25 16.9288 -144.542 - 2 92.866 790 2 1 -22.05 17.0745 -144.67 - 2 2.89288 791 2 1 -21.85 17.1992 -144.84 - 2 85.9309 989 2 0 -21.0506 17.857 -145.85 - 2 82.4959 990 2 0 -20.9675 18.05 -146.127 - 2 47.4569 991 2 0 -21.0281 18.25 -146.166 - 2 54.0134 1209 2 0 -85.0312 61.9156 -146.25 - 2 156.391 1210 2 0 -85.11 62.05 -146.159 - 2 253.244 472 2 1 -85.5045 62.6581 -144.85 - 2 392.532 473 2 1 -85.45 63.0466 -144.596 - 2 359.135 788 0 1 -22.3514 16.9471 -204.45 - 2 128.312 984 0 0 -22.1966 16.9333 -205.85 - 2 242.859 985 0 0 -22.2739 17.1521 -205.85 - 2 46.3711 1367 1 1 93.6058 19.6211 -174.85 - 2 154.597 784 4 1 -23.1788 17.0636 -84.45 - 2 286.832 985 4 0 -23.212 17.0611 -85.85 - 2 128.26 780 3 1 -23.8937 16.9953 -114.45 - 2 125.976 777 2 1 -24.6274 16.4161 -144.45 - 2 127.477 981 2 0 -24.6657 16.3999 -145.85 - 2 140.83 772 1 1 -25.5501 16.0276 -174.45 - 2 133.357 979 1 0 -25.651 16.0156 -175.85 - 2 124.587 761 0 1 -27.6891 15.8347 -204.45 - 2 128.38 978 0 0 -27.7762 15.828 -205.85 -Number of digits in this event: 28 +Number of tracker hits in this event: 66 + 2 210.785 798 9 0 133.303 -20.3242 64.1253 + 2 255.482 1565 8 1 133.29 -20.2504 35.55 + 2 228.884 798 8 0 133.283 -20.2588 34.15 + 2 117.541 1564 7 1 133.092 -20.443 5.55 + 2 100.136 797 7 0 133.067 -20.4586 4.15 + 2 296.06 1562 6 1 132.66 -20.8566 -24.45 + 2 113.867 795 6 0 132.639 -20.858 -25.85 + 2 122.777 1560 5 1 132.181 -20.8866 -54.45 + 2 114.831 795 5 0 132.155 -20.8934 -55.85 + 2 104.153 1557 4 1 131.574 -21.005 -84.45 + 2 127.131 795 4 0 131.541 -21.0034 -85.85 + 2 101.523 1553 3 1 130.858 -21.0125 -114.45 + 2 91.161 795 3 0 130.838 -21.0434 -115.85 + 2 20.5254 794 3 0 130.834 -21.05 -116.141 + 2 108.884 1551 2 1 130.392 -21.6701 -144.45 + 2 120.033 791 2 0 130.376 -21.6938 -145.85 + 2 133.429 1549 1 1 130.064 -22.207 -174.45 + 2 206.969 789 1 0 130.044 -22.2323 -175.85 + 2 122.611 1547 0 1 129.695 -22.6936 -204.45 + 2 147.568 786 0 0 129.659 -22.7137 -205.85 + 2 53.7413 1064 0 0 87.5447 32.9388 -206.25 + 2 135.393 1063 0 0 87.5139 32.8498 -206.108 + 2 183.74 1062 0 0 87.603 32.65 -206.002 + 2 56.6482 1061 0 0 87.6646 32.4499 -205.877 + 2 102.342 1060 0 0 87.7354 32.25 -205.866 + 2 413.737 1374 0 1 95.0107 25.8502 -204.85 + 2 186.102 1565 7 1 133.331 -20.2673 5.55 + 2 139.261 798 7 0 133.339 -20.2691 4.15 + 2 166.503 1566 6 1 133.514 -20.3011 -24.45 + 2 104.358 798 6 0 133.525 -20.3002 -25.85 + 2 116.953 1567 5 1 133.74 -20.2679 -54.45 + 2 141.272 798 5 0 133.746 -20.2678 -55.85 + 2 83.8384 1568 4 1 133.88 -20.2498 -84.45 + 2 127.17 799 4 0 133.876 -20.2162 -85.85 + 2 162.837 1568 3 1 133.81 -19.5364 -114.45 + 2 164.14 802 3 0 133.8 -19.4987 -115.85 + 2 219.895 1567 2 1 133.58 -18.5829 -144.45 + 2 101.219 807 2 0 133.592 -18.5612 -145.85 + 2 101.53 1568 1 1 133.816 -18.1415 -174.45 + 2 106.447 809 1 0 133.846 -18.1489 -175.85 + 2 138.92 1571 0 1 134.51 -18.2698 -204.45 + 2 113.79 808 0 0 134.512 -18.2687 -205.85 + 2 131.175 1570 2 1 134.153 -20.3318 -144.45 + 2 287.703 798 2 0 134.173 -20.3435 -145.85 + 2 120.379 1572 1 1 134.563 -20.6166 -174.45 + 2 116.157 797 1 0 134.602 -20.6194 -175.85 + 2 154.749 1576 0 1 135.363 -20.614 -204.45 + 2 146.132 797 0 0 135.391 -20.6084 -205.85 + 2 115.741 1569 2 1 134.149 -20.33 -144.45 + 2 129.435 1570 1 1 134.256 -19.865 -174.45 + 2 121.705 800 1 0 134.316 -19.86 -175.85 + 2 115.663 1577 0 1 135.683 -19.5459 -204.45 + 2 28.0283 1578 0 1 135.75 -19.5385 -204.759 + 2 191.192 802 0 0 135.975 -19.4983 -205.851 + 2 81.5735 429 5 0 158.016 -94.2242 -56.25 + 2 65.0886 428 5 0 157.965 -94.3502 -56.0763 + 2 94.9468 427 5 0 157.915 -94.55 -55.9036 + 2 3.27801 1688 5 1 157.751 -96.0184 -54.8497 + 2 192.739 1687 5 1 157.75 -96.0278 -54.8433 + 2 97.9226 1686 5 1 157.55 -96.4574 -54.6558 + 2 107.21 1685 5 1 157.35 -96.6825 -54.6285 + 2 25.0004 404 5 0 159.269 -99.2713 -55.85 + 2 77.9679 403 5 0 159.304 -99.35 -55.8695 + 2 187.204 402 5 0 159.379 -99.5502 -55.8689 + 2 145.69 401 5 0 159.457 -99.75 -56.1459 + 2 213.989 1570 0 1 134.35 -20.2454 -204.609 +Number of digits in this event: 37 Using G4ParticleGun... -Particle energy: 5.77287 LIN +Particle energy: 2.81532 LIN Particle: gamma Event: 3 -Number of tracker hits in this event: 22 - 3 240.296 679 5 0 -136.051 -44.0619 -55.9726 - 3 184.421 221 4 1 -135.859 -43.8867 -84.45 - 3 122.668 680 4 0 -135.882 -43.868 -85.85 - 3 159.155 218 3 1 -136.358 -43.5243 -114.45 - 3 113.084 682 3 0 -136.492 -43.4974 -115.85 - 3 188.853 204 2 1 -139.223 -42.8833 -144.45 - 3 218.856 685 2 0 -139.363 -42.8571 -145.85 - 3 113.491 190 1 1 -142.09 -42.4219 -174.45 - 3 116.321 688 1 0 -142.233 -42.3495 -175.85 - 3 127.319 175 0 1 -145.046 -40.823 -204.45 - 3 123.746 696 0 0 -145.217 -40.775 -205.85 - 3 123.071 220 4 1 -136.051 -44.0628 -84.45 - 3 120.961 679 4 0 -136.05 -44.0613 -85.85 - 3 427.287 220 3 1 -136.02 -44.0254 -114.45 - 3 116.55 680 3 0 -136.018 -44.0242 -115.85 - 3 134.527 220 2 1 -135.975 -43.9954 -144.45 - 3 220.557 680 2 0 -135.974 -43.9935 -145.85 - 3 113.099 220 1 1 -135.955 -43.9549 -174.45 - 3 121.595 680 1 0 -135.955 -43.9536 -175.85 - 3 476.15 221 0 1 -135.945 -43.9216 -204.45 - 3 618.664 680 0 0 -135.946 -43.9229 -205.85 - 3 78.5087 220 0 1 -135.95 -43.9031 -204.648 -Number of digits in this event: 18 +Number of tracker hits in this event: 3 + 3 196.512 1070 0 1 34.1426 67.648 -204.85 + 3 59.483 1263 1 0 67.0687 72.6783 -176.25 + 3 86.1621 1069 0 1 34.0499 68.0798 -204.632 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 4.99092 LIN +Particle energy: 7.20835 LIN Particle: gamma Event: 4 -Number of tracker hits in this event: 10 - 4 33.2927 1150 4 1 50.1211 -161.24 -84.45 - 4 19.2027 1066 3 0 -72.8089 33.45 -116.202 - 4 19.1916 1065 3 0 -72.8265 33.2497 -115.887 - 4 274.776 534 3 1 -73.1094 32.7082 -114.849 - 4 185.533 533 3 1 -73.25 32.5203 -114.737 - 4 64.0015 1064 3 0 -72.9213 32.8644 -115.85 - 4 209.69 1063 3 0 -72.8824 32.85 -115.989 - 4 140.285 686 0 1 -42.85 94.3949 -204.786 - 4 170.394 687 0 1 -42.6499 94.4245 -204.528 - 4 6.03546 688 0 1 -42.45 94.4435 -204.469 -Number of digits in this event: 8 +Number of tracker hits in this event: 0 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 9.40788 LIN +Particle energy: 2.46315 LIN Particle: gamma Event: 5 -Number of tracker hits in this event: 7 - 5 66.6149 783 4 0 -163.657 -23.25 -86.0566 - 5 22.2453 75 4 1 -165.039 -26.1607 -84.85 - 5 24.8787 763 4 0 -164.721 -27.308 -85.85 - 5 25.6419 82 4 1 -163.686 -29.4668 -84.8499 - 5 65.7171 755 4 0 -164.025 -29.0188 -85.85 - 5 65.8055 874 1 0 41.4897 -5.05 -176.014 - 5 0.638593 1208 6 1 61.6689 60.9784 -24.85 -Number of digits in this event: 2 +Number of tracker hits in this event: 2 + 5 69.3354 885 4 0 -7.62177 -2.85 -86.1875 + 5 334.314 24 9 0 83.4476 -175.15 63.8499 +Number of digits in this event: 4 Using G4ParticleGun... -Particle energy: 7.75648 LIN +Particle energy: 5.02888 LIN Particle: gamma Event: 6 -Number of tracker hits in this event: 41 - 6 253.022 1362 7 1 92.5822 10.2676 5.55 - 6 245.389 951 7 0 92.5904 10.2681 4.15 - 6 143.737 1363 6 1 92.7538 10.2852 -24.45 - 6 117.662 951 6 0 92.7567 10.2907 -25.85 - 6 124.823 1363 5 1 92.7973 10.397 -54.45 - 6 114.593 951 5 0 92.7958 10.4047 -55.85 - 6 314.906 1362 4 1 92.749 10.5556 -84.45 - 6 136.27 952 4 0 92.7456 10.5636 -85.85 - 6 229.456 1362 3 1 92.6587 10.7143 -114.45 - 6 136.854 953 3 0 92.6573 10.7244 -115.85 - 6 377.936 1362 2 1 92.633 10.9324 -144.45 - 6 126.129 954 2 0 92.6276 10.936 -145.85 - 6 103.116 1361 1 1 92.5173 11.0216 -174.45 - 6 104.81 954 1 0 92.5108 11.0286 -175.85 - 6 109.634 1361 0 1 92.3874 11.2007 -204.45 - 6 147.589 955 0 0 92.3771 11.2071 -205.85 - 6 198.076 788 0 0 12.2422 -22.3735 -206.25 - 6 305.914 797 0 0 -41.5997 -20.5293 -206.25 - 6 28.3065 961 0 1 12.3515 -26.6805 -204.85 - 6 195.976 1360 0 1 92.171 11.6089 -204.45 - 6 105.998 956 0 0 92.5057 11.3413 -205.85 - 6 121.665 1359 0 1 92.1499 11.6406 -204.543 - 6 25.1305 960 0 0 91.7483 12.2263 -205.85 - 6 145.966 961 0 0 91.7303 12.25 -205.901 - 6 149.239 1362 6 1 92.75 10.2139 -24.8016 - 6 133.749 954 6 0 91.7044 10.9899 -25.8501 - 6 59.74 1358 6 1 91.9437 10.2328 -24.85 - 6 61.6321 1359 6 1 91.95 10.2261 -24.8313 - 6 107.039 950 6 0 92.5984 10.2402 -25.85 - 6 418.601 1362 5 1 92.6345 10.2119 -54.45 - 6 133.065 950 5 0 92.6356 10.2118 -55.85 - 6 126.505 950 4 0 92.6568 10.2072 -85.85 - 6 99.3333 950 3 0 92.676 10.2058 -115.85 - 6 154.527 950 2 0 92.7258 10.2153 -145.85 - 6 205.044 1363 1 1 92.7729 10.1834 -174.45 - 6 135.348 950 1 0 92.7748 10.181 -175.85 - 6 102.01 1363 0 1 92.8106 10.1369 -204.45 - 6 216.179 950 0 0 92.8172 10.1331 -205.85 - 6 91.7652 937 2 0 50.5475 7.49896 -146.25 - 6 39.192 905 5 0 86.8857 1.05 -55.9665 - 6 5.26721 1044 5 0 102.834 29.01 -55.85 -Number of digits in this event: 27 +Number of tracker hits in this event: 3 + 6 19.1394 561 5 1 -67.85 105.617 -54.82 + 6 9.09211 1639 4 0 -94.0829 147.95 -86.1963 + 6 9.95866 618 4 0 -19.4261 -56.3458 -86.25 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 9.11185 LIN +Particle energy: 7.62654 LIN Particle: gamma Event: 7 -Number of tracker hits in this event: 4 - 7 104.137 1240 12 1 68.0963 -73.0864 155.15 - 7 33.9236 1199 12 1 60.05 -75.8428 155.498 - 7 175.436 1241 12 1 68.25 -72.8923 155.367 - 7 195.975 1242 12 1 68.4501 -73.1432 155.296 -Number of digits in this event: 5 +Number of tracker hits in this event: 33 + 7 254.242 920 7 1 4.14042 -55.9087 5.55 + 7 326.295 620 7 0 4.13537 -55.9126 4.15 + 7 121.021 919 6 1 4.01986 -55.9788 -24.45 + 7 433.582 620 6 0 4.01445 -55.994 -25.85 + 7 182.079 919 5 1 3.86189 -56.2943 -54.45 + 7 129.989 618 5 0 3.84413 -56.306 -55.85 + 7 145.036 917 4 1 3.4632 -56.5211 -84.45 + 7 108.961 617 4 0 3.44595 -56.5471 -85.85 + 7 193.844 915 3 1 3.11445 -57.0904 -114.45 + 7 134.268 614 3 0 3.09774 -57.117 -115.85 + 7 121.352 913 2 1 2.79581 -57.6414 -144.45 + 7 219.644 611 2 0 2.77827 -57.6688 -145.85 + 7 110.697 911 1 1 2.44377 -58.2675 -174.45 + 7 111.327 608 1 0 2.44079 -58.3004 -175.85 + 7 93.3753 911 0 1 2.28401 -58.923 -204.45 + 7 87.956 605 0 0 2.26586 -58.9654 -205.85 + 7 100.102 920 6 1 4.16454 -55.8876 -24.45 + 7 118.979 920 5 1 4.22033 -55.8606 -54.45 + 7 140.826 620 5 0 4.22373 -55.8573 -55.85 + 7 116.011 921 4 1 4.2958 -55.7953 -84.45 + 7 107.832 621 4 0 4.29468 -55.79 -85.85 + 7 15.8959 920 3 1 4.24888 -55.728 -114.45 + 7 118.289 921 3 1 4.25 -55.7275 -114.495 + 7 406.282 621 3 0 4.28266 -55.7114 -115.85 + 7 20.7126 923 2 1 4.84878 -55.3781 -144.45 + 7 88.3215 924 2 1 4.85 -55.3762 -144.51 + 7 111.373 623 2 0 4.88039 -55.3351 -145.85 + 7 133.818 927 1 1 5.48921 -54.3475 -174.45 + 7 121.651 628 1 0 5.52923 -54.2925 -175.85 + 7 103.581 931 0 1 6.36802 -53.1144 -204.45 + 7 48.9358 634 0 0 6.40753 -53.0571 -205.85 + 7 84.9921 635 0 0 6.41224 -53.05 -206.021 + 7 118.858 679 0 0 -2.92007 -44.25 -206.133 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 1.03249 LIN +Particle energy: 8.71228 LIN Particle: gamma Event: 8 -Number of tracker hits in this event: 0 -Number of digits in this event: 1 +Number of tracker hits in this event: 23 + 8 307.089 1073 3 1 34.707 97.3806 -114.45 + 8 220.432 1386 3 0 34.707 97.3813 -115.85 + 8 259.453 1073 2 1 34.7076 97.3946 -144.45 + 8 345.567 1386 2 0 34.7076 97.3951 -145.85 + 8 262.441 1073 1 1 34.7014 97.3999 -174.45 + 8 256.135 1386 1 0 34.7012 97.3989 -175.85 + 8 735.938 1073 0 1 34.6954 97.3794 -204.45 + 8 475.989 1386 0 0 34.6934 97.3782 -205.85 + 8 112.347 1090 0 0 111.275 38.25 -206.209 + 8 5.89944 1465 0 1 113.343 37.3766 -204.85 + 8 132.768 1466 0 1 113.35 37.376 -204.845 + 8 155.766 1385 0 0 34.6195 97.2637 -205.85 + 8 99.0034 1074 1 1 34.8501 97.435 -174.526 + 8 118.412 1387 1 0 35.5982 97.6333 -175.85 + 8 103.49 1362 1 0 45.3518 92.6855 -176.25 + 8 80.4972 1122 1 1 44.6045 92.9933 -174.85 + 8 43.6356 1121 1 1 44.4499 93.054 -174.6 + 8 30.4474 1283 2 0 69.6694 76.6772 -146.25 + 8 125.956 1282 2 0 69.7153 76.65 -146.199 + 8 378.298 1252 2 1 70.6311 76.3564 -144.85 + 8 164.241 1253 2 1 70.6501 76.352 -144.819 + 8 160.925 1251 2 1 70.45 77.593 -144.735 + 8 108.098 1250 2 1 70.25 78.0477 -144.516 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 2.90921 LIN +Particle energy: 4.91886 LIN Particle: gamma Event: 9 -Number of tracker hits in this event: 68 - 9 355.391 646 7 1 -50.663 77.3112 5.55 - 9 356.443 1286 7 0 -50.6582 77.3117 4.15 - 9 140.988 647 6 1 -50.5667 77.3178 -24.45 - 9 226.632 1286 6 0 -50.5592 77.3163 -25.85 - 9 101.607 648 5 1 -50.4088 77.3025 -54.45 - 9 105.985 1286 5 0 -50.4033 77.3045 -55.85 - 9 128.574 648 4 1 -50.2862 77.3399 -84.45 - 9 218.172 1286 4 0 -50.2815 77.3409 -85.85 - 9 116.19 649 3 1 -50.1859 77.3542 -114.45 - 9 107.694 1286 3 0 -50.1818 77.3548 -115.85 - 9 111.641 649 2 1 -50.1027 77.3752 -144.45 - 9 129.346 1286 2 0 -50.0982 77.3782 -145.85 - 9 148.329 650 1 1 -50.0124 77.4304 -174.45 - 9 99.2071 1286 1 0 -50.0076 77.4326 -175.85 - 9 156.154 650 0 1 -49.9163 77.4632 -204.45 - 9 110.969 1287 0 0 -49.9123 77.4614 -205.85 - 9 154.329 640 6 1 -51.8663 77.2561 -24.45 - 9 117.335 636 5 1 -52.8084 77.5591 -54.45 - 9 115.161 1287 5 0 -52.8423 77.5892 -55.85 - 9 104.705 632 4 1 -53.5501 78.2348 -84.45 - 9 170.375 1290 4 0 -53.5872 78.2348 -85.85 - 9 137.494 628 3 1 -54.3172 78.1996 -114.45 - 9 138.7 1290 3 0 -54.3692 78.2192 -115.85 - 9 122.536 622 2 1 -55.5284 78.5001 -144.45 - 9 8.12074 1292 2 0 -55.6529 78.4518 -145.85 - 9 95.5931 1291 2 0 -55.657 78.45 -145.896 - 9 124.049 608 1 1 -58.3444 77.2724 -174.45 - 9 135.991 1285 1 0 -58.4517 77.2358 -175.85 - 9 53.0286 598 0 1 -60.4366 76.2765 -204.45 - 9 69.6918 597 0 1 -60.45 76.2718 -204.59 - 9 106.463 1280 0 0 -60.5689 76.2276 -205.85 - 9 978.186 626 3 1 -54.6981 78.2675 -114.45 - 9 54.0879 1289 3 0 -55.0644 77.899 -115.85 - 9 59.4025 1288 3 0 -55.113 77.85 -116.036 - 9 105.472 587 2 1 -62.5736 69.8786 -144.45 - 9 120.683 1246 2 0 -62.7786 69.4 -145.85 - 9 107.775 560 1 1 -67.8847 58.9771 -174.45 - 9 67.0536 559 1 1 -68.05 58.8088 -174.726 - 9 161.554 1190 1 0 -68.8143 58.2298 -175.85 - 9 13.7155 468 0 1 -86.4222 46.6421 -204.45 - 9 107.14 467 0 1 -86.45 46.6256 -204.485 - 9 41.5318 466 0 1 -86.6502 46.4973 -204.75 - 9 100.135 1129 0 0 -87.4456 45.9599 -205.85 - 9 84.1776 1128 0 0 -87.6126 45.8499 -206.087 - 9 166.697 1287 3 0 -54.1923 77.5558 -115.85 - 9 215.579 1292 3 0 -54.545 78.4591 -115.85 - 9 117.257 646 2 1 -50.7106 82.1519 -144.45 - 9 83.6555 1306 2 0 -50.7103 81.4254 -145.85 - 9 27.6493 1305 2 0 -50.711 81.2496 -146.124 - 9 69.7238 664 1 1 -47.0834 63.8768 -174.45 - 9 14.7426 665 1 1 -47.05 63.8078 -174.788 - 9 126.028 1217 1 0 -46.8272 63.6197 -175.85 - 9 149.754 679 0 1 -44.1108 61.3259 -204.45 - 9 22.5833 680 0 1 -44.05 61.5993 -204.781 - 9 66.0628 1210 0 0 -43.6987 62.1796 -205.851 - 9 106.958 1211 0 0 -43.6549 62.2502 -205.972 - 9 104.228 1254 0 0 -38.8423 70.8736 -206.25 - 9 137.391 703 0 1 -39.3239 71.2192 -204.85 - 9 56.1331 702 0 1 -39.534 71.5055 -204.45 - 9 75.3156 701 0 1 -39.65 71.6216 -204.585 - 9 98.8476 700 0 1 -39.8504 71.7172 -204.683 - 9 56.3895 699 0 1 -40.0504 71.7886 -204.702 - 9 82.3643 698 0 1 -40.25 71.8942 -204.68 - 9 58.3119 697 0 1 -40.4501 72.0575 -204.622 - 9 61.6409 696 0 1 -40.65 72.1324 -204.549 - 9 47.6661 695 0 1 -40.85 72.1913 -204.514 - 9 25.1636 625 3 1 -54.85 78.843 -114.571 - 9 109.383 1285 7 0 -50.7335 77.25 3.84632 -Number of digits in this event: 25 +Number of tracker hits in this event: 0 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 2.73716 LIN +Particle energy: 1.29717 LIN Particle: gamma Event: 10 -Number of tracker hits in this event: 12 - 10 286.09 1491 2 1 118.504 89.998 -144.45 - 10 214.519 1349 2 0 118.504 89.9989 -145.85 - 10 357.733 1491 1 1 118.526 90.0273 -174.45 - 10 234.454 1349 1 0 118.526 90.0295 -175.85 - 10 86.7533 972 1 0 118.909 14.65 -176.169 - 10 27.2648 1492 1 1 118.734 14.6176 -174.85 - 10 115.767 1493 1 1 118.75 14.6335 -174.798 - 10 70.0917 960 1 0 118.752 12.1696 -175.85 - 10 115.681 1491 0 1 118.441 89.9731 -204.45 - 10 112.206 1349 0 0 118.444 89.973 -205.85 - 10 113.733 820 2 0 25.1564 -15.85 -146.177 - 10 333.262 819 2 0 24.9435 -16.05 -146.023 -Number of digits in this event: 7 +Number of tracker hits in this event: 1 + 10 16.4079 753 14 1 -29.45 -113.277 215.187 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 5.43245 LIN +Particle energy: 4.40015 LIN Particle: gamma Event: 11 -Number of tracker hits in this event: 1 - 11 16.3409 1359 3 1 91.95 52.6953 -114.487 -Number of digits in this event: 2 +Number of tracker hits in this event: 0 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 1.61436 LIN +Particle energy: 3.38751 LIN Particle: gamma Event: 12 -Number of tracker hits in this event: 9 - 12 29.6012 51 8 0 119.27 -169.849 33.7502 - 12 63.4019 50 8 0 119.288 -169.95 33.8354 - 12 156.298 49 8 0 119.342 -170.15 33.9444 - 12 53.0514 48 8 0 119.358 -170.35 34.0678 - 12 24.3391 1488 8 1 117.79 -173.302 35.15 - 12 106.971 1487 8 1 117.75 -173.354 35.1569 - 12 8.79906 1486 8 1 117.55 -173.507 35.1538 - 12 135.668 23 8 0 112.686 -175.362 34.15 - 12 171.858 22 8 0 112.399 -175.55 34.0904 -Number of digits in this event: 4 +Number of tracker hits in this event: 55 + 12 317.055 598 6 1 -60.2576 -77.3503 -24.45 + 12 240.273 513 6 0 -60.2563 -77.352 -25.85 + 12 242.557 599 5 1 -60.2106 -77.3626 -54.45 + 12 210.092 513 5 0 -60.2127 -77.3485 -55.85 + 12 118.215 599 4 1 -60.212 -77.0945 -84.45 + 12 148.955 514 4 0 -60.2006 -77.0895 -85.85 + 12 130.111 600 3 1 -59.9448 -76.9155 -114.45 + 12 107.847 515 3 0 -59.9193 -76.868 -115.85 + 12 162.693 603 2 1 -59.3684 -75.8921 -144.45 + 12 129.746 521 2 0 -59.3312 -75.7434 -145.85 + 12 105.522 605 1 1 -58.874 -72.2795 -174.45 + 12 69.6138 539 1 0 -58.8417 -72.0817 -175.85 + 12 73.3292 540 1 0 -58.8411 -72.05 -176.09 + 12 96.6931 607 0 1 -58.585 -68.4044 -204.45 + 12 12.2309 606 0 1 -58.65 -68.3883 -204.804 + 12 121.747 558 0 0 -58.8281 -68.3556 -205.85 + 12 131.213 455 1 0 -54.6051 -88.9519 -176.25 + 12 228.544 454 1 0 -54.5581 -89.05 -176.188 + 12 230.094 606 1 1 -58.7734 -75.4571 -174.45 + 12 102.692 522 1 0 -58.7517 -75.5116 -175.85 + 12 156.791 603 0 1 -59.346 -76.6323 -204.45 + 12 104.44 517 0 0 -59.4263 -76.6187 -205.851 + 12 100.178 523 1 0 -58.7402 -75.4149 -175.85 + 12 184.32 609 0 1 -58.0539 -74.3857 -204.45 + 12 127.413 528 0 0 -58.0571 -74.3233 -205.851 + 12 258.041 599 1 1 -60.1181 -76.8149 -174.45 + 12 272.039 516 1 0 -60.1255 -76.7586 -175.851 + 12 233.292 599 0 1 -60.1268 -75.3415 -204.45 + 12 226.338 524 0 0 -60.1067 -75.1118 -205.85 + 12 4.5202 525 0 0 -60.104 -75.05 -206.228 + 12 115.1 598 0 1 -60.3164 -76.6898 -204.45 + 12 102.281 516 0 0 -60.3471 -76.695 -205.85 + 12 96.0232 598 4 1 -60.2622 -77.2908 -84.45 + 12 107.755 513 4 0 -60.2614 -77.29 -85.85 + 12 17.5705 598 3 1 -60.2503 -77.2699 -114.45 + 12 102.795 599 3 1 -60.25 -77.2697 -114.526 + 12 122.574 513 3 0 -60.2452 -77.2673 -115.85 + 12 136.754 599 2 1 -60.1429 -77.2093 -144.45 + 12 192.627 514 2 0 -60.1363 -77.2081 -145.85 + 12 233.411 600 1 1 -59.9828 -77.187 -174.45 + 12 98.4775 514 1 0 -59.9777 -77.1817 -175.85 + 12 155.244 600 0 1 -59.9136 -77.0938 -204.45 + 12 156.991 514 0 0 -59.9128 -77.0881 -205.85 + 12 17.7932 706 2 0 -87.8178 -38.7875 -146.25 + 12 68.1081 707 2 0 -87.8738 -38.65 -145.918 + 12 18.5387 708 2 0 -87.7957 -38.4498 -145.876 + 12 253.324 466 2 1 -86.844 -36.6107 -144.849 + 12 243.913 465 2 1 -86.85 -36.3261 -144.59 + 12 2.91497 178 4 1 -144.35 12.1903 -84.5075 + 12 194.876 515 1 0 -59.8134 -76.982 -175.85 + 12 54.4714 622 0 1 -55.5903 -72.7326 -204.45 + 12 108.233 621 0 1 -55.65 -72.888 -204.485 + 12 34.9219 620 0 1 -55.85 -73.0664 -204.752 + 12 73.6251 531 0 0 -56.662 -73.7006 -205.85 + 12 94.9905 530 0 0 -56.8247 -73.8505 -206.064 +Number of digits in this event: 32 Using G4ParticleGun... -Particle energy: 3.42124 LIN +Particle energy: 4.49 LIN Particle: gamma Event: 13 -Number of tracker hits in this event: 53 - 13 261.623 1017 9 1 23.5716 12.6108 65.55 - 13 210.788 962 9 0 23.5698 12.6091 64.15 - 13 97.9168 1017 8 1 23.5361 12.5802 35.55 - 13 154.66 962 8 0 23.5344 12.575 34.15 - 13 156.125 1017 7 1 23.4935 12.4737 5.55 - 13 115.994 962 7 0 23.493 12.4695 4.15 - 13 101.599 1017 6 1 23.4868 12.3885 -24.45 - 13 121.373 961 6 0 23.4865 12.3836 -25.85 - 13 131.279 1017 5 1 23.4832 12.2761 -54.45 - 13 115.774 961 5 0 23.4852 12.27 -55.85 - 13 126.195 1017 4 1 23.5287 12.1563 -84.45 - 13 162.058 960 4 0 23.5295 12.1486 -85.85 - 13 131.485 1017 3 1 23.5505 11.9922 -114.45 - 13 119.588 959 3 0 23.5492 11.9859 -115.85 - 13 110.875 1017 2 1 23.5174 11.8745 -144.45 - 13 115.332 959 2 0 23.5118 11.8601 -145.85 - 13 131.448 1016 1 1 23.4125 11.5784 -174.45 - 13 144.392 957 1 0 23.4055 11.567 -175.85 - 13 129.341 1016 0 1 23.2598 11.3276 -204.45 - 13 333.309 956 0 0 23.25 11.3122 -205.85 - 13 331.255 703 1 1 -39.3418 68.9125 -174.45 - 13 148.591 565 0 1 -66.8867 105.242 -204.85 - 13 38.4396 786 11 0 110.107 -22.7349 123.75 - 13 68.0379 785 11 0 110.164 -22.85 123.856 - 13 37.5586 784 11 0 110.277 -23.0507 124.055 - 13 118.289 1452 11 1 110.706 -24.6459 125.15 - 13 86.5767 1453 11 1 110.75 -25.0429 125.413 - 13 70.1105 1454 11 1 110.95 -25.2099 125.463 - 13 0.926088 1455 11 1 111.15 -25.3301 125.548 - 13 162.9 1023 8 1 24.7403 11.8393 35.55 - 13 134.8 958 8 0 24.949 11.8446 34.1499 - 13 213.107 1047 7 1 29.5 11.944 5.55 - 13 121.259 959 7 0 29.7798 11.9583 4.15 - 13 120.138 1077 6 1 35.5375 12.4452 -24.45 - 13 146.31 962 6 0 35.7832 12.5057 -25.85 - 13 157.516 1102 5 1 40.531 13.6949 -54.45 - 13 119.296 968 5 0 40.865 13.763 -55.85 - 13 111.313 1137 4 1 47.4762 14.9034 -84.45 - 13 113.339 974 4 0 47.8375 14.9736 -85.85 - 13 67.0367 1172 3 1 54.6102 16.1107 -114.45 - 13 39.0636 1173 3 1 54.65 16.1058 -114.677 - 13 195.704 980 3 0 54.8568 16.077 -115.85 - 13 23.5566 1197 2 1 59.6408 15.3471 -144.45 - 13 103.746 1198 2 1 59.65 15.3423 -144.519 - 13 145.64 975 2 0 59.8193 15.2462 -145.85 - 13 0.197281 1215 1 1 63.2498 13.1539 -174.45 - 13 115.41 1216 1 1 63.25 13.1537 -174.451 - 13 105.145 964 1 0 63.5363 12.9496 -175.85 - 13 122.573 1247 0 1 69.6034 8.57759 -204.45 - 13 152.865 941 0 0 69.7567 8.37614 -205.85 - 13 202.522 1095 3 0 74.8218 39.1209 -116.25 - 13 135.102 1048 7 1 29.65 12.0159 5.39967 - 13 30.6372 1785 8 0 -116.678 177.15 33.945 -Number of digits in this event: 30 -Using G4ParticleGun... -Particle energy: 7.00193 LIN +Number of tracker hits in this event: 0 +Number of digits in this event: 2 +Using G4ParticleGun... +Particle energy: 6.70643 LIN Particle: gamma Event: 14 -Number of tracker hits in this event: 11 - 14 312.552 430 2 1 -93.951 -67.3759 -144.45 - 14 244.905 563 2 0 -93.9505 -67.376 -145.85 - 14 115.95 431 1 1 -93.9346 -67.378 -174.45 - 14 267.18 563 1 0 -93.9338 -67.3793 -175.85 - 14 121.698 431 0 1 -93.9137 -67.4101 -204.45 - 14 260.063 563 0 0 -93.9119 -67.4103 -205.85 - 14 180.56 430 1 1 -93.9909 -67.4254 -174.45 - 14 170.394 429 0 1 -94.1869 -67.4146 -204.45 - 14 16.8565 450 6 0 32.9309 -89.8845 -26.25 - 14 258.038 604 0 0 -106.978 -59.2458 -206.25 - 14 88.5251 603 0 0 -107.041 -59.25 -205.962 -Number of digits in this event: 10 +Number of tracker hits in this event: 29 + 14 165.708 986 5 0 -72.248 17.3656 -55.9944 + 14 222.486 538 4 1 -72.2709 17.3626 -84.45 + 14 265.845 986 4 0 -72.2703 17.3644 -85.85 + 14 121.22 538 3 1 -72.2682 17.3892 -114.45 + 14 276.976 986 3 0 -72.2654 17.3889 -115.85 + 14 265.786 539 2 1 -72.2241 17.3779 -144.45 + 14 357.925 986 2 0 -72.218 17.376 -145.85 + 14 234.128 539 1 1 -72.0826 17.3355 -174.45 + 14 318.199 986 1 0 -72.078 17.3331 -175.85 + 14 446.124 540 0 1 -71.9868 17.2868 -204.45 + 14 120.021 986 0 0 -71.9824 17.2868 -205.85 + 14 72.3255 176 5 1 -144.811 144.405 -54.85 + 14 178.105 175 5 1 -144.95 144.55 -54.6153 + 14 144.441 174 5 1 -145.15 144.659 -54.5118 + 14 93.6581 936 0 0 -145.845 7.28527 -206.25 + 14 342.166 539 4 1 -72.25 17.3464 -84.454 + 14 149.441 539 3 1 -72.149 17.377 -114.45 + 14 113.929 540 1 1 -71.9977 17.4247 -174.45 + 14 131.726 987 0 0 -71.9431 17.4867 -205.85 + 14 53.9525 538 1 1 -72.25 17.6812 -174.688 + 14 61.9048 992 1 0 -72.8015 18.5214 -175.85 + 14 81.3281 993 1 0 -72.8953 18.6501 -176.03 + 14 38.7552 572 1 1 -65.65 61.6095 -174.832 + 14 41.041 498 0 1 -80.25 29.882 -204.715 + 14 134.642 1051 0 0 -82.1876 30.3983 -205.85 + 14 361.523 987 3 0 -72.1589 17.45 -116.062 + 14 148.628 988 3 0 -72.626 17.65 -116.015 + 14 100.615 1024 5 0 -40.6365 24.8808 -56.25 + 14 281.903 1023 5 0 -40.5055 24.85 -56.0701 +Number of digits in this event: 23 Using G4ParticleGun... -Particle energy: 1.71162 LIN +Particle energy: 8.62351 LIN Particle: gamma Event: 15 -Number of tracker hits in this event: 31 - 15 325.657 1497 3 1 119.71 34.6667 -114.45 - 15 113.308 1072 3 0 119.704 34.6474 -115.85 - 15 115.276 1496 2 1 119.468 34.2673 -144.45 - 15 203.789 1070 2 0 119.475 34.2415 -145.85 - 15 96.0741 1497 1 1 119.674 33.5604 -174.45 - 15 131.399 1067 1 0 119.707 33.5391 -175.85 - 15 140.938 1500 0 1 120.22 33.1534 -204.45 - 15 95.439 1065 0 0 120.234 33.1478 -205.85 - 15 214.48 943 1 0 120.149 8.76788 -176.25 - 15 57.5609 1493 1 1 118.9 8.33002 -174.85 - 15 83.9694 1492 1 1 118.75 8.26839 -174.721 - 15 73.9128 1491 1 1 118.55 8.2038 -174.568 - 15 59.4302 1490 1 1 118.35 8.14896 -174.482 - 15 71.653 1489 1 1 118.15 8.20782 -174.485 - 15 124.015 1488 1 1 117.95 8.30895 -174.523 - 15 241.968 1487 1 1 117.75 8.35517 -174.669 - 15 86.8725 940 1 0 115.487 8.11704 -175.85 - 15 88.8359 939 1 0 115.325 8.05 -176.045 - 15 23.2681 938 1 0 115.214 7.84956 -176.211 - 15 72.6655 774 1 0 72.0571 -25.0814 -176.25 - 15 117.77 775 1 0 71.9349 -25.0499 -176.077 - 15 268.437 1259 1 1 71.9324 -25.1464 -174.85 - 15 55.9409 929 1 0 116.995 5.87072 -175.85 - 15 223.972 928 1 0 116.991 5.84961 -175.86 - 15 219.127 1073 3 0 119.705 34.6613 -115.85 - 15 115.18 1497 2 1 119.64 34.542 -144.45 - 15 114.961 1072 2 0 119.633 34.5378 -145.85 - 15 117.577 1496 1 1 119.512 34.4883 -174.45 - 15 119.323 1072 1 0 119.509 34.5085 -175.85 - 15 116.592 1496 0 1 119.491 34.9731 -204.45 - 15 100.003 1074 0 0 119.488 35.0003 -205.85 -Number of digits in this event: 13 +Number of tracker hits in this event: 32 + 15 203.124 1152 4 1 50.6464 116.943 -84.5156 + 15 318.133 1483 4 0 50.6443 116.947 -85.85 + 15 99.6555 1152 3 1 50.5913 117.047 -114.45 + 15 113.739 1484 3 0 50.5877 117.049 -115.85 + 15 99.1327 1152 2 1 50.5179 117.093 -144.45 + 15 113.836 1484 2 0 50.514 117.092 -145.85 + 15 103.876 1151 1 1 50.4323 117.071 -174.45 + 15 101.756 1484 1 0 50.4291 117.074 -175.85 + 15 117.185 1151 0 1 50.3649 117.116 -204.45 + 15 144.105 1484 0 0 50.3612 117.118 -205.85 + 15 121.604 1412 0 0 73.9922 102.597 -206.25 + 15 37.0353 1263 2 0 81.9717 72.6751 -146.25 + 15 120.421 1153 3 1 50.6983 116.853 -114.45 + 15 134.86 1483 3 0 50.7011 116.848 -115.85 + 15 278.216 1153 2 1 50.7697 116.742 -144.45 + 15 146.284 1482 2 0 50.7708 116.736 -145.85 + 15 117.842 1153 1 1 50.7857 116.609 -174.45 + 15 130.202 1482 1 0 50.7886 116.602 -175.85 + 15 140.731 1153 0 1 50.8439 116.454 -204.45 + 15 108.977 1481 0 0 50.8494 116.448 -205.85 + 15 123.536 1119 3 1 44.0299 113.697 -114.45 + 15 96.2499 1468 3 0 44.0724 113.905 -115.85 + 15 70.0518 1469 3 0 44.0784 113.95 -116.043 + 15 145.29 1133 2 1 46.6741 121.193 -144.45 + 15 133.419 1507 2 0 47.1611 121.553 -145.85 + 15 51.8555 1741 2 0 87.5462 168.436 -146.25 + 15 66.6393 1742 2 0 87.6196 168.55 -146.182 + 15 74.9798 1743 2 0 87.7223 168.75 -146.058 + 15 35.675 1744 2 0 87.8393 168.95 -145.919 + 15 63.0537 1344 2 1 88.9385 170.798 -144.85 + 15 133.291 1345 2 1 89.05 170.975 -144.743 + 15 83.7142 1346 2 1 89.25 171.315 -144.56 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 3.19841 LIN +Particle energy: 9.85623 LIN Particle: gamma Event: 16 -Number of tracker hits in this event: 0 -Number of digits in this event: 1 +Number of tracker hits in this event: 11 + 16 250.548 803 0 1 -19.3931 84.9551 -204.45 + 16 251.743 1324 0 0 -19.3937 84.9557 -205.85 + 16 138.232 1470 1 0 -13.8998 114.333 -176.25 + 16 253.123 832 1 1 -13.5466 114.329 -174.85 + 16 66.5607 1069 0 1 33.9706 98.9057 -204.85 + 16 155.059 1523 4 0 159.521 124.836 -86.25 + 16 41.6778 1704 4 1 161.041 124.799 -84.85 + 16 149.595 1705 4 1 161.15 124.744 -84.7592 + 16 230.097 1706 4 1 161.35 124.506 -84.6255 + 16 8.79721 1707 4 1 161.55 124.81 -84.4719 + 16 44.1722 1068 0 1 33.85 98.9673 -204.603 +Number of digits in this event: 10 Using G4ParticleGun... -Particle energy: 7.54535 LIN +Particle energy: 8.1538 LIN Particle: gamma Event: 17 -Number of tracker hits in this event: 22 - 17 362.233 1325 3 1 85.1946 -38.2396 -114.45 - 17 255.8 709 3 0 85.1983 -38.2411 -115.85 - 17 102.965 1326 2 1 85.2761 -38.2748 -144.45 - 17 132.576 708 2 0 85.2794 -38.2753 -145.85 - 17 92.5082 1326 1 1 85.3486 -38.2789 -174.45 - 17 140.346 708 1 0 85.3531 -38.279 -175.85 - 17 103.61 1326 0 1 85.4387 -38.2825 -204.45 - 17 128.712 708 0 0 85.4425 -38.2837 -205.85 - 17 81.6094 1514 4 1 123.082 -4.69117 -84.85 - 17 85.2913 1513 4 1 122.95 -4.69459 -84.4597 - 17 95.3154 1322 1 0 131.767 84.45 -176.013 - 17 317.391 1564 1 1 132.993 84.2817 -174.85 - 17 277.891 320 1 0 73.9081 -115.95 -176.153 - 17 24.6541 207 1 0 143.334 -138.55 -175.937 - 17 90.3791 206 1 0 143.442 -138.75 -175.856 - 17 206.621 1620 1 1 144.208 -139.866 -174.85 - 17 115.905 1324 2 1 85.029 -38.2006 -144.45 - 17 105.027 709 2 0 85.0206 -38.2003 -145.85 - 17 118.093 1324 1 1 84.8538 -38.2017 -174.45 - 17 118.091 709 1 0 84.8464 -38.2035 -175.85 - 17 371.894 1323 0 1 84.7043 -38.2348 -204.45 - 17 353.575 709 0 0 84.6801 -38.2455 -205.85 -Number of digits in this event: 12 +Number of tracker hits in this event: 27 + 17 43.3795 1348 5 0 -100.335 89.7275 -56.1704 + 17 356.564 399 4 1 -100.33 89.745 -84.45 + 17 284.673 1348 4 0 -100.33 89.7377 -85.85 + 17 290.848 399 3 1 -100.256 89.5885 -114.45 + 17 131.054 1347 3 0 -100.244 89.5811 -115.85 + 17 97.0013 400 2 1 -100.045 89.1968 -144.45 + 17 118.595 1345 2 0 -100.04 89.1751 -145.85 + 17 129.95 400 1 1 -99.9869 88.7733 -174.45 + 17 125.112 1343 1 0 -99.9755 88.751 -175.85 + 17 141.776 401 0 1 -99.7759 88.2791 -204.45 + 17 119.238 1340 0 0 -99.7675 88.2453 -205.85 + 17 94.9864 876 2 1 -4.85 97.001 -144.657 + 17 11.6681 867 2 1 -6.45 94.4653 -144.534 + 17 102.868 958 2 0 -166.225 11.85 -146.214 + 17 95.6894 1348 3 0 -100.312 89.7114 -115.85 + 17 104.059 399 2 1 -100.295 89.6955 -144.45 + 17 111.509 1348 2 0 -100.295 89.6944 -145.85 + 17 126.406 399 1 1 -100.3 89.6724 -174.45 + 17 149.242 1348 1 0 -100.3 89.6713 -175.85 + 17 466.823 399 0 1 -100.294 89.6462 -204.45 + 17 129.83 1347 0 0 -100.292 89.646 -205.85 + 17 4.75329 1251 3 0 -111.704 70.4091 -116.25 + 17 204.209 340 3 1 -112.148 70.3331 -114.85 + 17 104.593 339 3 1 -112.15 70.3337 -114.844 + 17 1.43055 793 10 0 -11.9808 -21.25 93.8987 + 17 292.12 839 10 1 -12.0586 -21.1019 95.1502 + 17 286.008 1348 0 0 -100.309 89.6826 -205.85 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 5.67263 LIN +Particle energy: 1.13735 LIN Particle: gamma Event: 18 -Number of tracker hits in this event: 0 -Number of digits in this event: 1 +Number of tracker hits in this event: 3 + 18 233.569 1050 0 1 30.1977 140.787 -204.45 + 18 119.171 1603 0 0 30.1973 140.792 -205.85 + 18 130.999 1602 0 0 30.1479 140.67 -205.85 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 4.8521 LIN +Particle energy: 4.1198 LIN Particle: gamma Event: 19 -Number of tracker hits in this event: 78 - 19 338.534 1038 9 1 27.7361 -39.4978 65.55 - 19 247.739 702 9 0 27.6779 -39.5299 64.15 - 19 106.118 1032 8 1 26.5738 -40.3842 35.55 - 19 132.369 698 8 0 26.7724 -40.3306 34.1486 - 19 117.491 1053 7 1 30.8221 -39.5787 5.55 - 19 203.177 1054 7 1 30.85 -39.5686 5.31172 - 19 131.516 702 7 0 30.9794 -39.5123 4.15 - 19 131.47 1072 6 1 34.6165 -38.2924 -24.45 - 19 116.409 709 6 0 34.7367 -38.2212 -25.85 - 19 149.314 1087 5 1 37.4842 -36.4721 -54.4502 - 19 114.926 718 5 0 37.5513 -36.3169 -55.85 - 19 41.9728 1093 4 1 38.8425 -33.4549 -84.45 - 19 51.7123 1094 4 1 38.85 -33.4436 -84.6155 - 19 149.261 733 4 0 38.9134 -33.3734 -85.85 - 19 100.964 1102 3 1 40.5563 -32.319 -114.45 - 19 113.788 739 3 0 40.6285 -32.2031 -115.85 - 19 101.288 1109 2 1 42.0327 -30.168 -144.45 - 19 88.1951 749 2 0 41.6361 -30.1661 -145.85 - 19 157.736 1055 1 1 31.1348 -30.6212 -174.45 - 19 120.756 750 1 0 31.4922 -29.995 -175.85 - 19 10.5014 751 1 0 31.5823 -29.85 -176.209 - 19 76.5041 826 1 0 33.6722 -14.6994 -176.25 - 19 45.3843 827 1 0 33.6613 -14.65 -176.007 - 19 113.796 1066 1 1 33.4429 -14.1475 -174.85 - 19 25.1128 1067 1 1 33.4501 -14.019 -174.532 - 19 317.031 1199 2 1 60.0447 17.108 -144.45 - 19 38.0633 1074 6 1 34.9558 -38.6811 -24.45 - 19 171.01 701 7 0 31.1533 -39.6659 4.15 - 19 160.4 700 7 0 30.9567 -39.85 3.82629 - 19 87.2352 732 7 0 90.7907 -33.5925 3.75 - 19 45.7508 776 7 0 127.003 -24.8076 3.75001 - 19 99.6372 1038 8 1 27.7406 -39.4584 35.55 - 19 110.708 702 8 0 27.74 -39.4575 34.15 - 19 102.877 1038 7 1 27.7251 -39.4447 5.55 - 19 143.854 703 7 0 27.7247 -39.4441 4.15 - 19 161.458 1038 6 1 27.7135 -39.4217 -24.45 - 19 127.342 703 6 0 27.7133 -39.4211 -25.85 - 19 178.187 1038 5 1 27.7242 -39.4112 -54.45 - 19 126.181 703 5 0 27.7269 -39.4105 -55.85 - 19 119.316 1038 4 1 27.7762 -39.4023 -84.45 - 19 109.56 703 4 0 27.7813 -39.4021 -85.85 - 19 120.178 1039 3 1 27.8664 -39.4027 -114.45 - 19 428.852 703 3 0 27.8755 -39.403 -115.85 - 19 171.545 1039 2 1 28.0401 -39.4063 -144.45 - 19 104.879 703 2 0 28.053 -39.4114 -145.85 - 19 110.061 1041 1 1 28.3144 -39.5145 -174.45 - 19 336.614 702 1 0 28.3208 -39.5225 -175.85 - 19 106.798 1041 0 1 28.4473 -39.6902 -204.45 - 19 255.845 701 0 0 28.4509 -39.6992 -205.85 - 19 29.4264 905 5 1 1.2289 5.81241 -54.4504 - 19 367.168 656 0 1 -48.7764 24.7489 -204.45 - 19 21.907 655 0 1 -48.8504 24.8543 -204.6 - 19 35.8984 882 2 1 -3.55422 38.554 -144.85 - 19 258.732 1038 3 1 27.6622 -39.3387 -114.45 - 19 107.756 1036 2 1 27.2978 -39.5343 -144.45 - 19 156.195 702 2 0 27.2715 -39.5548 -145.85 - 19 140.35 1032 1 1 26.6305 -39.8487 -174.45 - 19 357.139 701 1 0 26.5305 -39.8393 -175.85 - 19 137.846 1021 0 1 24.3656 -39.7202 -204.45 - 19 102.957 1115 3 0 33.884 43.05 -116.045 - 19 105.135 1037 2 1 27.5869 -39.725 -144.45 - 19 122.234 701 2 0 27.5944 -39.7527 -145.85 - 19 231.268 1037 1 1 27.5656 -40.3749 -174.45 - 19 103.477 698 1 0 27.7077 -40.3612 -175.85 - 19 128.964 1053 0 1 30.7785 -40.3822 -204.45 - 19 175.941 698 0 0 30.8708 -40.4272 -205.85 - 19 63.6728 1036 1 1 27.4499 -40.4936 -174.605 - 19 114.525 1035 1 1 27.25 -40.4619 -174.487 - 19 82.8212 1034 1 1 27.05 -40.257 -174.664 - 19 84.7187 1023 1 1 24.8017 -41.132 -174.85 - 19 30.3478 687 1 0 23.5245 -42.6171 -175.85 - 19 159.351 686 1 0 23.5018 -42.65 -175.904 - 19 30.4354 1039 9 1 27.8501 -39.579 65.2484 - 19 115.511 701 9 0 28.0032 -39.6646 64.15 - 19 382.737 696 9 0 7.37138 -40.726 63.75 - 19 45.0156 697 9 0 7.23123 -40.65 63.9807 - 19 78.1581 695 9 0 6.94306 -40.85 64.1252 - 19 149.527 930 9 1 6.24545 -42.2006 65.15 -Number of digits in this event: 38 +Number of tracker hits in this event: 30 + 19 227.192 861 5 1 -7.80198 141.305 -54.45 + 19 429.289 1605 5 0 -7.80121 141.306 -55.85 + 19 127.366 861 4 1 -7.78663 141.313 -84.45 + 19 112.408 1605 4 0 -7.78629 141.315 -85.85 + 19 103.776 861 3 1 -7.78818 141.365 -114.45 + 19 102.691 1606 3 0 -7.7875 141.367 -115.85 + 19 107.205 861 2 1 -7.76848 141.424 -144.45 + 19 144.431 1606 2 0 -7.76634 141.426 -145.85 + 19 256.828 861 1 1 -7.72907 141.458 -174.45 + 19 122.711 1606 1 0 -7.73174 141.459 -175.85 + 19 101.095 861 0 1 -7.78602 141.469 -204.45 + 19 93.2346 1606 0 0 -7.78728 141.469 -205.85 + 19 103.212 1644 6 0 -15.4533 148.998 -26.25 + 19 229 1645 6 0 -15.3664 149.15 -26.0987 + 19 162.72 1646 6 0 -15.2961 149.35 -26.0328 + 19 105.788 1018 0 1 23.7405 173.755 -204.85 + 19 2.66451 1606 5 0 -7.89201 141.35 -56.1163 + 19 235.04 1604 5 0 -8.01262 141.15 -56.0247 + 19 102.026 863 4 1 -7.41211 141.144 -84.45 + 19 251.301 1604 4 0 -7.36296 141.094 -85.85 + 19 43.1638 869 3 1 -6.06895 139.873 -114.45 + 19 73.3972 870 3 1 -6.05 139.868 -114.624 + 19 135.36 1598 3 0 -5.91577 139.819 -115.85 + 19 113.333 885 2 1 -3.03675 138.631 -144.45 + 19 183.395 1592 2 0 -2.91135 138.633 -145.85 + 19 121.972 897 1 1 -0.569955 138.548 -174.45 + 19 105.46 1591 1 0 -0.466512 138.528 -175.85 + 19 321.95 908 0 1 1.80424 138.429 -204.45 + 19 2.84954 909 0 1 1.85 138.433 -204.843 + 19 119.049 1591 0 0 1.97045 138.443 -205.85 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 4.55729 LIN +Particle energy: 1.19326 LIN Particle: gamma Event: 20 -Number of tracker hits in this event: 13 - 20 585.325 1266 1 1 73.3183 -34.8109 -174.45 - 20 511.266 726 1 0 73.32 -34.8133 -175.85 - 20 286.19 1266 0 1 73.3676 -34.8541 -204.45 - 20 345.846 725 0 0 73.371 -34.8533 -205.85 - 20 129.545 726 0 0 73.3208 -34.8418 -205.85 - 20 73.3633 289 5 0 98.4609 -122.15 -56.0678 - 20 46.2831 335 6 0 94.1466 -113.028 -26.25 - 20 24.1272 1394 5 1 99.1197 -122.098 -54.85 - 20 167.71 1395 5 1 99.15 -122.11 -54.7714 - 20 272.126 1396 5 1 99.3504 -122.203 -54.6475 - 20 105.362 1265 0 1 73.1096 -33.7836 -204.45 - 20 106.454 731 0 0 73.1347 -33.6884 -205.85 - 20 102.621 1267 0 1 73.6019 -34.9908 -204.45 -Number of digits in this event: 9 +Number of tracker hits in this event: 0 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 8.41819 LIN +Particle energy: 5.54528 LIN Particle: gamma Event: 21 -Number of tracker hits in this event: 12 - 21 259.994 1220 1 1 64.2192 -24.3124 -174.45 - 21 232.962 778 1 0 64.2173 -24.3127 -175.85 - 21 266.794 1220 0 1 64.1946 -24.3346 -204.45 - 21 239.635 778 0 0 64.1896 -24.3341 -205.85 - 21 37.8507 748 13 0 83.6354 -30.4234 183.75 - 21 194.079 747 13 0 83.6743 -30.45 184 - 21 140.399 746 13 0 83.7278 -30.65 184.024 - 21 1.36039 288 7 0 -137.56 -122.545 3.75014 - 21 120.542 287 7 0 -137.561 -122.55 3.75216 - 21 24.2779 286 7 0 -137.6 -122.75 3.76071 - 21 196.973 1049 0 1 29.9159 -56.7336 -204.85 - 21 216.697 803 1 0 75.7573 -19.2837 -176.25 -Number of digits in this event: 11 +Number of tracker hits in this event: 17 + 21 284.355 783 4 1 -23.3279 142.694 -84.45 + 21 227.114 1612 4 0 -23.3278 142.693 -85.85 + 21 266.109 783 3 1 -23.3259 142.661 -114.45 + 21 359.326 1612 3 0 -23.3277 142.659 -115.85 + 21 152.569 783 2 1 -23.3607 142.609 -144.45 + 21 197.797 1612 2 0 -23.3619 142.606 -145.85 + 21 93.706 783 1 1 -23.3763 142.569 -174.45 + 21 99.6445 1612 1 0 -23.3751 142.57 -175.85 + 21 364.219 783 0 1 -23.3437 142.593 -204.45 + 21 125.115 1612 0 0 -23.341 142.596 -205.85 + 21 344.592 1611 0 0 -23.4104 142.448 -205.85 + 21 60.1848 824 1 1 -15.1355 114.437 -174.85 + 21 135.654 782 2 1 -23.5081 142.727 -144.45 + 21 125.374 782 1 1 -23.4975 142.795 -174.45 + 21 155.136 1613 1 0 -23.5023 142.796 -175.85 + 21 122.441 782 0 1 -23.5986 142.807 -204.45 + 21 131.93 1613 0 0 -23.602 142.805 -205.85 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 2.82373 LIN +Particle energy: 8.99302 LIN Particle: gamma Event: 22 -Number of tracker hits in this event: 3 - 22 81.2699 399 8 0 94.2876 -100.159 33.75 - 22 11.4842 1371 8 1 94.536 -100.786 35.1502 - 22 119.831 1372 8 1 94.55 -100.808 35.194 -Number of digits in this event: 1 +Number of tracker hits in this event: 2 + 22 208.077 1563 1 0 106.66 132.916 -176.25 + 22 24.5019 1455 1 1 111.15 157.44 -174.843 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 2.06145 LIN +Particle energy: 4.3424 LIN Particle: gamma Event: 23 -Number of tracker hits in this event: 120 - 23 296.047 1486 7 1 117.415 64.9913 5.55 - 23 301.771 1224 7 0 117.443 65.0031 4.15 - 23 313.757 1488 6 1 117.872 65.2743 -24.45 - 23 191.072 1226 6 0 117.909 65.2814 -25.85 - 23 188.655 1492 5 1 118.712 65.6806 -54.45 - 23 125.201 1228 5 0 118.781 65.7309 -55.85 - 23 139.873 1501 4 1 120.377 67.4292 -84.45 - 23 132.834 1237 4 0 120.473 67.5054 -85.85 - 23 116.167 1510 3 1 122.28 69.0134 -114.45 - 23 180.874 1245 3 0 122.323 69.0939 -115.85 - 23 118.894 1514 2 1 123.076 70.7997 -144.45 - 23 108.497 1254 2 0 123.174 70.875 -145.85 - 23 106.657 1525 1 1 125.187 72.4927 -174.45 - 23 117.837 1262 1 0 125.312 72.5415 -175.85 - 23 58.6267 1537 0 1 127.711 74.0809 -204.45 - 23 76.3268 1536 0 1 127.55 74.1309 -204.533 - 23 62.0419 1535 0 1 127.35 74.1911 -204.637 - 23 84.8951 1534 0 1 127.15 74.2506 -204.741 - 23 3.11351 1533 0 1 126.95 74.3109 -204.846 - 23 182.728 1274 0 0 125.035 74.8844 -205.85 - 23 131.916 1275 0 0 124.518 75.05 -206.094 - 23 94.6301 1453 0 0 17.376 110.75 -206.118 - 23 148.072 982 3 0 109.54 16.6046 -116.25 - 23 52.2228 1491 5 1 118.431 64.9564 -54.45 - 23 127.742 1225 5 0 118.655 65.2461 -55.85 - 23 122.545 1226 5 0 118.659 65.2501 -55.8695 - 23 18.8246 1077 5 0 142.798 35.4782 -56.2499 - 23 119.958 1076 5 0 142.806 35.45 -56.1903 - 23 96.281 1075 5 0 142.781 35.25 -55.9087 - 23 61.1274 1601 5 1 140.529 34.3312 -54.85 - 23 70.0802 1069 5 0 140.099 33.935 -55.8503 - 23 65.7601 1606 5 1 141.405 33.7275 -54.85 - 23 98.641 1065 5 0 142.383 33.1167 -55.8501 - 23 92.3233 1064 5 0 142.435 33.05 -55.9477 - 23 129.75 1486 6 1 117.39 65.0386 -24.45 - 23 320.393 1224 6 0 117.39 65.0425 -25.85 - 23 127.571 1486 5 1 117.377 65.1087 -54.45 - 23 369.428 1486 4 1 117.44 64.9759 -84.45 - 23 337.499 1224 4 0 117.441 64.97 -85.85 - 23 261.754 1486 3 1 117.435 64.8472 -114.45 - 23 147.892 1223 3 0 117.441 64.8416 -115.85 - 23 165.824 1487 2 1 117.568 64.7099 -144.45 - 23 108.329 1223 2 0 117.571 64.706 -145.85 - 23 112.892 1487 1 1 117.602 64.6275 -174.45 - 23 161.948 1222 1 0 117.601 64.6255 -175.85 - 23 257.316 1487 0 1 117.624 64.6093 -204.45 - 23 284.187 1222 0 0 117.629 64.6045 -205.85 - 23 366.894 1485 4 1 117.35 64.4824 -84.6346 - 23 163.036 1484 4 1 117.15 64.0727 -84.4687 - 23 13.0654 1483 4 1 116.95 63.921 -84.8227 - 23 63.4978 1216 4 0 116.164 63.3697 -85.8501 - 23 126.405 1215 4 0 116.033 63.2498 -85.9802 - 23 30.4068 1495 3 1 119.155 65.7953 -114.45 - 23 98.813 1494 3 1 119.15 65.7897 -114.487 - 23 129.778 1227 3 0 118.951 65.5622 -115.85 - 23 112.598 1476 2 1 115.35 61.1814 -144.45 - 23 106.634 1204 2 0 115.35 61.0386 -145.85 - 23 197.265 1476 1 1 115.428 57.7488 -174.451 - 23 12.8088 1187 1 0 115.229 57.4576 -175.851 - 23 105.786 1186 1 0 115.224 57.45 -175.886 - 23 142.117 1459 0 1 112.108 51.2482 -204.45 - 23 90.6142 1152 0 0 111.611 50.5915 -205.85 - 23 50.3739 1151 0 0 111.505 50.45 -206.136 - 23 10.213 905 0 0 85.9561 1.07599 -206.25 - 23 79.9252 904 0 0 85.9383 1.05 -206.236 - 23 95.2455 903 0 0 85.8064 0.85 -206.141 - 23 60.0739 902 0 0 85.6722 0.65 -206.063 - 23 62.9452 901 0 0 85.5416 0.45 -205.987 - 23 80.4042 900 0 0 85.3996 0.25 -205.912 - 23 86.7804 1318 0 1 83.7872 -2.25943 -204.85 - 23 176.189 1317 0 1 83.65 -2.48073 -204.754 - 23 106.29 1316 0 1 83.45 -2.77047 -204.61 - 23 2.90769 1315 0 1 83.25 -3.08165 -204.456 - 23 62.8063 545 1 0 122.119 -70.857 -176.25 - 23 67.8506 544 1 0 122.229 -71.0501 -176.173 - 23 74.3708 543 1 0 122.355 -71.25 -176.06 - 23 50.264 542 1 0 122.471 -71.45 -175.923 - 23 62.0074 1517 1 1 123.635 -73.112 -174.85 - 23 376.812 1518 1 1 123.75 -73.2787 -174.742 - 23 52.7669 1519 1 1 123.95 -73.6385 -174.529 - 23 112.045 515 2 0 142.567 -76.8854 -146.25 - 23 15.1686 514 2 0 142.749 -77.05 -145.911 - 23 28.04 1614 2 1 143.103 -77.3799 -144.85 - 23 84.8078 1615 2 1 143.15 -77.4302 -144.704 - 23 50.1058 1617 2 1 143.715 -77.8256 -144.45 - 23 99.221 1618 2 1 143.75 -77.9495 -144.566 - 23 56.1642 507 2 0 144.515 -78.5485 -145.85 - 23 64.7867 506 2 0 144.603 -78.6501 -145.933 - 23 114.913 505 2 0 144.736 -78.85 -145.949 - 23 128.083 504 2 0 145.071 -79.05 -146.035 - 23 50.0187 503 2 0 145.439 -79.25 -146.136 - 23 68.659 1477 1 1 115.55 57.7851 -174.611 - 23 10.0978 1478 1 1 115.75 57.8518 -174.818 - 23 152.072 1190 1 0 116.556 58.1333 -175.85 - 23 144.653 1579 0 1 136.064 61.9069 -204.45 - 23 138.679 1205 0 0 135.863 61.2289 -205.85 - 23 117.13 1225 4 0 117.261 65.1855 -85.85 - 23 132.434 1477 3 1 115.707 67.2815 -114.45 - 23 127.675 1236 3 0 115.629 67.3361 -115.85 - 23 118.834 1469 2 1 114.048 68.5781 -144.45 - 23 122.725 1241 2 0 113.935 68.3407 -145.85 - 23 22.1293 1456 1 1 111.389 63.3432 -174.45 - 23 112.714 1455 1 1 111.35 63.329 -174.525 - 23 205.957 1215 1 0 110.59 63.1555 -175.85 - 23 9.09532 1354 0 1 90.973 57.558 -204.45 - 23 146.956 1353 0 1 90.95 57.5577 -204.481 - 23 36.8776 1352 0 1 90.75 57.5603 -204.742 - 23 141.079 1187 0 0 89.8646 57.5966 -205.85 - 23 119.111 629 1 1 -54.05 156.63 -174.572 - 23 309.957 1226 4 0 118.171 65.3909 -85.85 - 23 187.119 1484 6 1 117.084 65.0427 -24.45 - 23 14.5404 1483 6 1 116.95 65.0201 -24.7997 - 23 50.1922 1404 5 1 101.094 66.6664 -54.45 - 23 142.882 1403 5 1 100.949 66.7684 -54.5204 - 23 125.417 1235 5 0 101.383 67.1399 -55.85 - 23 385.751 1234 5 0 125.337 67.0056 -56.25 - 23 38.3578 1207 4 0 101.022 61.65 -86.0613 - 23 5.75621 1208 4 0 100.997 61.65 -86.2416 - 23 5.51269 1360 4 0 15.0776 92.3463 -86.25 - 23 55.5077 1361 4 0 15.0667 92.35 -86.2419 -Number of digits in this event: 51 +Number of tracker hits in this event: 30 + 23 251.548 1366 3 1 93.4345 89.6762 -114.45 + 23 233.963 1348 3 0 93.4328 89.6752 -115.85 + 23 237.42 1366 2 1 93.4041 89.662 -144.45 + 23 121.659 1348 2 0 93.4028 89.6619 -145.85 + 23 182.589 1366 1 1 93.3705 89.6577 -174.45 + 23 164.674 1348 1 0 93.369 89.6576 -175.85 + 23 98.8649 1365 0 1 93.331 89.6475 -204.45 + 23 118.379 1347 0 0 93.3262 89.6394 -205.85 + 23 145.221 1344 2 0 93.6921 89.0214 -145.85 + 23 110.353 1405 1 1 101.245 80.894 -174.45 + 23 141.797 1307 1 0 100.973 81.5243 -175.85 + 23 1.9173 1308 1 0 100.794 81.65 -176.246 + 23 10.2553 1328 0 1 85.6524 93.8794 -204.45 + 23 118.985 1327 0 1 85.65 93.8777 -204.46 + 23 156.42 1367 0 0 85.4587 93.7086 -205.85 + 23 175.173 1374 0 0 81.3032 95.1279 -206.25 + 23 22.6884 1307 0 1 81.6198 95.7791 -204.849 + 23 93.4709 1308 0 1 81.65 95.8123 -204.778 + 23 110.701 1367 2 1 93.55 89.6394 -144.455 + 23 52.1602 1368 2 1 93.75 89.4767 -144.479 + 23 42.0168 1369 2 1 93.9502 89.3617 -144.486 + 23 1.78394 1370 2 1 94.15 89.2812 -144.453 + 23 98.2769 1336 3 0 101.939 87.2995 -116.25 + 23 161.663 1410 3 1 102.21 87.2414 -114.85 + 23 34.8818 1350 2 0 93.3345 90.15 -146.242 + 23 115.393 1367 1 1 93.6346 90.9264 -174.45 + 23 139.471 1354 1 0 93.6552 90.9604 -175.85 + 23 89.0287 1369 0 1 94.0834 91.5192 -204.45 + 23 199.422 1356 0 0 94.0987 91.5359 -205.85 + 23 8.49911 1372 0 1 94.5735 91.7398 -204.45 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 7.92816 LIN +Particle energy: 4.22504 LIN Particle: gamma Event: 24 -Number of tracker hits in this event: 6 - 24 174.787 148 9 1 -150.494 -46.3986 65.2509 - 24 4.30717 878 10 0 -144.64 -4.26297 93.7502 - 24 79.3172 879 10 0 -144.638 -4.25 93.7591 - 24 89.2035 880 10 0 -144.601 -4.05 93.931 - 24 107.768 178 10 1 -144.481 -3.31164 95.1503 - 24 22.998 179 10 1 -144.35 -3.17643 95.4875 +Number of tracker hits in this event: 1 + 24 164.6 965 3 0 -5.71144 13.215 -116.25 Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 2.86752 LIN +Particle energy: 4.86631 LIN Particle: gamma Event: 25 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 -Using G4ParticleGun... -Particle energy: 7.17013 LIN +Number of tracker hits in this event: 131 + 25 193.435 862 11 1 -7.46919 -4.90509 125.55 + 25 251.821 875 11 0 -7.44469 -4.91846 124.15 + 25 116.784 865 10 1 -7.03934 -5.27299 95.55 + 25 218.023 873 10 0 -7.04857 -5.28548 94.15 + 25 130.448 864 9 1 -7.22859 -5.64188 65.55 + 25 160.902 871 9 0 -7.25313 -5.68424 64.15 + 25 105.229 861 8 1 -7.71122 -6.60512 35.55 + 25 143.038 867 8 0 -7.71146 -6.63616 34.15 + 25 107.598 861 7 1 -7.74885 -7.29459 5.55 + 25 145.196 863 7 0 -7.74918 -7.30151 4.15 + 25 175.614 861 6 1 -7.83329 -7.47792 -24.45 + 25 134.751 862 6 0 -7.83481 -7.46636 -25.85 + 25 230.722 861 5 1 -7.77518 -7.18658 -54.45 + 25 177.705 864 5 0 -7.78231 -7.15989 -55.85 + 25 117.592 860 4 1 -7.96512 -6.64855 -84.45 + 25 92.6203 867 4 0 -7.9892 -6.60286 -85.85 + 25 98.6605 857 3 1 -8.51152 -5.61533 -114.45 + 25 117.753 872 3 0 -8.5273 -5.63613 -115.85 + 25 108.458 856 2 1 -8.81521 -6.06101 -144.45 + 25 188.88 869 2 0 -8.80909 -6.17793 -145.85 + 25 142.427 855 1 1 -8.87127 -8.47102 -174.45 + 25 119.932 857 1 0 -8.86771 -8.59924 -175.85 + 25 94.8666 855 0 1 -9.03353 -11.1265 -204.45 + 25 13.0395 854 0 1 -9.05 -11.1525 -204.794 + 25 134.181 844 0 0 -9.10843 -11.2339 -205.85 + 25 202.172 843 0 0 -9.12003 -11.25 -206.06 + 25 91.6032 868 2 0 -8.79468 -6.25 -146.094 + 25 183.277 1037 1 0 7.02102 27.4672 -176.25 + 25 208.418 934 1 1 6.8716 27.4837 -174.849 + 25 80.9156 933 1 1 6.83502 27.4411 -174.45 + 25 73.202 932 1 1 6.65 27.4189 -174.635 + 25 81.4303 1038 1 0 5.84892 27.65 -175.974 + 25 182.141 1073 1 0 -23.4994 34.7062 -176.25 + 25 281.112 784 1 1 -23.116 35.1345 -174.85 + 25 321.872 783 1 1 -23.25 35.4741 -174.459 + 25 84.076 1280 7 0 15.7237 76.104 3.75006 + 25 61.6378 1281 7 0 15.6012 76.25 3.80396 + 25 254.228 848 0 1 -10.3094 -10.7452 -204.45 + 25 28.2549 846 0 0 -10.0444 -10.6681 -205.85 + 25 150.777 847 0 0 -10.0153 -10.65 -205.981 + 25 73.8677 848 0 0 -9.96782 -10.4492 -205.992 + 25 71.9509 849 0 0 -9.97599 -10.25 -205.96 + 25 124.171 850 0 0 -10.0703 -10.05 -206.004 + 25 94.4225 851 0 0 -10.147 -9.85 -206.22 + 25 109.204 864 10 1 -7.06606 -5.19819 95.55 + 25 60.986 876 10 0 -7.54715 -4.71311 94.15 + 25 95.7173 877 10 0 -7.59898 -4.65 93.9716 + 25 145.179 862 10 1 -7.46569 -4.86805 95.55 + 25 132.211 875 10 0 -7.46412 -4.86679 94.15 + 25 339.358 863 9 1 -7.42093 -4.83782 65.55 + 25 141.614 876 9 0 -7.42205 -4.83732 64.15 + 25 110.415 863 8 1 -7.44564 -4.82978 35.55 + 25 144.147 876 8 0 -7.44866 -4.82781 34.15 + 25 398.312 862 7 1 -7.50427 -4.78778 5.55 + 25 261.068 876 7 0 -7.50789 -4.78724 4.15 + 25 178.259 862 6 1 -7.58072 -4.78015 -24.45 + 25 133.422 876 6 0 -7.58409 -4.78176 -25.85 + 25 109.488 876 5 0 -7.65573 -4.80735 -55.85 + 25 94.8363 861 4 1 -7.68742 -4.85346 -84.45 + 25 107.19 875 4 0 -7.69021 -4.85299 -85.85 + 25 257.026 861 3 1 -7.74704 -4.85308 -114.45 + 25 117.083 875 3 0 -7.74838 -4.85097 -115.85 + 25 113.099 861 2 1 -7.78102 -4.76945 -144.45 + 25 120.489 876 2 0 -7.77949 -4.7628 -145.85 + 25 154.142 861 1 1 -7.75841 -4.62801 -174.45 + 25 132.706 877 1 0 -7.76072 -4.61635 -175.85 + 25 111.29 861 0 1 -7.81095 -4.36747 -204.45 + 25 138.361 878 0 0 -7.81177 -4.34914 -205.85 + 25 2.19421 1044 5 1 29.0087 78.6744 -54.85 + 25 20.8561 1045 5 1 29.05 78.7374 -54.6535 + 25 58.116 1043 0 0 -43.8674 28.85 -205.958 + 25 74.5835 663 0 1 -47.341 30.1688 -204.45 + 25 96.1164 950 0 0 12.0115 10.1096 -206.25 + 25 114.483 859 6 1 -8.10176 -2.63703 -24.45 + 25 124.144 886 6 0 -8.5032 -2.71863 -25.85 + 25 152.366 816 5 1 -16.7301 -4.281 -54.45 + 25 234.194 879 5 0 -16.8691 -4.1402 -55.8506 + 25 111.104 807 4 1 -18.6359 -1.96587 -84.45 + 25 53.0091 890 4 0 -18.4484 -1.85686 -85.85 + 25 83.4484 891 4 0 -18.4325 -1.85 -85.9567 + 25 104.691 832 3 1 -13.5485 0.593794 -114.45 + 25 4.39725 831 3 1 -13.65 0.551345 -114.83 + 25 76.5255 902 3 0 -13.9387 0.474417 -115.85 + 25 28.2549 901 3 0 -14.0135 0.449967 -116.114 + 25 110.141 787 2 1 -22.6408 -3.75699 -144.45 + 25 147.207 786 2 1 -22.65 -3.76771 -144.485 + 25 9.22993 879 2 0 -23.0306 -4.23639 -145.851 + 25 134.637 878 2 0 -23.0422 -4.25 -145.89 + 25 10.4202 743 1 1 -31.44 -14.1321 -174.45 + 25 177.385 742 1 1 -31.45 -14.1436 -174.484 + 25 129.27 827 1 0 -31.7069 -14.4872 -175.85 + 25 133.189 700 0 1 -39.858 -22.6429 -204.45 + 25 194.829 786 0 0 -39.9403 -22.6633 -205.85 + 25 70.9759 296 0 1 -120.75 8.87384 -204.625 + 25 3.01231 867 2 0 -23.1347 -6.45 -145.855 + 25 212.392 784 2 1 -23.2205 -8.68084 -144.85 + 25 241.45 783 2 1 -23.25 -8.79381 -144.822 + 25 70.8473 881 2 0 -22.0514 -3.67803 -145.851 + 25 277.109 882 2 0 -21.9743 -3.65 -145.987 + 25 64.7343 883 2 0 -21.7913 -3.45 -146.058 + 25 127.154 806 4 1 -18.65 -1.97283 -84.6526 + 25 84.8175 887 4 0 -20.3972 -2.59474 -85.8501 + 25 137.07 886 4 0 -20.4995 -2.65007 -86.0246 + 25 83.6006 1160 4 0 -138.573 52.2304 -86.2498 + 25 77.7256 1161 4 0 -138.598 52.25 -86.2378 + 25 11.4787 1162 4 0 -138.609 52.4502 -86.2483 + 25 216.69 875 7 0 -7.61971 -4.87679 4.15 + 25 111.562 842 6 1 -11.5247 -7.27591 -24.4501 + 25 109.093 863 6 0 -11.4037 -7.35382 -25.85 + 25 214.753 846 5 1 -10.7863 -9.55566 -54.45 + 25 111.236 853 5 0 -10.5732 -9.38469 -55.85 + 25 116.47 869 4 1 -6.17213 -4.2913 -84.45 + 25 127.596 877 4 0 -5.76273 -4.52146 -85.8505 + 25 122.844 913 3 1 2.73592 -8.03616 -114.45 + 25 99.676 860 3 0 2.93283 -7.92502 -115.85 + 25 1.77157 940 2 1 8.24672 -5.10914 -144.451 + 25 147.687 941 2 1 8.25 -5.10637 -144.457 + 25 141.491 877 2 0 8.92043 -4.58262 -145.85 + 25 20.7405 1012 1 1 22.6305 5.20504 -174.45 + 25 119.181 1013 1 1 22.65 5.2222 -174.511 + 25 147.19 927 1 0 23.2194 5.51132 -175.85 + 25 14.2973 1070 0 1 34.2223 12.3011 -204.45 + 25 87.9081 1071 0 1 34.2501 12.3105 -204.482 + 25 47.1523 1072 0 1 34.45 12.382 -204.711 + 25 58.5086 963 0 0 35.3426 12.7912 -205.85 + 25 83.9589 964 0 0 35.4701 12.8501 -206.007 + 25 207.206 998 13 0 -76.8188 19.6584 183.75 + 25 46.7503 999 13 0 -76.7942 19.85 184.033 + 25 148.06 754 0 0 41.2973 -29.0992 -206.25 + 25 1.48494 753 0 0 41.734 -29.2501 -205.854 + 25 194.338 1113 0 1 42.7317 -29.4711 -204.85 +Number of digits in this event: 65 +Using G4ParticleGun... +Particle energy: 6.4901 LIN Particle: gamma Event: 26 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 4 + 26 207.793 1094 7 0 -0.567735 38.8573 3.75011 + 26 67.1212 1531 0 0 62.2595 126.55 -206.219 + 26 167.301 1174 0 1 55.0004 131.769 -204.45 + 26 55.028 1175 0 1 55.0501 131.739 -204.532 +Number of digits in this event: 4 Using G4ParticleGun... -Particle energy: 3.57287 LIN +Particle energy: 7.99549 LIN Particle: gamma Event: 27 -Number of tracker hits in this event: 3 - 27 57.2562 694 2 1 -41.05 -18.3056 -144.615 - 27 10.7878 695 2 1 -41.05 -18.7599 -144.456 - 27 198.781 355 4 0 41.3899 -108.95 -86.0794 -Number of digits in this event: 3 +Number of tracker hits in this event: 0 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 3.70609 LIN +Particle energy: 2.12367 LIN Particle: gamma Event: 28 -Number of tracker hits in this event: 68 - 28 264.05 1420 8 1 104.161 7.46282 35.55 - 28 262.734 937 8 0 104.151 7.46 34.15 - 28 166.312 1419 7 1 103.967 7.47505 5.55 - 28 533.755 937 7 0 103.946 7.47172 4.15 - 28 86.5115 1417 6 1 103.554 7.37447 -24.45 - 28 25.3415 1416 6 1 103.55 7.37746 -24.7512 - 28 103.841 936 6 0 103.531 7.3845 -25.85 - 28 133.9 1414 5 1 103.102 7.49352 -54.45 - 28 300.767 937 5 0 103.086 7.4977 -55.85 - 28 297.204 1412 4 1 102.736 7.66941 -84.45 - 28 115.694 938 4 0 102.728 7.67476 -85.85 - 28 8.83094 1412 3 1 102.55 7.73582 -114.45 - 28 169.537 1411 3 1 102.55 7.73542 -114.474 - 28 352.623 938 3 0 102.534 7.70976 -115.85 - 28 190.538 1410 2 1 102.294 7.11141 -144.45 - 28 168.141 934 2 0 102.252 7.04864 -145.85 - 28 124.561 1405 1 1 101.273 5.88983 -174.45 - 28 129.978 929 1 0 101.256 5.87467 -175.85 - 28 308.453 1403 0 1 100.94 5.63934 -204.45 - 28 141.365 928 0 0 100.971 5.67075 -205.85 - 28 13.1588 1409 1 1 102.105 8.10833 -174.45 - 28 160.768 1410 1 1 102.15 8.10472 -174.478 - 28 82.8511 1411 1 1 102.35 8.05441 -174.545 - 28 56.2899 1412 1 1 102.55 8.02293 -174.587 - 28 73.8528 1413 1 1 102.75 8.01865 -174.668 - 28 88.1939 1414 1 1 102.95 7.9456 -174.785 - 28 136.217 933 1 0 104.863 6.84128 -175.85 - 28 63.3138 934 1 0 105.279 6.85 -176.105 - 28 154.307 1222 3 0 149.197 64.5876 -116.25 - 28 54.1313 1223 3 0 149.08 64.65 -116.238 - 28 31.6787 1507 3 0 107.379 121.711 -116.25 - 28 152.627 1508 3 0 107.293 121.75 -116.217 - 28 221.692 1435 3 1 107.214 121.944 -114.85 - 28 188.41 1436 3 1 107.35 121.915 -114.455 - 28 88.7281 941 1 0 101.718 8.42962 -175.85 - 28 100.622 942 1 0 101.692 8.45 -175.9 - 28 157.458 940 1 0 89.9028 8.24717 -176.25 - 28 151.149 1350 1 1 90.1503 8.26042 -174.701 - 28 9.18339 951 1 0 81.392 10.403 -176.25 - 28 114.086 1403 4 1 100.788 3.98512 -84.45 - 28 42.6905 1402 4 1 100.75 3.76288 -84.7897 - 28 135.894 917 4 0 100.813 3.64129 -85.8504 - 28 346.364 840 4 0 121.458 -12.0317 -86.25 - 28 150.1 1420 7 1 104.183 7.4715 5.55 - 28 152.699 1420 6 1 104.16 7.52936 -24.45 - 28 136.259 937 6 0 104.159 7.53245 -25.85 - 28 178.37 1419 5 1 104.148 7.59373 -54.45 - 28 122.932 1420 4 1 104.163 7.6039 -84.45 - 28 103.779 937 4 0 104.165 7.6051 -85.85 - 28 177.226 1420 3 1 104.21 7.62034 -114.45 - 28 192.293 1414 2 1 103.053 8.50058 -144.45 - 28 120.756 942 2 0 102.997 8.53764 -145.85 - 28 119.509 1408 1 1 101.85 9.27051 -174.45 - 28 187.809 946 1 0 101.793 9.30738 -175.85 - 28 141.5 1402 0 1 100.617 10.0743 -204.45 - 28 91.0319 950 0 0 100.558 10.1096 -205.85 - 28 96.662 1413 2 1 102.95 8.34692 -144.621 - 28 118.024 939 2 0 102.39 8.02404 -145.85 - 28 140.517 938 2 0 102.272 7.85 -145.983 - 28 257.325 937 2 0 102.199 7.65 -146.04 - 28 31.1191 1409 2 1 102.15 7.97526 -144.822 - 28 23.7839 928 3 0 105.142 5.73706 -115.85 - 28 62.4063 1456 3 1 111.499 5.37308 -114.85 - 28 132.634 1457 3 1 111.55 5.38209 -114.826 - 28 0.226844 936 7 0 104.339 7.45 3.75053 - 28 108.383 810 7 0 63.49 -17.9462 3.75 - 28 45.0478 1054 7 0 60.0957 30.8534 3.75008 - 28 6.01659 1053 7 0 60.0926 30.85 3.75313 -Number of digits in this event: 40 +Number of tracker hits in this event: 1 + 28 175.246 250 0 1 -129.95 137.974 -204.829 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 8.85463 LIN +Particle energy: 4.16367 LIN Particle: gamma Event: 29 -Number of tracker hits in this event: 66 - 29 244.782 174 8 1 -145.281 -4.73562 35.55 - 29 225.463 876 8 0 -145.14 -4.74354 34.15 - 29 117.912 190 7 1 -142.134 -4.82854 5.55 - 29 215.794 875 7 0 -141.983 -4.85776 4.15 - 29 54.4999 205 6 1 -138.972 -5.30867 -24.45 - 29 44.3076 206 6 1 -138.95 -5.31415 -24.6423 - 29 280.995 873 6 0 -138.806 -5.34491 -25.85 - 29 42.2886 223 5 1 -135.371 -5.66478 -54.45 - 29 50.8658 224 5 1 -135.35 -5.6748 -54.6322 - 29 143.593 871 5 0 -135.206 -5.73262 -55.85 - 29 122.261 241 4 1 -131.807 -7.19823 -84.45 - 29 163.25 863 4 0 -131.644 -7.26089 -85.85 - 29 119.198 259 3 1 -128.287 -8.64293 -114.45 - 29 96.0991 856 3 0 -128.21 -8.68738 -115.85 - 29 182.232 265 2 1 -126.966 -9.56233 -144.45 - 29 147.904 851 2 0 -127.074 -9.65497 -145.85 - 29 260.517 253 1 1 -129.37 -11.4507 -174.45 - 29 130.13 842 1 0 -129.456 -11.5775 -175.85 - 29 120.237 246 0 1 -130.911 -14.5646 -204.45 - 29 116.718 826 0 0 -131.016 -14.709 -205.85 - 29 29.4006 1393 2 0 -9.06199 98.75 -146.13 - 29 117.362 174 7 1 -145.298 -4.75028 5.55 - 29 126.566 876 7 0 -145.298 -4.74982 4.15 - 29 132.92 174 6 1 -145.29 -4.74113 -24.45 - 29 107.076 876 6 0 -145.289 -4.73714 -25.85 - 29 114.534 174 5 1 -145.283 -4.65591 -54.45 - 29 120.28 876 5 0 -145.283 -4.65142 -55.85 - 29 196.833 174 4 1 -145.272 -4.55596 -84.45 - 29 311.47 877 4 0 -145.27 -4.5508 -85.85 - 29 199.621 174 3 1 -145.219 -4.45094 -114.45 - 29 191.307 878 3 0 -145.216 -4.44436 -115.85 - 29 118.512 174 2 1 -145.163 -4.31477 -144.45 - 29 126.413 878 2 0 -145.159 -4.31241 -145.85 - 29 119.781 175 1 1 -145.091 -4.26591 -174.45 - 29 114.605 878 1 0 -145.088 -4.26425 -175.85 - 29 137.052 175 0 1 -145.021 -4.22348 -204.45 - 29 127.415 879 0 0 -145.016 -4.22174 -205.85 - 29 355.882 173 2 1 -145.365 -4.85527 -144.45 - 29 325.466 875 2 0 -145.366 -4.85759 -145.85 - 29 307.467 173 1 1 -145.388 -4.91436 -174.45 - 29 158.851 875 1 0 -145.388 -4.91476 -175.85 - 29 124.368 173 0 1 -145.37 -4.93305 -204.45 - 29 159.444 875 0 0 -145.369 -4.93352 -205.85 - 29 83.9802 82 1 1 -163.633 -6.89032 -174.85 - 29 116.651 174 1 1 -145.35 -4.87345 -174.543 - 29 119.087 876 1 0 -145.481 -4.82755 -175.85 - 29 198.279 172 0 1 -145.688 -4.79349 -204.45 - 29 99.6257 876 0 0 -145.701 -4.79538 -205.85 - 29 83.6866 733 6 0 -97.5878 -33.3467 -26.25 - 29 42.1543 173 4 1 -145.35 -4.77861 -84.4632 - 29 470.471 876 4 0 -144.952 -4.72598 -85.8501 - 29 68.3645 223 3 1 -135.496 -9.10391 -114.45 - 29 106.216 224 3 1 -135.35 -8.96995 -114.593 - 29 7.19603 225 3 1 -135.15 -8.75864 -114.837 - 29 11.3635 859 3 0 -134.432 -8.07394 -115.85 - 29 129.103 860 3 0 -134.404 -8.04996 -115.888 - 29 17.0521 861 3 0 -134.171 -7.85 -116.221 - 29 147.707 1066 3 0 -85.7573 33.36 -116.25 - 29 58.6027 1067 3 0 -85.5459 33.45 -116.008 - 29 52.7816 477 3 1 -84.4682 33.9868 -114.85 - 29 83.6196 478 3 1 -84.45 33.9961 -114.831 - 29 75.252 479 3 1 -84.2498 34.0902 -114.629 - 29 5.2659 1063 4 0 -88.9478 32.6538 -86.2499 - 29 130.94 1062 4 0 -88.9535 32.65 -86.2179 - 29 191.351 454 4 1 -89.1353 32.3321 -84.85 - 29 49.6544 455 4 1 -89.05 31.7818 -84.5229 -Number of digits in this event: 37 +Number of tracker hits in this event: 1 + 29 58.116 444 0 0 -109.188 -91.15 -205.864 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 6.4844 LIN +Particle energy: 1.7866 LIN Particle: gamma Event: 30 -Number of tracker hits in this event: 42 - 30 338.492 1418 7 1 103.923 98.2741 5.55 - 30 268.523 1390 7 0 103.924 98.2743 4.15 - 30 254.934 1418 6 1 103.948 98.3034 -24.45 - 30 261.826 1390 6 0 103.952 98.3036 -25.85 - 30 143.094 1419 5 1 104.019 98.3073 -54.45 - 30 285.749 1390 5 0 104.022 98.3063 -55.85 - 30 237.718 1419 4 1 104.073 98.2896 -84.45 - 30 115.47 1390 4 0 104.075 98.2899 -85.85 - 30 132.836 1419 3 1 104.132 98.2946 -114.45 - 30 228.393 1390 3 0 104.133 98.2944 -115.85 - 30 108.195 1420 2 1 104.156 98.2911 -144.45 - 30 100.213 1390 2 0 104.157 98.29 -145.85 - 30 172.451 1419 1 1 104.15 98.2772 -174.45 - 30 477.131 1390 1 0 104.146 98.2759 -175.85 - 30 97.6174 1419 0 1 104.082 98.2373 -204.45 - 30 336.424 1390 0 0 104.076 98.238 -205.85 - 30 110.891 1510 3 0 -44.0107 122.217 -116.25 - 30 2.06656 157 3 0 -20.0445 -148.746 -116.25 - 30 2.96532 156 3 0 -20.0449 -148.75 -116.25 - 30 300.383 1420 1 1 104.183 98.2443 -174.45 - 30 375.102 1421 0 1 104.45 98.2086 -204.45 - 30 8.52365 1473 5 0 116.779 114.95 -55.9176 - 30 49.5923 1481 5 0 116.537 116.35 -56.061 - 30 31.5855 716 2 0 52.9176 -36.65 -145.97 - 30 134.85 1160 2 1 52.123 -36.9505 -144.85 - 30 108.124 1159 2 1 52.05 -36.9578 -144.77 - 30 113.259 1420 0 1 104.227 98.2044 -204.45 - 30 219.434 1389 3 0 104.215 98.15 -116.083 - 30 233.706 1382 4 0 104.19 96.6327 -85.85 - 30 126.476 1418 5 1 103.843 98.2689 -54.45 - 30 112.564 1417 4 1 103.7 98.0742 -84.45 - 30 101 1389 4 0 103.697 98.0706 -85.85 - 30 119.184 1417 3 1 103.597 97.8403 -114.45 - 30 144.301 1388 3 0 103.538 97.8686 -115.85 - 30 107.383 1410 2 1 102.234 98.6026 -144.45 - 30 149.039 1392 2 0 102.196 98.6529 -145.85 - 30 120.625 1406 1 1 101.548 99.7034 -174.45 - 30 116.597 1397 1 0 101.531 99.7395 -175.85 - 30 11.8391 1398 1 0 101.526 99.75 -176.243 - 30 113.716 1405 0 1 101.228 100.716 -204.45 - 30 159.219 1403 0 0 101.238 100.782 -205.85 - 30 236.018 1424 1 1 105.038 167.07 -174.45 -Number of digits in this event: 26 +Number of tracker hits in this event: 54 + 30 223.781 740 7 1 -31.8848 -107.924 5.55 + 30 225.332 361 7 0 -31.8855 -107.923 4.15 + 30 100.374 740 6 1 -31.8957 -107.902 -24.45 + 30 150.517 361 6 0 -31.8986 -107.901 -25.85 + 30 168.956 740 5 1 -31.9722 -107.863 -54.45 + 30 153.661 361 5 0 -31.9706 -107.866 -55.85 + 30 109.201 740 4 1 -31.9385 -107.917 -84.45 + 30 109.046 361 4 0 -31.9359 -107.924 -85.85 + 30 107.771 740 3 1 -31.8603 -108.095 -114.45 + 30 111.268 360 3 0 -31.8569 -108.099 -115.85 + 30 134.023 741 2 1 -31.7998 -108.159 -144.45 + 30 130.139 359 2 0 -31.8015 -108.159 -145.85 + 30 41.9614 741 1 1 -31.8277 -108.179 -174.45 + 30 377.003 740 1 1 -31.8501 -108.123 -174.49 + 30 42.4149 482 8 1 -83.4547 -58.5814 35.15 + 30 131.204 629 8 0 -111.485 -54.25 34.0639 + 30 139.239 483 8 1 -83.45 -58.5882 35.1942 + 30 158.446 358 1 0 -32.0714 -108.424 -175.85 + 30 1.5947 356 5 0 -31.1487 -108.867 -55.85 + 30 14.2172 749 5 1 -30.1637 -109.189 -54.85 + 30 68.3362 354 5 0 -29.721 -109.281 -55.8502 + 30 103.064 739 6 1 -32.2382 -108.004 -24.45 + 30 124.994 360 6 0 -32.2574 -108.01 -25.85 + 30 390.562 737 5 1 -32.5282 -108.174 -54.45 + 30 115.649 359 5 0 -32.6374 -108.225 -55.85 + 30 143.352 725 4 1 -34.8664 -109.43 -84.45 + 30 232.253 353 4 0 -34.9872 -109.49 -85.85 + 30 100.683 713 3 1 -37.3835 -110.8 -114.45 + 30 119.875 346 3 0 -37.5255 -110.858 -115.85 + 30 191.338 697 2 1 -40.576 -111.841 -144.45 + 30 107.719 341 2 0 -40.7518 -111.867 -145.85 + 30 111.808 678 1 1 -44.3871 -112.619 -174.45 + 30 202.935 337 1 0 -44.5723 -112.61 -175.85 + 30 118.679 658 0 1 -48.3519 -112.434 -204.45 + 30 103.242 338 0 0 -48.6052 -112.452 -205.85 + 30 88.7276 270 1 0 -78.6054 -126.042 -176.25 + 30 206.09 271 1 0 -78.5602 -125.95 -176.224 + 30 50.6492 335 4 0 -130.574 -113.073 -86.25 + 30 127.749 334 4 0 -130.566 -113.15 -86.1575 + 30 174.425 333 4 0 -130.579 -113.35 -86.0436 + 30 5.23515 736 5 1 -32.65 -108.073 -54.8467 + 30 94.3794 360 5 0 -33.3412 -107.971 -55.8501 + 30 117.61 735 4 1 -32.9498 -108.498 -84.45 + 30 172.996 358 4 0 -33.0203 -108.457 -85.85 + 30 104.358 727 3 1 -34.4554 -107.489 -114.45 + 30 147.665 363 3 0 -34.4423 -107.474 -115.85 + 30 45.1433 728 2 1 -34.2616 -107.408 -144.452 + 30 58.2681 729 2 1 -34.25 -107.416 -144.618 + 30 107.45 363 2 0 -34.1621 -107.479 -145.85 + 30 127.72 738 1 1 -32.4015 -109.399 -174.45 + 30 181.974 352 1 0 -32.2252 -109.6 -175.85 + 30 85.3542 760 0 1 -27.9597 -113.474 -204.45 + 30 146.717 332 0 0 -27.7957 -113.614 -205.85 + 30 48.706 382 2 0 -58.7419 -103.636 -146.25 +Number of digits in this event: 27 Using G4ParticleGun... -Particle energy: 4.73985 LIN +Particle energy: 6.08151 LIN Particle: gamma Event: 31 -Number of tracker hits in this event: 3 - 31 83.268 335 2 1 -112.975 -74.5202 -144.85 - 31 18.2615 1035 2 1 27.05 -19.7089 -144.706 - 31 69.5769 1723 5 1 164.872 -130.783 -54.85 -Number of digits in this event: 2 +Number of tracker hits in this event: 11 + 31 222.781 556 2 1 -68.6708 -56.4948 -144.45 + 31 282.917 617 2 0 -68.6752 -56.4952 -145.85 + 31 236.03 556 1 1 -68.7651 -56.5012 -174.45 + 31 214.915 617 1 0 -68.7687 -56.5021 -175.85 + 31 249.162 556 0 1 -68.8429 -56.5294 -204.45 + 31 320.053 617 0 0 -68.8468 -56.5284 -205.85 + 31 21.1445 1080 4 1 36.1104 -93.2231 -84.85 + 31 213.221 1081 4 1 36.2501 -93.0955 -84.6986 + 31 16.5412 358 2 0 -89.3418 -108.409 -146.25 + 31 186.947 618 1 0 -68.6714 -56.4497 -175.85 + 31 193.202 883 4 1 -3.27346 -119.266 -84.85 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 9.57538 LIN +Particle energy: 8.43719 LIN Particle: gamma Event: 32 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 4 + 32 1.30446 1502 1 1 120.75 -49.9141 -174.519 + 32 8.77533 1035 2 1 27.0707 16.1161 -144.85 + 32 302.007 1034 2 1 27.05 16.0714 -144.752 + 32 36.818 1033 2 1 26.85 16.115 -144.788 +Number of digits in this event: 4 Using G4ParticleGun... -Particle energy: 5.54456 LIN +Particle energy: 9.40174 LIN Particle: gamma Event: 33 -Number of tracker hits in this event: 3 - 33 60.5377 1207 0 1 61.5442 -54.5528 -204.85 - 33 152.462 1206 0 1 61.45 -54.5962 -204.751 - 33 195.035 1035 5 0 -61.2381 27.05 -56.1616 -Number of digits in this event: 4 +Number of tracker hits in this event: 9 + 33 225.188 376 2 1 -104.803 45.0121 -144.45 + 33 213.601 1124 2 0 -104.802 45.0119 -145.85 + 33 104.12 376 1 1 -104.793 45.0087 -174.45 + 33 201.094 1124 1 0 -104.793 45.0081 -175.85 + 33 223.844 376 0 1 -104.792 44.9933 -204.45 + 33 140.959 1124 0 0 -104.791 44.9925 -205.85 + 33 124.675 377 1 1 -104.748 44.9091 -174.45 + 33 108.696 378 0 1 -104.396 45.6056 -204.45 + 33 140.35 1127 0 0 -104.381 45.6344 -205.85 +Number of digits in this event: 8 Using G4ParticleGun... -Particle energy: 7.22189 LIN +Particle energy: 2.21773 LIN Particle: gamma Event: 34 -Number of tracker hits in this event: 2 - 34 214.675 975 0 1 15.1477 28.9909 -204.45 - 34 252.243 1044 0 0 15.1456 28.989 -205.85 -Number of digits in this event: 4 +Number of tracker hits in this event: 0 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 3.23349 LIN +Particle energy: 8.40508 LIN Particle: gamma Event: 35 -Number of tracker hits in this event: 50 - 35 272.447 943 7 1 8.83785 79.7458 5.55 - 35 228.602 1298 7 0 8.81029 79.7421 4.15 - 35 259.911 941 6 1 8.26814 79.729 -24.45 - 35 222.849 1298 6 0 8.25561 79.7363 -25.85 - 35 133.121 939 5 1 8.03296 79.7674 -54.45 - 35 203.242 1298 5 0 8.02418 79.772 -55.85 - 35 97.4886 939 4 1 7.89626 79.8323 -84.45 - 35 162.526 1298 4 0 7.91319 79.8122 -85.85 - 35 165.025 941 3 1 8.28905 79.4096 -114.45 - 35 104.266 1296 3 0 8.29223 79.3735 -115.85 - 35 134.706 941 2 1 8.2819 78.6284 -144.45 - 35 123.703 1292 2 0 8.26176 78.5897 -145.85 - 35 129.399 939 1 1 7.85145 77.8473 -174.45 - 35 165.825 1288 1 0 7.85834 77.7955 -175.85 - 35 121.159 939 0 1 7.91274 76.4811 -204.45 - 35 108.594 1281 0 0 7.92736 76.4475 -205.85 - 35 147.555 934 0 1 7.03116 80.799 -204.45 - 35 98.3922 935 0 1 7.05014 80.8185 -204.508 - 35 129.932 1306 0 0 7.64532 81.3293 -205.85 - 35 24.209 1307 0 0 7.81258 81.45 -206.185 - 35 12.612 1439 0 0 -13.5758 107.95 -205.93 - 35 88.397 1300 0 0 7.27356 80.2039 -205.85 - 35 32.6655 1299 0 0 7.36596 80.0499 -206.158 - 35 16.2305 940 6 1 8.25 79.7595 -24.64 - 35 264.675 943 6 1 8.75221 79.7289 -24.45 - 35 347.008 942 5 1 8.55795 79.6511 -54.45 - 35 198.081 1297 5 0 8.55636 79.6395 -55.85 - 35 201.987 942 4 1 8.53366 79.4093 -84.45 - 35 114.244 1296 4 0 8.53306 79.3958 -85.85 - 35 161.409 942 3 1 8.52574 79.1218 -114.45 - 35 114.727 1295 3 0 8.53076 79.1086 -115.85 - 35 115.584 942 2 1 8.64276 78.83 -144.45 - 35 107.902 1293 2 0 8.65227 78.8255 -145.85 - 35 247.176 943 1 1 8.84509 78.7545 -174.45 - 35 3.55227 944 1 1 8.85 78.7553 -174.84 - 35 153.409 1293 1 0 8.8632 78.7578 -175.85 - 35 117.3 945 0 1 9.21866 78.8434 -204.45 - 35 172.631 1293 0 0 9.23493 78.8479 -205.85 - 35 73.5924 941 0 1 8.39031 78.2832 -204.45 - 35 121.646 940 0 1 8.25 78.1707 -204.649 - 35 14.9098 1285 0 0 7.13292 77.083 -205.85 - 35 79.4174 1284 0 0 7.09994 77.05 -205.887 - 35 76.4187 1283 0 0 6.90668 76.8496 -206.11 - 35 144.905 942 0 1 8.484 78.3218 -204.45 - 35 120.817 1291 0 0 8.45309 78.3484 -205.85 - 35 99.6619 1315 0 0 5.0634 83.0896 -206.25 - 35 70.5388 1314 0 0 5.04811 83.05 -206.189 - 35 112.506 1299 5 0 8.71243 79.8503 -56.0375 - 35 276.208 1300 5 0 8.89261 80.0501 -55.9368 - 35 94.1691 942 6 1 8.64992 79.8708 -24.8094 -Number of digits in this event: 28 +Number of tracker hits in this event: 96 + 35 243.878 707 11 1 -38.5141 12.2841 125.55 + 35 255.612 961 11 0 -38.5131 12.283 124.15 + 35 248.659 707 10 1 -38.4901 12.2632 95.55 + 35 318.484 961 10 0 -38.4876 12.2605 94.15 + 35 174.267 708 9 1 -38.4413 12.1998 65.55 + 35 231.892 960 9 0 -38.4385 12.1983 64.15 + 35 148.976 708 8 1 -38.3854 12.1653 35.55 + 35 262.38 960 8 0 -38.3832 12.1636 34.15 + 35 377.27 708 7 1 -38.3429 12.1253 5.55 + 35 119.604 960 7 0 -38.3408 12.1224 4.15 + 35 108.382 708 6 1 -38.2893 12.0635 -24.45 + 35 137.265 960 6 0 -38.2845 12.0607 -25.85 + 35 113.928 709 5 1 -38.1824 12.0135 -54.45 + 35 638.303 959 5 0 -38.1763 12.0104 -55.85 + 35 426.861 709 4 1 -38.0602 11.9469 -84.45 + 35 906.721 959 4 0 -38.054 11.9473 -85.85 + 35 214.008 710 3 1 -37.9187 11.9567 -114.45 + 35 650.718 959 3 0 -37.9126 11.9556 -115.85 + 35 108.171 711 2 1 -37.7953 11.9282 -144.45 + 35 457.962 959 2 0 -37.79 11.9261 -145.85 + 35 142.728 711 1 1 -37.6849 11.8834 -174.45 + 35 266.789 959 1 0 -37.678 11.8812 -175.85 + 35 156.18 712 0 1 -37.5265 11.8355 -204.45 + 35 250.921 958 0 0 -37.5172 11.8379 -205.85 + 35 6.06473 567 2 1 -66.45 0.759471 -144.774 + 35 9.8058 1628 1 0 -6.14849 145.899 -176.25 + 35 32.6873 1178 1 0 -66.5566 55.7664 -176.25 + 35 187.898 709 3 1 -38.1822 11.92 -114.45 + 35 107.745 709 2 1 -38.237 11.8829 -144.45 + 35 271.108 707 1 1 -38.5237 11.7976 -174.45 + 35 399.245 958 1 0 -38.5316 11.7983 -175.85 + 35 313.696 707 0 1 -38.6442 11.8285 -204.45 + 35 139.286 960 3 0 -37.9902 12.199 -115.85 + 35 188.242 713 2 1 -37.4429 12.3006 -144.45 + 35 133.955 961 2 0 -37.3907 12.3112 -145.85 + 35 7.03305 718 1 1 -36.2516 12.4982 -174.45 + 35 98.4989 719 1 1 -36.25 12.4985 -174.494 + 35 116.542 962 1 0 -36.201 12.511 -175.85 + 35 502.209 724 0 1 -35.2096 12.7704 -204.45 + 35 213.352 963 0 0 -35.1376 12.8374 -205.85 + 35 62.9079 964 0 0 -35.1238 12.85 -206.119 + 35 128.643 962 0 0 -34.911 12.6022 -205.85 + 35 57.5089 562 2 1 -67.477 -33.7164 -144.85 + 35 71.0657 968 3 0 -55.5559 13.7672 -115.85 + 35 287.324 969 3 0 -56.0004 13.8502 -115.992 + 35 30.134 710 1 1 -37.9009 11.9192 -174.45 + 35 119.599 710 0 1 -38.0363 8.88163 -204.45 + 35 64.0167 943 0 0 -38.0181 8.68066 -205.85 + 35 43.2772 942 0 0 -38.0201 8.65 -206.081 + 35 108.641 707 9 1 -38.5279 12.2087 65.55 + 35 108.601 707 8 1 -38.5793 12.1356 35.55 + 35 69.4566 707 7 1 -38.45 11.6068 5.17307 + 35 108.939 957 7 0 -38.4625 11.5849 4.15 + 35 191.38 706 6 1 -38.822 10.9546 -24.45 + 35 222.693 954 6 0 -38.8589 10.888 -25.85 + 35 118.814 701 5 1 -39.7159 9.45587 -54.45 + 35 111.952 946 5 0 -39.7555 9.40153 -55.85 + 35 132.033 697 4 1 -40.4582 8.27137 -84.45 + 35 102.065 940 4 0 -40.5116 8.22644 -85.85 + 35 158.688 692 3 1 -41.599 7.37229 -114.45 + 35 107.48 936 3 0 -41.6567 7.33857 -115.85 + 35 111.546 685 2 1 -42.9178 6.71573 -144.45 + 35 43.6985 933 2 0 -42.9915 6.65594 -145.85 + 35 185.289 932 2 0 -42.9987 6.65 -145.987 + 35 145.157 677 1 1 -44.5722 5.28833 -174.45 + 35 130.978 925 1 0 -44.6679 5.2116 -175.85 + 35 116.251 667 0 1 -46.5228 3.66864 -204.45 + 35 108.76 917 0 0 -46.6372 3.59125 -205.85 + 35 73.5514 706 7 1 -38.6502 11.5603 5.44853 + 35 135.395 705 7 1 -38.85 11.5265 5.36086 + 35 181.196 970 7 0 -40.0373 14.0682 4.15 + 35 97.9744 720 0 1 -35.975 6.82746 -204.45 + 35 37.7381 719 0 1 -36.0501 6.9154 -204.74 + 35 55.453 937 0 0 -36.3718 7.56836 -205.85 + 35 94.8494 938 0 0 -36.4119 7.65 -206.007 + 35 230.96 706 5 1 -38.7183 12.0451 -54.45 + 35 497.35 706 4 1 -38.7681 11.9969 -84.45 + 35 138.031 705 3 1 -38.8671 11.9917 -114.45 + 35 222.266 706 2 1 -38.7753 11.8811 -144.45 + 35 107.016 957 0 0 -38.6262 11.5388 -205.85 + 35 215.274 706 3 1 -38.7417 12.0073 -114.45 + 35 129.284 705 1 1 -38.8687 11.9832 -174.45 + 35 94.4966 705 0 1 -38.9508 11.9909 -204.45 + 35 125.988 959 0 0 -38.9579 11.9893 -205.85 + 35 153.058 473 8 0 -63.523 -85.4099 33.75 + 35 8.57568 472 8 0 -63.2322 -85.45 34.1412 + 35 35.5214 606 8 1 -58.7685 -88.62 35.15 + 35 161.114 607 8 1 -58.6499 -88.681 35.2112 + 35 374.437 608 8 1 -58.45 -88.8721 35.335 + 35 16.6002 609 8 1 -58.25 -89.2234 35.1637 + 35 220.48 459 8 0 -57.1292 -88.0869 34.1498 + 35 34.3987 460 8 0 -57.0666 -88.05 34.0714 + 35 91.7036 355 8 0 -89.0903 -108.974 33.75 + 35 32.6895 354 8 0 -89.1549 -109.15 34.0406 + 35 86.5208 451 8 1 -89.6889 -109.356 35.15 + 35 32.4133 450 8 1 -89.85 -109.351 35.4332 +Number of digits in this event: 54 Using G4ParticleGun... -Particle energy: 4.63506 LIN +Particle energy: 4.79863 LIN Particle: gamma Event: 36 -Number of tracker hits in this event: 2 - 36 93.5031 594 5 0 148.026 -61.1297 -56.25 - 36 157.191 595 5 0 147.962 -61.0499 -56.0693 -Number of digits in this event: 2 +Number of tracker hits in this event: 32 + 36 284.557 1263 6 1 72.6983 41.8329 -24.45 + 36 271.876 1108 6 0 72.6995 41.833 -25.85 + 36 156.826 1263 5 1 72.7256 41.8402 -54.45 + 36 111.652 1108 5 0 72.7258 41.8394 -55.85 + 36 126.636 1263 4 1 72.7201 41.8153 -84.45 + 36 120.947 1108 4 0 72.7188 41.8141 -85.85 + 36 150.97 1262 3 1 72.6316 41.7867 -114.45 + 36 112.721 1108 3 0 72.6234 41.788 -115.85 + 36 110.517 1262 2 1 72.4512 41.8113 -144.45 + 36 102.059 1108 2 0 72.448 41.8214 -145.85 + 36 115.259 1261 1 1 72.3943 42.0283 -174.45 + 36 127.666 1109 1 0 72.3961 42.0353 -175.85 + 36 136.901 1261 0 1 72.4274 42.1936 -204.45 + 36 158.815 1110 0 0 72.4331 42.2021 -205.85 + 36 44.0512 1752 14 0 -168.806 170.64 213.75 + 36 115.65 1753 14 0 -168.873 170.75 213.968 + 36 70.4479 1754 14 0 -168.776 170.95 214.064 + 36 102.98 1755 14 0 -168.707 171.15 214.037 + 36 200.179 1756 14 0 -168.631 171.35 213.925 + 36 222.457 141 4 0 -117.543 -151.75 -86.1451 + 36 173.241 1264 5 1 72.8671 41.5856 -54.45 + 36 121.895 1107 5 0 72.887 41.5614 -55.85 + 36 148.417 1265 4 1 73.196 41.1891 -84.45 + 36 115.728 1105 4 0 73.1976 41.1714 -85.85 + 36 102.545 1265 3 1 73.1295 40.833 -114.45 + 36 111.002 1103 3 0 73.1385 40.8157 -115.85 + 36 130.15 1266 2 1 73.2776 40.4112 -144.45 + 36 144.327 1101 2 0 73.2956 40.411 -145.85 + 36 155.958 1268 1 1 73.6555 40.5039 -174.45 + 36 160.45 1102 1 0 73.6594 40.5223 -175.85 + 36 99.1104 1268 0 1 73.7311 41.293 -204.45 + 36 109.325 1106 0 0 73.7907 41.3586 -205.85 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 5.14228 LIN +Particle energy: 1.8331 LIN Particle: gamma Event: 37 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 92 + 37 289.101 817 10 1 -16.5594 56.8261 95.55 + 37 394.663 1183 10 0 -16.5599 56.8279 94.15 + 37 106.537 817 9 1 -16.5545 56.8558 65.55 + 37 261.228 1184 9 0 -16.5514 56.8569 64.15 + 37 103.389 817 8 1 -16.4699 56.8697 35.55 + 37 126.655 1184 8 0 -16.4682 56.8688 34.15 + 37 124.085 818 7 1 -16.444 56.8283 5.55 + 37 102.552 1183 7 0 -16.4488 56.8267 4.15 + 37 148.425 817 6 1 -16.5364 56.6926 -24.45 + 37 242.017 1183 6 0 -16.5222 56.6893 -25.85 + 37 116.103 819 5 1 -16.2251 56.5735 -54.45 + 37 184.107 1182 5 0 -16.2154 56.5682 -55.85 + 37 203.173 819 4 1 -16.0608 56.449 -84.45 + 37 122.016 1181 4 0 -16.0537 56.4322 -85.85 + 37 41.5906 820 3 1 -15.8528 56.0756 -114.45 + 37 92.9528 821 3 1 -15.85 56.0756 -114.601 + 37 126.11 1180 3 0 -15.8229 56.0746 -115.85 + 37 115.858 823 2 1 -15.3296 55.9499 -144.45 + 37 116.933 1179 2 0 -15.2851 55.9618 -145.85 + 37 118.61 828 1 1 -14.3618 56.2161 -174.45 + 37 102.22 1181 1 0 -14.3299 56.2571 -175.85 + 37 139.068 831 0 1 -13.738 57.0857 -204.45 + 37 133.408 1185 0 0 -13.7153 57.1321 -205.85 + 37 0.803702 730 1 0 75.6811 -33.8521 -176.25 + 37 187.634 731 1 0 75.6786 -33.85 -176.245 + 37 71.5101 1272 1 1 74.57 -33.1927 -174.85 + 37 89.3349 1271 1 1 74.45 -33.0688 -174.719 + 37 353.285 1270 1 1 74.25 -32.8556 -174.58 + 37 170.219 1269 1 1 74.0499 -32.2303 -174.682 + 37 88.5558 747 1 0 73.9157 -30.6104 -175.85 + 37 64.8608 748 1 0 73.9353 -30.45 -175.99 + 37 167.621 749 1 0 73.9474 -30.25 -176.103 + 37 343.016 918 1 0 107.286 3.80482 -176.25 + 37 7.228 1443 1 1 108.942 4.14442 -174.85 + 37 109.248 1444 1 1 108.95 4.14689 -174.843 + 37 96.0806 1445 1 1 109.15 4.24905 -174.604 + 37 88.2523 1446 1 1 109.35 4.39228 -174.583 + 37 118.169 921 1 0 109.719 4.29275 -175.85 + 37 11.0734 919 1 0 107.692 3.85002 -176.139 + 37 38.977 1618 3 0 82.5676 143.753 -116.25 + 37 115.133 818 9 1 -16.3547 56.9452 65.55 + 37 184.119 815 8 1 -17.0159 57.55 35.55 + 37 157.476 1187 8 0 -17.0311 57.5941 34.15 + 37 82.5172 813 7 1 -17.4468 58.6001 5.55 + 37 65.3519 812 7 1 -17.45 58.6058 5.35075 + 37 194.806 1192 7 0 -17.4655 58.6399 4.15 + 37 10.6983 1193 7 0 -17.4701 58.65 3.79555 + 37 85.5197 811 6 1 -17.8296 59.4285 -24.45 + 37 126.142 1197 6 0 -17.8394 59.4617 -25.85 + 37 105.665 810 5 1 -18.0169 60.1493 -54.45 + 37 212.672 1200 5 0 -18.0134 60.1875 -55.85 + 37 106.831 810 4 1 -17.9324 60.9605 -84.45 + 37 149.994 1204 4 0 -17.9523 60.9919 -85.85 + 37 121.242 808 3 1 -18.3466 61.7058 -114.45 + 37 156.157 1208 3 0 -18.3562 61.7155 -115.85 + 37 153.783 807 2 1 -18.5612 61.9098 -144.45 + 37 169.414 1209 2 0 -18.5845 61.8974 -145.85 + 37 102.741 805 1 1 -18.9542 61.585 -174.45 + 37 111.283 1207 1 0 -18.9521 61.5641 -175.85 + 37 99.2877 805 0 1 -18.8798 61.178 -204.45 + 37 125.31 1205 0 0 -18.8773 61.1717 -205.85 + 37 174.503 566 1 1 -66.65 11.6222 -174.842 + 37 310.753 1777 5 0 99.5209 175.648 -56.25 + 37 197.54 824 4 1 -15.1703 57.5761 -84.4641 + 37 234.683 1187 4 0 -15.1627 57.5928 -85.85 + 37 145.68 824 3 1 -15.0742 57.9533 -114.45 + 37 131.411 1189 3 0 -14.9986 57.9808 -115.85 + 37 219.203 832 2 1 -13.5156 58.4161 -144.45 + 37 334.877 1191 2 0 -13.3586 58.4212 -145.85 + 37 98.4387 849 1 1 -10.1386 58.6183 -174.45 + 37 115.845 1192 1 0 -9.96341 58.6354 -175.85 + 37 111.682 867 0 1 -6.5595 59.0195 -204.45 + 37 110.123 1194 0 0 -6.36348 59.0192 -205.85 + 37 48.0681 850 1 1 -9.9985 58.5664 -174.45 + 37 91.0189 851 1 1 -9.85 58.4335 -174.594 + 37 75.5196 852 1 1 -9.65 58.2591 -174.741 + 37 39.6843 1185 1 0 -8.28077 57.1562 -175.85 + 37 121.986 1184 1 0 -8.1382 57.05 -175.919 + 37 170.072 1183 1 0 -7.85413 56.85 -176.065 + 37 335.159 829 3 1 -14.2347 59.1513 -114.45 + 37 115.945 1195 3 0 -14.2582 59.1156 -115.85 + 37 10.2652 825 2 1 -15.0419 56.9088 -144.45 + 37 151.935 824 2 1 -15.05 56.9053 -144.49 + 37 233.885 1183 2 0 -15.3336 56.8116 -145.85 + 37 48.5814 787 1 1 -22.5535 54.9179 -174.45 + 37 100.734 786 1 1 -22.6502 54.9226 -174.619 + 37 125.301 1174 1 0 -23.3877 54.9543 -175.85 + 37 27.5095 688 0 1 -42.408 53.4102 -204.45 + 37 112.742 687 0 1 -42.45 53.3923 -204.561 + 37 39.0374 1165 0 0 -42.8465 53.0889 -205.85 + 37 93.7173 1164 0 0 -42.8926 53.05 -206.015 + 37 317.606 1099 1 0 -53.5545 39.9389 -176.25 +Number of digits in this event: 45 Using G4ParticleGun... -Particle energy: 2.20444 LIN +Particle energy: 5.43422 LIN Particle: gamma Event: 38 -Number of tracker hits in this event: 83 - 38 262.739 619 11 1 -56.1592 55.7469 125.55 - 38 120.092 1178 11 0 -56.1631 55.7463 124.15 - 38 118.229 619 10 1 -56.2394 55.7375 95.55 - 38 207.441 1178 10 0 -56.2413 55.7418 94.15 - 38 131.78 618 9 1 -56.2824 55.8303 65.55 - 38 118.13 1178 9 0 -56.2808 55.8347 64.15 - 38 72.2694 619 8 1 -56.2432 55.9365 35.55 - 38 45.4792 618 8 1 -56.25 55.9436 35.3164 - 38 125.232 1179 8 0 -56.2777 55.9736 34.15 - 38 193.142 615 7 1 -56.9853 56.6107 5.55 - 38 93.3395 1182 7 0 -57.0314 56.6376 4.15 - 38 129.922 610 6 1 -58.0222 57.1023 -24.45 - 38 110.064 1185 6 0 -58.0513 57.1149 -25.85 - 38 123.899 606 5 1 -58.7771 57.3887 -54.45 - 38 112.541 1186 5 0 -58.785 57.4198 -55.85 - 38 123.357 605 4 1 -58.9851 58.033 -84.45 - 38 118.586 1190 4 0 -58.9711 58.0719 -85.85 - 38 165.957 607 3 1 -58.4729 58.7905 -114.45 - 38 118.218 1194 3 0 -58.4242 58.8561 -115.85 - 38 98.9923 612 2 1 -57.505 60.0267 -144.45 - 38 117.196 1200 2 0 -57.4532 60.0735 -145.85 - 38 135.989 618 1 1 -56.3072 61.2152 -174.45 - 38 136.863 1206 1 0 -56.2398 61.2762 -175.85 - 38 112.267 625 0 1 -54.9284 62.5337 -204.45 - 38 1.61572 1212 0 0 -54.8771 62.6493 -205.85 - 38 115.247 1213 0 0 -54.8768 62.65 -205.858 - 38 270.631 620 3 1 -55.9862 56.1745 -114.45 - 38 272.754 1180 3 0 -56.0131 56.1087 -115.85 - 38 153.871 618 2 1 -56.4412 54.7328 -144.45 - 38 145.871 1173 2 0 -56.4473 54.7001 -145.85 - 38 117.195 617 1 1 -56.6053 54.091 -174.45 - 38 129.395 1169 1 0 -56.6486 54.0294 -175.85 - 38 137.516 612 0 1 -57.5724 52.7472 -204.45 - 38 117.136 1162 0 0 -57.567 52.6012 -205.85 - 38 65.7547 884 0 0 -58.0373 -3.05 -206.096 - 38 4.53782 283 2 0 67.9658 -123.493 -146.25 - 38 53.1843 1394 2 0 -50.703 98.9837 -146.25 - 38 76.8852 1395 2 0 -50.6952 99.15 -146.127 - 38 64.6469 1396 2 0 -50.6965 99.3509 -145.977 - 38 68.4965 1397 2 0 -50.6876 99.55 -145.874 - 38 87.7781 1398 2 0 -50.6358 99.75 -145.906 - 38 71.2899 1399 2 0 -50.5415 99.9502 -146.016 - 38 88.6284 1400 2 0 -50.5634 100.15 -146.108 - 38 151.414 1401 2 0 -50.725 100.35 -145.994 - 38 84.4312 1402 2 0 -51.0041 100.55 -145.914 - 38 438.19 1403 2 0 -51.1253 100.75 -145.908 - 38 137.297 620 2 1 -55.9466 56.2506 -144.45 - 38 193.157 1181 2 0 -55.9365 56.2532 -145.85 - 38 132.906 621 1 1 -55.7498 56.3168 -174.45 - 38 104.586 1181 1 0 -55.7406 56.3206 -175.85 - 38 134.088 622 0 1 -55.5997 56.3811 -204.45 - 38 124.623 1181 0 0 -55.592 56.3788 -205.85 - 38 166.865 617 2 1 -56.5667 56.5443 -144.451 - 38 132.112 1182 2 0 -56.4191 56.561 -145.85 - 38 240.13 633 1 1 -53.3618 57.3 -174.45 - 38 75.265 1186 1 0 -53.3919 57.4235 -175.85 - 38 32.4432 1187 1 0 -53.4016 57.45 -176.161 - 38 99.6995 627 0 1 -54.4695 59.6827 -204.45 - 38 217.851 1199 0 0 -54.5067 59.8965 -205.85 - 38 214.888 1753 9 0 -79.4931 170.792 63.7501 - 38 171.237 618 11 1 -56.25 55.7653 125.191 - 38 55.5925 1179 11 0 -56.4873 56.0132 124.15 - 38 86.3402 1180 11 0 -56.5283 56.05 123.975 - 38 135.059 589 10 1 -62.121 61.8239 95.5497 - 38 124.451 1211 10 0 -62.0142 62.2679 94.1499 - 38 133.986 591 9 1 -61.6843 71.8353 65.5497 - 38 248.437 1257 9 0 -61.9583 71.5923 64.15 - 38 219.294 577 8 1 -64.541 65.9175 35.55 - 38 141.787 1226 8 0 -64.4162 65.3993 34.15 - 38 143.725 590 7 1 -61.851 59.6015 5.55 - 38 0.839633 1198 7 0 -62.2176 59.8491 4.14948 - 38 142.277 1199 7 0 -62.2187 59.85 4.14491 - 38 237.151 538 6 1 -72.3296 65.3457 -24.4502 - 38 156.988 1224 6 0 -72.1935 64.9905 -25.85 - 38 200.362 554 5 1 -69.1443 63.4226 -54.45 - 38 101.482 1217 5 0 -69.0598 63.5877 -55.85 - 38 91.1783 576 4 1 -64.7787 67.1838 -84.45 - 38 167.178 1236 4 0 -64.8902 67.3803 -85.85 - 38 35.0101 555 5 1 -69.05 63.5258 -54.8125 - 38 232.004 1216 5 0 -68.1811 63.259 -55.85 - 38 56.5592 537 6 1 -72.45 65.4913 -24.67 - 38 148.186 1226 6 0 -73.2635 65.3934 -25.85 - 38 187.926 617 11 1 -56.45 55.813 125.483 -Number of digits in this event: 49 +Number of tracker hits in this event: 0 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 6.1762 LIN +Particle energy: 7.51482 LIN Particle: gamma Event: 39 -Number of tracker hits in this event: 0 +Number of tracker hits in this event: 1 + 39 69.9163 1351 7 0 -49.8715 90.5441 3.75 Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 7.9973 LIN +Particle energy: 2.76816 LIN Particle: gamma Event: 40 -Number of tracker hits in this event: 66 - 40 322.097 833 6 1 -13.2587 8.35447 -24.45 - 40 358.723 941 6 0 -13.2587 8.35394 -25.85 - 40 149.298 833 5 1 -13.2588 8.34665 -54.45 - 40 243.976 941 5 0 -13.2589 8.34592 -55.85 - 40 277.622 833 4 1 -13.2718 8.33138 -84.45 - 40 120.88 941 4 0 -13.2725 8.32887 -85.85 - 40 249.07 833 3 1 -13.2838 8.27316 -114.45 - 40 128.341 941 3 0 -13.2852 8.27084 -115.85 - 40 301.205 833 2 1 -13.3133 8.22813 -144.45 - 40 140.352 940 2 0 -13.3151 8.22514 -145.85 - 40 558.828 833 1 1 -13.3544 8.15587 -174.45 - 40 253.587 940 1 0 -13.3565 8.15606 -175.85 - 40 277.523 833 0 1 -13.3992 8.18459 -204.45 - 40 365.8 940 0 0 -13.3998 8.18525 -205.85 - 40 95.7576 688 5 0 111.955 -42.3375 -56.25 - 40 60.5421 687 5 0 111.953 -42.45 -56.0184 - 40 63.7166 1457 5 1 111.688 -42.0867 -54.85 - 40 219.869 1458 5 1 111.75 -41.9916 -54.7205 - 40 222.782 939 1 0 -13.2706 7.92845 -175.85 - 40 233.309 840 0 1 -12.0419 3.73285 -204.45 - 40 150.632 917 0 0 -11.747 3.51989 -205.85 - 40 12.0279 494 1 1 -81.05 1.72409 -174.697 - 40 202.968 834 5 1 -13.2498 8.35217 -54.6979 - 40 109.394 942 5 0 -13.0268 8.47901 -55.85 - 40 48.4843 861 4 1 -7.71395 12.0308 -84.45 - 40 88.3826 860 4 1 -7.85 11.995 -84.5861 - 40 36.8776 859 4 1 -8.05005 11.9435 -84.7895 - 40 161.801 957 4 0 -9.10875 11.6494 -85.85 - 40 12.1479 684 3 1 -43.1959 2.48693 -114.45 - 40 62.3234 683 3 1 -43.25 2.49195 -114.484 - 40 63.9167 682 3 1 -43.4502 2.51444 -114.607 - 40 84.2373 681 3 1 -43.65 2.52661 -114.73 - 40 0.450781 680 3 1 -43.85 2.53758 -114.849 - 40 317.562 912 3 0 -45.5205 2.60117 -115.85 - 40 41.8666 417 2 1 -96.5767 8.89119 -144.45 - 40 63.2402 416 2 1 -96.75 8.88822 -144.506 - 40 59.7708 415 2 1 -96.9505 8.8716 -144.574 - 40 64.9721 414 2 1 -97.15 8.85122 -144.639 - 40 99.1875 413 2 1 -97.3504 8.82803 -144.711 - 40 40.4509 412 2 1 -97.5503 8.81353 -144.796 - 40 343.014 943 2 0 -100.219 8.70407 -145.85 - 40 42.7147 913 3 0 -45.6763 2.65007 -115.915 - 40 217.882 675 3 1 -44.9234 2.95844 -114.85 - 40 93.983 676 3 1 -44.85 2.99564 -114.762 - 40 25.1954 948 6 0 -12.8502 9.80478 -25.8503 - 40 249.801 949 6 0 -12.8447 9.85 -25.8778 - 40 227.851 855 3 0 -8.71579 -8.92491 -116.25 - 40 32.2648 440 2 0 -75.2581 -91.9962 -146.25 - 40 80.9031 439 2 0 -75.3506 -92.1507 -146.134 - 40 22.7597 438 2 0 -75.5139 -92.35 -146.213 - 40 17.9164 365 2 0 -118.511 -106.994 -146.25 - 40 52.1775 381 2 0 -85.7802 -103.909 -146.25 - 40 157.905 940 4 0 -13.286 8.22339 -85.85 - 40 153.225 940 3 0 -13.3329 8.13202 -115.85 - 40 126.142 939 2 0 -13.3813 7.95973 -145.85 - 40 272.063 832 0 1 -13.45 7.70991 -204.528 - 40 121.878 936 0 0 -13.6534 7.35127 -205.85 - 40 2.20544 935 0 0 -13.716 7.25 -206.239 - 40 2.39686 537 6 0 67.8484 -72.6095 -26.25 - 40 57.0861 540 6 0 67.8982 -72.05 -26.0734 - 40 30.9748 1039 3 1 27.85 63.0495 -114.589 - 40 117.095 939 0 0 -13.4067 7.90399 -205.85 - 40 86.8526 831 0 1 -13.65 7.87963 -204.574 - 40 115.6 938 0 0 -14.0701 7.7058 -205.85 - 40 23.2445 937 0 0 -14.1912 7.65 -206.199 - 40 67.3048 396 6 0 -6.17509 -100.787 -26.2498 -Number of digits in this event: 33 +Number of tracker hits in this event: 43 + 40 285.638 1589 7 1 138.025 -40.3226 5.55 + 40 266.111 698 7 0 138.024 -40.3204 4.15 + 40 134.441 1589 6 1 138.009 -40.2844 -24.45 + 40 218.702 698 6 0 138.005 -40.2815 -25.85 + 40 109.606 1588 5 1 137.921 -40.2153 -54.45 + 40 126.333 699 5 0 137.911 -40.2091 -55.85 + 40 162.051 1587 4 1 137.689 -40.0794 -84.45 + 40 115.656 699 4 0 137.678 -40.0729 -85.85 + 40 102.283 1586 3 1 137.458 -39.9299 -114.45 + 40 123.462 700 3 0 137.445 -39.9269 -115.85 + 40 173.629 1585 2 1 137.189 -39.8797 -144.45 + 40 258.868 700 2 0 137.178 -39.8784 -145.85 + 40 97.8746 1583 1 1 136.938 -39.8542 -174.45 + 40 197.723 700 1 0 136.922 -39.8545 -175.85 + 40 325.639 1582 0 1 136.569 -39.8681 -204.45 + 40 129.293 700 0 0 136.551 -39.8689 -205.85 + 40 99.645 1654 2 1 151.147 2.51542 -144.85 + 40 48.297 1782 0 1 176.55 -12.314 -204.694 + 40 105.467 1655 2 1 151.15 2.47862 -144.753 + 40 348.072 788 0 0 126.424 -22.2891 -206.25 + 40 85.8013 789 0 0 126.434 -22.2497 -206.196 + 40 122.224 1581 0 1 136.55 -39.8865 -204.495 + 40 19.5049 697 0 0 136.063 -40.6275 -205.85 + 40 126.843 696 0 0 136.051 -40.65 -205.889 + 40 26.784 695 0 0 135.975 -40.85 -206.177 + 40 123.243 701 1 0 136.925 -39.8499 -176.203 + 40 137.52 1587 6 1 137.702 -40.294 -24.45 + 40 107.705 1586 5 1 137.458 -40.2559 -54.45 + 40 97.9913 698 5 0 137.443 -40.2543 -55.85 + 40 210.492 1585 4 1 137.159 -40.2773 -84.45 + 40 139.173 698 4 0 137.136 -40.2752 -85.85 + 40 92.2548 1582 3 1 136.668 -40.2374 -114.45 + 40 151.179 699 3 0 136.646 -40.2254 -115.85 + 40 125.353 1580 2 1 136.185 -39.9593 -144.45 + 40 112.587 1577 1 1 135.703 -39.5723 -174.45 + 40 180.185 702 1 0 135.652 -39.5518 -175.85 + 40 137.489 1572 0 1 134.612 -39.098 -204.45 + 40 95.7959 704 0 0 134.567 -39.0917 -205.85 + 40 76.7174 560 3 0 143.466 -67.8583 -116.25 + 40 80.1787 561 3 0 143.5 -67.8499 -115.993 + 40 413.296 1625 3 1 145.173 -65.9596 -114.85 + 40 95.6637 1624 3 1 145.15 -65.889 -114.687 + 40 122.709 1626 3 1 145.35 -66.3186 -114.633 +Number of digits in this event: 27 Using G4ParticleGun... -Particle energy: 2.26077 LIN +Particle energy: 5.63325 LIN Particle: gamma Event: 41 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 36 + 41 238.017 1207 2 1 61.6015 -114.592 -144.45 + 41 341.763 327 2 0 61.6002 -114.594 -145.85 + 41 458.963 1207 1 1 61.5749 -114.624 -174.45 + 41 132.724 327 1 0 61.5736 -114.625 -175.85 + 41 334.637 1207 0 1 61.5493 -114.666 -204.45 + 41 116.832 327 0 0 61.5485 -114.669 -205.85 + 41 349.147 1208 1 1 61.6501 -115.015 -174.564 + 41 318.483 1209 1 1 61.85 -115.199 -174.549 + 41 291.108 1210 1 1 62.05 -115.436 -174.587 + 41 173.244 1211 1 1 62.25 -115.739 -174.613 + 41 258.804 1212 1 1 62.45 -115.803 -174.636 + 41 491.171 1213 1 1 62.65 -115.791 -174.584 + 41 16.1418 1210 2 1 62.1159 -114.085 -144.85 + 41 73.9262 335 2 0 63.0923 -113.098 -145.85 + 41 18.2505 332 1 0 63.3016 -113.583 -175.85 + 41 70.4313 333 1 0 63.3431 -113.55 -175.887 + 41 58.8264 334 1 0 63.4619 -113.35 -176.004 + 41 51.4595 335 1 0 63.5025 -113.15 -176.091 + 41 49.9293 336 1 0 63.4665 -112.95 -176.118 + 41 61.3755 337 1 0 63.4454 -112.75 -176.128 + 41 39.8916 338 1 0 63.4416 -112.55 -176.138 + 41 48.1062 1214 1 1 62.85 -112.209 -174.826 + 41 13.8939 355 1 0 65.6924 -108.983 -175.85 + 41 74.3354 356 1 0 65.7281 -108.95 -175.865 + 41 79.3776 357 1 0 65.937 -108.75 -175.9 + 41 64.5064 358 1 0 66.1171 -108.55 -175.939 + 41 51.1267 359 1 0 66.2063 -108.35 -175.967 + 41 83.4442 360 1 0 66.2448 -108.15 -175.991 + 41 100.917 361 1 0 66.3712 -107.95 -175.915 + 41 63.5549 1253 1 1 70.6596 -107.497 -174.85 + 41 151.677 1254 1 1 70.85 -107.534 -174.823 + 41 80.1627 1255 1 1 71.05 -107.511 -174.474 + 41 84.7008 1256 1 1 71.2502 -107.623 -174.479 + 41 69.6975 1257 1 1 71.4502 -107.798 -174.493 + 41 120.922 328 1 0 61.5621 -114.509 -175.85 + 41 86.1498 328 0 0 61.4914 -114.361 -205.85 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 8.79072 LIN +Particle energy: 4.69348 LIN Particle: gamma Event: 42 -Number of tracker hits in this event: 8 - 42 94.8406 1715 3 0 -146.568 163.15 -116.13 - 42 43.2138 1048 12 1 29.65 -42.7308 155.314 - 42 162.419 1051 12 1 30.4166 -43.2826 155.55 - 42 1.59436 1052 12 1 30.45 -43.3341 155.489 - 42 55.9399 1716 3 0 -146.677 163.35 -116.155 - 42 113.925 1581 0 1 136.35 -71.0172 -204.764 - 42 163.108 1580 0 1 136.35 -70.8872 -204.786 - 42 163.111 1327 1 1 85.4661 -58.2439 -174.45 -Number of digits in this event: 6 +Number of tracker hits in this event: 0 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 2.45173 LIN +Particle energy: 5.12481 LIN Particle: gamma Event: 43 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 4 + 43 98.5658 867 0 1 -6.45 19.2235 -204.769 + 43 218.946 876 5 0 42.8952 -4.81016 -56.25 + 43 94.0671 797 5 0 14.0261 -20.4734 -56.2498 + 43 32.7608 798 5 0 13.9727 -20.45 -56.2208 +Number of digits in this event: 4 Using G4ParticleGun... -Particle energy: 4.78888 LIN +Particle energy: 2.35098 LIN Particle: gamma Event: 44 -Number of tracker hits in this event: 6 - 44 206.105 1145 0 1 49.1437 42.4399 -204.45 - 44 117.848 1112 0 0 49.1127 42.467 -205.85 - 44 106.483 1278 14 1 75.7237 91.3929 215.15 - 44 150.371 1279 14 1 75.85 91.2932 215.324 - 44 115.581 1111 0 0 49.1441 42.4401 -205.85 - 44 8.3898 852 5 1 -9.65 -156.835 -54.4535 -Number of digits in this event: 3 +Number of tracker hits in this event: 11 + 44 504.288 276 0 1 -124.844 27.3727 -204.45 + 44 263.518 1036 0 0 -124.838 27.4021 -205.85 + 44 34.9011 993 1 0 -162.246 18.7968 -176.25 + 44 149.88 994 1 0 -162.321 18.85 -176.154 + 44 3.85874 85 1 1 -163.145 19.1168 -174.85 + 44 84.069 84 1 1 -163.15 19.1181 -174.843 + 44 94.4271 83 1 1 -163.35 19.0222 -174.689 + 44 78.8334 82 1 1 -163.55 18.9264 -174.73 + 44 26.015 81 1 1 -163.75 18.8248 -174.833 + 44 277.608 989 1 0 -166.843 17.9278 -175.85 + 44 167.184 990 1 0 -167.1 18.05 -176.144 +Number of digits in this event: 7 Using G4ParticleGun... -Particle energy: 9.12442 LIN +Particle energy: 2.47703 LIN Particle: gamma Event: 45 -Number of tracker hits in this event: 1 - 45 51.9937 1004 1 1 21.05 89.3657 -174.717 +Number of tracker hits in this event: 0 Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 5.20124 LIN +Particle energy: 3.34682 LIN Particle: gamma Event: 46 -Number of tracker hits in this event: 110 - 46 588.019 853 9 1 -9.36934 72.4652 65.55 - 46 231.136 1262 9 0 -9.36853 72.4658 64.15 - 46 262.449 853 8 1 -9.33329 72.4666 35.55 - 46 222.809 1262 8 0 -9.33203 72.4588 34.15 - 46 448.187 853 7 1 -9.3194 72.3024 5.55 - 46 373.058 1261 7 0 -9.31985 72.2919 4.15 - 46 234.299 853 6 1 -9.33271 72.0817 -24.45 - 46 235.803 1260 6 0 -9.33962 72.0653 -25.85 - 46 366.602 852 5 1 -9.47255 71.7379 -54.45 - 46 153.237 1258 5 0 -9.47673 71.7219 -55.85 - 46 99.1129 852 4 1 -9.54159 71.4127 -84.45 - 46 127.424 1256 4 0 -9.54679 71.4002 -85.85 - 46 160.618 852 3 1 -9.63954 71.166 -114.45 - 46 139.491 1255 3 0 -9.6448 71.1583 -115.85 - 46 106.204 851 2 1 -9.7489 71.0001 -144.45 - 46 466.969 1254 2 0 -9.755 70.9923 -145.85 - 46 143.699 850 1 1 -9.87562 70.8242 -174.45 - 46 101.975 1253 1 0 -9.8801 70.8176 -175.85 - 46 305.538 850 0 1 -9.95248 70.6817 -204.45 - 46 112.423 1253 0 0 -9.95413 70.6783 -205.85 - 46 78.3895 856 1 1 -8.83665 122.962 -174.85 - 46 29.0304 1480 1 0 -1.22106 116.35 -176.203 - 46 70.2007 849 0 1 -10.05 70.9025 -204.694 - 46 206.578 1262 0 0 -9.34285 72.4596 -205.85 - 46 77.8877 1263 0 0 -9.32396 72.65 -205.931 - 46 72.3283 1264 0 0 -9.26093 72.8503 -206.051 - 46 6.03703 1744 2 0 0.120681 168.95 -145.894 - 46 12.4432 1214 4 0 -9.79191 63.05 -85.9965 - 46 137.178 1253 2 0 -9.46851 70.8498 -146.192 - 46 67.0067 854 8 1 -9.24993 72.4421 35.5148 - 46 87.3973 855 8 1 -9.05 72.4831 35.4076 - 46 52.204 856 8 1 -8.85 72.5323 35.3655 - 46 62.417 857 8 1 -8.65 72.5499 35.3407 - 46 57.6741 858 8 1 -8.45 72.5176 35.3712 - 46 52.5105 859 8 1 -8.25 72.4576 35.3474 - 46 61.6385 860 8 1 -8.05 72.384 35.4099 - 46 118.722 1262 7 0 -9.39522 72.4519 4.15 - 46 534.801 852 6 1 -9.50529 72.4819 -24.45 - 46 327.484 1262 6 0 -9.51067 72.478 -25.85 - 46 132.272 1261 5 0 -9.61364 72.3798 -55.85 - 46 120.504 851 4 1 -9.71185 72.3317 -84.45 - 46 122.639 1261 4 0 -9.71277 72.3246 -85.85 - 46 162.163 851 3 1 -9.72327 72.1685 -114.45 - 46 127.047 1260 3 0 -9.72839 72.1669 -115.85 - 46 145.711 850 2 1 -9.85806 72.16 -144.45 - 46 106.083 1260 2 0 -9.86734 72.1567 -145.85 - 46 117.376 849 1 1 -10.0506 72.0872 -174.45 - 46 111.902 1260 1 0 -10.0604 72.0863 -175.85 - 46 145.208 848 0 1 -10.2516 72.0567 -204.45 - 46 138.064 1260 0 0 -10.2529 72.059 -205.85 - 46 122.617 876 5 1 -4.79548 75.6121 -54.45 - 46 233.59 1277 5 0 -4.29764 75.6406 -55.85 - 46 83.6723 928 4 1 5.80343 75.9892 -84.45 - 46 44.4921 929 4 1 5.85 76.0156 -84.7122 - 46 138.093 1280 4 0 5.99547 76.161 -85.85 - 46 123.731 957 3 1 11.5093 76.554 -114.45 - 46 103.028 1284 3 0 11.8039 76.9065 -115.85 - 46 125.775 1007 2 1 21.5074 83.1527 -144.45 - 46 64.9694 1008 2 1 21.6503 83.103 -144.519 - 46 62.9049 1009 2 1 21.85 83.0164 -144.625 - 46 77.8661 1010 2 1 22.05 82.9933 -144.726 - 46 66.4458 1011 2 1 22.25 82.9645 -144.779 - 46 110.838 1012 2 1 22.45 83.019 -144.782 - 46 156.304 1316 2 0 23.7782 83.2894 -145.85 - 46 11.2738 1315 2 0 24.0287 83.2498 -146.213 - 46 130.417 1261 6 0 -9.66356 72.3926 -25.8509 - 46 72.6776 847 5 1 -10.6398 71.2296 -54.4501 - 46 107.879 848 5 1 -10.4499 71.2307 -54.6289 - 46 21.1394 849 5 1 -10.25 71.2316 -54.8124 - 46 18.8369 1255 5 0 -9.03379 71.2399 -55.85 - 46 197.641 1256 5 0 -8.95964 71.25 -55.8934 - 46 56.5948 1553 5 0 58.1465 130.832 -56.25 - 46 59.6213 1554 5 0 58.2032 130.95 -56.188 - 46 78.899 1555 5 0 58.3149 131.15 -56.0905 - 46 72.456 1556 5 0 58.4272 131.35 -55.9844 - 46 41.7597 1197 5 1 59.5929 133.058 -54.85 - 46 119.716 1198 5 1 59.6502 133.14 -54.7973 - 46 86.4206 1199 5 1 59.85 133.46 -54.6043 - 46 44.3492 1719 6 0 47.9653 164.032 -26.2499 - 46 85.9525 1720 6 0 47.9183 164.15 -26.1353 - 46 29.5638 1721 6 0 47.8616 164.35 -25.9286 - 46 86.8578 1138 6 1 47.6983 165.488 -24.85 - 46 87.5479 1137 6 1 47.65 165.761 -24.6113 - 46 291.592 1260 5 0 -9.64797 72.1057 -55.85 - 46 119.8 849 4 1 -10.1511 72.0634 -84.45 - 46 141.662 1260 4 0 -10.1568 72.0924 -85.85 - 46 100.225 849 3 1 -10.1358 72.76 -114.45 - 46 110.369 1263 3 0 -10.1335 72.7712 -115.85 - 46 130.967 849 2 1 -10.1204 73.0974 -144.45 - 46 127.124 1265 2 0 -10.1315 73.1365 -145.85 - 46 162.134 847 1 1 -10.4581 73.7817 -174.45 - 46 177.686 1268 1 0 -10.5002 73.8228 -175.85 - 46 231.628 842 0 1 -11.5014 74.5242 -204.45 - 46 121.138 1272 0 0 -11.5643 74.577 -205.85 - 46 81.2288 1269 0 0 -11.4757 74.0176 -205.85 - 46 30.433 1268 0 0 -11.4444 73.85 -206.137 - 46 41.7014 1275 0 0 -11.2997 75.0632 -205.85 - 46 132.228 1274 0 0 -11.2882 75.0499 -205.893 - 46 180.366 848 1 1 -10.4498 73.7862 -174.838 - 46 100.542 854 5 1 -9.11567 72.2132 -54.45 - 46 216.454 855 4 1 -8.93075 71.8054 -84.45 - 46 230.233 1258 4 0 -8.93338 71.7923 -85.85 - 46 344.523 855 3 1 -9.01872 71.4685 -114.45 - 46 106.675 1256 3 0 -9.03622 71.4477 -115.85 - 46 108.101 853 2 1 -9.43263 70.9974 -144.45 - 46 105.6 851 1 1 -9.80953 71.0148 -174.45 - 46 97.0369 1255 1 0 -9.85833 71.071 -175.85 - 46 144.578 846 0 1 -10.7467 72.328 -204.45 - 46 261.278 1261 0 0 -10.7923 72.4031 -205.85 - 46 73.4317 854 4 1 -9.05 71.8089 -84.7617 -Number of digits in this event: 53 -Using G4ParticleGun... -Particle energy: 6.35083 LIN +Number of tracker hits in this event: 52 + 46 286.839 700 8 1 -39.8885 -11.782 35.55 + 46 225.016 841 8 0 -39.89 -11.781 34.15 + 46 226.361 700 7 1 -39.9112 -11.7669 5.55 + 46 311.945 841 7 0 -39.9119 -11.7652 4.15 + 46 235.295 700 6 1 -39.9352 -11.7223 -24.45 + 46 93.7053 841 6 0 -39.9332 -11.72 -25.85 + 46 241.248 700 5 1 -39.8884 -11.6742 -54.45 + 46 141.425 841 5 0 -39.889 -11.6731 -55.85 + 46 137.237 700 4 1 -39.9017 -11.6528 -84.45 + 46 25.2374 841 4 0 -39.9006 -11.6502 -85.85 + 46 78.8267 842 4 0 -39.9005 -11.65 -85.9665 + 46 121.919 700 3 1 -39.8871 -11.6024 -114.45 + 46 144.224 842 3 0 -39.8828 -11.5964 -115.85 + 46 133.285 701 2 1 -39.8011 -11.4793 -144.45 + 46 450.692 842 2 0 -39.7914 -11.4735 -145.85 + 46 101.409 702 1 1 -39.5851 -11.3766 -174.45 + 46 125.92 843 1 0 -39.5736 -11.3698 -175.85 + 46 134.539 703 0 1 -39.3493 -11.2115 -204.45 + 46 119.511 844 0 0 -39.3371 -11.2018 -205.85 + 46 239.441 1437 2 1 107.55 13.0971 -144.656 + 46 269.528 700 2 1 -39.8756 -11.5607 -144.45 + 46 130.592 655 1 1 -48.8833 -10.0336 -174.45 + 46 124.712 849 1 0 -49.439 -10.0742 -175.85 + 46 127.934 616 0 1 -56.6527 -13.9394 -204.451 + 46 6.44702 828 0 0 -57.2663 -14.4406 -205.85 + 46 203.392 827 0 0 -57.2766 -14.4502 -205.874 + 46 149.634 700 1 1 -39.9925 -11.4724 -174.45 + 46 116.005 842 1 0 -39.9942 -11.4605 -175.85 + 46 121.845 700 0 1 -40.0154 -11.2714 -204.45 + 46 111.987 843 0 0 -39.9922 -11.2812 -205.85 + 46 3.11262 352 6 0 -94.7565 -109.55 -26.1339 + 46 133.199 699 4 1 -40.0541 -11.7342 -84.45 + 46 184.619 844 4 0 -40.3204 -11.2149 -85.85 + 46 23.9782 845 4 0 -40.3533 -11.05 -86.1835 + 46 78.955 855 4 0 -29.8674 -8.89163 -86.25 + 46 243.133 854 4 0 -29.7438 -9.05 -86.1243 + 46 179.53 751 4 1 -29.7083 -7.88724 -84.85 + 46 104.501 840 6 0 -39.871 -11.9888 -25.85 + 46 111.764 839 5 0 -39.8417 -12.1102 -55.85 + 46 91.9 703 4 1 -39.4365 -12.3534 -84.45 + 46 119.807 838 4 0 -39.426 -12.3962 -85.85 + 46 168.418 704 3 1 -39.2389 -13.333 -114.45 + 46 104.825 833 3 0 -39.2405 -13.3644 -115.85 + 46 110.213 703 2 1 -39.2562 -13.9743 -144.45 + 46 143.6 830 2 0 -39.2585 -13.9979 -145.85 + 46 147.967 703 1 1 -39.3199 -14.4944 -174.45 + 46 142.15 827 1 0 -39.3335 -14.5205 -175.85 + 46 130.357 702 0 1 -39.6189 -15.0172 -204.45 + 46 154.955 825 0 0 -39.6402 -15.0368 -205.85 + 46 29.9114 826 3 0 -39.2887 -14.7993 -115.85 + 46 108.048 825 3 0 -39.2759 -14.85 -115.881 + 46 139.456 824 3 0 -39.3015 -15.0501 -115.905 +Number of digits in this event: 34 +Using G4ParticleGun... +Particle energy: 9.23304 LIN Particle: gamma Event: 47 -Number of tracker hits in this event: 14 - 47 238.363 647 3 1 -50.5419 73.3894 -114.45 - 47 290.366 1266 3 0 -50.5414 73.3876 -115.85 - 47 299.975 647 2 1 -50.5329 73.3549 -144.45 - 47 232.113 1266 2 0 -50.532 73.3526 -145.85 - 47 582.153 647 1 1 -50.5151 73.306 -174.45 - 47 290.821 1266 1 0 -50.5165 73.3083 -175.85 - 47 242.028 647 0 1 -50.5682 73.373 -204.45 - 47 385.831 1266 0 0 -50.5668 73.3816 -205.85 - 47 318.202 1265 1 0 -50.4389 73.25 -175.984 - 47 233.447 646 1 1 -50.65 72.8366 -174.672 - 47 142.068 1258 8 0 41.0938 71.819 33.75 - 47 42.1214 1108 8 1 41.7915 71.3869 35.1502 - 47 75.9702 1109 8 1 41.85 71.3473 35.2773 - 47 143.115 694 6 1 -41.196 45.0035 -24.85 -Number of digits in this event: 14 +Number of tracker hits in this event: 9 + 47 524.517 895 1 1 -1.01669 -140.179 -174.45 + 47 661.04 199 1 0 -1.03517 -140.172 -175.85 + 47 355.791 891 0 1 -1.77101 -139.612 -204.45 + 47 183.194 203 0 0 -1.64378 -139.413 -205.85 + 47 150.965 200 1 0 -0.998609 -140.15 -175.943 + 47 363.307 895 0 1 -1.0249 -140.103 -204.45 + 47 117.283 200 0 0 -1.0287 -140.095 -205.85 + 47 130.413 197 0 0 -1.00996 -140.598 -205.85 + 47 129.707 199 0 0 -1.02493 -140.193 -205.85 +Number of digits in this event: 11 Using G4ParticleGun... -Particle energy: 1.0788 LIN +Particle energy: 8.26191 LIN Particle: gamma Event: 48 -Number of tracker hits in this event: 60 - 48 251.995 1101 6 1 40.3908 133.288 -24.45 - 48 311.497 1565 6 0 40.3907 133.281 -25.85 - 48 120.683 1101 5 1 40.3582 133.151 -54.45 - 48 300.529 1564 5 0 40.3416 133.145 -55.85 - 48 241.842 1099 4 1 39.8933 133.01 -84.45 - 48 252.118 1564 4 0 39.892 132.991 -85.85 - 48 174.508 1099 3 1 39.9789 132.578 -114.45 - 48 144.984 1562 3 0 40.0006 132.581 -115.85 - 48 167.143 1101 2 1 40.3818 132.658 -144.45 - 48 233.329 1562 2 0 40.4031 132.656 -145.85 - 48 144.042 1103 1 1 40.81 132.604 -174.45 - 48 121.694 1562 1 0 40.8193 132.606 -175.85 - 48 205.291 1104 0 1 40.9917 132.68 -204.45 - 48 110.38 1562 0 0 40.9929 132.67 -205.85 - 48 65.7572 1004 13 0 8.33372 20.9975 183.75 - 48 98.7904 1005 13 0 8.22212 21.05 183.886 - 48 103.715 1006 13 0 8.04544 21.2502 183.936 - 48 149.849 1007 13 0 7.99219 21.45 183.87 - 48 58.2899 1008 13 0 8.06708 21.6502 183.804 - 48 82.0978 1563 2 0 40.4039 132.75 -146.157 - 48 224.734 1095 1 1 39.1173 132.078 -174.45 - 48 533.436 1558 1 0 39.1841 131.924 -175.85 - 48 102.478 1100 0 1 40.063 129.095 -204.45 - 48 34.5446 1544 0 0 40.2468 128.963 -205.85 - 48 81.2755 1543 0 0 40.2652 128.95 -205.995 - 48 155.404 1559 1 0 39.2926 131.95 -176.143 - 48 107.687 1557 1 0 39.2034 131.75 -176.243 - 48 153.757 1519 1 0 102.179 124.13 -176.25 - 48 46.9353 1520 1 0 102.298 124.15 -176.117 - 48 75.0819 1415 1 1 103.262 123.533 -174.85 - 48 98.8176 1416 1 1 103.35 123.462 -174.658 - 48 3.44527 1417 1 1 103.55 123.437 -174.456 - 48 153.152 1171 0 1 54.333 123.159 -204.45 - 48 0.0147594 1172 0 1 54.4501 123.494 -204.85 - 48 105.458 1521 0 0 54.8592 124.421 -205.85 - 48 69.9553 1522 0 0 54.9326 124.55 -205.973 - 48 64.4558 1523 0 0 55.095 124.75 -206.131 - 48 179.005 1683 0 0 65.6797 156.829 -206.25 - 48 232.67 1221 0 1 64.4107 156.106 -204.85 - 48 33.5099 1222 0 1 64.45 155.918 -204.734 - 48 154.049 1677 0 0 64.9477 155.638 -205.85 - 48 174.692 1501 1 0 46.5281 120.459 -176.25 - 48 379.926 1133 1 1 46.7314 120.789 -174.85 - 48 62.485 1132 1 1 46.65 120.597 -174.569 - 48 80.4061 1475 7 1 115.15 159.428 5.42555 - 48 289.53 1101 0 1 40.3041 132.294 -204.45 - 48 510.411 1559 0 0 40.4671 132.079 -205.85 - 48 97.0599 1565 0 0 40.212 133.236 -205.85 - 48 91.4767 1566 0 0 40.1953 133.35 -206.009 - 48 146.048 1100 5 1 40.2454 132.979 -54.45 - 48 114.242 1562 4 0 39.8429 132.592 -85.85 - 48 115.997 1096 3 1 39.2871 132.382 -114.45 - 48 124.635 1561 3 0 39.2537 132.359 -115.85 - 48 108.534 1092 2 1 38.5427 131.796 -144.45 - 48 121.032 1558 2 0 38.4873 131.783 -145.85 - 48 117.286 1086 1 1 37.3598 131.668 -174.45 - 48 113.318 1082 0 1 36.5689 132.162 -204.45 - 48 189.749 1560 0 0 36.5399 132.2 -205.85 - 48 51.5109 1178 14 1 55.8046 -117.524 215.15 - 48 47.6583 1568 0 0 72.9207 133.846 -206.25 -Number of digits in this event: 32 +Number of tracker hits in this event: 7 + 48 0.00655 362 5 1 -107.704 -131.365 -54.85 + 48 439.07 361 5 1 -107.75 -131.371 -54.7945 + 48 37.2856 783 4 0 64.8475 -23.45 -85.9425 + 48 51.2481 729 1 1 -34.05 -53.0779 -174.52 + 48 49.9949 1287 0 1 77.5328 -112.744 -204.45 + 48 292.26 1288 0 1 77.65 -112.731 -204.481 + 48 213.762 1170 2 1 54.1125 86.6196 -144.85 +Number of digits in this event: 7 Using G4ParticleGun... -Particle energy: 4.98295 LIN +Particle energy: 3.68578 LIN Particle: gamma Event: 49 -Number of tracker hits in this event: 69 - 49 241.11 861 9 1 -7.82353 -28.7607 65.55 - 49 264.639 756 9 0 -7.82486 -28.7622 64.15 - 49 315.703 861 8 1 -7.84301 -28.795 35.55 - 49 266.973 756 8 0 -7.84384 -28.7991 34.15 - 49 119.048 860 7 1 -7.85718 -28.8882 5.55 - 49 263.335 755 7 0 -7.85533 -28.8933 4.15 - 49 211.465 861 6 1 -7.82301 -28.9961 -24.45 - 49 355.056 755 6 0 -7.81967 -29.0017 -25.85 - 49 98.8007 861 5 1 -7.74551 -29.1203 -54.45 - 49 334.462 754 5 0 -7.73908 -29.1271 -55.85 - 49 139.028 862 4 1 -7.60297 -29.2503 -84.45 - 49 150.189 753 4 0 -7.59899 -29.2555 -85.85 - 49 123.885 862 3 1 -7.52681 -29.3461 -114.45 - 49 121.696 753 3 0 -7.52214 -29.3483 -115.85 - 49 560.261 863 2 1 -7.42361 -29.396 -144.45 - 49 224.584 753 2 0 -7.41952 -29.3973 -145.85 - 49 147.632 863 1 1 -7.34573 -29.4232 -174.45 - 49 137.11 753 1 0 -7.34091 -29.4238 -175.85 - 49 99.6623 864 0 1 -7.23374 -29.4294 -204.45 - 49 215.781 753 0 0 -7.23028 -29.4325 -205.85 - 49 129.464 762 1 1 -27.6003 1.42934 -174.85 - 49 134.469 723 0 0 -2.36019 -35.3427 -206.25 - 49 78.0843 722 0 0 -2.45664 -35.4501 -205.945 - 49 126.069 882 0 1 -3.49131 -35.7859 -204.85 - 49 151.411 881 0 1 -3.65015 -35.7728 -204.742 - 49 85.7624 880 0 1 -3.85 -35.8661 -204.703 - 49 67.4495 720 0 0 -3.80736 -35.9984 -205.851 - 49 63.4932 719 0 0 -3.74115 -36.0501 -205.923 - 49 57.6251 794 2 0 -12.1128 -21.1377 -146.25 - 49 77.0045 795 2 0 -12.1257 -21.05 -146.09 - 49 13.6042 796 2 0 -12.188 -20.85 -145.881 - 49 219.927 836 2 1 -12.6579 -19.9077 -144.85 - 49 47.1074 835 2 1 -12.8501 -19.3372 -144.451 - 49 179.574 834 2 1 -13.0504 -19.354 -144.536 - 49 96.3993 833 2 1 -13.2503 -19.4851 -144.699 - 49 134.16 832 2 1 -13.4501 -19.6516 -144.751 - 49 466.273 831 2 1 -13.6502 -19.7971 -144.773 - 49 106.606 861 1 1 -7.71266 -29.2183 -174.45 - 49 163.495 754 1 0 -7.71371 -29.2131 -175.85 - 49 145.846 861 0 1 -7.76404 -29.1614 -204.45 - 49 111.935 754 0 0 -7.76782 -29.1608 -205.85 - 49 11.4234 970 6 0 108.309 14.1473 -26.25 - 49 41.4226 864 2 1 -7.25 -29.2223 -144.762 - 49 76.4499 759 2 0 -6.44939 -28.1871 -145.85 - 49 140.437 760 2 0 -6.31664 -28.05 -146.011 - 49 98.3251 1115 1 1 43.125 -61.5374 -174.45 - 49 119.689 1114 1 1 43.05 -61.63 -174.498 - 49 82.4266 1113 1 1 42.85 -61.9047 -174.646 - 49 33.0108 1112 1 1 42.6499 -62.0207 -174.8 - 49 140.931 587 1 0 41.9175 -62.5736 -175.85 - 49 8.64448 950 3 0 -80.6193 10.05 -116.18 - 49 210.442 861 7 1 -7.84994 -28.8758 5.53092 - 49 60.8788 757 7 0 -7.73439 -28.4884 4.15 - 49 47.0861 758 7 0 -7.72457 -28.45 3.9799 - 49 148.433 860 6 1 -7.86811 -28.9996 -24.45 - 49 200.807 860 5 1 -7.93228 -29.0533 -54.45 - 49 161.858 859 4 1 -8.09546 -29.0461 -84.45 - 49 158.762 755 4 0 -8.10108 -29.0489 -85.85 - 49 121.742 859 3 1 -8.22009 -29.1045 -114.45 - 49 116.115 754 3 0 -8.22656 -29.1099 -115.85 - 49 110.985 858 2 1 -8.37507 -29.2244 -144.45 - 49 162.262 754 2 0 -8.38491 -29.2367 -145.85 - 49 111.669 857 1 1 -8.5944 -29.4657 -174.45 - 49 120.261 752 1 0 -8.59884 -29.472 -175.85 - 49 105.947 856 0 1 -8.66851 -29.5864 -204.45 - 49 109.013 752 0 0 -8.6723 -29.5896 -205.85 - 49 174.545 748 6 0 -5.64573 -30.261 -25.85 - 49 126.769 747 6 0 -5.5481 -30.45 -25.9738 - 49 192.866 1015 0 0 -11.916 23.05 -206.179 -Number of digits in this event: 44 -Using G4ParticleGun... -Particle energy: 4.29665 LIN +Number of tracker hits in this event: 115 + 49 228.601 1038 10 1 27.7943 -19.8034 95.55 + 49 260.576 801 10 0 27.7962 -19.805 94.15 + 49 332.039 1038 9 1 27.8381 -19.8388 65.55 + 49 114.094 801 9 0 27.8393 -19.8377 64.15 + 49 247.052 1039 8 1 27.8588 -19.8191 35.55 + 49 130.765 801 8 0 27.859 -19.8194 34.15 + 49 157.658 1039 7 1 27.8618 -19.8266 5.55 + 49 186.615 801 7 0 27.8615 -19.8262 4.15 + 49 267.234 1039 6 1 27.8556 -19.825 -24.45 + 49 132.713 801 6 0 27.858 -19.8246 -25.85 + 49 125.779 1039 5 1 27.9186 -19.8101 -54.45 + 49 123.725 801 5 0 27.9237 -19.8072 -55.85 + 49 166.558 1039 4 1 28.0304 -19.7671 -84.45 + 49 165.329 801 4 0 28.0344 -19.7743 -85.85 + 49 370.85 1040 3 1 28.1225 -19.9242 -114.45 + 49 375.516 800 3 0 28.1327 -19.9276 -115.85 + 49 380.379 1041 2 1 28.3327 -20.009 -144.45 + 49 505.815 800 2 0 28.3431 -20.0143 -145.85 + 49 97.3795 1042 1 1 28.5701 -20.1223 -174.45 + 49 133.148 799 1 0 28.5792 -20.1252 -175.85 + 49 159.022 1043 0 1 28.778 -20.1789 -204.45 + 49 111.727 799 0 0 28.7837 -20.1835 -205.85 + 49 258.081 1012 0 0 30.1797 22.5471 -206.25 + 49 143.329 1042 0 1 28.6497 -20.1789 -204.506 + 49 224.118 1041 0 1 28.45 -20.3324 -204.584 + 49 218.817 1046 1 1 29.3445 -18.8851 -174.45 + 49 83.8974 805 1 0 29.5682 -19.0276 -175.85 + 49 47.4669 804 1 0 29.6077 -19.05 -176.092 + 49 60.6401 1069 0 1 34.0256 -21.0428 -204.45 + 49 80.7096 1070 0 1 34.05 -21.067 -204.568 + 49 183.698 793 0 0 34.319 -21.315 -205.85 + 49 23.5019 808 1 0 29.3825 -18.2818 -175.85 + 49 269.427 809 1 0 29.3813 -18.25 -175.922 + 49 230.808 1056 1 1 31.2987 -17.1642 -174.45 + 49 128.559 815 1 0 31.552 -17.0095 -175.85 + 49 178.66 1080 0 1 36.1167 -14.2676 -204.45 + 49 161.709 827 0 0 36.034 -14.5085 -205.85 + 49 32.874 1040 4 1 28.05 -19.8013 -84.7869 + 49 68.1224 789 4 0 27.8726 -22.2061 -85.8503 + 49 158.963 788 4 0 27.873 -22.25 -85.8828 + 49 151.839 1036 2 1 27.2781 -19.9126 -144.45 + 49 42.5884 1035 2 1 27.25 -19.9043 -144.71 + 49 118.439 1008 1 1 21.7917 -20.4861 -174.45 + 49 116.873 797 1 0 21.5234 -20.5956 -175.85 + 49 74.5161 977 0 1 15.5473 -23.1597 -204.45 + 49 51.083 976 0 1 15.45 -23.1638 -204.699 + 49 119.689 784 0 0 15.0092 -23.1788 -205.85 + 49 127.444 1026 2 1 25.3672 -18.9292 -144.45 + 49 243.387 805 2 0 25.0926 -18.9168 -145.85 + 49 81.8183 995 1 1 19.1164 -18.257 -174.45 + 49 26.6181 994 1 1 19.05 -18.25 -174.771 + 49 82.8326 961 0 1 12.3321 -16.7533 -204.45 + 49 32.5619 960 0 1 12.2499 -16.7579 -204.73 + 49 125.599 816 0 0 11.9423 -16.738 -205.85 + 49 217.516 340 3 1 -112.025 140.209 -114.85 + 49 2.29323 1020 1 1 24.0549 -44.1395 -174.45 + 49 250.585 1019 1 1 24.0499 -44.1441 -174.452 + 49 166.496 1018 1 1 23.85 -44.3495 -174.557 + 49 206.302 1017 1 1 23.65 -44.4232 -174.563 + 49 71.3037 679 1 0 23.3802 -44.1012 -175.85 + 49 113.646 680 1 0 23.3648 -44.0499 -175.898 + 49 116.733 799 9 0 27.7355 -20.1108 64.15 + 49 122.182 796 8 0 27.9312 -20.7802 34.15 + 49 102.313 1042 7 1 28.4649 -20.8959 5.55 + 49 121.124 795 7 0 28.4462 -20.9663 4.15 + 49 167.308 787 6 0 28.0794 -22.5778 -25.85 + 49 149.619 1057 5 1 31.5378 -21.9583 -54.45 + 49 119.194 790 5 0 31.7012 -21.9312 -55.8501 + 49 235.783 1075 4 1 35.0683 -21.9107 -84.45 + 49 26.6895 791 4 0 35.5547 -21.6661 -85.85 + 49 101.823 792 4 0 35.5866 -21.65 -85.9383 + 49 139.402 1128 3 1 45.6688 -16.2062 -114.45 + 49 151.382 816 3 0 46.2332 -16.6962 -115.85 + 49 21.128 1180 2 1 56.2168 -24.4395 -144.45 + 49 136.388 1181 2 1 56.25 -24.4365 -144.502 + 49 22.2397 1182 2 1 56.45 -24.4202 -144.788 + 49 159.814 778 2 0 57.2267 -24.3048 -145.85 + 49 5.47158 1282 1 1 76.6404 -23.6204 -174.45 + 49 114.462 1283 1 1 76.65 -23.6206 -174.463 + 49 38.8636 1284 1 1 76.8501 -23.6186 -174.742 + 49 158.399 782 1 0 77.6598 -23.6017 -175.85 + 49 46.5759 1375 0 1 95.2241 -25.8089 -204.45 + 49 71.1368 1376 0 1 95.35 -25.9138 -204.534 + 49 90.1844 1377 0 1 95.55 -26.0707 -204.669 + 49 42.0534 1378 0 1 95.75 -26.2244 -204.805 + 49 55.4658 761 0 0 97.5924 -27.7235 -205.85 + 49 89.5753 760 0 0 97.7458 -27.8501 -205.94 + 49 159.155 759 0 0 97.9884 -28.05 -206.077 + 49 49.4641 758 0 0 98.2129 -28.2501 -206.196 + 49 41.3754 783 6 0 28.6694 -23.3616 -25.85 + 49 168.435 782 6 0 28.6719 -23.45 -25.9124 + 49 138.165 781 6 0 28.615 -23.65 -26.1118 + 49 118.843 1050 3 1 30.1646 -22.8289 -114.45 + 49 81.3023 1049 3 1 30.05 -22.964 -114.649 + 49 68.4355 779 3 0 28.9218 -24.0993 -115.85 + 49 82.487 778 3 0 28.7851 -24.25 -116.005 + 49 73.4595 1037 2 1 27.6444 -41.3798 -144.45 + 49 9.30369 692 2 0 26.1639 -41.6424 -145.85 + 49 123.284 691 2 0 26.1325 -41.65 -145.88 + 49 211.807 947 1 1 9.64083 -39.4715 -174.45 + 49 33.5372 706 1 0 9.60953 -38.7091 -175.85 + 49 103.602 707 1 0 9.60453 -38.6497 -175.951 + 49 107.009 831 1 0 9.07699 -13.7683 -176.25 + 49 113.178 832 1 0 8.97511 -13.65 -176.003 + 49 40.2754 930 1 1 6.19701 -12.3915 -174.85 + 49 92.6885 929 1 1 6.05 -12.3202 -174.798 + 49 195.364 928 1 1 5.85 -12.0722 -174.765 + 49 123.856 1051 3 1 30.3585 -22.7313 -114.45 + 49 109.371 786 3 0 30.3859 -22.7488 -115.85 + 49 103.324 1054 2 1 30.9348 -23.1054 -144.45 + 49 109.466 784 2 0 30.9687 -23.1469 -145.85 + 49 125.907 1058 1 1 31.6666 -24.1532 -174.45 + 49 123.832 779 1 0 31.7191 -24.1677 -175.851 + 49 130.592 1064 0 1 32.9929 -24.3676 -204.45 + 49 111.883 778 0 0 33.0099 -24.4238 -205.85 +Number of digits in this event: 61 +Using G4ParticleGun... +Particle energy: 8.90262 LIN Particle: gamma Event: 50 -Number of tracker hits in this event: 63 - 50 268.669 1000 8 1 20.0713 -97.7024 35.55 - 50 241.772 412 8 0 20.0721 -97.7002 34.15 - 50 384.622 1000 7 1 20.087 -97.66 5.55 - 50 293.808 412 7 0 20.0885 -97.6591 4.15 - 50 296.541 1000 6 1 20.1077 -97.6601 -24.45 - 50 166.129 412 6 0 20.1107 -97.6617 -25.85 - 50 116.161 1000 5 1 20.1559 -97.677 -54.45 - 50 113.19 412 5 0 20.1595 -97.6788 -55.85 - 50 184.44 1000 4 1 20.2261 -97.7099 -84.45 - 50 117.805 412 4 0 20.2235 -97.7139 -85.85 - 50 310.995 1000 3 1 20.1678 -97.7872 -114.45 - 50 574.811 411 3 0 20.1677 -97.7879 -115.85 - 50 353.578 1000 2 1 20.1609 -97.7985 -144.45 - 50 287.257 411 2 0 20.1581 -97.8026 -145.85 - 50 122.029 1000 1 1 20.0954 -97.8853 -174.45 - 50 274.872 411 1 0 20.0891 -97.8873 -175.85 - 50 317.661 999 0 1 19.9569 -97.9295 -204.45 - 50 351.575 411 0 0 19.9497 -97.9323 -205.85 - 50 87.5127 417 1 0 29.7464 -96.6619 -176.25 - 50 303.02 1000 0 1 20.0501 -97.8341 -204.455 - 50 167.723 1001 0 1 20.25 -97.961 -204.586 - 50 47.634 1001 2 1 20.25 -97.6706 -144.728 - 50 6.38808 418 2 0 19.2868 -96.3619 -145.85 - 50 76.8036 419 2 0 19.28 -96.35 -145.864 - 50 40.837 420 2 0 19.3571 -96.1499 -145.92 - 50 388.935 996 2 1 19.331 -95.5514 -144.85 - 50 181.961 995 2 1 19.25 -95.4627 -144.464 - 50 112.982 412 3 0 20.2031 -97.6158 -115.85 - 50 114.444 437 2 0 19.907 -92.7001 -145.85 - 50 329.181 983 1 1 16.7252 -88.8417 -174.45 - 50 141.707 455 1 0 16.8527 -88.864 -175.85 - 50 50.9052 1007 0 1 21.5548 -91.4682 -204.45 - 50 90.7496 1008 0 1 21.65 -91.4882 -204.595 - 50 10.979 1009 0 1 21.85 -91.5136 -204.828 - 50 269.247 442 0 0 22.8531 -91.5763 -205.85 - 50 40.2534 638 8 0 120.06 -52.45 33.7687 - 50 38.3908 637 8 0 120.134 -52.45 34.0773 - 50 121.443 1501 8 1 120.482 -52.3766 35.1501 - 50 131.445 1500 8 1 120.35 -52.4158 35.2441 - 50 103.847 982 1 1 16.65 -88.7655 -174.692 - 50 9.44242 394 2 0 19.7596 -101.314 -145.85 - 50 69.8342 393 2 0 19.7692 -101.35 -145.874 - 50 80.489 392 2 0 19.8192 -101.55 -146.018 - 50 100.642 391 2 0 19.8709 -101.75 -146.162 - 50 191.412 1053 1 1 30.7456 -141.044 -174.45 - 50 66.1763 1054 1 1 30.85 -141.443 -174.721 - 50 52.8935 185 1 0 31.0757 -142.985 -175.85 - 50 77.47 184 1 0 31.0958 -143.15 -175.971 - 50 64.4542 183 1 0 31.1178 -143.35 -176.122 - 50 136.293 1069 0 1 33.9517 -179.648 -204.451 - 50 46.8417 410 3 0 20.3295 -97.9501 -116.217 - 50 92.5689 411 6 0 20.2395 -97.7924 -25.85 - 50 107.393 1001 5 1 20.3466 -97.7893 -54.45 - 50 126.516 411 5 0 20.3556 -97.7899 -55.85 - 50 114.974 1002 4 1 20.5623 -97.7827 -84.45 - 50 141.178 411 4 0 20.5752 -97.7824 -85.85 - 50 145.229 1003 3 1 20.8495 -97.7701 -114.45 - 50 128.064 1004 3 1 20.85 -97.7701 -114.491 - 50 104.41 1005 2 1 21.2366 -97.7599 -144.45 - 50 163.776 1008 1 1 21.7521 -97.8141 -174.45 - 50 105.03 1011 0 1 22.3676 -97.7471 -204.45 - 50 128.264 412 0 0 22.4029 -97.7491 -205.85 - 50 226.286 1003 0 1 20.8367 -97.9284 -204.45 -Number of digits in this event: 36 +Number of tracker hits in this event: 93 + 50 302.992 190 8 1 -141.96 4.18193 35.55 + 50 273.618 920 8 0 -141.964 4.18088 34.15 + 50 112.501 190 7 1 -142.05 4.17081 5.55 + 50 256.927 920 7 0 -142.064 4.16439 4.15 + 50 113.981 186 6 1 -142.867 3.90493 -24.45 + 50 166.444 919 6 0 -142.929 3.89049 -25.85 + 50 128.203 179 5 1 -144.206 3.58302 -54.45 + 50 122.579 917 5 0 -144.272 3.57765 -55.85 + 50 167.351 172 4 1 -145.625 3.55918 -84.45 + 50 188.723 917 4 0 -145.696 3.55617 -85.85 + 50 110.365 165 3 1 -147.061 3.46461 -114.45 + 50 150.291 917 3 0 -147.127 3.46125 -115.85 + 50 171.509 158 2 1 -148.44 3.39966 -144.45 + 50 250.254 916 2 0 -148.515 3.39971 -145.85 + 50 63.5217 150 1 1 -150.148 3.63803 -174.45 + 50 139.5 149 1 1 -150.15 3.63803 -174.467 + 50 127.054 917 1 0 -150.286 3.62294 -175.85 + 50 226.613 134 0 1 -153.272 3.08337 -204.45 + 50 101.819 914 0 0 -153.313 3.00874 -205.85 + 50 83.5326 133 0 1 -153.35 3.01184 -204.523 + 50 99.4349 132 0 1 -153.55 2.84828 -204.624 + 50 56.2163 131 0 1 -153.75 2.52291 -204.757 + 50 6.23409 906 0 0 -154.118 1.27112 -205.85 + 50 141.485 905 0 0 -154.12 1.25 -205.868 + 50 68.3457 904 0 0 -154.108 1.05 -206.048 + 50 87.6946 903 0 0 -154.123 0.85 -206.088 + 50 26.232 902 0 0 -154.107 0.65 -206.2 + 50 96.4002 800 0 0 -159.054 -20.0222 -206.25 + 50 266.908 799 0 0 -159.147 -20.0501 -206.057 + 50 161.901 154 1 1 -149.26 2.06312 -174.45 + 50 234.189 153 1 1 -149.35 2.33472 -174.613 + 50 13.0823 921 4 0 -142.523 4.34717 -86.2184 + 50 265.212 187 3 1 -142.694 4.3322 -114.45 + 50 306.328 921 3 0 -142.717 4.33411 -115.85 + 50 246.45 184 2 1 -143.261 4.36767 -144.45 + 50 119.011 921 2 0 -143.263 4.37882 -145.85 + 50 253.705 184 1 1 -143.316 4.58595 -174.45 + 50 124.209 922 1 0 -143.305 4.61787 -175.85 + 50 229.232 185 0 1 -143.021 5.31406 -204.45 + 50 383.415 926 0 0 -143.01 5.32574 -205.85 + 50 103.856 184 0 1 -143.15 5.29796 -204.621 + 50 144.348 186 2 1 -142.935 4.22103 -144.45 + 50 134.729 920 2 0 -142.951 4.21875 -145.85 + 50 108.669 920 1 0 -143.253 4.19326 -175.85 + 50 125.095 183 0 1 -143.439 4.16631 -204.45 + 50 126.178 920 0 0 -143.432 4.14205 -205.85 + 50 126.412 191 7 1 -141.946 4.15677 5.55 + 50 104.43 191 6 1 -141.948 4.12893 -24.45 + 50 117.54 920 6 0 -141.948 4.12707 -25.85 + 50 130.374 191 5 1 -141.949 4.08801 -54.45 + 50 138.125 920 5 0 -141.95 4.08696 -55.85 + 50 121.393 190 4 1 -141.982 4.06098 -84.45 + 50 122.103 920 4 0 -141.985 4.05946 -85.85 + 50 105.695 190 3 1 -142.033 4.02423 -114.45 + 50 120.82 919 3 0 -142.036 4.02351 -115.85 + 50 241.926 190 2 1 -142.098 4.01144 -144.45 + 50 122.616 919 2 0 -142.102 4.011 -145.85 + 50 128.95 189 1 1 -142.176 3.99414 -174.45 + 50 419.026 919 1 0 -142.179 3.99493 -175.85 + 50 104.884 189 0 1 -142.237 4.00817 -204.45 + 50 128.391 919 0 0 -142.24 4.00744 -205.85 + 50 46.3068 924 2 0 -135.887 4.94918 -146.25 + 50 81.6243 925 2 0 -135.791 5.05 -146.203 + 50 92.8551 926 2 0 -135.554 5.25 -146.123 + 50 111.889 927 2 0 -135.3 5.45 -146.051 + 50 303.376 928 2 0 -134.952 5.65 -146.04 + 50 307.606 929 2 0 -134.025 5.85 -146.037 + 50 96.8553 930 2 0 -133.116 6.05 -145.953 + 50 77.5641 931 2 0 -132.871 6.25015 -145.935 + 50 77.1242 932 2 0 -132.922 6.45 -145.89 + 50 71.3791 233 2 1 -133.496 7.11509 -144.85 + 50 88.511 232 2 1 -133.55 7.28473 -144.648 + 50 4.2206 236 2 1 -132.95 -2.03324 -144.772 + 50 7.31246 860 2 0 -134.222 -7.96416 -145.85 + 50 15.1343 229 2 1 -134.281 -8.55846 -144.85 + 50 38.698 846 2 0 -132.38 -10.7771 -145.85 + 50 53.1832 845 2 0 -132.342 -10.85 -145.879 + 50 136.688 246 2 1 -130.909 -11.4228 -144.85 + 50 136.765 228 2 1 -134.416 6.38497 -144.85 + 50 422.504 190 1 1 -142.131 3.83609 -174.45 + 50 50.5854 191 1 1 -141.95 3.67345 -174.777 + 50 119.125 915 1 0 -141.103 3.1891 -175.85 + 50 33.6839 914 1 0 -140.874 3.04998 -176.15 + 50 255.885 819 1 0 -126.954 -16.2051 -176.25 + 50 86.0921 266 1 1 -126.867 -16.2695 -174.85 + 50 359.638 267 1 1 -126.75 -16.3487 -174.699 + 50 499.21 298 0 1 -120.534 -11.9162 -204.45 + 50 198.432 297 0 1 -120.55 -11.9167 -204.49 + 50 117.99 193 0 1 -141.384 5.24778 -204.45 + 50 236.332 927 0 0 -141.6 5.45 -206.156 + 50 62.3556 177 0 1 -144.685 4.0863 -204.45 + 50 53.3128 176 0 1 -144.75 4.03005 -204.715 + 50 107.743 918 0 0 -145.01 3.76593 -205.85 +Number of digits in this event: 53 Using G4ParticleGun... -Particle energy: 8.09987 LIN +Particle energy: 5.02309 LIN Particle: gamma Event: 51 -Number of tracker hits in this event: 4 - 51 30.9445 1249 0 0 17.7705 69.9847 -206.25 - 51 88.699 1250 0 0 17.5889 70.05 -205.891 - 51 114.413 983 0 1 16.8399 70.865 -204.85 - 51 218.005 984 0 1 16.85 70.9405 -204.688 +Number of tracker hits in this event: 3 + 51 125.428 838 10 0 3.01115 -12.37 93.75 + 51 118.65 1513 1 1 122.797 -70.1694 -174.85 + 51 112.592 992 3 1 18.65 -80.683 -114.747 Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 5.45791 LIN +Particle energy: 7.15969 LIN Particle: gamma Event: 52 -Number of tracker hits in this event: 6 - 52 49.7411 1150 2 0 3.10079 50.1314 -146.25 - 52 119.461 1149 2 0 3.14795 50.0491 -146.067 - 52 9.45265 921 2 1 4.35393 49.4088 -144.85 - 52 41.1845 1132 2 0 7.08691 46.5142 -145.85 - 52 231.183 936 2 1 7.3399 45.0466 -144.85 - 52 67.5245 925 1 1 5.05 105.207 -174.818 -Number of digits in this event: 3 +Number of tracker hits in this event: 0 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 4.7523 LIN +Particle energy: 7.65406 LIN Particle: gamma Event: 53 -Number of tracker hits in this event: 3 - 53 89.7545 483 3 1 -83.25 114.06 -114.655 - 53 49.9649 184 6 1 -143.237 96.8163 -24.85 - 53 83.821 1384 6 0 -160.245 96.9702 -25.85 -Number of digits in this event: 3 +Number of tracker hits in this event: 22 + 53 330.166 1140 5 1 48.167 21.6519 -54.45 + 53 231.131 1008 5 0 48.1661 21.6545 -55.85 + 53 281.6 1140 4 1 48.1528 21.7547 -84.45 + 53 250.907 1008 4 0 48.1396 21.7701 -85.85 + 53 111.444 1138 3 1 47.8199 22.1298 -114.45 + 53 114.447 1010 3 0 47.805 22.1534 -115.85 + 53 114.368 1137 2 1 47.4636 22.6139 -144.45 + 53 112.573 1012 2 0 47.4295 22.6267 -145.85 + 53 116.109 1133 1 1 46.6832 22.8528 -174.45 + 53 118.504 1014 1 0 46.6438 22.8678 -175.85 + 53 122.06 1129 0 1 45.9549 23.2275 -204.45 + 53 132.046 1015 0 0 45.9352 23.2336 -205.85 + 53 106.352 1140 3 1 48.182 21.6576 -114.45 + 53 101.256 1008 3 0 48.1835 21.6586 -115.85 + 53 153.591 1140 2 1 48.2117 21.6862 -144.45 + 53 114.686 1008 2 0 48.2122 21.6896 -145.85 + 53 101.49 1140 1 1 48.2225 21.7616 -174.45 + 53 111.012 1008 1 0 48.2231 21.7657 -175.85 + 53 453.378 1140 0 1 48.2403 21.8514 -204.45 + 53 121.174 1009 0 0 48.2424 21.8561 -205.85 + 53 21.8686 1146 4 1 49.45 33.0488 -84.5615 + 53 391.605 1008 0 0 48.1086 21.6675 -205.85 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 6.98845 LIN +Particle energy: 1.9963 LIN Particle: gamma Event: 54 Number of tracker hits in this event: 0 Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 4.03387 LIN +Particle energy: 2.00604 LIN Particle: gamma Event: 55 -Number of tracker hits in this event: 0 -Number of digits in this event: 4 -Using G4ParticleGun... -Particle energy: 5.16135 LIN +Number of tracker hits in this event: 78 + 55 238.159 1330 9 1 86.1781 -100.516 65.55 + 55 272.63 398 9 0 86.1847 -100.513 64.15 + 55 132.005 1331 8 1 86.3184 -100.452 35.55 + 55 294.249 398 8 0 86.3145 -100.467 34.15 + 55 97.3195 1331 7 1 86.2649 -100.858 5.55 + 55 110.367 396 7 0 86.2656 -100.888 4.15 + 55 114.937 1331 6 1 86.2846 -101.486 -24.45 + 55 130.259 393 6 0 86.2888 -101.526 -25.85 + 55 203.309 1331 5 1 86.3506 -102.356 -54.45 + 55 133.493 388 5 0 86.3677 -102.379 -55.85 + 55 668.59 1333 4 1 86.7167 -102.841 -84.45 + 55 137.375 386 4 0 86.7479 -102.876 -85.85 + 55 138.723 1336 3 1 87.4179 -103.438 -114.45 + 55 115.956 383 3 0 87.4479 -103.463 -115.85 + 55 112.558 1340 2 1 88.0959 -103.922 -144.45 + 55 120.717 380 2 0 88.1292 -103.964 -145.85 + 55 108.519 1343 1 1 88.8097 -104.842 -174.45 + 55 107.935 376 1 0 88.852 -104.88 -175.85 + 55 105.52 1348 0 1 89.8352 -105.695 -204.45 + 55 7.78102 1349 0 1 89.85 -105.707 -204.841 + 55 172.842 372 0 0 89.8932 -105.726 -205.85 + 55 135.102 1332 4 1 86.65 -103.046 -84.4949 + 55 145.122 1331 4 1 86.45 -103.123 -84.6506 + 55 15.1513 1330 4 1 86.25 -103.206 -84.8067 + 55 126.805 381 4 0 84.9127 -103.786 -85.85 + 55 52.7898 380 4 0 84.5467 -103.95 -86.1305 + 55 36.6793 1146 3 1 49.3414 -121.678 -114.45 + 55 66.2776 1145 3 1 49.25 -121.713 -114.539 + 55 59.3432 1144 3 1 49.0497 -121.793 -114.734 + 55 26.5167 289 3 0 47.8907 -122.323 -115.85 + 55 152.256 288 3 0 47.8342 -122.35 -115.906 + 55 37.4356 994 2 1 18.9766 -136.759 -144.45 + 55 61.0171 993 2 1 18.85 -136.818 -144.53 + 55 94.899 992 2 1 18.65 -136.909 -144.652 + 55 58.9493 991 2 1 18.45 -137.001 -144.764 + 55 6.23993 210 2 0 16.4842 -138.138 -145.85 + 55 118.151 209 2 0 16.4634 -138.15 -145.862 + 55 127.936 208 2 0 16.0857 -138.35 -146.046 + 55 47.2773 207 2 0 15.7134 -138.55 -146.205 + 55 50.8322 1334 4 1 87.0023 -103.084 -84.45 + 55 111.816 1330 8 1 86.2425 -100.407 35.55 + 55 107.83 1330 7 1 86.2416 -100.294 5.55 + 55 115.061 399 7 0 86.2356 -100.295 4.15 + 55 348.664 1330 6 1 86.1517 -100.341 -24.45 + 55 145.489 399 6 0 86.1408 -100.345 -25.85 + 55 175.577 1329 5 1 85.8816 -100.408 -54.45 + 55 118.57 398 5 0 85.8664 -100.416 -55.85 + 55 217.957 1327 4 1 85.5603 -100.602 -84.45 + 55 194.845 397 4 0 85.543 -100.598 -85.85 + 55 176.618 1325 3 1 85.2113 -100.517 -114.45 + 55 129.878 398 3 0 85.1909 -100.527 -115.85 + 55 107.192 1323 2 1 84.7509 -100.726 -144.45 + 55 146.644 397 2 0 84.7178 -100.73 -145.85 + 55 121.627 1320 1 1 84.061 -100.808 -174.45 + 55 105.671 396 1 0 84.0334 -100.803 -175.85 + 55 122.914 1316 0 1 83.4029 -100.766 -204.45 + 55 126.422 396 0 0 83.3688 -100.76 -205.85 + 55 26.1994 360 0 0 66.7668 -108.053 -206.25 + 55 0.250061 1144 0 0 27.979 48.8694 -206.25 + 55 56.9037 1328 4 1 85.65 -100.764 -84.6758 + 55 68.5572 393 4 0 86.1265 -101.443 -85.85 + 55 128.921 392 4 0 86.1883 -101.55 -86.0017 + 55 0.656275 391 4 0 86.211 -101.75 -86.2475 + 55 146.367 396 6 0 86.0927 -100.777 -25.8503 + 55 48.88 365 6 0 52.2242 -107.038 -26.25 + 55 76.4272 366 6 0 52.1653 -106.95 -26.1385 + 55 65.4892 367 6 0 52.0181 -106.75 -26.0875 + 55 0.714863 662 6 0 -27.554 -47.4543 -26.25 + 55 89.7096 663 6 0 -27.5555 -47.45 -26.2477 + 55 82.4795 664 6 0 -27.6032 -47.25 -26.1864 + 55 421.425 665 6 0 -27.6189 -47.05 -26.1922 + 55 117.44 767 6 1 -26.5022 -46.8201 -24.8496 + 55 0.0110972 768 6 1 -26.45 -46.802 -24.85 + 55 39.0231 398 6 0 86.3914 -100.525 -25.8501 + 55 113.431 397 6 0 86.432 -100.55 -25.9622 + 55 29.8665 859 6 0 112.44 -8.17812 -26.2499 + 55 13.8788 980 6 0 122.968 16.0882 -26.2499 + 55 76.502 979 6 0 122.97 16.05 -26.2374 +Number of digits in this event: 34 +Using G4ParticleGun... +Particle energy: 3.15145 LIN Particle: gamma Event: 56 -Number of tracker hits in this event: 93 - 56 227.903 635 7 1 -52.8931 -51.5701 5.55 - 56 240.139 642 7 0 -52.8926 -51.5703 4.15 - 56 459.967 635 6 1 -52.863 -51.5829 -24.45 - 56 254.223 642 6 0 -52.8597 -51.5861 -25.85 - 56 395.537 636 5 1 -52.7955 -51.6397 -54.45 - 56 582.206 642 5 0 -52.7851 -51.6368 -55.85 - 56 198.497 637 4 1 -52.5819 -51.5998 -84.45 - 56 128.029 642 4 0 -52.5721 -51.6041 -85.85 - 56 191.91 638 3 1 -52.3699 -51.681 -114.45 - 56 117.967 641 3 0 -52.3599 -51.6874 -115.85 - 56 103.969 639 2 1 -52.1085 -51.8028 -144.45 - 56 116.171 641 2 0 -52.097 -51.8094 -145.85 - 56 144.323 640 1 1 -51.8553 -51.9433 -174.45 - 56 286.002 640 1 0 -51.8516 -51.9508 -175.85 - 56 519.41 641 0 1 -51.8142 -52.1152 -204.45 - 56 463.974 639 0 0 -51.8092 -52.1217 -205.85 - 56 13.8562 641 1 1 -51.85 -51.9443 -174.816 - 56 8.49934 641 1 0 -49.9294 -51.6531 -175.85 - 56 173.126 642 1 0 -49.8933 -51.6498 -175.868 - 56 20.2942 660 1 1 -47.8546 -53.2849 -174.85 - 56 312.894 661 1 1 -47.8499 -53.2891 -174.847 - 56 144.609 635 6 0 -54.4337 -52.8757 -25.85 - 56 37.6417 713 6 0 -83.7594 -37.3067 -26.25 - 56 120.567 714 6 0 -83.8658 -37.25 -26.138 - 56 68.4255 475 6 1 -84.8911 -36.4621 -24.8493 - 56 62.9635 474 6 1 -85.0501 -36.326 -24.7246 - 56 66.6472 473 6 1 -85.25 -36.1611 -24.7548 - 56 72.1039 472 6 1 -85.45 -35.9942 -24.7897 - 56 95.8101 471 6 1 -85.65 -35.9322 -24.7341 - 56 317.787 470 6 1 -85.8503 -35.5928 -24.6351 - 56 48.8005 469 6 1 -86.05 -35.3795 -24.5589 - 56 119.013 636 6 1 -52.85 -51.6268 -24.6659 - 56 176.803 635 4 1 -53.0452 -51.2675 -84.45 - 56 60.116 634 4 1 -53.05 -51.2644 -84.6165 - 56 100.447 644 4 0 -53.09 -51.236 -85.85 - 56 144.902 629 3 1 -54.1187 -50.5416 -114.45 - 56 214.844 647 3 0 -54.1374 -50.5109 -115.85 - 56 153.471 628 2 1 -54.3833 -49.7985 -144.45 - 56 95.3874 651 2 0 -54.4078 -49.7658 -145.85 - 56 94.772 625 1 1 -54.9241 -49.0925 -174.45 - 56 93.0654 654 1 0 -54.9451 -49.0738 -175.85 - 56 136.477 623 0 1 -55.44 -48.7102 -204.45 - 56 165.469 656 0 0 -55.4444 -48.679 -205.85 - 56 318.023 703 0 0 -74.523 -39.3807 -206.25 - 56 263.868 641 5 0 -53.0846 -51.65 -56.0448 - 56 43.9759 653 4 1 -49.2783 -52.1546 -84.45 - 56 129.746 654 4 1 -49.25 -52.1426 -84.5824 - 56 313.427 640 4 0 -48.9137 -52.0218 -85.8501 - 56 53.5696 698 3 1 -40.314 -48.6872 -114.45 - 56 84.6612 699 3 1 -40.2499 -48.6626 -114.653 - 56 41.9946 657 3 0 -39.8772 -48.4759 -115.85 - 56 69.771 658 3 0 -39.8255 -48.45 -116.007 - 56 61.0548 745 2 1 -30.9147 -43.5325 -144.45 - 56 154.529 746 2 1 -30.85 -43.5225 -144.547 - 56 5.3924 747 2 1 -30.65 -43.5022 -144.838 - 56 147.27 683 2 0 -30.0057 -43.4177 -145.85 - 56 9.75538 850 1 1 -9.87805 -40.911 -174.45 - 56 99.8786 851 1 1 -9.85 -40.934 -174.475 - 56 136.004 852 1 1 -9.64902 -41.0389 -174.588 - 56 77.0592 853 1 1 -9.4498 -41.1608 -174.736 - 56 87.0909 691 1 0 -8.75485 -41.7795 -175.85 - 56 146.259 690 1 0 -8.63247 -41.8501 -176.064 - 56 249.237 609 1 0 39.7987 -58.0527 -176.25 - 56 192.813 608 1 0 40.4056 -58.25 -176 - 56 206.837 1108 1 1 41.8245 -58.8241 -174.85 - 56 61.2921 1109 1 1 41.85 -58.8388 -174.821 - 56 354.791 1107 1 1 41.6499 -58.642 -174.652 - 56 39.1379 1106 1 1 41.4499 -58.9531 -174.565 - 56 58.116 553 0 0 39.6956 -69.45 -206.026 - 56 20.8307 719 2 1 -36.0704 -52.9605 -144.45 - 56 133.027 720 2 1 -36.0499 -52.9522 -144.519 - 56 162.438 635 2 0 -35.8656 -52.8783 -145.85 - 56 128.923 719 1 1 -36.1784 -51.4496 -174.45 - 56 27.7886 720 1 1 -36.05 -51.2052 -174.772 - 56 1.51389 647 1 0 -35.7658 -50.454 -175.85 - 56 88.8994 648 1 0 -35.7643 -50.45 -175.856 - 56 37.5855 649 1 0 -35.6877 -50.25 -176.126 - 56 203.183 744 0 1 -31.0725 -30.9161 -204.45 - 56 131.466 744 0 0 -30.7759 -31.1211 -205.85 - 56 90.7611 741 0 0 -30.5998 -31.7338 -205.85 - 56 279.296 740 0 0 -30.5137 -31.85 -206.01 - 56 148.05 635 5 1 -52.926 -51.4525 -54.45 - 56 143.978 643 5 0 -52.9287 -51.4464 -55.85 - 56 122.188 643 4 0 -52.9824 -51.3211 -85.85 - 56 128.703 635 3 1 -52.9752 -51.1682 -114.45 - 56 150.35 644 3 0 -52.9758 -51.1598 -115.85 - 56 116.296 635 2 1 -52.9755 -50.9886 -144.45 - 56 122.415 645 2 0 -52.9743 -50.9763 -145.85 - 56 107.952 635 1 1 -52.9619 -50.7154 -174.45 - 56 119.999 646 1 0 -52.9607 -50.7033 -175.85 - 56 106.722 635 0 1 -52.9389 -50.4474 -204.45 - 56 119.532 648 0 0 -52.9351 -50.4328 -205.85 - 56 12.5013 602 0 1 -59.4898 -30.1964 -204.85 -Number of digits in this event: 52 +Number of tracker hits in this event: 2 + 56 26.2067 1638 6 1 147.75 124.538 -24.7162 + 56 171.362 360 12 0 30.1283 -107.966 153.75 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 2.91477 LIN +Particle energy: 8.37973 LIN Particle: gamma Event: 57 -Number of tracker hits in this event: 43 - 57 243.053 618 9 1 -56.4411 -83.3911 65.55 - 57 248.45 483 9 0 -56.4567 -83.3907 64.15 - 57 112.1 616 8 1 -56.7572 -83.3357 35.55 - 57 239.059 483 8 0 -56.7582 -83.309 34.15 - 57 106.772 616 7 1 -56.6767 -82.6569 5.55 - 57 120.905 487 7 0 -56.6915 -82.5971 4.15 - 57 130.78 615 6 1 -57.0009 -81.3423 -24.45 - 57 129.858 493 6 0 -57.0068 -81.3248 -25.85 - 57 27.3093 615 5 1 -57.0479 -81.0122 -54.45 - 57 100.556 614 5 1 -57.05 -81.0095 -54.5444 - 57 141.341 495 5 0 -57.0872 -80.9672 -55.85 - 57 100.943 610 4 1 -57.9771 -80.1308 -84.45 - 57 202.681 499 4 0 -58.0267 -80.0914 -85.85 - 57 109.042 604 3 1 -59.1038 -79.4916 -114.45 - 57 145.841 502 3 0 -59.1995 -79.4624 -115.85 - 57 137.806 594 2 1 -61.1818 -78.8293 -144.45 - 57 187.296 506 2 0 -61.3149 -78.8373 -145.85 - 57 185.131 581 1 1 -63.6631 -79.0098 -174.45 - 57 118.208 505 1 0 -63.6941 -79.0061 -175.85 - 57 132.026 580 0 1 -63.8675 -79.6127 -204.45 - 57 127.035 501 0 0 -63.9027 -79.6712 -205.85 - 57 164.861 140 8 1 -152.116 -48.177 35.55 - 57 50.7118 484 5 0 -57.9656 -83.1129 -55.85 - 57 131.657 618 8 1 -56.4209 -83.3957 35.55 - 57 106.923 618 7 1 -56.4143 -83.4081 5.55 - 57 132.957 483 7 0 -56.4168 -83.408 4.15 - 57 116.19 617 6 1 -56.4777 -83.4062 -24.45 - 57 114.673 483 6 0 -56.4826 -83.4056 -25.85 - 57 132.482 617 5 1 -56.5865 -83.3771 -54.45 - 57 231.087 483 5 0 -56.5971 -83.3729 -55.85 - 57 195.713 616 4 1 -56.811 -83.2923 -84.45 - 57 115.86 483 4 0 -56.8213 -83.2829 -85.85 - 57 123.477 615 3 1 -57.0202 -83.0952 -114.45 - 57 231.197 484 3 0 -57.0316 -83.0901 -115.85 - 57 120.107 613 2 1 -57.2743 -82.9881 -144.45 - 57 94.9408 485 2 0 -57.2857 -82.9817 -145.85 - 57 293.157 612 1 1 -57.5239 -82.8431 -174.45 - 57 116.708 486 1 0 -57.533 -82.8349 -175.85 - 57 138.99 611 0 1 -57.7149 -82.6683 -204.45 - 57 139.893 486 0 0 -57.723 -82.663 -205.85 - 57 32.6725 694 2 1 -41.2168 -78.2082 -144.85 - 57 130.438 657 0 0 -38.634 -48.65 -205.964 - 57 45.36 548 0 1 -70.25 -55.1693 -204.783 -Number of digits in this event: 29 +Number of tracker hits in this event: 0 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 1.07194 LIN +Particle energy: 8.5292 LIN Particle: gamma Event: 58 -Number of tracker hits in this event: 59 - 58 211.541 877 6 1 -4.46682 34.8514 -24.45 - 58 161.535 1074 6 0 -4.47736 34.8658 -25.85 - 58 401.417 877 5 1 -4.6463 35.128 -54.45 - 58 23.866 876 5 1 -4.65 35.1335 -54.7708 - 58 167.667 1075 5 0 -4.66017 35.1564 -55.85 - 58 144.179 875 4 1 -4.98133 35.7412 -84.45 - 58 104.211 1078 4 0 -5.00561 35.7527 -85.85 - 58 111 872 3 1 -5.52826 35.9592 -114.45 - 58 124.464 1079 3 0 -5.56926 35.9717 -115.85 - 58 158.03 868 2 1 -6.3581 36.2829 -144.45 - 58 126.766 1081 2 0 -6.38967 36.3033 -145.85 - 58 121.982 865 1 1 -7.01948 36.8251 -174.45 - 58 135.823 1084 1 0 -7.04941 36.8894 -175.85 - 58 133.763 862 0 1 -7.5831 38.0907 -204.45 - 58 114.599 1090 0 0 -7.57157 38.1508 -205.85 - 58 251.868 863 0 1 -7.29284 36.9343 -204.45 - 58 149.372 1084 0 0 -7.30953 36.9228 -205.85 - 58 196.984 1083 0 0 -7.319 36.8275 -205.85 - 58 96.8478 1005 5 0 30.4881 21.188 -56.25 - 58 124.919 1073 6 0 -4.47123 34.8454 -25.85 - 58 137.519 1073 5 0 -4.63665 34.7461 -55.85 - 58 138.683 876 4 1 -4.78291 34.7427 -84.45 - 58 163.393 1073 4 0 -4.79393 34.7506 -85.85 - 58 144.102 875 3 1 -5.00461 34.9419 -114.45 - 58 108.302 1074 3 0 -5.01908 34.9503 -115.85 - 58 157.677 873 2 1 -5.3287 35.0698 -144.45 - 58 143.594 1075 2 0 -5.35761 35.0808 -145.85 - 58 121.058 869 1 1 -6.1901 35.3097 -174.45 - 58 294.078 1076 1 0 -6.24807 35.3831 -175.85 - 58 153.94 861 0 1 -7.77662 36.8631 -204.45 - 58 149.604 1539 1 0 -52.307 127.95 -175.951 - 58 51.3736 861 1 1 -7.69841 36.6767 -174.85 - 58 236.81 864 0 1 -7.17055 35.5963 -204.45 - 58 103.817 1077 0 0 -7.23882 35.6055 -205.85 - 58 176.483 1076 0 0 -7.30555 35.356 -205.85 - 58 50.2119 954 2 0 -11.5997 10.9627 -146.25 - 58 87.7081 953 2 0 -11.5563 10.85 -146.102 - 58 114.974 845 2 1 -10.9226 10.0327 -144.85 - 58 57.124 918 3 0 110.626 3.6677 -116.25 - 58 73.2394 917 3 0 110.724 3.64987 -116.215 - 58 46.1376 916 3 0 110.83 3.45 -116.187 - 58 130.734 915 3 0 110.792 3.25 -116.163 - 58 86.2277 914 3 0 110.784 3.04981 -116.119 - 58 73.5534 1455 3 1 111.22 2.77546 -114.85 - 58 103.747 1456 3 1 111.35 2.66686 -114.638 - 58 30.5657 1136 2 0 -4.28568 47.3863 -146.25 - 58 58.3802 1137 2 0 -4.26292 47.4501 -146.179 - 58 89.629 1138 2 0 -4.21731 47.6504 -146.103 - 58 219.317 1139 2 0 -4.23652 47.85 -146.089 - 58 183.995 1140 2 0 -4.12522 48.0501 -146.149 - 58 156.243 1347 0 0 -14.6252 89.5755 -206.25 - 58 234.649 870 0 1 -5.98902 35.4025 -204.45 - 58 52.8469 871 0 1 -5.84958 35.9094 -204.812 - 58 170.384 1087 0 0 -4.15481 37.4629 -205.85 - 58 43.7599 874 3 1 -5.05032 34.8435 -114.76 - 58 394.048 1068 3 0 -5.9973 33.8033 -115.85 - 58 12.3949 849 3 0 -58.7919 -10.2379 -116.25 - 58 34.2603 848 3 0 -58.7928 -10.25 -116.239 - 58 0.563155 945 3 0 -37.7659 9.09742 -116.25 -Number of digits in this event: 36 +Number of tracker hits in this event: 1 + 58 193.143 1570 0 0 -9.97405 134.294 -206.25 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 6.37404 LIN +Particle energy: 1.60908 LIN Particle: gamma Event: 59 -Number of tracker hits in this event: 119 - 59 239.972 770 10 1 -26.0041 -28.4715 95.55 - 59 218.16 757 10 0 -26.0052 -28.4713 94.15 - 59 238.969 770 9 1 -26.0235 -28.4638 65.55 - 59 134.966 757 9 0 -26.0229 -28.4613 64.15 - 59 248.819 770 8 1 -26.0064 -28.4149 35.55 - 59 111.711 758 8 0 -26.0059 -28.4137 34.15 - 59 100.308 770 7 1 -25.9947 -28.3885 5.55 - 59 202.247 758 7 0 -25.9961 -28.3862 4.15 - 59 122.906 770 6 1 -26.0314 -28.3426 -24.45 - 59 208.666 758 6 0 -26.0325 -28.3423 -25.85 - 59 128.574 769 5 1 -26.0566 -28.3333 -54.45 - 59 198.954 758 5 0 -26.0536 -28.3295 -55.85 - 59 434.464 770 4 1 -26.016 -28.2601 -84.45 - 59 358.614 758 4 0 -26.0117 -28.253 -85.85 - 59 482.966 770 3 1 -25.9267 -28.122 -114.45 - 59 236.09 759 3 0 -25.9184 -28.1129 -115.85 - 59 121.147 771 2 1 -25.7415 -27.9309 -144.45 - 59 300.838 760 2 0 -25.7356 -27.9184 -145.85 - 59 108.696 772 1 1 -25.6179 -27.6602 -174.45 - 59 131.446 762 1 0 -25.6113 -27.6498 -175.85 - 59 111.793 772 0 1 -25.4771 -27.4334 -204.45 - 59 138.907 763 0 0 -25.4667 -27.4266 -205.85 - 59 291.118 1449 2 0 -39.5309 109.95 -146.245 - 59 39.7424 844 0 0 -46.0388 -11.0979 -206.25 - 59 161.357 845 0 0 -46.0726 -11.05 -206.215 - 59 112.959 761 1 0 -25.6015 -27.6504 -176.238 - 59 261.674 759 4 0 -25.416 -28.25 -86.1153 - 59 107.592 817 3 1 -16.5339 -26.59 -114.45 - 59 11.197 818 3 1 -16.45 -26.6756 -114.8 - 59 116.849 765 3 0 -16.1987 -26.9266 -115.85 - 59 15.1004 854 2 1 -9.08758 -32.5298 -144.45 - 59 74.5402 855 2 1 -9.04989 -32.5381 -144.467 - 59 52.9014 856 2 1 -8.85 -32.5838 -144.556 - 59 66.751 857 2 1 -8.65 -32.6327 -144.65 - 59 71.2881 858 2 1 -8.45 -32.6824 -144.743 - 59 6.71688 859 2 1 -8.25 -32.7296 -144.838 - 59 166.746 733 2 0 -5.72317 -33.3273 -145.85 - 59 228.108 732 2 0 -5.27263 -33.45 -146.018 - 59 162.11 731 2 0 -4.54141 -33.65 -146.178 - 59 237.419 757 4 0 -25.0932 -28.45 -86.1472 - 59 128.562 762 3 1 -27.5784 -26.1129 -114.45 - 59 202.188 769 3 0 -27.7153 -26.0758 -115.85 - 59 141.671 747 2 1 -30.5023 -25.5297 -144.45 - 59 116.286 772 2 0 -30.4843 -25.5722 -145.85 - 59 112.844 747 1 1 -30.5329 -26.4763 -174.45 - 59 40.7527 767 1 0 -30.558 -26.4532 -175.85 - 59 172.454 768 1 0 -30.5612 -26.45 -175.979 - 59 145.05 744 0 1 -31.0868 -25.6647 -204.45 - 59 152.341 772 0 0 -31.0986 -25.5652 -205.85 - 59 396.969 758 3 0 -25.5317 -28.3248 -115.85 - 59 77.0199 813 2 1 -17.254 -29.7333 -144.45 - 59 68.1111 812 2 1 -17.45 -29.6157 -144.552 - 59 93.0005 811 2 1 -17.65 -29.4949 -144.646 - 59 85.6272 810 2 1 -17.8502 -29.326 -144.785 - 59 99.2136 742 1 1 -31.6452 -31.7064 -174.45 - 59 120.477 741 1 0 -31.5628 -31.8135 -175.85 - 59 299.983 769 3 1 -26.0501 -28.3614 -114.693 - 59 322.104 762 3 0 -26.4999 -27.5979 -115.85 - 59 76.126 767 2 1 -26.4836 -29.6624 -144.45 - 59 51.5948 768 2 1 -26.4499 -29.6546 -144.664 - 59 97.8314 752 2 0 -26.2591 -29.6491 -145.85 - 59 126.644 789 1 1 -22.1196 -29.6173 -174.45 - 59 125.777 751 1 0 -21.9226 -29.7827 -175.85 - 59 150.433 812 0 1 -17.4935 -32.4517 -204.45 - 59 68.8671 739 0 0 -17.9014 -32.1082 -205.85 - 59 49.1035 740 0 0 -17.9683 -32.05 -206.087 - 59 45.2686 770 2 1 -26.0444 -28.4752 -144.451 - 59 217.049 769 2 1 -26.05 -28.4566 -144.54 - 59 277.734 759 2 0 -26.2167 -28.2043 -145.85 - 59 111.586 746 1 1 -30.7604 -22.8608 -174.45 - 59 55.1516 745 1 1 -30.85 -22.8471 -174.676 - 59 156.986 786 1 0 -31.3237 -22.8382 -175.85 - 59 19.3457 693 0 1 -41.4126 -23.1751 -204.45 - 59 162.365 692 0 1 -41.4504 -23.1751 -204.512 - 59 5.05926 691 0 1 -41.65 -23.1764 -204.83 - 59 137.081 784 0 0 -42.3181 -23.1852 -205.85 - 59 32.5069 1096 4 1 39.25 97.3437 -84.5035 - 59 14.4584 758 2 0 -26.0934 -28.2509 -145.85 - 59 99.678 770 1 1 -26.0214 -27.6176 -174.45 - 59 135.524 769 1 1 -26.05 -27.6347 -174.643 - 59 124.969 746 0 1 -30.6721 -30.294 -204.45 - 59 106.567 748 0 0 -30.7758 -30.4058 -205.85 - 59 4.75406 989 1 1 17.85 -29.7026 -174.598 - 59 132.392 762 0 0 -25.4497 -27.4529 -205.85 - 59 186.423 543 7 0 -29.4998 -71.2895 3.75 - 59 35.9589 544 7 0 -29.4068 -71.25 3.87897 - 59 97.7492 758 9 0 -25.9768 -28.4075 64.15 - 59 118.309 759 8 0 -26.0051 -28.2492 34.15 - 59 175.277 769 7 1 -26.114 -28.0832 5.55 - 59 38.8481 759 7 0 -26.0769 -28.0521 4.15 - 59 107.867 760 7 0 -26.0742 -28.05 4.05539 - 59 112.235 772 6 1 -25.4862 -27.5821 -24.45 - 59 125.676 762 6 0 -25.4725 -27.5979 -25.85 - 59 109.855 774 5 1 -25.1275 -28.0127 -54.45 - 59 131.268 759 5 0 -25.0933 -28.0517 -55.85 - 59 152.204 778 4 1 -24.3438 -28.8119 -84.45 - 59 125.474 755 4 0 -24.2911 -28.8696 -85.85 - 59 1.38846 783 3 1 -23.2518 -30.0471 -114.45 - 59 96.9531 784 3 1 -23.25 -30.0476 -114.462 - 59 109.361 749 3 0 -23.0368 -30.1011 -115.85 - 59 118.172 806 2 1 -18.7207 -31.0837 -144.45 - 59 113.516 744 2 0 -18.5307 -31.1622 -145.85 - 59 100.304 827 1 1 -14.5965 -32.798 -174.451 - 59 113.923 735 1 0 -14.5473 -32.9228 -175.85 - 59 145.104 837 0 1 -12.5394 -37.7809 -204.45 - 59 29.3312 711 0 0 -12.4112 -37.6608 -205.85 - 59 89.5765 712 0 0 -12.4011 -37.65 -205.962 - 59 56.0865 584 2 0 -47.1031 -63.174 -146.25 - 59 225.366 583 2 0 -47.1887 -63.25 -145.935 - 59 34.7577 754 2 0 -22.3944 -29.1835 -145.85 - 59 149.091 768 7 1 -26.25 -28.0626 5.26137 - 59 0.416076 767 7 1 -26.45 -28.0208 5.15806 - 59 97.1431 770 7 0 -27.2113 -25.9367 4.15 - 59 25.9593 757 5 0 -26.0251 -28.4503 -56.1545 - 59 167.019 732 5 0 27.5572 -33.526 -56.25 - 59 256.928 731 5 0 28.0979 -33.65 -56.082 - 59 16.3846 1048 5 1 29.8211 -33.6931 -54.85 - 59 112.11 1049 5 1 29.85 -33.6911 -54.8074 - 59 71.7367 1050 5 1 30.05 -33.5917 -54.5535 -Number of digits in this event: 59 +Number of tracker hits in this event: 0 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 4.7997 LIN +Particle energy: 6.64922 LIN Particle: gamma Event: 60 -Number of tracker hits in this event: 17 - 60 84.9493 1265 2 1 73.059 -107.152 -144.707 - 60 170.09 364 2 0 73.0591 -107.15 -145.85 - 60 86.3997 365 2 0 73.0591 -107.15 -145.971 - 60 123.173 1264 1 1 73.0324 -107.089 -174.45 - 60 132.356 365 1 0 73.0291 -107.086 -175.85 - 60 125.037 1264 0 1 72.9552 -107.037 -204.45 - 60 106.122 365 0 0 72.9419 -107.025 -205.85 - 60 106.632 1265 1 1 73.0626 -107.159 -174.45 - 60 138.047 364 1 0 73.0642 -107.159 -175.85 - 60 190.132 1265 0 1 73.0929 -107.173 -204.45 - 60 118.407 364 0 0 73.0927 -107.172 -205.85 - 60 29.5485 345 0 0 100.522 -110.978 -206.25 - 60 179.292 204 1 0 103.609 -139.219 -176.25 - 60 146.17 370 1 0 37.225 -106.051 -176.25 - 60 9.83595 949 6 1 10.0488 -16.4919 -24.85 - 60 116.271 174 10 0 -123.677 -145.15 93.9439 - 60 68.3149 950 6 1 10.05 -16.4798 -24.8194 -Number of digits in this event: 11 +Number of tracker hits in this event: 5 + 60 69.6702 1066 7 1 33.2687 100.127 5.15 + 60 237.102 1065 7 1 33.2499 100.085 5.46461 + 60 27.6767 1757 3 1 171.629 24.6546 -114.45 + 60 118.394 1756 3 1 171.55 24.7214 -114.495 + 60 296.979 1755 3 1 171.35 24.9467 -114.506 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 4.62859 LIN +Particle energy: 2.63015 LIN Particle: gamma Event: 61 -Number of tracker hits in this event: 35 - 61 237.813 575 4 1 -64.9214 59.2139 -84.45 - 61 332.054 1195 4 0 -64.9195 59.2151 -85.85 - 61 175.745 575 3 1 -64.8655 59.2389 -114.45 - 61 304.23 1195 3 0 -64.8604 59.2411 -115.85 - 61 189.565 576 2 1 -64.7551 59.2868 -144.45 - 61 130.866 1196 2 0 -64.7492 59.2893 -145.85 - 61 112.015 577 1 1 -64.6209 59.3417 -174.45 - 61 260.409 1196 1 0 -64.6154 59.3428 -175.85 - 61 187.751 577 0 1 -64.5058 59.3703 -204.45 - 61 95.1144 1196 0 0 -64.5009 59.3733 -205.85 - 61 269.355 1121 1 1 44.25 136.51 -174.738 - 61 28.9548 1122 1 1 44.4501 136.712 -174.696 - 61 16.3909 711 14 0 -96.5541 -37.6634 213.75 - 61 30.5644 1067 0 0 19.0229 33.65 -206.233 - 61 10.7559 1355 0 1 91.15 -137.975 -204.535 - 61 432.166 1356 0 1 91.35 -138.45 -204.534 - 61 69.725 998 0 1 19.687 33.5462 -204.85 - 61 83.2561 999 0 1 19.85 33.5529 -204.708 - 61 2.86515 1000 0 1 20.05 33.5114 -204.837 - 61 69.103 1065 0 0 20.6153 33.1093 -205.85 - 61 107.263 1064 0 0 20.7735 33.05 -206.016 - 61 150.171 779 0 0 -22.5101 -24.2427 -206.25 - 61 107.864 780 0 0 -22.3767 -24.05 -206.068 - 61 217.071 781 0 0 -22.462 -23.8496 -206.023 - 61 160.263 574 3 1 -65.1909 59.1673 -114.45 - 61 131.723 573 2 1 -65.3108 59.1853 -144.45 - 61 143.149 1195 2 0 -65.3145 59.191 -145.85 - 61 128.617 572 1 1 -65.4636 59.3357 -174.45 - 61 115.83 570 0 1 -65.8519 59.8143 -204.45 - 61 131.881 1198 0 0 -65.8591 59.8008 -205.85 - 61 25.1715 582 2 1 -63.6407 60.6432 -144.85 - 61 7.50685 1207 2 0 -60.104 61.4504 -145.85 - 61 206.205 1206 2 0 -60.0862 61.45 -145.854 - 61 38.5963 1183 4 0 -61.9675 56.6625 -86.25 - 61 258.751 1182 4 0 -62.0107 56.65 -86.1845 -Number of digits in this event: 21 +Number of tracker hits in this event: 0 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 9.30677 LIN +Particle energy: 9.05471 LIN Particle: gamma Event: 62 -Number of tracker hits in this event: 1 - 62 116.088 1299 5 1 79.9452 27.953 -54.85 +Number of tracker hits in this event: 0 Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 7.20659 LIN +Particle energy: 6.70614 LIN Particle: gamma Event: 63 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 22 + 63 283.068 580 3 1 -64.0157 -65.8702 -114.45 + 63 303.117 570 3 0 -64.0199 -65.8854 -115.85 + 63 103.352 579 2 1 -64.0837 -66.1765 -144.45 + 63 122.863 569 2 0 -64.0866 -66.202 -145.85 + 63 214.985 579 1 1 -64.1935 -66.6892 -174.45 + 63 145.148 566 1 0 -64.2015 -66.7153 -175.85 + 63 112.03 578 0 1 -64.392 -67.21 -204.45 + 63 352.997 564 0 0 -64.4032 -67.2297 -205.85 + 63 19.825 697 9 0 165.932 -40.501 63.75 + 63 365.487 698 9 0 165.942 -40.45 63.7856 + 63 50.8238 529 0 0 -35.2062 -74.05 -206.131 + 63 110.718 728 0 1 -34.2892 -73.6781 -204.85 + 63 150.215 576 0 1 -64.7423 -67.091 -204.45 + 63 159.975 580 2 1 -63.9994 -65.879 -144.45 + 63 105.64 570 2 0 -63.9935 -65.8789 -145.85 + 63 176.504 580 1 1 -63.8558 -65.8501 -174.45 + 63 151.811 570 1 0 -63.8699 -65.8532 -175.85 + 63 127.586 579 0 1 -64.2291 -65.9643 -204.45 + 63 499.645 570 0 0 -64.283 -65.9996 -205.85 + 63 263.883 580 0 1 -63.9818 -65.8837 -204.45 + 63 103.452 975 1 1 15.05 -67.6396 -174.701 + 63 67.6106 976 1 1 15.25 -67.6076 -174.46 +Number of digits in this event: 18 Using G4ParticleGun... -Particle energy: 4.75383 LIN +Particle energy: 5.97769 LIN Particle: gamma Event: 64 -Number of tracker hits in this event: 3 - 64 30.7014 146 8 0 -125.107 -150.75 33.932 - 64 35.481 276 8 1 -124.772 -151.078 35.1501 - 64 173.333 277 8 1 -124.75 -151.055 35.158 -Number of digits in this event: 3 +Number of tracker hits in this event: 1 + 64 202.138 1062 3 1 32.45 -21.4861 -114.812 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 4.76703 LIN +Particle energy: 2.77514 LIN Particle: gamma Event: 65 -Number of tracker hits in this event: 33 - 65 288.119 569 5 1 -66.2184 77.119 -54.45 - 65 270.719 1285 5 0 -66.2116 77.1184 -55.85 - 65 115.593 570 4 1 -66.023 77.1773 -84.45 - 65 448.014 1285 4 0 -65.9961 77.1671 -85.85 - 65 104.396 572 3 1 -65.5677 77.0203 -114.45 - 65 49.3331 1284 3 0 -65.5874 77.0464 -115.85 - 65 158.895 1285 3 0 -65.5899 77.05 -116.042 - 65 131.559 572 2 1 -65.5986 77.5202 -144.45 - 65 112.929 1287 2 0 -65.6216 77.5172 -145.85 - 65 214.777 570 1 1 -65.9789 77.2713 -174.45 - 65 223.985 1285 1 0 -66.0582 77.244 -175.85 - 65 112.843 562 0 1 -67.4777 76.8218 -204.45 - 65 118.315 1284 0 0 -67.5405 76.8734 -205.85 - 65 116.129 1248 1 1 69.65 151.799 -174.646 - 65 123.761 569 4 1 -66.204 77.1285 -84.45 - 65 172.194 568 3 1 -66.3334 77.076 -114.45 - 65 202.701 567 2 1 -66.4899 77.2049 -144.45 - 65 112.205 1285 2 0 -66.4919 77.2101 -145.85 - 65 113.817 567 1 1 -66.5334 77.2686 -174.45 - 65 128.794 1286 1 0 -66.536 77.277 -175.85 - 65 170.528 567 0 1 -66.6005 77.4374 -204.45 - 65 182.022 1286 0 0 -66.5992 77.4442 -205.85 - 65 66.5509 1287 0 0 -66.7994 77.45 -206.078 - 65 53.8776 1288 0 0 -66.9099 77.6501 -206.126 - 65 63.9722 1289 0 0 -66.9367 77.8501 -206.074 - 65 80.9629 1290 0 0 -66.974 78.05 -206.008 - 65 106.63 1291 0 0 -66.9419 78.25 -205.945 - 65 31.8841 1292 0 0 -66.9115 78.45 -205.898 - 65 67.4104 570 0 1 -66.0339 79.7389 -204.85 - 65 151.684 569 0 1 -66.05 79.8957 -204.707 - 65 102.916 1301 0 0 -65.7332 80.2595 -205.85 - 65 247.041 1300 0 0 -65.7089 80.25 -205.908 - 65 327.635 1530 1 0 -62.0978 126.35 -176.206 -Number of digits in this event: 19 +Number of tracker hits in this event: 49 + 65 250.51 493 7 1 -81.341 103.276 5.55 + 65 228.37 1415 7 0 -81.341 103.275 4.15 + 65 206.918 493 6 1 -81.3334 103.247 -24.45 + 65 149.799 1415 6 0 -81.3352 103.247 -25.85 + 65 236.295 493 5 1 -81.3802 103.25 -54.45 + 65 310.821 1415 5 0 -81.3906 103.251 -55.85 + 65 171.55 492 4 1 -81.5985 103.269 -84.45 + 65 152.22 1415 4 0 -81.6078 103.269 -85.85 + 65 196.859 491 3 1 -81.8005 103.26 -114.45 + 65 114.907 1415 3 0 -81.8076 103.255 -115.85 + 65 223.847 490 2 1 -81.9504 103.134 -144.45 + 65 124.225 1414 2 0 -81.9622 103.131 -145.85 + 65 122.175 489 1 1 -82.2041 103.057 -174.45 + 65 234.783 1414 1 0 -82.2278 103.052 -175.85 + 65 333.481 486 0 1 -82.7311 102.929 -204.45 + 65 92.3366 1413 0 0 -82.7556 102.926 -205.85 + 65 195.939 760 3 1 -27.8985 -48.8884 -114.85 + 65 183.067 490 3 1 -81.85 103.295 -114.681 + 65 173.491 1414 6 0 -80.8039 103.022 -25.8501 + 65 68.2806 495 6 1 -80.9536 102.91 -24.85 + 65 273.652 492 2 1 -81.4639 103.259 -144.45 + 65 209.417 1415 2 0 -81.4847 103.242 -145.85 + 65 148.674 490 1 1 -81.9914 102.841 -174.45 + 65 136.32 1413 1 0 -82.0261 102.776 -175.85 + 65 15.3518 485 0 1 -82.85 101.371 -204.789 + 65 104.872 1405 0 0 -82.9223 101.24 -205.85 + 65 161.623 1408 2 0 -81.2496 101.858 -145.85 + 65 8.3898 1370 2 0 -112.764 94.214 -146.25 + 65 14.4882 1392 2 0 -82.639 98.6856 -146.25 + 65 101.608 495 1 1 -81.024 103.215 -174.45 + 65 191.396 497 0 1 -80.5939 101.692 -204.45 + 65 93.2429 1407 0 0 -80.5906 101.67 -205.85 + 65 223.305 496 0 1 -80.65 101.727 -204.516 + 65 87.7758 498 0 1 -80.45 101.572 -204.527 + 65 111.817 499 0 1 -80.25 101.587 -204.543 + 65 284.986 500 0 1 -80.05 101.71 -204.515 + 65 34.547 1132 2 0 -5.94243 46.65 -146.083 + 65 101.304 492 6 1 -81.4773 103.069 -24.45 + 65 123.314 490 5 1 -81.925 103.335 -54.45 + 65 123.257 488 4 1 -82.3905 103.051 -84.45 + 65 103.808 1414 4 0 -82.4249 103.025 -85.85 + 65 130.749 484 3 1 -83.1118 102.445 -114.45 + 65 127.718 1411 3 0 -83.1623 102.43 -115.85 + 65 197.973 479 2 1 -84.1565 102.194 -144.45 + 65 124.376 1410 2 0 -84.2048 102.182 -145.85 + 65 189.191 474 1 1 -85.2147 101.95 -174.45 + 65 132.88 1408 1 0 -85.294 101.934 -175.85 + 65 322.353 464 0 1 -87.0815 101.521 -204.45 + 65 179 1406 0 0 -87.1613 101.513 -205.85 +Number of digits in this event: 38 Using G4ParticleGun... -Particle energy: 9.7026 LIN +Particle energy: 1.89338 LIN Particle: gamma Event: 66 -Number of tracker hits in this event: 151 - 66 240.926 745 10 1 -30.9433 91.4494 95.55 - 66 313.666 1356 10 0 -30.9434 91.4497 94.15 - 66 217.521 745 9 1 -30.9435 91.4562 65.55 - 66 221.682 1356 9 0 -30.9417 91.4566 64.15 - 66 406.319 745 8 1 -30.9075 91.4652 35.55 - 66 253.731 1356 8 0 -30.9055 91.4638 34.15 - 66 357.953 745 7 1 -30.8657 91.4343 5.55 - 66 270.841 1356 7 0 -30.8634 91.4337 4.15 - 66 359.532 746 6 1 -30.8122 91.4224 -24.45 - 66 315.271 1356 6 0 -30.809 91.4201 -25.85 - 66 101.402 746 5 1 -30.7424 91.3798 -54.45 - 66 137.672 1356 5 0 -30.7389 91.379 -55.85 - 66 196.555 746 4 1 -30.6938 91.3783 -84.45 - 66 109.679 1356 4 0 -30.6916 91.3807 -85.85 - 66 208.65 747 3 1 -30.647 91.4306 -114.45 - 66 102.781 1356 3 0 -30.646 91.4305 -115.85 - 66 118.466 747 2 1 -30.6267 91.4207 -144.45 - 66 281.924 1356 2 0 -30.627 91.4215 -145.85 - 66 518.882 747 1 1 -30.6375 91.4393 -174.45 - 66 268.795 1356 1 0 -30.6364 91.4415 -175.85 - 66 118.987 747 0 1 -30.607 91.4892 -204.45 - 66 136.556 1356 0 0 -30.6037 91.4873 -205.85 - 66 136.035 741 0 1 -31.8086 91.3496 -204.451 - 66 328.309 1355 0 0 -31.7554 91.2927 -205.85 - 66 113.315 1355 1 0 -30.6156 91.265 -175.851 - 66 146.293 745 0 1 -30.9296 89.2494 -204.45 - 66 131.423 1346 0 0 -31.0152 89.304 -205.85 - 66 44.0941 466 0 1 -86.65 141.033 -204.765 - 66 132.73 1668 0 0 -93.6748 153.75 -206.106 - 66 37.2225 1669 0 0 -93.7864 153.95 -206.099 - 66 304.778 1278 0 0 -28.4128 75.725 -206.25 - 66 173.778 1279 0 0 -28.0916 75.85 -206.183 - 66 97.5466 630 1 1 -53.8557 100.613 -174.85 - 66 103.715 1403 1 0 -54.842 100.773 -175.85 - 66 97.9709 740 5 1 -31.8976 90.6353 -54.45 - 66 122.087 1352 5 0 -31.9003 90.6225 -55.85 - 66 48.8562 741 4 1 -31.6536 90.6707 -84.45 - 66 61.3338 742 4 1 -31.65 90.6604 -84.6638 - 66 158.272 1352 4 0 -31.6314 90.6029 -85.85 - 66 107.536 742 3 1 -31.5167 89.4393 -114.45 - 66 104.739 1346 3 0 -31.5563 89.3723 -115.85 - 66 128.678 739 2 1 -32.1951 88.1657 -144.45 - 66 136.954 1340 2 0 -32.2455 88.0695 -145.85 - 66 39.1107 1339 2 0 -32.2559 88.05 -146.131 - 66 342.489 734 1 1 -33.1899 86.1143 -174.45 - 66 308.669 1330 1 0 -33.3104 86.1291 -175.85 - 66 125.609 721 0 1 -35.7213 86.5833 -204.45 - 66 117.419 1332 0 0 -35.7686 86.5907 -205.85 - 66 45.5179 733 1 1 -33.25 86.1986 -174.627 - 66 90.1049 727 1 1 -34.5316 86.0396 -174.85 - 66 317.581 745 5 1 -30.8902 91.4883 -54.45 - 66 114.3 1355 5 0 -31.3804 91.2502 -55.85 - 66 62.5131 677 4 1 -44.4721 86.1019 -84.4502 - 66 67.8362 676 4 1 -44.65 86.1095 -84.6007 - 66 61.0304 675 4 1 -44.85 86.1087 -84.7704 - 66 26.4174 1330 4 0 -46.1293 86.2369 -85.85 - 66 137.115 1331 4 0 -46.2166 86.25 -85.9305 - 66 161.743 543 3 1 -71.4347 94.4022 -114.45 - 66 83.3489 544 3 1 -71.2499 94.4262 -114.597 - 66 53.4283 545 3 1 -71.05 94.4392 -114.731 - 66 159.743 1371 3 0 -69.5737 94.4888 -115.85 - 66 53.7089 729 2 1 -34.154 95.0785 -144.45 - 66 125 730 2 1 -34.05 95.0179 -144.611 - 66 331.967 1374 2 0 -33.3277 95.0341 -145.85 - 66 220.395 1373 2 0 -33.1968 94.95 -145.989 - 66 28.4458 1354 4 0 -48.8283 91.0929 -85.85 - 66 135.773 651 4 1 -49.832 90.2609 -84.8499 - 66 16.4216 650 4 1 -49.8501 90.2037 -84.8385 - 66 217.444 744 5 1 -31.0501 91.8512 -54.4988 - 66 228.18 743 5 1 -31.25 92.5654 -54.7304 - 66 132.093 742 5 1 -31.4502 93.0746 -54.8226 - 66 17.5025 741 5 1 -31.65 93.5217 -54.8458 - 66 1.83986 1444 5 0 -37.8522 109.143 -55.85 - 66 54.3829 1445 5 0 -37.855 109.15 -55.8505 - 66 62.3391 682 5 1 -43.5866 125.061 -54.85 - 66 111.761 681 5 1 -43.65 125.197 -54.8431 - 66 119.656 680 5 1 -43.85 125.521 -54.8286 - 66 247.212 679 5 1 -44.0506 125.735 -54.7925 - 66 83.6011 678 5 1 -44.2503 125.942 -54.7766 - 66 80.7709 677 5 1 -44.45 126.155 -54.7552 - 66 270.819 676 5 1 -44.65 126.369 -54.7048 - 66 280.236 675 5 1 -44.85 126.567 -54.6271 - 66 243.297 674 5 1 -45.05 126.755 -54.5347 - 66 47.772 673 5 1 -45.317 126.989 -54.45 - 66 277.198 672 5 1 -45.4501 127.047 -54.5945 - 66 52.038 671 5 1 -45.65 127.093 -54.7914 - 66 63.2292 1535 5 0 -46.9067 127.298 -55.85 - 66 465.898 1536 5 0 -47.1094 127.35 -55.9727 - 66 28.0895 1537 5 0 -47.4376 127.55 -56.214 - 66 231.575 1357 7 0 -30.7726 91.7087 4.14942 - 66 3.00374 1358 7 0 -30.7379 91.75 3.76627 - 66 128.678 755 6 1 -29.0077 94.5849 -24.4501 - 66 269.935 754 6 1 -29.05 94.3631 -24.5933 - 66 13.8224 1362 6 0 -29.6416 92.5887 -25.85 - 66 105.93 1361 6 0 -29.6565 92.55 -25.8791 - 66 85.5081 1360 6 0 -29.7412 92.35 -26.0893 - 66 26.1347 1273 5 0 -43.5525 74.7202 -55.85 - 66 105.096 1272 5 0 -43.5276 74.65 -55.9012 - 66 64.6537 1271 5 0 -43.424 74.4499 -56.114 - 66 26.5768 992 5 0 -46.0148 18.5204 -56.2498 - 66 126.345 991 5 0 -46.0325 18.4499 -56.1897 - 66 180.847 990 5 0 -46.2665 18.2499 -55.8793 - 66 75.8419 989 5 0 -46.7006 18.0496 -55.8939 - 66 74.8839 988 5 0 -46.9218 17.8497 -55.9508 - 66 129.264 987 5 0 -47.0288 17.6495 -56.0272 - 66 34.0265 986 5 0 -46.948 17.4499 -56.2038 - 66 103.215 756 6 1 -28.85 94.4782 -24.4667 - 66 78.5724 757 6 1 -28.65 94.2756 -24.4543 - 66 119.51 758 6 1 -28.45 94.0461 -24.5052 - 66 74.0326 759 6 1 -28.25 93.8414 -24.5513 - 66 80.7807 760 6 1 -28.05 93.7018 -24.6781 - 66 57.2583 761 6 1 -27.85 93.563 -24.7809 - 66 34.9006 762 6 1 -27.65 93.471 -24.8334 - 66 112.292 1337 6 0 -16.6405 87.5013 -25.85 - 66 160.411 1336 6 0 -16.5513 87.45 -25.8602 - 66 300.652 1335 6 0 -16.0351 87.2499 -25.9705 - 66 137.167 746 7 1 -30.833 91.6151 5.55 - 66 89.164 1357 6 0 -30.837 91.6477 -25.85 - 66 106.116 1357 5 0 -30.8938 91.7355 -55.85 - 66 127.663 745 4 1 -30.9886 91.8527 -84.45 - 66 107.282 1358 4 0 -30.9935 91.8583 -85.85 - 66 180.452 744 3 1 -31.0832 91.9752 -114.45 - 66 143.841 1359 3 0 -31.0845 91.9798 -115.85 - 66 156.392 744 2 1 -31.1345 92.0582 -144.45 - 66 137.081 1359 2 0 -31.1407 92.0595 -145.85 - 66 129.91 743 1 1 -31.2509 92.0738 -174.45 - 66 263.111 1359 1 0 -31.2607 92.0737 -175.85 - 66 116.902 742 0 1 -31.4686 92.0687 -204.45 - 66 114.872 1359 0 0 -31.4777 92.0611 -205.85 - 66 2.15628 724 7 0 -72.1842 -35.2327 3.75 - 66 297.937 723 7 0 -72.1906 -35.25 3.78648 - 66 266.14 745 2 1 -30.904 91.8582 -144.45 - 66 114.917 1357 2 0 -30.8251 91.7497 -145.85 - 66 217.138 746 1 1 -30.6697 89.4828 -174.45 - 66 27.5275 1349 1 0 -30.6244 90.0187 -175.85 - 66 18.1314 1350 1 0 -30.6068 90.15 -176.167 - 66 37.602 751 0 1 -29.789 100.414 -204.45 - 66 129.505 750 0 1 -29.8502 100.487 -204.502 - 66 67.0835 749 0 1 -30.05 100.69 -204.721 - 66 44.1236 1407 0 0 -31.1878 101.657 -205.85 - 66 105.24 1408 0 0 -31.2985 101.75 -205.951 - 66 61.8151 1409 0 0 -31.4482 101.95 -206.113 - 66 87.4499 1615 0 0 -52.9694 143.152 -206.25 - 66 82.4514 1616 0 0 -53.0637 143.35 -206.101 - 66 52.3518 1617 0 0 -53.2041 143.55 -205.913 - 66 136.846 629 0 1 -54.0772 145.025 -204.85 - 66 169.222 628 0 1 -54.2503 145.348 -204.697 - 66 42.4001 627 0 1 -54.4503 145.689 -204.517 - 66 65.0738 1358 0 0 -30.3898 91.8767 -205.85 - 66 7.86367 1357 0 0 -30.4043 91.75 -206.229 - 66 19.7231 531 0 1 -73.65 93.4241 -204.667 -Number of digits in this event: 73 -Using G4ParticleGun... -Particle energy: 3.85538 LIN +Number of tracker hits in this event: 115 + 66 222.338 700 7 1 -39.9337 -8.30207 5.55 + 66 237.867 858 7 0 -39.9304 -8.29836 4.15 + 66 139.227 701 6 1 -39.8437 -8.24281 -24.45 + 66 104.546 859 6 0 -39.8576 -8.24485 -25.85 + 66 302.852 699 5 1 -40.2023 -8.36396 -54.45 + 66 132.31 858 5 0 -40.2061 -8.36665 -55.85 + 66 123.072 698 4 1 -40.2619 -8.50381 -84.45 + 66 355.828 857 4 0 -40.2247 -8.53477 -85.85 + 66 238.545 703 3 1 -39.4348 -9.09783 -114.45 + 66 243.938 854 3 0 -39.3733 -9.13406 -115.85 + 66 140.776 709 2 1 -38.1648 -10.0027 -144.45 + 66 108.473 850 2 0 -38.1399 -10.0221 -145.85 + 66 186.267 711 1 1 -37.6871 -10.266 -174.45 + 66 237.251 848 1 0 -37.7025 -10.2968 -175.85 + 66 232.347 709 0 1 -38.0802 -11.0033 -204.45 + 66 123.824 845 0 0 -38.0585 -11.0013 -205.85 + 66 295.779 873 0 0 -35.1126 -5.28824 -206.25 + 66 37.7259 874 0 0 -35.1943 -5.24998 -206.216 + 66 7.31802 698 5 1 -40.25 -8.28449 -54.8315 + 66 112.943 859 5 0 -40.5049 -8.21071 -55.85 + 66 55.1105 660 4 1 -47.9743 -5.8906 -84.45 + 66 106.745 659 4 1 -48.0501 -5.94236 -84.6413 + 66 220.72 868 4 0 -48.5086 -6.27786 -85.8501 + 66 14.1289 604 3 1 -59.2138 -14.1908 -114.45 + 66 160.312 603 3 1 -59.25 -14.2042 -114.506 + 66 10.861 602 3 1 -59.45 -14.2678 -114.815 + 66 0.940817 828 3 0 -60.1306 -14.4495 -115.85 + 66 137.859 827 3 0 -60.1325 -14.45 -115.853 + 66 29.542 507 2 1 -78.5951 -20.627 -144.45 + 66 86.7935 506 2 1 -78.65 -20.6057 -144.537 + 66 26.4894 798 2 0 -79.2866 -20.2759 -145.85 + 66 83.212 799 2 0 -79.3423 -20.25 -145.961 + 66 54.9937 430 1 1 -94.0704 -13.1308 -174.45 + 66 75.9208 429 1 1 -94.15 -13.122 -174.62 + 66 185.849 835 1 0 -94.7289 -12.9692 -175.85 + 66 100.637 345 0 1 -111.071 -8.12632 -204.45 + 66 30.593 344 0 1 -111.15 -8.01107 -204.765 + 66 50.1777 862 0 0 -111.415 -7.51697 -205.85 + 66 88.0579 863 0 0 -111.454 -7.45 -205.991 + 66 5.55114 794 2 0 -79.3013 -21.05 -146.036 + 66 9.52509 402 1 1 -99.7084 -21.629 -174.45 + 66 96.4729 401 1 1 -99.75 -21.609 -174.487 + 66 70.1605 400 1 1 -99.95 -21.4564 -174.684 + 66 102.567 798 1 0 -101.389 -20.4498 -175.85 + 66 94.1744 799 1 0 -101.639 -20.2499 -176.011 + 66 91.6591 800 1 0 -101.885 -20.05 -176.136 + 66 41.9347 801 1 0 -102.094 -19.85 -176.234 + 66 92.2654 700 5 1 -40.05 -8.35838 -54.5361 + 66 129.09 856 5 0 -39.6487 -8.81065 -55.85 + 66 93.0437 855 5 0 -39.6144 -8.85 -55.9632 + 66 148.051 753 4 1 -29.2773 -16.9907 -84.4501 + 66 222.669 819 4 0 -29.7273 -16.2093 -85.85 + 66 68.2883 820 4 0 -29.8001 -16.0495 -86.1142 + 66 38.0668 722 3 1 -35.5008 0.710967 -114.45 + 66 112.363 723 3 1 -35.45 0.770624 -114.521 + 66 22.9704 724 3 1 -35.25 1.00399 -114.791 + 66 63.9787 909 3 0 -34.4892 1.91211 -115.85 + 66 121.694 910 3 0 -34.3765 2.05 -115.995 + 66 6.25287 911 3 0 -34.2062 2.25 -116.228 + 66 102.172 823 2 1 -15.4355 23.7813 -144.45 + 66 108.439 824 2 1 -15.25 24.026 -144.701 + 66 1.59155 1024 2 0 -14.4869 25.0429 -145.85 + 66 79.0678 1025 2 0 -14.4812 25.05 -145.858 + 66 79.3143 1026 2 0 -14.3296 25.25 -146.056 + 66 33.7263 1027 2 0 -14.2043 25.4503 -146.201 + 66 60.0057 1513 2 0 -1.84439 122.765 -146.25 + 66 65.5428 1514 2 0 -1.90719 122.95 -146.118 + 66 57.6959 1515 2 0 -1.96253 123.15 -146.002 + 66 64.203 1516 2 0 -2.01227 123.35 -145.919 + 66 241.475 881 2 1 -3.69434 128.935 -144.85 + 66 316.041 880 2 1 -3.85 129.632 -144.736 + 66 93.6228 879 2 1 -4.05 130.581 -144.648 + 66 77.7537 878 2 1 -4.25 130.852 -144.657 + 66 119.273 877 2 1 -4.45 131.036 -144.721 + 66 61.712 876 2 1 -4.65 131.261 -144.808 + 66 50.9064 1565 2 0 -6.38026 133.239 -145.85 + 66 102.467 1566 2 0 -6.46982 133.35 -145.9 + 66 71.9722 1567 2 0 -6.65549 133.55 -145.994 + 66 65.7481 1568 2 0 -6.85406 133.75 -146.107 + 66 101.192 738 1 1 -32.3417 142.273 -174.452 + 66 27.0297 737 1 1 -32.4501 142.352 -174.76 + 66 125.911 1612 1 0 -33.003 142.63 -175.85 + 66 150.972 1617 1 0 -75.2131 143.721 -176.25 + 66 92.4638 1618 1 0 -75.265 143.75 -176.16 + 66 22.712 1616 1 0 -75.1209 143.55 -175.908 + 66 269.906 525 1 1 -74.9427 143.372 -174.85 + 66 187.769 524 1 1 -75.0501 142.875 -174.622 + 66 43.6633 1653 4 1 150.855 -14.234 -84.85 + 66 27.6139 1623 4 1 144.95 -17.793 -84.6755 + 66 9.60822 1654 4 1 150.95 -14.2296 -84.8438 + 66 19.8382 1611 1 0 -33.414 142.55 -176 + 66 140.665 700 6 1 -39.8779 -8.50766 -24.45 + 66 102.387 857 6 0 -39.8668 -8.5168 -25.85 + 66 202.853 701 5 1 -39.6548 -8.74309 -54.45 + 66 133.21 703 4 1 -39.4484 -9.02162 -84.45 + 66 206.751 855 4 0 -39.4413 -9.03081 -85.85 + 66 107.836 705 2 1 -38.939 -9.39869 -144.45 + 66 125.936 853 2 0 -38.9357 -9.39088 -145.85 + 66 111.968 705 1 1 -38.8895 -9.26141 -174.45 + 66 119.45 854 1 0 -38.8769 -9.24966 -175.85 + 66 403.809 707 0 1 -38.622 -9.11169 -204.45 + 66 605.978 854 0 0 -38.5874 -9.10961 -205.85 + 66 242.728 855 0 0 -38.592 -9.05 -206.011 + 66 50.0987 787 1 1 -22.65 -12.9214 -174.774 + 66 231.596 704 3 1 -39.25 -9.24704 -114.741 + 66 243.898 1239 4 0 -106.528 68.0299 -86.25 + 66 162.77 700 4 1 -39.8806 -8.90873 -84.45 + 66 277.271 701 4 1 -39.8497 -8.94885 -84.5931 + 66 14.1083 853 4 0 -39.6053 -9.43472 -85.85 + 66 83.1019 852 4 0 -39.5981 -9.45013 -85.8925 + 66 151.693 719 3 1 -36.2395 -3.19692 -114.45 + 66 9.39417 720 3 1 -36.05 -2.80578 -114.818 + 66 55.9957 891 3 0 -35.784 -1.78205 -115.85 + 66 81.5691 892 3 0 -35.7469 -1.65 -115.987 + 66 38.8296 893 3 0 -35.6898 -1.45 -116.172 +Number of digits in this event: 45 +Using G4ParticleGun... +Particle energy: 7.12092 LIN Particle: gamma Event: 67 Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 8.49037 LIN +Particle energy: 3.30192 LIN Particle: gamma Event: 68 -Number of tracker hits in this event: 71 - 68 230.277 379 6 1 -104.246 -17.9442 -24.45 - 68 265.189 810 6 0 -104.239 -17.9496 -25.85 - 68 105.534 380 5 1 -104.032 -18.0336 -54.45 - 68 508.308 810 5 0 -104.02 -18.0129 -55.85 - 68 120.682 382 4 1 -103.682 -17.5675 -84.45 - 68 154.094 812 4 0 -103.67 -17.5597 -85.85 - 68 122.788 383 3 1 -103.355 -17.44 -114.45 - 68 115.212 812 3 0 -103.366 -17.4843 -115.85 - 68 148.463 383 2 1 -103.496 -18.0469 -144.451 - 68 445.086 809 2 0 -103.521 -18.1247 -145.85 - 68 256.882 379 1 1 -104.312 -19.4643 -174.45 - 68 116.636 802 1 0 -104.4 -19.4766 -175.85 - 68 21.8768 371 0 1 -105.946 -20.0021 -204.45 - 68 129.671 370 0 1 -105.95 -20 -204.509 - 68 234.165 800 0 0 -106.054 -19.9618 -205.85 - 68 225.728 814 2 0 -103.142 -17.2359 -145.91 - 68 300.134 385 1 1 -103.036 -16.9742 -174.45 - 68 242.529 815 1 0 -103.094 -16.9665 -175.85 - 68 119.031 379 0 1 -104.173 -16.5172 -204.45 - 68 149.015 817 0 0 -104.232 -16.4805 -205.85 - 68 130.692 384 1 1 -103.2 -17.1266 -174.45 - 68 585.93 378 0 1 -104.526 -15.7009 -204.45 - 68 44.7216 821 0 0 -104.564 -15.6543 -205.85 - 68 64.7492 822 0 0 -104.566 -15.65 -206.012 - 68 0.148095 1161 4 0 -115.734 52.4492 -86.25 - 68 240.235 1162 4 0 -115.735 52.45 -86.2493 - 68 3.64343 1163 4 0 -115.858 52.65 -85.8658 - 68 204.34 318 4 1 -116.445 53.022 -84.85 - 68 154.443 317 4 1 -116.55 53.0912 -84.699 - 68 147.666 319 4 1 -116.35 53.4763 -84.5843 - 68 61.7199 320 4 1 -116.15 53.4848 -84.7308 - 68 35.0568 1164 4 0 -116.209 52.9281 -85.85 - 68 6.62187 316 4 1 -116.854 48.747 -84.85 - 68 0.411018 1061 4 0 -128.67 32.3161 -85.85 - 68 0.79082 235 4 1 -133.108 24.3536 -84.85 - 68 39.5311 1016 4 0 -136.528 23.3825 -85.85 - 68 130.253 209 4 1 -138.32 23.9313 -84.85 - 68 7.66044 592 2 1 -61.65 143.342 -144.805 - 68 5.58381 1174 3 0 -177.924 54.9314 -116.25 - 68 417.902 379 5 1 -104.246 -17.9501 -54.45 - 68 283.756 379 4 1 -104.287 -17.9841 -84.45 - 68 380.416 810 4 0 -104.288 -17.9882 -85.85 - 68 101.885 379 3 1 -104.327 -18.0722 -114.45 - 68 429.817 809 3 0 -104.329 -18.0777 -115.85 - 68 94.9765 378 2 1 -104.377 -18.1929 -144.45 - 68 172.408 378 1 1 -104.409 -18.2968 -174.45 - 68 142.903 808 1 0 -104.412 -18.3007 -175.85 - 68 270.606 808 0 0 -104.495 -18.385 -205.85 - 68 109.153 807 0 0 -104.594 -18.4734 -205.85 - 68 68.2429 810 3 0 -104.275 -18.05 -116.205 - 68 178.671 378 4 1 -104.365 -17.9852 -84.45 - 68 227.795 378 3 1 -104.418 -18.1196 -114.45 - 68 124.845 379 2 1 -104.342 -18.121 -144.45 - 68 128.278 809 1 0 -104.309 -18.1014 -175.85 - 68 126.016 380 0 1 -104.072 -18.1527 -204.45 - 68 108.16 809 0 0 -104.05 -18.1492 -205.85 - 68 119.749 737 2 1 -32.5512 -64.7913 -144.85 - 68 189.721 380 3 1 -104.13 -17.7042 -114.45 - 68 124.993 811 3 0 -104.126 -17.6977 -115.85 - 68 97.6257 380 2 1 -104.041 -17.5613 -144.45 - 68 177.682 812 2 0 -104.038 -17.5549 -145.85 - 68 126.44 380 1 1 -103.975 -17.4233 -174.45 - 68 125.118 813 1 0 -103.972 -17.4147 -175.85 - 68 115.749 381 0 1 -103.914 -17.2441 -204.45 - 68 136.604 814 0 0 -103.912 -17.2362 -205.85 - 68 187.212 652 11 0 86.8013 -49.5194 123.75 - 68 90.9276 1333 3 1 86.85 95.2108 -114.729 - 68 9.93959 813 0 0 -103.861 -17.25 -205.854 - 68 111.236 383 0 1 -103.398 -17.7083 -204.85 - 68 93.1127 382 0 1 -103.55 -17.6511 -204.772 - 68 158.341 811 2 0 -103.983 -17.6501 -146.071 -Number of digits in this event: 45 +Number of tracker hits in this event: 9 + 68 241.293 638 2 1 -52.4331 71.7458 -144.45 + 68 246.333 1258 2 0 -52.4304 71.7477 -145.85 + 68 365.957 638 1 1 -52.3341 71.7859 -174.45 + 68 236.491 1258 1 0 -52.3253 71.7895 -175.85 + 68 134.695 639 0 1 -52.1605 71.8854 -204.45 + 68 200.171 1259 0 0 -52.1479 71.889 -205.85 + 68 110.222 897 5 0 97.9607 -0.45 -56.1954 + 68 108.303 638 0 1 -52.3533 71.7455 -204.45 + 68 164.487 1258 0 0 -52.3515 71.7481 -205.85 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 3.70145 LIN +Particle energy: 9.39506 LIN Particle: gamma Event: 69 -Number of tracker hits in this event: 5 - 69 106.799 666 7 0 5.9204 -46.6723 3.75 - 69 59.3631 1518 6 0 28.7355 123.75 -26.2083 - 69 43.1458 1400 4 0 20.4338 100.26 -85.85 - 69 71.1109 1043 6 1 28.8121 124.177 -24.85 - 69 93.6189 1044 6 1 28.8502 124.053 -24.6972 -Number of digits in this event: 1 +Number of tracker hits in this event: 0 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 9.43668 LIN +Particle energy: 8.76758 LIN Particle: gamma Event: 70 -Number of tracker hits in this event: 3 - 70 199.876 1164 1 0 -120.486 52.9366 -176.25 - 70 66.8987 503 2 0 -29.1766 -79.427 -146.25 - 70 57.6434 1385 10 1 97.178 98.2734 95.15 -Number of digits in this event: 4 +Number of tracker hits in this event: 66 + 70 238.735 187 7 1 -142.697 -42.9076 5.55 + 70 270.404 685 7 0 -142.697 -42.9076 4.15 + 70 99.0566 187 6 1 -142.694 -42.9077 -24.45 + 70 154.296 685 6 0 -142.694 -42.9087 -25.85 + 70 169.208 187 5 1 -142.689 -42.9286 -54.45 + 70 110.904 685 5 0 -142.69 -42.93 -55.85 + 70 124.506 187 4 1 -142.708 -42.9614 -84.45 + 70 129.625 685 4 0 -142.709 -42.9629 -85.85 + 70 110.07 187 3 1 -142.737 -42.9951 -114.45 + 70 112.002 685 3 0 -142.738 -42.9963 -115.85 + 70 102.852 186 2 1 -142.767 -43.0187 -144.45 + 70 113.498 685 2 0 -142.768 -43.0204 -145.85 + 70 212.561 186 1 1 -142.785 -43.0532 -174.45 + 70 159.803 684 1 0 -142.785 -43.0545 -175.85 + 70 203.469 186 0 1 -142.786 -43.0812 -204.45 + 70 109.161 684 0 0 -142.787 -43.0827 -205.85 + 70 44.3982 813 1 1 -17.45 10.9318 -174.74 + 70 145.068 814 1 1 -17.25 10.9704 -174.587 + 70 11.8537 960 1 0 -17.7869 12.2185 -175.85 + 70 90.2147 961 1 0 -17.7937 12.2502 -175.878 + 70 59.1332 962 1 0 -17.9013 12.45 -176.08 + 70 89.2698 1023 1 0 -53.466 24.8077 -176.25 + 70 117.009 1022 1 0 -53.585 24.65 -176.066 + 70 327.398 821 1 0 -47.2924 -15.7336 -176.25 + 70 57.9499 1325 9 0 150.924 85.1908 63.75 + 70 61.0778 1326 9 0 150.95 85.25 63.9626 + 70 292.651 1655 9 1 151.18 85.5365 65.1507 + 70 16.8735 1656 9 1 151.35 85.6709 65.4933 + 70 5.31939 1654 9 1 151.15 85.9605 65.1642 + 70 55.8446 1332 9 0 150.489 86.5819 64.15 + 70 56.904 1333 9 0 150.466 86.6509 64.0484 + 70 215.297 1334 9 0 150.571 86.8502 64.0139 + 70 310.787 1380 9 0 137.506 96.279 63.75 + 70 205.852 187 0 1 -142.69 -42.9086 -204.45 + 70 299.614 683 0 0 -143.061 -43.302 -205.85 + 70 118.03 685 0 0 -142.545 -42.9497 -205.85 + 70 147.85 188 6 1 -142.356 -43.0298 -24.45 + 70 122.257 684 6 0 -142.351 -43.05 -25.9189 + 70 99.7433 189 5 1 -142.289 -43.4845 -54.45 + 70 162.97 682 5 0 -142.277 -43.528 -55.85 + 70 110.769 190 4 1 -142.068 -44.2972 -84.45 + 70 144.914 678 4 0 -141.975 -44.4168 -85.85 + 70 9.5858 677 4 0 -141.949 -44.45 -86.2391 + 70 118.139 200 3 1 -140.059 -46.8739 -114.45 + 70 114.331 665 3 0 -139.996 -47.0152 -115.85 + 70 9.90746 664 3 0 -139.98 -47.05 -116.196 + 70 115.922 207 2 1 -138.717 -49.9659 -144.45 + 70 110.258 649 2 0 -138.647 -50.0772 -145.85 + 70 380.872 214 1 1 -137.242 -52.4012 -174.45 + 70 161.416 637 1 0 -137.171 -52.519 -175.85 + 70 110.412 222 0 1 -135.714 -54.995 -204.45 + 70 124.506 624 0 0 -135.618 -55.1299 -205.85 + 70 82.8943 213 1 1 -137.35 -52.9271 -174.48 + 70 139.224 187 1 1 -142.677 -48.4993 -174.45 + 70 28.1373 655 1 0 -143.172 -49.0205 -175.85 + 70 130.48 654 1 0 -143.199 -49.05 -175.928 + 70 72.4707 138 0 1 -152.447 -62.6604 -204.45 + 70 139.581 137 0 1 -152.55 -62.8028 -204.577 + 70 42.0688 580 0 0 -153.4 -63.9621 -205.85 + 70 116.875 579 0 0 -153.463 -64.05 -205.943 + 70 37.3234 578 0 0 -153.612 -64.25 -206.159 + 70 68.3371 188 1 1 -142.55 -48.4162 -174.661 + 70 95.1698 658 1 0 -142.517 -48.3681 -175.85 + 70 143.377 195 0 1 -141.101 -46.4312 -204.45 + 70 40.0159 669 0 0 -140.754 -46.0926 -205.85 + 70 86.822 670 0 0 -140.711 -46.05 -206.016 +Number of digits in this event: 29 Using G4ParticleGun... -Particle energy: 8.46282 LIN +Particle energy: 8.77079 LIN Particle: gamma Event: 71 -Number of tracker hits in this event: 58 - 71 289.687 569 9 1 -66.0962 -52.104 65.55 - 71 264.259 639 9 0 -66.0639 -52.085 64.15 - 71 140.277 572 8 1 -65.4512 -51.802 35.55 - 71 124.496 641 8 0 -65.4582 -51.7553 34.15 - 71 158.708 572 7 1 -65.5067 -50.7445 5.55 - 71 132.352 646 7 0 -65.5333 -50.7397 4.15 - 71 254.273 569 6 1 -66.1048 -50.6436 -24.45 - 71 120.445 646 6 0 -66.1507 -50.6569 -25.85 - 71 153.356 564 5 1 -67.116 -51.0299 -54.45 - 71 235.572 644 5 0 -67.1722 -51.0585 -55.85 - 71 122.565 558 4 1 -68.3016 -51.6804 -84.45 - 71 233.26 641 4 0 -68.3695 -51.7028 -85.85 - 71 107.081 551 3 1 -69.6839 -52.1675 -114.45 - 71 159.07 639 3 0 -69.7861 -52.1829 -115.85 - 71 112.321 539 2 1 -72.1769 -52.4307 -144.45 - 71 126.467 637 2 0 -72.293 -52.4652 -145.85 - 71 105.439 526 1 1 -74.6757 -53.1681 -174.45 - 71 197.9 634 1 0 -74.7502 -53.1689 -175.85 - 71 221.352 518 0 1 -76.4049 -53.2346 -204.45 - 71 114.553 634 0 0 -76.3967 -53.2306 -205.85 - 71 91.5585 645 5 0 -67.1041 -51.05 -55.9929 - 71 130.535 569 8 1 -66.115 -52.1022 35.55 - 71 310.878 639 8 0 -66.1145 -52.1008 34.15 - 71 105.945 569 7 1 -66.1031 -52.0713 5.55 - 71 198.655 639 7 0 -66.1028 -52.0695 4.15 - 71 103.411 640 6 0 -66.0955 -52.0313 -25.85 - 71 108.118 569 5 1 -66.1119 -51.9889 -54.45 - 71 119.326 640 5 0 -66.1107 -51.9891 -55.85 - 71 100.922 569 4 1 -66.0826 -51.9913 -84.45 - 71 138.748 640 4 0 -66.0789 -51.991 -85.85 - 71 107.631 570 3 1 -65.998 -51.9839 -114.45 - 71 173.761 640 3 0 -65.9947 -51.9831 -115.85 - 71 127.443 570 2 1 -65.9879 -51.9011 -144.45 - 71 118.829 640 2 0 -65.9993 -51.907 -145.85 - 71 482.051 569 1 1 -66.236 -52.0452 -174.45 - 71 142.328 639 1 0 -66.2687 -52.0552 -175.85 - 71 187.971 565 0 1 -66.9429 -52.2538 -204.45 - 71 121.017 638 0 0 -66.9877 -52.2879 -205.85 - 71 153.357 1315 12 1 83.05 -30.8296 155.299 - 71 50.325 1313 12 1 82.85 -30.7224 155.272 - 71 138.368 1314 12 1 83.05 -30.7255 155.499 - 71 169.512 1336 9 0 34.6402 87.2999 63.7503 - 71 137.684 1072 9 1 34.562 87.1644 65.15 - 71 78.5257 1071 9 1 34.45 87.1417 65.2938 - 71 305.557 1073 9 1 34.6501 87.1514 65.4457 - 71 461.377 641 1 0 -66.1904 -51.8184 -175.85 - 71 109.31 569 0 1 -66.1409 -51.8092 -204.45 - 71 250.834 641 0 0 -66.1394 -51.8115 -205.85 - 71 101.636 568 1 1 -66.25 -51.7706 -174.826 - 71 326.852 571 0 1 -65.7334 -51.7952 -204.45 - 71 442.798 639 0 0 -65.5735 -52.1044 -205.85 - 71 85.7156 640 0 0 -65.7297 -52.0201 -205.85 - 71 242.121 570 1 1 -65.9925 -51.8886 -174.49 - 71 80.6334 564 0 1 -67.05 -51.9689 -204.604 - 71 126.906 640 1 0 -65.9928 -51.897 -175.85 - 71 117.43 570 0 1 -65.8764 -52.4245 -204.45 - 71 112.862 602 8 0 -43.2623 -59.6418 33.75 - 71 22.6764 601 8 0 -43.2669 -59.65 33.7571 -Number of digits in this event: 39 +Number of tracker hits in this event: 28 + 71 303.224 876 3 1 -4.67184 -75.3217 -114.45 + 71 225.316 523 3 0 -4.67207 -75.3225 -115.85 + 71 244.302 876 2 1 -4.68082 -75.3365 -144.45 + 71 288.687 523 2 0 -4.6835 -75.3395 -145.85 + 71 198.79 876 1 1 -4.75002 -75.398 -174.45 + 71 258.376 523 1 0 -4.7556 -75.4011 -175.85 + 71 147.34 875 0 1 -4.86166 -75.4656 -204.45 + 71 122.389 522 0 0 -4.86802 -75.4697 -205.85 + 71 99.7344 876 0 1 -4.75192 -75.3767 -204.45 + 71 108.717 523 0 0 -4.75199 -75.3768 -205.85 + 71 56.9356 539 1 0 54.68 -72.234 -176.25 + 71 309.398 538 1 0 54.7306 -72.25 -176.178 + 71 411.056 690 2 0 -150.148 -41.9901 -146.25 + 71 17.8036 727 2 0 -98.3346 -34.6065 -146.25 + 71 38.0025 873 1 1 -5.39443 -85.6365 -174.451 + 71 160.19 872 1 1 -5.45019 -85.6375 -174.56 + 71 15.3986 472 1 0 -6.13611 -85.4585 -175.85 + 71 109.306 473 1 0 -6.1621 -85.45 -175.9 + 71 1.86701 923 1 0 -4.54395 4.8465 -176.25 + 71 72.991 924 1 0 -4.54367 4.8505 -176.248 + 71 104.87 925 1 0 -4.54639 5.05 -176.11 + 71 135.25 926 1 0 -4.74759 5.25 -175.945 + 71 23.9568 927 1 0 -4.81029 5.45 -175.884 + 71 90.8418 934 1 0 -5.75045 6.85527 -175.85 + 71 300.848 935 1 0 -5.77577 7.05 -175.956 + 71 175.736 903 1 0 -173.878 0.681036 -176.25 + 71 109.585 902 0 1 0.59074 -100.547 -204.45 + 71 157.143 399 0 0 0.540939 -100.311 -205.85 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 9.1935 LIN +Particle energy: 1.42746 LIN Particle: gamma Event: 72 -Number of tracker hits in this event: 31 - 72 323.17 760 6 1 -27.9816 86.7396 -24.45 - 72 533.302 1333 6 0 -27.9838 86.7365 -25.85 - 72 257.464 760 5 1 -28.0299 86.6744 -54.45 - 72 267.439 1333 5 0 -28.0315 86.6917 -55.85 - 72 135.385 757 4 1 -28.5636 87.2224 -84.45 - 72 117.33 1336 4 0 -28.6466 87.2697 -85.85 - 72 226.055 748 3 1 -30.4138 88.1747 -114.45 - 72 157.589 1340 3 0 -30.4068 88.1486 -115.85 - 72 144.892 749 2 1 -30.2091 87.6882 -144.45 - 72 126.928 1338 2 0 -30.2686 87.7652 -145.85 - 72 178.422 742 1 1 -31.4729 89.2919 -174.45 - 72 127.302 1346 1 0 -31.4563 89.3477 -175.85 - 72 141.121 746 0 1 -30.6801 90.5835 -204.45 - 72 76.9801 1352 0 0 -30.7307 90.7101 -205.85 - 72 34.5271 1353 0 0 -30.7367 90.75 -206.136 - 72 58.1646 1483 0 0 -39.5437 116.884 -206.25 - 72 127.946 749 3 1 -30.25 88.337 -114.626 - 72 199.813 750 3 1 -30.0496 88.3985 -114.657 - 72 83.0836 827 0 1 -14.5744 84.1595 -204.85 - 72 49.1841 828 0 1 -14.45 84.1046 -204.63 - 72 147.776 760 4 1 -28.0242 86.7495 -84.45 - 72 124.658 1333 4 0 -28.025 86.7492 -85.85 - 72 213.498 760 3 1 -28.0404 86.7399 -114.45 - 72 139.764 1333 3 0 -28.0416 86.7386 -115.85 - 72 128.381 759 2 1 -28.0678 86.7112 -144.45 - 72 149.354 1333 2 0 -28.067 86.7121 -145.85 - 72 120.514 760 1 1 -28.0486 86.7308 -174.45 - 72 163.722 1333 1 0 -28.0481 86.7327 -175.85 - 72 205.444 760 0 1 -28.0447 86.7681 -204.45 - 72 106.718 1333 0 0 -28.0473 86.7763 -205.85 - 72 45.2982 310 8 1 -118.002 168.843 35.15 -Number of digits in this event: 26 +Number of tracker hits in this event: 3 + 72 2.80589 1625 3 0 163.257 145.15 -116.183 + 72 181.879 1626 3 0 163.427 145.351 -116.081 + 72 258.016 1277 3 1 75.5433 -163.728 -114.45 +Number of digits in this event: 5 Using G4ParticleGun... -Particle energy: 5.34913 LIN +Particle energy: 8.09497 LIN Particle: gamma Event: 73 -Number of tracker hits in this event: 1 - 73 9.7666 990 0 1 18.05 77.9897 -204.572 +Number of tracker hits in this event: 0 Number of digits in this event: 1 Using G4ParticleGun... -Particle energy: 9.53846 LIN +Particle energy: 2.86454 LIN Particle: gamma Event: 74 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 7 + 74 285.712 836 1 1 -12.8408 95.5243 -174.45 + 74 292.262 1376 1 0 -12.8416 95.5281 -175.85 + 74 158.965 835 0 1 -12.8782 95.5917 -204.45 + 74 127.74 1377 0 0 -12.876 95.6045 -205.85 + 74 99.5244 836 0 1 -12.8103 95.5415 -204.45 + 74 115.684 1376 0 0 -12.8067 95.5367 -205.85 + 74 90.2457 1391 0 0 62.8073 98.4011 -206.25 +Number of digits in this event: 6 Using G4ParticleGun... -Particle energy: 8.24459 LIN +Particle energy: 2.42787 LIN Particle: gamma Event: 75 -Number of tracker hits in this event: 13 - 75 220.835 1056 2 1 31.366 -45.1488 -144.45 - 75 320.268 674 2 0 31.3664 -45.1496 -145.85 - 75 136.428 1056 1 1 31.3693 -45.165 -174.45 - 75 137.373 674 1 0 31.3695 -45.1644 -175.85 - 75 99.3295 1056 0 1 31.374 -45.16 -204.45 - 75 113.788 674 0 0 31.3745 -45.1586 -205.85 - 75 125.584 1057 1 1 31.4845 -44.9097 -174.45 - 75 110.303 675 1 0 31.4968 -44.9007 -175.85 - 75 131.221 1058 0 1 31.7536 -44.6733 -204.45 - 75 301.905 676 0 0 31.7644 -44.6638 -205.85 - 75 67.5012 720 2 1 -35.8558 -168.532 -144.85 - 75 8.3898 695 4 1 -40.8927 -176.829 -84.45 - 75 0.110085 888 1 1 -2.45 -153.379 -174.721 -Number of digits in this event: 9 +Number of tracker hits in this event: 128 + 75 325.148 1182 11 1 56.5754 -11.394 125.528 + 75 455.579 843 11 0 56.5588 -11.3859 124.15 + 75 145.315 1180 10 1 56.1879 -11.25 95.55 + 75 115.486 844 10 0 56.1742 -11.2443 94.15 + 75 125.425 1179 9 1 55.8829 -11.1307 65.55 + 75 149.1 844 9 0 55.8722 -11.1268 64.15 + 75 116.672 1178 8 1 55.7027 -11.0032 35.55 + 75 136.688 845 8 0 55.7025 -10.9878 34.15 + 75 125.937 1177 7 1 55.6471 -10.6745 5.55 + 75 62.9759 846 7 0 55.6358 -10.6519 4.15 + 75 70.4376 847 7 0 55.6348 -10.65 4.02777 + 75 127.04 1176 6 1 55.3302 -10.1478 -24.45 + 75 100.811 849 6 0 55.3062 -10.1319 -25.85 + 75 99.5768 1173 5 1 54.7779 -9.81967 -54.45 + 75 127.127 851 5 0 54.7438 -9.8118 -55.85 + 75 133.169 1169 4 1 54.0399 -9.70984 -84.45 + 75 111.844 851 4 0 54.0029 -9.7123 -85.85 + 75 104.34 1166 3 1 53.2727 -9.74501 -114.45 + 75 113.308 851 3 0 53.2351 -9.74178 -115.85 + 75 128.688 1162 2 1 52.479 -9.71108 -144.45 + 75 147.711 851 2 0 52.4545 -9.70134 -145.85 + 75 104.606 1159 1 1 51.9506 -9.48301 -174.45 + 75 112.765 852 1 0 51.9247 -9.48976 -175.85 + 75 114.034 1156 0 1 51.4435 -9.66924 -204.45 + 75 121.331 851 0 0 51.4145 -9.68008 -205.85 + 75 131.74 852 0 0 51.3974 -9.65 -205.912 + 75 0.313615 853 0 0 51.3616 -9.45 -205.851 + 75 48.6717 1159 0 1 51.983 -9.14827 -204.85 + 75 178.974 1160 0 1 52.05 -9.15052 -204.806 + 75 119.156 1167 3 1 53.635 -9.40933 -114.45 + 75 10.5301 1168 3 1 53.65 -9.35328 -114.836 + 75 223.132 854 3 0 53.6828 -9.19393 -115.85 + 75 107.515 1168 2 1 53.802 -4.01171 -144.45 + 75 174.068 881 2 0 53.8676 -3.72436 -145.85 + 75 5.81715 882 2 0 53.8791 -3.64991 -146.227 + 75 79.2249 1171 1 1 54.3931 1.68446 -174.45 + 75 23.0727 1172 1 1 54.45 1.74687 -174.752 + 75 52.2711 909 1 0 54.6675 2.00765 -175.85 + 75 71.6031 910 1 0 54.7033 2.05 -176.016 + 75 14.3334 1204 0 1 61.0393 10.1636 -204.45 + 75 103.494 1205 0 1 61.05 10.1717 -204.487 + 75 122.555 952 0 0 61.4535 10.4738 -205.85 + 75 164.711 1182 10 1 56.5889 -11.4127 95.55 + 75 122.865 843 10 0 56.5862 -11.4214 94.15 + 75 121.616 1182 9 1 56.5674 -11.62 65.55 + 75 111.976 842 9 0 56.5701 -11.6315 64.15 + 75 141.359 1182 8 1 56.6131 -11.8648 35.55 + 75 214.181 840 8 0 56.6154 -11.8923 34.15 + 75 136.625 1183 7 1 56.7163 -12.3982 5.55 + 75 116.938 838 7 0 56.7465 -12.4372 4.15 + 75 110.337 1186 6 1 57.4091 -13.293 -24.45 + 75 88.9042 833 6 0 57.4265 -13.3013 -25.85 + 75 112.38 1188 5 1 57.8147 -13.3766 -54.45 + 75 306.772 833 5 0 57.7768 -13.3571 -55.85 + 75 134.962 1185 4 1 57.0952 -12.8337 -84.45 + 75 116.896 836 4 0 57.0725 -12.8182 -85.85 + 75 237.363 1182 3 1 56.5291 -12.4216 -114.45 + 75 121.526 838 3 0 56.4794 -12.3885 -115.85 + 75 98.0443 1175 2 1 55.1445 -12.1865 -144.45 + 75 260.534 839 2 0 55.143 -12.2173 -145.85 + 75 230.561 1175 1 1 55.2261 -13.0103 -174.45 + 75 140.207 835 1 0 55.1731 -13.0355 -175.85 + 75 117.69 1170 0 1 54.2407 -13.6174 -204.45 + 75 113.973 832 0 0 54.2071 -13.6444 -205.85 + 75 50.9279 831 0 0 54.2 -13.65 -206.128 + 75 21.783 1181 3 1 56.45 -12.5711 -114.798 + 75 31.3011 830 3 0 55.4635 -13.989 -115.85 + 75 76.8255 829 3 0 55.4214 -14.05 -115.89 + 75 116.797 828 3 0 55.2997 -14.25 -116.018 + 75 91.0959 827 3 0 55.1903 -14.45 -116.172 + 75 142.667 448 3 0 -59.2356 -90.4597 -116.25 + 75 124.943 449 3 0 -59.2317 -90.35 -116.039 + 75 198.562 600 3 1 -59.8811 -91.4091 -114.85 + 75 9.17834 601 3 1 -59.85 -91.768 -114.739 + 75 153.202 444 3 0 -61.4125 -91.2945 -115.85 + 75 2.20957 443 3 0 -61.6854 -91.35 -115.884 + 75 27.1695 584 3 1 -63.2184 -90.9 -114.85 + 75 188.793 583 3 1 -63.2504 -90.9075 -114.827 + 75 25.9758 630 0 0 79.5387 -53.85 -206.095 + 75 48.5359 763 3 0 -164.945 -27.4394 -116.25 + 75 168.589 762 3 0 -165.03 -27.45 -116.203 + 75 188.274 14 5 0 162.41 -177.338 -55.85 + 75 6.75765 1191 4 1 58.2641 -13.6127 -84.45 + 75 107.921 1190 4 1 58.25 -13.6121 -84.471 + 75 11.9692 1189 4 1 58.0499 -13.7085 -84.8248 + 75 184.183 828 4 0 57.5571 -14.2554 -85.8507 + 75 24.3212 827 4 0 57.3847 -14.45 -86.1856 + 75 110.015 839 8 0 56.4987 -12.05 33.8264 + 75 2.6513 1183 8 1 56.8473 -12.4732 35.15 + 75 86.3322 1184 8 1 56.85 -12.4746 35.1562 + 75 435.158 1185 8 1 57.05 -12.4866 35.3343 + 75 134.718 1167 7 1 53.61 -5.22985 5.55 + 75 11.0838 1166 7 1 53.4498 -5.12163 5.18081 + 75 98.5452 875 7 0 52.7832 -4.89327 4.14962 + 75 17.0316 876 7 0 52.6375 -4.85 3.82766 + 75 5.03466 843 8 0 53.922 -11.3524 34.15 + 75 5.51877 839 6 0 56.5184 -12.055 -25.85 + 75 37.0615 840 6 0 56.5179 -12.05 -26.1295 + 75 71.4296 1203 5 1 60.6992 -0.896548 -54.4503 + 75 117.923 1204 5 1 60.85 -1.01244 -54.6469 + 75 20.8483 892 5 0 61.7334 -1.62798 -55.85 + 75 187.305 891 5 0 61.7618 -1.65015 -55.8905 + 75 8.37888 890 5 0 61.919 -1.85 -56.213 + 75 2.52601 947 5 0 92.5547 9.64543 -56.25 + 75 83.061 948 5 0 92.5591 9.65 -56.2451 + 75 103.078 949 5 0 92.6 9.85 -56.0461 + 75 73.6725 1362 5 1 92.7439 10.1778 -54.8488 + 75 174.192 1363 5 1 92.75 10.1883 -54.8091 + 75 233.641 1364 5 1 92.95 10.4653 -54.6472 + 75 288.603 1357 5 1 91.7274 10.0737 -54.85 + 75 4.10624 963 5 1 12.85 4.70141 -54.5807 + 75 240.233 1188 3 1 57.6946 -11.6568 -114.45 + 75 244.21 841 3 0 57.7115 -11.661 -115.85 + 75 175.279 1190 2 1 58.0601 -11.7831 -144.45 + 75 114.226 841 2 0 58.0645 -11.7962 -145.85 + 75 149.428 1190 1 1 58.1443 -12.0718 -174.45 + 75 134.779 839 1 0 58.1485 -12.0892 -175.85 + 75 321.939 1190 0 1 58.18 -12.4399 -204.45 + 75 137.574 837 0 0 58.1741 -12.4617 -205.85 + 75 124.244 1184 0 1 57.0259 -14.7633 -204.85 + 75 163.775 803 0 0 56.2167 -19.2566 -205.85 + 75 13.959 1177 0 1 55.4651 -19.8682 -204.85 + 75 201.115 1176 0 1 55.45 -19.881 -204.843 + 75 168.309 1187 2 1 57.63 -12.1529 -144.45 + 75 163.467 1191 1 1 58.2666 -11.8866 -174.45 + 75 109.464 840 1 0 58.2559 -11.8608 -175.85 + 75 142.777 844 0 0 58.0537 -11.1877 -205.85 + 75 270.707 1188 2 1 57.65 -12.2203 -144.704 +Number of digits in this event: 62 Using G4ParticleGun... -Particle energy: 3.08031 LIN +Particle energy: 6.68378 LIN Particle: gamma Event: 76 -Number of tracker hits in this event: 3 - 76 51.4225 895 2 1 -0.85 0.5474 -144.739 - 76 70.3601 894 2 1 -1.05 0.615024 -144.547 - 76 193.862 1773 6 1 174.75 -158.048 -24.6283 -Number of digits in this event: 3 +Number of tracker hits in this event: 22 + 76 225.635 1339 3 1 87.9598 79.0326 -114.45 + 76 244.932 1294 3 0 87.9604 79.0319 -115.85 + 76 535.879 1339 2 1 87.9766 79.0141 -144.45 + 76 297.157 1294 2 0 87.9773 79.012 -145.85 + 76 419.485 1339 1 1 87.997 78.9749 -174.45 + 76 300.6 1294 1 0 87.9974 78.9782 -175.85 + 76 271.547 1339 0 1 88.0021 79.0441 -204.45 + 76 253.924 1294 0 0 88.0052 79.0464 -205.85 + 76 19.594 1340 1 1 88.05 78.9255 -174.777 + 76 42.4147 1292 1 0 88.682 78.5047 -175.85 + 76 135.709 1291 1 0 88.726 78.45 -175.934 + 76 49.6272 1140 1 0 167.582 48.1699 -176.25 + 76 64.4632 1282 1 0 87.6016 76.6367 -175.85 + 76 102.155 1281 1 0 87.5621 76.45 -175.942 + 76 90.9345 1280 1 0 87.3804 76.25 -175.94 + 76 53.7441 1279 1 0 87.156 76.0498 -175.913 + 76 135.918 1333 1 1 86.8071 76.1602 -174.85 + 76 218.917 1332 1 1 86.65 76.2181 -174.733 + 76 128.13 1318 8 0 -5.4893 83.8303 33.75 + 76 95.7957 1295 2 0 87.9612 79.05 -146.18 + 76 133.181 1338 1 1 87.8373 78.883 -174.45 + 76 39.4995 1338 0 1 87.85 78.9298 -204.724 +Number of digits in this event: 15 Using G4ParticleGun... -Particle energy: 8.46076 LIN +Particle energy: 7.81052 LIN Particle: gamma Event: 77 -Number of tracker hits in this event: 110 - 77 295.519 702 10 1 -39.5996 -60.2239 95.55 - 77 269.748 599 10 0 -39.6026 -60.2232 94.15 - 77 114.263 701 9 1 -39.6602 -60.2131 65.55 - 77 205.417 599 9 0 -39.6734 -60.2149 64.15 - 77 198.676 700 8 1 -39.9234 -60.2269 35.55 - 77 234.071 599 8 0 -39.9386 -60.2182 34.15 - 77 81.8021 699 7 1 -40.2456 -60.0402 5.55 - 77 52.6452 698 7 1 -40.25 -60.0387 5.27631 - 77 95.3587 600 7 0 -40.2657 -60.0342 4.15 - 77 118.92 696 6 1 -40.6897 -59.9258 -24.45 - 77 259.272 600 6 0 -40.7106 -59.919 -25.85 - 77 131.925 694 5 1 -41.1347 -59.7811 -54.45 - 77 240.941 601 5 0 -41.1631 -59.773 -55.85 - 77 109.324 691 4 1 -41.7681 -59.5876 -84.45 - 77 205.822 602 4 0 -41.8025 -59.5691 -85.85 - 77 282.965 687 3 1 -42.5151 -59.1571 -114.45 - 77 120.515 604 3 0 -42.5438 -59.1387 -115.85 - 77 123.402 684 2 1 -43.1404 -58.7957 -144.45 - 77 119.16 606 2 0 -43.165 -58.7836 -145.85 - 77 108.659 681 1 1 -43.7045 -58.5847 -174.45 - 77 144.572 607 1 0 -43.7234 -58.5606 -175.85 - 77 115.673 680 0 1 -44.0329 -58.0891 -204.45 - 77 516.164 609 0 0 -44.0397 -58.0741 -205.85 - 77 218.852 701 8 1 -39.6789 -60.2522 35.55 - 77 300.043 598 8 0 -39.6614 -60.3173 34.15 - 77 127.49 704 7 1 -39.1895 -61.8858 5.55 - 77 61.5087 590 7 0 -39.1953 -62.0326 4.15 - 77 64.8366 589 7 0 -39.1962 -62.05 3.9754 - 77 105.958 705 6 1 -38.9521 -64.5063 -24.45 - 77 157.279 577 6 0 -38.9241 -64.5086 -25.85 - 77 115.104 709 5 1 -38.1747 -64.7141 -54.45 - 77 167.323 577 5 0 -38.1828 -64.6336 -55.85 - 77 305.29 709 4 1 -38.1034 -63.1068 -84.45 - 77 136.45 585 4 0 -38.124 -62.9393 -85.8502 - 77 354.865 707 3 1 -38.6006 -59.7255 -114.45 - 77 8.09219 602 3 0 -38.6394 -59.4546 -115.85 - 77 270.996 603 3 0 -38.6401 -59.45 -115.873 - 77 8.88096 704 2 1 -39.2461 -53.7627 -144.45 - 77 149.94 703 2 1 -39.25 -53.7523 -144.484 - 77 87.2373 633 2 0 -39.4139 -53.3241 -145.85 - 77 103.94 634 2 0 -39.4442 -53.25 -146.084 - 77 11.3931 685 1 1 -43.0396 -43.9415 -174.45 - 77 124.947 684 1 1 -43.05 -43.9144 -174.496 - 77 25.9707 684 1 0 -43.3566 -43.1069 -175.85 - 77 155.322 685 1 0 -43.378 -43.05 -175.945 - 77 26.7411 653 0 1 -49.4413 -25.5111 -204.45 - 77 84.1484 652 0 1 -49.45 -25.4678 -204.549 - 77 47.2709 775 0 0 -49.5693 -24.919 -205.85 - 77 70.2401 776 0 0 -49.5836 -24.85 -206.016 - 77 99.5847 703 7 1 -39.3882 -60.5599 5.55 - 77 148.634 597 7 0 -39.3724 -60.5976 4.15 - 77 114.555 704 6 1 -39.0804 -61.3756 -24.45 - 77 125.259 593 6 0 -39.0454 -61.4283 -25.85 - 77 129.832 708 5 1 -38.4372 -62.4841 -54.45 - 77 158.168 587 5 0 -38.4264 -62.5758 -55.85 - 77 163.502 577 4 0 -38.1926 -64.5912 -85.85 - 77 12.1009 565 3 0 -38.5376 -67.0435 -115.85 - 77 91.8391 564 3 0 -38.5388 -67.05 -115.919 - 77 293.2 705 2 1 -39.01 -69.7268 -144.45 - 77 13.1724 551 2 0 -39.0248 -69.8471 -145.85 - 77 143.699 550 2 0 -39.0251 -69.85 -145.883 - 77 121.275 704 1 1 -39.2486 -72.3616 -174.45 - 77 113.514 537 1 0 -39.2382 -72.4728 -175.85 - 77 221.747 705 0 1 -38.8752 -74.8002 -204.45 - 77 167.484 525 0 0 -38.8443 -74.9037 -205.85 - 77 139.901 526 0 0 -38.7291 -74.8232 -205.85 - 77 31.1743 511 0 0 -10.3637 -77.8233 -206.25 - 77 198.554 510 0 0 -10.2873 -77.85 -206.216 - 77 5.28321 871 5 0 -105.631 -5.67276 -56.25 - 77 93.2235 872 5 0 -105.65 -5.65 -56.1952 - 77 145.054 701 3 1 -39.843 -60.5543 -114.45 - 77 300.178 700 3 1 -39.85 -60.5583 -114.584 - 77 277.179 597 3 0 -39.9194 -60.5987 -115.85 - 77 126.845 697 2 1 -40.498 -61.0212 -144.45 - 77 115.286 595 2 0 -40.521 -61.0205 -145.85 - 77 124.121 696 1 1 -40.7798 -60.8601 -174.45 - 77 132.635 595 1 0 -40.833 -60.8782 -175.85 - 77 121.999 687 0 1 -42.616 -61.5739 -204.451 - 77 125.218 592 0 0 -42.7265 -61.5791 -205.85 - 77 84.0594 596 1 0 -40.8176 -60.8497 -176.041 - 77 97.221 614 2 0 -38.7691 -57.1842 -145.85 - 77 0.207167 734 1 1 -33.0505 -57.6578 -174.45 - 77 320.1 735 1 1 -33.05 -57.6579 -174.451 - 77 80.0687 611 1 0 -32.5113 -57.818 -175.85 - 77 40.9691 610 1 0 -32.3988 -57.85 -176.131 - 77 109.64 793 0 1 -21.4241 -61.25 -204.45 - 77 23.4339 794 0 1 -21.25 -61.2153 -204.778 - 77 59.7232 594 0 0 -20.6698 -61.0775 -205.85 - 77 93.2857 595 0 0 -20.57 -61.05 -206.034 - 77 58.9864 701 10 1 -39.65 -60.2441 95.4111 - 77 65.4443 700 10 1 -39.85 -60.2686 95.407 - 77 111.108 702 9 1 -39.5881 -60.2197 65.55 - 77 118.287 702 8 1 -39.6205 -60.2458 35.55 - 77 115.571 702 7 1 -39.6364 -60.1128 5.55 - 77 106.669 599 7 0 -39.6332 -60.1032 4.15 - 77 121.399 702 6 1 -39.5691 -59.9008 -24.45 - 77 107.146 702 5 1 -39.5886 -59.7077 -54.45 - 77 162.835 701 4 1 -39.7625 -59.558 -84.45 - 77 118.806 698 2 1 -40.32 -59.0856 -144.45 - 77 110.762 604 2 0 -40.3333 -59.0743 -145.85 - 77 117.039 697 1 1 -40.5808 -58.8207 -174.45 - 77 113.466 606 1 0 -40.5943 -58.8069 -175.85 - 77 255.621 695 0 1 -40.8667 -58.5395 -204.45 - 77 146.183 607 0 0 -40.8783 -58.5298 -205.85 - 77 148.148 611 2 0 -43.9256 -57.8149 -146.25 - 77 107.673 612 2 0 -44.1443 -57.65 -145.942 - 77 24.846 681 2 1 -43.6842 -58.0351 -144.85 - 77 203.311 682 2 1 -43.65 -58.057 -144.833 - 77 77.3932 509 0 1 -78.0589 -60.33 -204.45 - 77 8.15848 403 1 0 -17.1135 -99.35 -176.126 -Number of digits in this event: 55 +Number of tracker hits in this event: 2 + 77 32.0146 450 3 0 -78.535 -89.85 -116.152 + 77 59.5573 454 6 0 -159.173 -89.1892 -26.25 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 5.63655 LIN +Particle energy: 3.6725 LIN Particle: gamma Event: 78 -Number of tracker hits in this event: 32 - 78 283.849 455 5 1 -88.9672 -91.2307 -54.45 - 78 246.999 444 5 0 -88.9745 -91.2329 -55.85 - 78 172.635 454 4 1 -89.0863 -91.3262 -84.45 - 78 242.708 444 4 0 -89.0808 -91.3201 -85.85 - 78 312.844 455 3 1 -89.0023 -91.2014 -114.45 - 78 169.712 444 3 0 -89.0009 -91.1533 -115.85 - 78 116.152 445 3 0 -89.0007 -91.15 -115.945 - 78 42.9219 450 2 0 -89.0088 -90.05 -146.076 - 78 229.811 454 1 1 -89.0648 -88.8141 -174.45 - 78 121.259 456 1 0 -89.087 -88.7256 -175.85 - 78 108.111 452 0 1 -89.5084 -86.9569 -204.45 - 78 77.0514 465 0 0 -89.5033 -86.8677 -205.85 - 78 68.4833 466 0 0 -89.5022 -86.85 -206.132 - 78 22.0533 454 3 1 -89.05 -91.2253 -114.762 - 78 69.8315 442 3 0 -89.803 -91.7158 -115.85 - 78 150.498 441 3 0 -89.8586 -91.7501 -115.929 - 78 390.217 455 2 1 -88.9599 -90.2248 -144.45 - 78 278.682 456 2 0 -43.0324 -88.65 -146.15 - 78 4.52252 457 2 0 -42.9844 -88.65 -146.066 - 78 144.109 455 4 1 -88.9562 -91.2364 -84.45 - 78 189.762 444 2 0 -89.0164 -91.2136 -145.85 - 78 127.369 444 1 0 -89.1027 -91.2069 -175.85 - 78 102.948 453 0 1 -89.2588 -91.1193 -204.45 - 78 342.345 445 0 0 -89.2628 -91.1182 -205.85 - 78 249.642 454 0 1 -89.1307 -91.1408 -204.45 - 78 177.324 887 3 1 -2.6282 -38.1577 -114.45 - 78 35.5096 714 3 0 -1.02573 -37.0853 -115.85 - 78 3.51959 428 3 0 -13.3949 -94.35 -116.16 - 78 27.3286 503 0 0 -147.961 -79.4048 -206.25 - 78 181.518 356 2 0 -93.0002 -108.78 -146.25 - 78 47.4449 392 2 1 -101.55 -103.564 -144.469 - 78 8.04802 357 2 0 -92.9783 -108.75 -146.158 -Number of digits in this event: 22 +Number of tracker hits in this event: 3 + 78 221.156 1325 0 1 85.1039 116.136 -204.45 + 78 249.234 1479 0 0 85.1039 116.136 -205.85 + 78 88.8362 965 3 0 27.0898 13.25 -116.195 +Number of digits in this event: 4 Using G4ParticleGun... -Particle energy: 2.87628 LIN +Particle energy: 9.72002 LIN Particle: gamma Event: 79 -Number of tracker hits in this event: 51 - 79 553.826 792 5 1 -21.4681 -21.9942 -54.45 - 79 246.988 790 5 0 -21.4489 -22.0201 -55.85 - 79 122.703 795 4 1 -20.9934 -22.5464 -84.45 - 79 141.433 787 4 0 -20.949 -22.5863 -85.85 - 79 104.441 799 3 1 -20.0872 -23.6082 -114.45 - 79 117.323 781 3 0 -20.0538 -23.664 -115.85 - 79 243.58 803 2 1 -19.3399 -24.892 -144.45 - 79 197.116 775 2 0 -19.2771 -24.929 -145.85 - 79 4.23814 810 1 1 -17.851 -25.6804 -174.45 - 79 103.619 811 1 1 -17.85 -25.6808 -174.482 - 79 120.177 771 1 0 -17.8102 -25.6958 -175.85 - 79 121.67 815 0 1 -16.9243 -25.9916 -204.45 - 79 103.671 770 0 0 -16.872 -25.9825 -205.85 - 79 169.329 804 2 1 -19.1928 -25.0323 -144.45 - 79 92.4775 946 2 0 -26.3003 9.26747 -146.25 - 79 118.727 947 2 0 -26.3402 9.45 -146.044 - 79 124.265 767 2 1 -26.451 10.3968 -144.849 - 79 22.9247 793 5 1 -21.45 -21.9867 -54.6916 - 79 28.3866 787 5 0 -21.634 -22.6135 -55.85 - 79 109.994 786 5 0 -21.6454 -22.65 -55.9295 - 79 190.706 767 4 1 -26.4855 -38.6731 -84.45 - 79 101.225 706 4 0 -26.6337 -38.6755 -85.8502 - 79 125.222 753 3 1 -29.3301 -37.2698 -114.45 - 79 59.4053 752 3 1 -29.4501 -37.5028 -114.695 - 79 37.7272 708 3 0 -30.1064 -38.4012 -115.85 - 79 105.704 707 3 0 -30.145 -38.45 -115.919 - 79 9.71371 706 3 0 -30.2707 -38.65 -116.21 - 79 120.035 703 2 1 -39.2667 -56.7979 -144.451 - 79 140.33 613 2 0 -39.8785 -57.2971 -145.85 - 79 104.052 679 1 1 -44.0914 -62.687 -174.45 - 79 30.3681 586 1 0 -43.6571 -62.8269 -175.85 - 79 206.746 585 1 0 -43.601 -62.85 -175.968 - 79 42.732 643 1 0 -24.854 -51.3066 -176.25 - 79 110.522 644 1 0 -24.8586 -51.2492 -176.179 - 79 13.8714 645 1 0 -24.9183 -51.05 -175.903 - 79 152.866 774 1 1 -25.1223 -50.7102 -174.85 - 79 25.6697 773 1 1 -25.2501 -50.6101 -174.549 - 79 113.902 708 4 0 -26.7147 -38.2965 -85.85 - 79 201.631 707 4 0 -26.8278 -38.45 -85.9449 - 79 168.591 792 4 1 -21.5726 -21.9486 -84.45 - 79 152.687 790 4 0 -21.5745 -21.9478 -85.85 - 79 186.23 792 3 1 -21.6313 -21.9319 -114.45 - 79 95.0287 790 3 0 -21.6348 -21.93 -115.85 - 79 190.846 791 2 1 -21.7106 -21.8785 -144.45 - 79 134.121 790 2 0 -21.7138 -21.8756 -145.85 - 79 119.078 791 1 1 -21.7795 -21.8298 -174.45 - 79 139.431 791 1 0 -21.7824 -21.8279 -175.85 - 79 109.238 791 0 1 -21.8292 -21.7865 -204.45 - 79 97.2815 791 0 0 -21.8383 -21.7769 -205.85 - 79 22.8791 394 1 1 -101.15 -53.4145 -174.524 - 79 93.4785 1220 2 0 100.929 64.0589 -146.25 -Number of digits in this event: 26 +Number of tracker hits in this event: 19 + 79 250.716 1109 2 1 42.0148 -37.2621 -144.45 + 79 287.664 713 2 0 42.0183 -37.2622 -145.85 + 79 140.746 1110 1 1 42.0901 -37.2623 -174.45 + 79 254.11 713 1 0 42.0909 -37.2613 -175.85 + 79 116.31 1110 0 1 42.1031 -37.2394 -204.45 + 79 105.372 714 0 0 42.1043 -37.2389 -205.85 + 79 226.744 526 3 0 65.1961 -74.6796 -116.25 + 79 65.0127 1324 3 1 84.85 23.0803 -114.601 + 79 353.259 1109 1 1 42.0139 -37.2572 -174.45 + 79 171.058 1109 0 1 42.0143 -37.2593 -204.45 + 79 174.457 713 0 0 42.0153 -37.2568 -205.85 + 79 418.068 715 1 0 42.1431 -37.0434 -175.85 + 79 42.0444 1135 0 1 47.1017 -35.1368 -204.45 + 79 74.2097 1134 0 1 47.05 -35.0709 -204.608 + 79 24.0677 727 0 0 46.7873 -34.4903 -205.85 + 79 99.2917 728 0 0 46.77 -34.45 -205.936 + 79 28.2685 1090 0 1 38.0918 -33.0724 -204.45 + 79 100.173 1089 0 1 38.049 -33.0728 -204.534 + 79 171.727 735 0 0 37.296 -32.96 -205.85 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 8.3545 LIN +Particle energy: 4.58111 LIN Particle: gamma Event: 80 -Number of tracker hits in this event: 20 - 80 266.648 598 3 1 -60.3335 82.0434 -114.45 - 80 285.004 1309 3 0 -60.3874 82.0035 -115.85 - 80 105.007 593 2 1 -61.346 81.2211 -144.45 - 80 156.835 1306 2 0 -61.5766 81.3628 -145.85 - 80 109.935 571 1 1 -65.7862 83.8185 -174.45 - 80 101.138 1319 1 0 -65.8637 83.9624 -175.85 - 80 128.126 560 0 1 -67.9522 87.1356 -204.45 - 80 166.397 1337 0 0 -68.0534 87.4916 -205.85 - 80 123.642 598 2 1 -60.3415 82.0439 -144.45 - 80 136.278 1309 2 0 -60.342 82.0441 -145.85 - 80 101.455 598 1 1 -60.3532 82.0494 -174.45 - 80 324.971 1309 1 0 -60.3537 82.0485 -175.85 - 80 756.5 598 0 1 -60.3615 82.0327 -204.45 - 80 277.179 1309 0 0 -60.3634 82.0312 -205.85 - 80 162.028 1147 1 0 -121.218 49.63 -176.25 - 80 81.1341 1148 1 0 -121.238 49.6501 -176.18 - 80 157.363 1206 1 0 -84.6815 61.3095 -176.25 - 80 29.5695 1343 5 0 -4.67277 88.6694 -56.25 - 80 95.3876 1342 5 0 -4.6255 88.65 -56.0482 - 80 491.462 1310 0 0 -60.509 82.0621 -205.85 -Number of digits in this event: 17 +Number of tracker hits in this event: 22 + 80 236.437 397 2 1 -100.728 -10.0703 -144.45 + 80 226.275 849 2 0 -100.74 -10.1257 -145.85 + 80 140.778 395 1 1 -101.055 -11.1933 -174.45 + 80 154.352 844 1 0 -101.089 -11.2254 -175.85 + 80 108.665 391 0 1 -101.771 -11.7987 -204.45 + 80 174.509 841 0 0 -101.814 -11.8352 -205.85 + 80 78.5647 606 0 0 -86.9525 -58.65 -205.971 + 80 88.9188 840 0 0 -101.822 -11.85 -206.197 + 80 53.8543 835 0 0 -119.528 -12.9368 -206.25 + 80 105.147 397 1 1 -100.71 -10.0208 -174.45 + 80 166.806 850 1 0 -100.817 -10.0026 -175.85 + 80 81.5579 386 0 1 -102.919 -9.77993 -204.45 + 80 221.423 385 0 1 -102.95 -9.79546 -204.727 + 80 334.494 850 0 0 -103.066 -9.85486 -205.85 + 80 192.396 467 0 1 -86.5262 -20.4032 -204.45 + 80 92.6288 397 0 1 -100.697 -9.97917 -204.45 + 80 163.157 396 0 1 -100.768 -10.028 -204.45 + 80 53.2578 848 0 0 -101.179 -10.4049 -205.85 + 80 72.5554 847 0 0 -101.23 -10.45 -206.02 + 80 125.602 820 1 1 -15.9324 -41.8228 -174.45 + 80 112.614 821 1 1 -15.85 -41.7351 -174.554 + 80 322.148 692 1 0 -15.3996 -41.5207 -175.851 +Number of digits in this event: 15 Using G4ParticleGun... -Particle energy: 4.69274 LIN +Particle energy: 7.97817 LIN Particle: gamma Event: 81 -Number of tracker hits in this event: 1 - 81 117.978 1381 3 0 1.85591 96.368 -116.25 -Number of digits in this event: 2 +Number of tracker hits in this event: 10 + 81 111.673 734 1 0 -53.5357 -33.0563 -176.25 + 81 165.89 735 1 0 -53.5309 -33.049 -176.242 + 81 207.123 736 1 0 -53.4425 -32.85 -176.059 + 81 88.9316 737 1 0 -53.4225 -32.65 -175.878 + 81 286.271 633 1 1 -53.388 -31.6508 -174.85 + 81 38.9033 632 1 1 -53.45 -31.3801 -174.56 + 81 92.4461 634 1 1 -53.25 -31.2085 -174.574 + 81 74.3706 635 1 1 -53.0496 -31.303 -174.71 + 81 7.85203 636 1 1 -52.85 -31.3789 -174.841 + 81 76.0253 738 1 0 -48.4238 -32.367 -175.85 +Number of digits in this event: 6 Using G4ParticleGun... -Particle energy: 2.73218 LIN +Particle energy: 8.68573 LIN Particle: gamma Event: 82 -Number of tracker hits in this event: 45 - 82 215.442 834 9 1 -13.1786 -75.1815 65.55 - 82 265.643 524 9 0 -13.1791 -75.1795 64.15 - 82 355.629 834 8 1 -13.2 -75.1411 35.55 - 82 254.737 524 8 0 -13.2011 -75.1379 34.15 - 82 139.346 834 7 1 -13.2132 -75.0872 5.55 - 82 102.014 524 7 0 -13.2071 -75.0844 4.15 - 82 229.322 834 6 1 -13.0698 -75.02 -24.45 - 82 134.723 525 6 0 -13.0557 -75.0163 -25.85 - 82 146.856 836 5 1 -12.769 -74.9541 -54.45 - 82 116.59 525 5 0 -12.7528 -74.9507 -55.85 - 82 137.529 838 4 1 -12.4063 -74.8091 -84.45 - 82 115.375 526 4 0 -12.3901 -74.804 -85.85 - 82 154.968 839 3 1 -12.0787 -74.7193 -114.45 - 82 128.91 526 3 0 -12.0576 -74.7135 -115.85 - 82 154.52 842 2 1 -11.6147 -74.5988 -144.45 - 82 130.156 527 2 0 -11.592 -74.5915 -145.85 - 82 115.146 844 1 1 -11.1355 -74.4266 -174.45 - 82 113.613 528 1 0 -11.1204 -74.4224 -175.85 - 82 176.662 846 0 1 -10.7657 -74.3449 -204.45 - 82 106.136 528 0 0 -10.7543 -74.3454 -205.85 - 82 11.6566 472 0 0 -26.2592 -85.45 -206.233 - 82 80.7967 473 0 0 -26.2796 -85.45 -206.212 - 82 115.152 555 0 0 -42.944 -69.0293 -206.25 - 82 117.496 833 7 1 -13.2867 -74.9043 5.55 - 82 115.276 525 7 0 -13.2982 -74.9268 4.15 - 82 137.937 832 6 1 -13.5109 -75.4823 -24.45 - 82 263.054 522 6 0 -13.5395 -75.5781 -25.85 - 82 111.928 829 5 1 -14.1927 -77.547 -54.45 - 82 126.524 511 5 0 -14.2204 -77.6846 -55.85 - 82 134.622 826 4 1 -14.7394 -80.5712 -84.45 - 82 105.131 496 4 0 -14.7653 -80.7152 -85.85 - 82 80.9826 823 3 1 -15.3474 -83.7244 -114.45 - 82 135.583 480 3 0 -15.3859 -83.8814 -115.85 - 82 133.858 819 2 1 -16.2304 -87.0812 -144.45 - 82 118.985 463 2 0 -16.2123 -87.263 -145.85 - 82 287.702 818 1 1 -16.3071 -91.1041 -174.45 - 82 98.4941 444 1 0 -16.3618 -91.2954 -175.85 - 82 102.951 812 0 1 -17.4648 -95.1632 -204.45 - 82 20.0137 424 0 0 -17.561 -95.3395 -205.85 - 82 150.73 423 0 0 -17.5668 -95.35 -205.934 - 82 84.4046 421 6 0 5.45431 -95.8528 -26.25 - 82 99.6909 833 6 1 -13.45 -75.6212 -24.8214 - 82 82.8439 835 6 1 -13.05 -75.9119 -24.7423 - 82 86.5968 836 6 1 -12.8499 -75.8536 -24.6218 - 82 184.256 837 6 1 -12.6493 -75.8683 -24.5873 -Number of digits in this event: 26 +Number of tracker hits in this event: 10 + 82 259.019 902 1 1 0.621804 145.276 -174.45 + 82 248.285 1625 1 0 0.61653 145.278 -175.85 + 82 286.155 902 0 1 0.497509 145.319 -204.45 + 82 287.671 1625 0 0 0.490813 145.32 -205.85 + 82 142.842 1626 0 0 0.489868 145.35 -205.901 + 82 115.126 1645 1 0 -61.6517 149.237 -176.25 + 82 42.3625 1182 5 0 10.8858 56.6367 -56.25 + 82 272.71 950 5 1 10.2128 56.2828 -54.8499 + 82 30.1242 1082 0 1 36.45 146.418 -204.834 + 82 9.47494 1125 0 1 45.2108 118.523 -204.45 +Number of digits in this event: 9 Using G4ParticleGun... -Particle energy: 5.33652 LIN +Particle energy: 9.56255 LIN Particle: gamma Event: 83 -Number of tracker hits in this event: 12 - 83 312.394 1275 1 1 75.0651 92.3133 -174.45 - 83 231.949 1360 1 0 75.0663 92.3122 -175.85 - 83 265.544 1275 0 1 75.0951 92.2949 -204.45 - 83 123.451 1360 0 0 75.097 92.2954 -205.85 - 83 99.9611 1349 0 1 89.8871 61.5777 -204.85 - 83 37.757 1322 2 1 84.632 -120.889 -144.85 - 83 101.817 1323 2 1 84.65 -121.736 -144.521 - 83 123.074 1470 0 0 83.9138 114.15 -206.192 - 83 106.086 1361 0 0 75.0875 92.4325 -205.85 - 83 28.7073 390 6 1 -101.982 68.947 -24.85 - 83 152.805 389 6 1 -102.151 68.9432 -24.5747 - 83 175.692 388 6 1 -102.35 68.9381 -24.4751 -Number of digits in this event: 8 +Number of tracker hits in this event: 0 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 3.76629 LIN +Particle energy: 6.39861 LIN Particle: gamma Event: 84 Number of tracker hits in this event: 0 -Number of digits in this event: 3 +Number of digits in this event: 0 Using G4ParticleGun... -Particle energy: 1.6341 LIN +Particle energy: 2.17931 LIN Particle: gamma Event: 85 Number of tracker hits in this event: 0 -Number of digits in this event: 3 +Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 3.07609 LIN +Particle energy: 9.28714 LIN Particle: gamma Event: 86 -Number of tracker hits in this event: 77 - 86 216.501 908 7 1 1.84063 -60.2255 5.55 - 86 416.594 599 7 0 1.84228 -60.2232 4.15 - 86 302.602 908 6 1 1.83314 -60.2122 -24.45 - 86 97.7967 599 6 0 1.83071 -60.2132 -25.85 - 86 255.953 908 5 1 1.78539 -60.2482 -54.45 - 86 141.628 598 5 0 1.78446 -60.26 -55.85 - 86 239.024 908 4 1 1.7793 -60.4973 -84.45 - 86 102.412 597 4 0 1.77905 -60.5074 -85.85 - 86 539.143 908 3 1 1.80511 -60.7293 -114.45 - 86 224.598 596 3 0 1.80772 -60.7413 -115.85 - 86 107.161 909 2 1 1.85513 -60.9808 -144.45 - 86 252.561 595 2 0 1.85916 -60.9878 -145.85 - 86 259.772 909 1 1 1.93467 -61.1298 -174.45 - 86 125.757 594 1 0 1.94208 -61.1349 -175.85 - 86 117.338 910 0 1 2.09169 -61.2155 -204.45 - 86 95.3921 594 0 0 2.09273 -61.2192 -205.85 - 86 25.3357 1790 1 0 49.8819 178.15 -176.001 - 86 19.2979 1158 1 1 51.65 163.926 -174.642 - 86 213.049 1791 1 0 49.8862 178.35 -175.936 - 86 105.126 1792 1 0 49.8368 178.55 -176.167 - 86 29.4003 1590 1 1 138.236 -88.1225 -174.45 - 86 125.875 1589 1 1 138.15 -88.1754 -174.47 - 86 63.3642 1588 1 1 137.95 -88.3064 -174.512 - 86 103.976 1587 1 1 137.75 -88.4405 -174.534 - 86 91.4584 1586 1 1 137.55 -88.6575 -174.516 - 86 63.0111 1585 1 1 137.35 -88.9263 -174.501 - 86 322.565 752 2 0 95.0055 -29.4886 -146.25 - 86 50.5706 751 2 0 95.2733 -29.65 -145.955 - 86 239.175 599 3 0 1.86483 -60.1044 -115.85 - 86 170.791 914 2 1 2.87754 -58.5214 -144.45 - 86 104.516 608 2 0 2.78272 -58.3272 -145.85 - 86 106.088 894 1 1 -1.08761 -54.9751 -174.45 - 86 157.81 626 1 0 -1.18458 -54.8287 -175.85 - 86 0.806151 883 0 1 -3.44964 -52.3 -204.45 - 86 109.817 882 0 1 -3.45008 -52.2998 -204.455 - 86 120.371 638 0 0 -3.50663 -52.2957 -205.85 - 86 118.783 913 2 1 2.83647 -60.124 -144.45 - 86 206.2 600 2 0 2.80083 -60.0259 -145.85 - 86 20.3425 910 1 1 2.05035 -58.6336 -174.797 - 86 143.49 608 1 0 2.47984 -58.4299 -175.85 - 86 189.818 974 0 1 14.8764 -50.8389 -204.45 - 86 18.3207 657 0 0 15.229 -48.5035 -205.85 - 86 63.4165 658 0 0 15.2356 -48.45 -205.882 - 86 70.5154 659 0 0 15.2556 -48.2496 -205.997 - 86 70.5187 660 0 0 15.2782 -48.05 -206.116 - 86 18.3026 661 0 0 15.2994 -47.85 -206.236 - 86 297.171 907 3 1 1.65 -59.7889 -114.668 - 86 119.929 619 3 0 -1.00877 -56.1975 -115.85 - 86 60.905 620 3 0 -1.09495 -56.05 -115.921 - 86 150.051 621 3 0 -1.16315 -55.8499 -116.022 - 86 69.9502 622 3 0 -1.23081 -55.65 -116.085 - 86 82.9738 623 3 0 -1.2969 -55.45 -116.107 - 86 60.3207 624 3 0 -1.3662 -55.25 -116.146 - 86 51.5822 625 3 0 -1.43835 -55.0499 -116.18 - 86 52.2321 626 3 0 -1.47342 -54.85 -116.174 - 86 83.3378 627 3 0 -1.54263 -54.6498 -116.163 - 86 0.18795 628 3 0 -1.64492 -54.45 -116.248 - 86 102.632 598 6 0 1.81312 -60.4045 -25.85 - 86 111.104 597 5 0 1.7535 -60.5158 -55.85 - 86 235.912 596 4 0 1.68666 -60.7107 -85.85 - 86 109.173 906 2 1 1.38906 -60.9205 -144.45 - 86 112.091 905 1 1 1.10166 -60.9076 -174.45 - 86 149.486 595 1 0 1.0915 -60.9105 -175.85 - 86 167.79 904 0 1 0.862538 -61.0105 -204.45 - 86 101.373 595 0 0 0.856581 -61.0164 -205.85 - 86 169.981 772 14 1 -25.4827 -25.6223 215.15 - 86 135.168 918 3 1 3.73931 -56.3244 -114.45 - 86 305.476 618 3 0 3.8767 -56.3118 -115.85 - 86 98.9867 606 3 0 -3.86926 -58.6546 -116.25 - 86 27.5541 607 3 0 -3.90908 -58.6499 -116.173 - 86 61.9544 605 3 0 -4.07037 -58.85 -116.075 - 86 85.636 604 3 0 -4.07336 -59.05 -115.998 - 86 37.3401 875 3 1 -4.97961 -61.2901 -114.85 - 86 105.222 874 3 1 -5.05 -61.3657 -114.798 - 86 50.4491 873 3 1 -5.25 -61.3472 -114.741 - 86 80.8335 591 3 0 -6.06272 -61.8495 -115.85 - 86 121.808 590 3 0 -6.06346 -61.85 -115.851 +Number of tracker hits in this event: 65 + 86 496.429 1283 4 1 76.7274 -96.3142 -84.45 + 86 252.687 419 4 0 76.7326 -96.3167 -85.85 + 86 605.668 1283 3 1 76.8071 -96.3779 -114.45 + 86 119.353 418 3 0 76.8138 -96.3776 -115.85 + 86 250.1 1284 2 1 76.9538 -96.3483 -144.45 + 86 506.274 419 2 0 76.9517 -96.3403 -145.85 + 86 357.105 1284 1 1 76.9059 -96.1734 -174.45 + 86 271.781 419 1 0 76.9006 -96.1667 -175.85 + 86 121.961 1283 0 1 76.7923 -96.0057 -204.45 + 86 319.843 420 0 0 76.7803 -95.9965 -205.85 + 86 277.041 1283 1 1 76.7654 -96.4512 -174.471 + 86 85.0474 1282 1 1 76.6499 -96.4317 -174.643 + 86 84.7587 1281 1 1 76.4496 -96.406 -174.715 + 86 63.7581 1280 1 1 76.25 -96.4552 -174.727 + 86 42.1359 1279 1 1 76.05 -96.4816 -174.794 + 86 57.5763 421 1 0 74.5587 -95.8798 -175.85 + 86 64.5506 422 1 0 74.429 -95.7499 -175.985 + 86 123.537 423 1 0 74.3972 -95.5497 -176.025 + 86 55.9883 424 1 0 74.114 -95.35 -176.153 + 86 179.658 309 1 0 65.3468 -118.322 -176.25 + 86 281.952 308 1 0 65.3582 -118.35 -176.223 + 86 115.585 417 1 0 76.9648 -96.5584 -175.85 + 86 67.1212 383 4 0 55.6923 -103.397 -85.85 + 86 433.366 419 3 0 76.7903 -96.2952 -115.85 + 86 267.904 417 2 0 76.8897 -96.7095 -145.85 + 86 169.343 1286 1 1 77.4445 -97.0684 -174.45 + 86 108.267 415 1 0 77.4213 -97.024 -175.85 + 86 296.637 1284 0 1 76.8955 -96.0481 -204.45 + 86 125.204 1285 2 1 77.1172 -96.6931 -144.45 + 86 122.779 416 2 0 77.1468 -96.7765 -145.85 + 86 118.796 1287 1 1 77.5515 -98.1834 -174.45 + 86 144.46 409 1 0 77.5809 -98.2547 -175.85 + 86 109.709 1291 0 1 78.4255 -99.8047 -204.45 + 86 5.16493 1292 0 1 78.45 -99.8381 -204.837 + 86 128.712 401 0 0 78.5125 -99.9121 -205.85 + 86 444.36 1283 2 1 76.7696 -96.2828 -144.45 + 86 177.725 419 0 0 76.8821 -96.2175 -205.85 + 86 3.49172 530 0 0 105.244 -74.05 -206.204 + 86 55.9913 526 0 0 105.774 -74.65 -206.163 + 86 50.8964 1387 2 1 97.55 -53.4697 -144.669 + 86 54.7222 271 3 0 -21.3927 -125.905 -116.25 + 86 23.7834 318 4 0 -71.2065 -116.496 -86.25 + 86 7.40462 528 4 1 -74.3079 -114.431 -84.85 + 86 124.956 334 4 0 -74.0504 -113.214 -85.85 + 86 101.476 335 4 0 -74.032 -113.15 -85.9317 + 86 236.243 239 1 0 137.649 -132.217 -176.25 + 86 54.094 240 1 0 137.738 -132.15 -176.212 + 86 142.241 238 1 0 137.99 -132.35 -175.926 + 86 55.4431 1296 1 1 79.3987 -97.2826 -174.451 + 86 105.714 1297 1 1 79.4501 -97.2937 -174.584 + 86 126.201 413 1 0 79.9418 -97.394 -175.85 + 86 118.975 1356 0 1 91.3745 -100.47 -204.45 + 86 31.4813 397 0 0 91.7475 -100.743 -205.85 + 86 84.4046 396 0 0 91.7674 -100.75 -205.926 + 86 377.138 256 5 0 149.734 -128.803 -56.2495 + 86 24.0593 257 5 0 149.798 -128.75 -56.2069 + 86 158.121 354 2 0 65.3512 -109.155 -146.25 + 86 9.95221 1228 2 1 65.832 -109.332 -144.85 + 86 75.9716 1229 2 1 65.85 -109.337 -144.813 + 86 76.8503 1230 2 1 66.05 -109.241 -144.643 + 86 76.2394 1231 2 1 66.2501 -109.176 -144.611 + 86 85.1237 1232 2 1 66.45 -109.005 -144.694 + 86 88.2375 1233 2 1 66.65 -108.795 -144.723 + 86 120.306 1234 2 1 66.85 -108.567 -144.726 + 86 17.5598 1235 2 1 67.05 -108.396 -144.509 Number of digits in this event: 33 Using G4ParticleGun... -Particle energy: 1.69433 LIN +Particle energy: 2.20837 LIN Particle: gamma Event: 87 -Number of tracker hits in this event: 111 - 87 232.738 1250 9 1 70.0955 -5.42145 65.55 - 87 349.277 873 9 0 70.1013 -5.42262 64.15 - 87 286.049 1250 8 1 70.1962 -5.4439 35.5495 - 87 127.595 872 8 0 70.1546 -5.47512 34.1496 - 87 225.003 1247 7 1 69.4884 -6.27563 5.55 - 87 13.0865 1246 7 1 69.45 -6.27074 5.21443 - 87 118.914 868 7 0 69.3263 -6.26097 4.15 - 87 129.26 1229 6 1 65.9857 -5.76636 -24.4501 - 87 121.52 871 6 0 65.7898 -5.76911 -25.85 - 87 131.422 1207 5 1 61.5491 -5.93659 -54.45 - 87 174.238 870 5 0 61.373 -5.94744 -55.85 - 87 122.179 1177 4 1 55.5581 -7.47838 -84.4504 - 87 89.6983 1176 4 1 55.4499 -7.49859 -84.786 - 87 120.948 862 4 0 55.1308 -7.54868 -85.85 - 87 37.1518 1133 3 1 46.7223 -8.97968 -114.45 - 87 103.872 1132 3 1 46.65 -8.91984 -114.602 - 87 122.922 858 3 0 46.0447 -8.4128 -115.85 - 87 1.56155 859 3 0 45.8547 -8.24997 -116.243 - 87 46.2703 1061 2 1 32.2898 3.89275 -144.45 - 87 106.776 1060 2 1 32.2495 3.98507 -144.587 - 87 291.021 924 2 0 31.9115 4.90805 -145.85 - 87 77.9667 925 2 0 31.8639 5.05004 -146.035 - 87 92.8947 1012 1 1 22.5167 27.4927 -174.45 - 87 64.9159 1011 1 1 22.45 27.6611 -174.658 - 87 6.19903 1042 1 0 22.0701 28.6391 -175.85 - 87 111.036 1043 1 0 22.0658 28.65 -175.863 - 87 82.0786 1044 1 0 21.9805 28.85 -176.104 - 87 153.842 947 0 1 9.5771 50.3386 -204.45 - 87 68.3105 946 0 1 9.44983 50.3889 -204.5 - 87 66.3355 945 0 1 9.24946 50.4681 -204.584 - 87 149.137 944 0 1 9.05 50.5543 -204.664 - 87 59.7782 943 0 1 8.85 50.6322 -204.735 - 87 57.6654 942 0 1 8.64984 50.7039 -204.798 - 87 154.599 1161 0 0 4.1962 52.3398 -205.85 - 87 208.508 1162 0 0 3.85471 52.45 -205.925 - 87 165.372 1163 0 0 3.3087 52.65 -206.027 - 87 202.39 1164 0 0 2.77339 52.85 -206.097 - 87 78.4453 1165 0 0 2.2574 53.05 -206.183 - 87 68.8453 1185 0 0 -119.545 57.1525 -206.25 - 87 95.697 1184 0 0 -119.752 57.05 -206.178 - 87 98.3159 1183 0 0 -120.007 56.85 -206.059 - 87 57.7544 1182 0 0 -120.261 56.65 -205.899 - 87 41.4844 291 0 1 -121.837 55.4367 -204.85 - 87 94.0778 290 0 1 -121.95 55.3468 -204.77 - 87 189.019 289 0 1 -122.15 55.1575 -204.58 - 87 153.105 948 0 1 9.65002 50.2924 -204.745 - 87 68.4824 1147 0 0 10.1055 49.4802 -205.85 - 87 4.49711 1146 0 0 10.105 49.45 -205.854 - 87 371.069 1250 6 1 70.2284 -5.47645 -24.45 - 87 215.156 872 6 0 70.2331 -5.46273 -25.85 - 87 108.205 1251 5 1 70.2679 -5.1838 -54.45 - 87 105.338 874 5 0 70.2813 -5.16897 -55.85 - 87 142.074 1253 4 1 70.6684 -4.9705 -84.45 - 87 138.865 875 4 0 70.6763 -4.9698 -85.85 - 87 121.388 1253 3 1 70.8489 -4.96143 -114.45 - 87 131.988 875 3 0 70.8392 -4.95023 -115.85 - 87 124.885 1252 2 1 70.6177 -4.67364 -144.45 - 87 143.36 877 2 0 70.5934 -4.6462 -145.85 - 87 131.609 1250 1 1 70.0658 -4.14482 -174.45 - 87 96.9406 879 1 0 70.0307 -4.10794 -175.85 - 87 113.496 1245 0 1 69.2344 -3.40114 -204.45 - 87 104.233 883 0 0 69.1955 -3.35235 -205.85 - 87 155.073 1250 5 1 70.1407 -5.50411 -54.45 - 87 114.873 872 5 0 70.1244 -5.52625 -55.85 - 87 145.127 1248 4 1 69.7999 -5.95464 -84.45 - 87 128.394 870 4 0 69.7916 -5.98928 -85.85 - 87 166.316 1247 3 1 69.5978 -6.74501 -114.45 - 87 147.771 866 3 0 69.5765 -6.78904 -115.85 - 87 107.806 1245 2 1 69.1982 -7.66517 -144.45 - 87 99.7155 861 2 0 69.0439 -7.73156 -145.85 - 87 118.569 1228 1 1 65.727 -9.09767 -174.45 - 87 131.939 854 1 0 65.4909 -9.20753 -175.85 - 87 200.595 1202 0 1 60.5663 -11.4785 -204.45 - 87 155.157 842 0 0 60.3185 -11.5542 -205.85 - 87 96.8974 840 0 0 61.7256 -11.9051 -205.85 - 87 9.03025 1231 0 1 66.3255 -10.2156 -204.85 - 87 13.8653 844 0 0 70.2365 -11.2438 -205.85 - 87 38.6481 1254 0 1 71.033 -11.2477 -204.85 - 87 64.4212 877 8 0 70.1104 -4.45908 34.15 - 87 69.6013 878 8 0 70.1094 -4.45 33.9958 - 87 121.569 1249 7 1 69.9458 -2.91756 5.55 - 87 111.044 886 7 0 69.9601 -2.81853 4.15 - 87 143.554 896 6 0 70.2216 -0.69574 -25.85 - 87 109.943 1249 5 1 70.0249 1.41808 -54.45 - 87 166.511 906 5 0 69.9712 1.4443 -55.85 - 87 41.1285 907 5 0 69.9598 1.45 -56.1536 - 87 168.75 1243 4 1 68.7012 2.05845 -84.45 - 87 155.288 910 4 0 68.6494 2.09945 -85.85 - 87 216.901 1237 3 1 67.567 2.89836 -114.45 - 87 163.766 914 3 0 67.5299 2.94507 -115.85 - 87 123.867 1233 2 1 66.7309 3.72824 -144.45 - 87 103.915 918 2 0 66.7215 3.70658 -145.85 - 87 211.393 1232 1 1 66.6001 3.23148 -174.451 - 87 128.056 915 1 0 66.5615 3.16276 -175.85 - 87 124.486 1227 0 1 65.5135 1.50041 -204.45 - 87 116.778 907 0 0 65.4805 1.46565 -205.85 - 87 75.9568 1233 1 1 66.65 3.24872 -174.524 - 87 37.3208 1234 1 1 66.85 3.29832 -174.764 - 87 58.0914 917 1 0 67.9118 3.48348 -175.85 - 87 200.063 916 1 0 68.0907 3.44983 -175.952 - 87 74.986 1443 0 1 108.817 -16.5002 -204.45 - 87 90.8378 1442 0 1 108.75 -16.4 -204.623 - 87 46.6271 822 0 0 107.898 -15.5128 -205.85 - 87 111.18 823 0 0 107.817 -15.4498 -205.933 - 87 47.098 824 0 0 107.562 -15.25 -206.133 - 87 7.96896 1292 1 0 155.055 78.45 -176.13 - 87 84.9216 1643 1 1 148.75 -76.0516 -174.836 - 87 109.595 1249 9 1 70.0068 -5.45981 65.55 - 87 140.984 1248 9 1 69.85 -5.49075 65.3748 - 87 59.0786 871 9 0 69.4385 -5.78865 64.1497 - 87 245.612 870 9 0 69.3689 -5.85 64.1052 -Number of digits in this event: 55 +Number of tracker hits in this event: 4 + 87 202.387 941 10 0 -151.951 8.35459 93.75 + 87 235.398 940 10 0 -152.005 8.25 93.8771 + 87 72.4126 854 2 0 62.065 -9.23324 -146.25 + 87 200.12 853 2 0 62.0435 -9.25 -146.222 +Number of digits in this event: 5 Using G4ParticleGun... -Particle energy: 1.35438 LIN +Particle energy: 7.37287 LIN Particle: gamma Event: 88 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 113 + 88 330.436 900 10 1 0.247263 71.7174 95.55 + 88 287.51 1258 10 0 0.247474 71.7174 94.15 + 88 232.352 900 9 1 0.237595 71.7058 65.55 + 88 219.661 1258 9 0 0.236254 71.704 64.15 + 88 269.622 900 8 1 0.213554 71.6734 35.55 + 88 196.728 1258 8 0 0.212851 71.6716 34.15 + 88 372.331 900 7 1 0.207717 71.6319 5.55 + 88 112.953 1257 7 0 0.206687 71.6297 4.15 + 88 132.497 900 6 1 0.186282 71.5885 -24.45 + 88 176.625 1257 6 0 0.186168 71.5852 -25.85 + 88 108.594 900 5 1 0.149224 71.5203 -54.45 + 88 319.097 1257 5 0 0.142696 71.5146 -55.85 + 88 57.2188 1259 5 0 -13.2185 72.0155 -56.25 + 88 52.7719 1260 5 0 -13.3396 72.05 -56.0699 + 88 83.1262 832 5 1 -13.5828 72.4092 -54.85 + 88 53.3567 833 5 1 -13.45 72.4991 -54.563 + 88 280.684 834 5 1 -13.2499 72.4853 -54.4737 + 88 99.2721 835 5 1 -13.05 72.0387 -54.8074 + 88 68.5441 1251 5 0 -14.5182 70.3991 -55.85 + 88 135.686 1250 5 0 -14.5168 70.25 -55.8775 + 88 91.3175 1249 5 0 -14.5891 70.0497 -56.065 + 88 229.657 1248 5 0 -14.5588 69.8499 -56.0942 + 88 185.56 1252 6 0 102.548 70.5785 -26.25 + 88 41.8875 1361 6 0 46.2566 92.4829 -26.25 + 88 335.404 1256 4 0 0.0712511 71.3758 -85.85 + 88 127.303 905 3 1 1.08469 70.7324 -114.45 + 88 121.166 1253 3 0 1.14259 70.7819 -115.85 + 88 121.376 912 2 1 2.5108 71.744 -144.45 + 88 225.747 1258 2 0 2.57672 71.7836 -145.85 + 88 50.6572 918 1 1 3.8438 72.7096 -174.45 + 88 71.3813 919 1 1 3.85 72.7167 -174.602 + 88 128.377 1263 1 0 3.90284 72.7672 -175.85 + 88 112.094 925 0 1 5.2433 73.9255 -204.45 + 88 134.076 1270 0 0 5.25274 74.1739 -205.851 + 88 59.483 1294 1 1 79.05 25.4222 -174.706 + 88 110.527 902 3 1 0.59157 71.0427 -114.45 + 88 171.173 1254 3 0 0.624571 71.025 -115.85 + 88 145.306 906 2 1 1.28003 70.6433 -144.45 + 88 106.78 1252 2 0 1.24593 70.6443 -145.85 + 88 133.126 902 1 1 0.543557 70.7277 -174.45 + 88 133.894 1253 1 0 0.50799 70.7308 -175.85 + 88 97.6503 898 0 1 -0.293876 70.8321 -204.45 + 88 229.53 1254 0 0 -0.33935 70.8507 -205.85 + 88 294.035 901 1 1 0.260261 71.3145 -174.45 + 88 282.439 1256 1 0 0.267692 71.3074 -175.85 + 88 269.696 901 0 1 0.285403 71.1349 -204.45 + 88 214.142 1255 0 0 0.279577 71.1305 -205.85 + 88 7.09853 972 3 0 45.4514 14.4602 -116.25 + 88 116.807 971 3 0 45.4725 14.45 -116.239 + 88 58.7836 970 3 0 45.6788 14.25 -116.113 + 88 266.538 969 3 0 45.8367 14.05 -116.014 + 88 23.5911 968 3 0 46.0318 13.8497 -115.893 + 88 17.6108 1134 3 1 47.0085 13.1104 -114.85 + 88 68.8415 1135 3 1 47.05 13.0793 -114.806 + 88 62.6852 1136 3 1 47.25 13.0139 -114.665 + 88 97.9649 1137 3 1 47.45 12.9099 -114.58 + 88 113.531 1138 3 1 47.65 12.6705 -114.49 + 88 80.4473 1139 3 1 47.85 12.4018 -114.501 + 88 450.084 1140 3 1 48.05 12.1884 -114.491 + 88 239.053 1141 3 1 48.25 11.8812 -114.586 + 88 8.71269 956 3 0 46.5683 11.3282 -115.85 + 88 167.701 1126 3 1 45.3756 8.79229 -114.85 + 88 50.6362 1132 3 1 46.5938 15.3902 -114.85 + 88 159.024 975 3 0 45.0681 15.2154 -115.85 + 88 175.953 1180 5 0 -166.852 56.1099 -56.25 + 88 9.40263 1280 5 0 4.72666 76.2414 -56.2498 + 88 102.904 1281 5 0 4.73221 76.2502 -56.2162 + 88 60.0561 1282 5 0 4.74892 76.45 -55.9931 + 88 64.7369 1283 5 0 4.81064 76.6501 -55.995 + 88 59.685 1284 5 0 4.85179 76.85 -56.0647 + 88 99.6594 1285 5 0 4.85394 77.0503 -56.0785 + 88 4.72148 1286 5 0 4.9758 77.2501 -56.2337 + 88 144.869 1268 3 1 73.6917 101.81 -114.45 + 88 67.4178 1098 3 0 2.09507 39.85 -116.12 + 88 102.779 1267 3 1 73.65 101.943 -114.459 + 88 14.1151 900 4 1 0.212668 71.5389 -84.45 + 88 101.083 901 4 1 0.250119 71.5425 -84.4945 + 88 0.00326946 902 4 1 0.45 71.5356 -84.85 + 88 116.118 1255 4 0 0.882469 71.25 -85.9424 + 88 96.8599 964 3 1 13.002 65.2786 -114.45 + 88 17.8341 963 3 1 12.85 65.4215 -114.793 + 88 33.2761 1227 3 0 11.99 65.6214 -115.85 + 88 176.036 1228 3 0 11.8885 65.65 -115.902 + 88 177.274 948 3 1 9.69108 65.3779 -114.85 + 88 7.41621 949 3 1 9.85 65.2831 -114.456 + 88 21.5247 956 3 1 11.2539 64.9415 -114.85 + 88 149.578 955 3 1 11.25 64.9216 -114.825 + 88 179.622 1259 8 0 0.114473 71.906 34.15 + 88 113.665 1259 7 0 0.0751803 71.8527 4.15 + 88 119.66 899 6 1 -0.216348 71.8412 -24.45 + 88 135.774 1258 6 0 -0.23157 71.8307 -25.85 + 88 168.081 897 5 1 -0.545361 71.6411 -54.45 + 88 104.35 894 4 1 -1.12179 71.5833 -84.45 + 88 127.455 1257 4 0 -1.13943 71.5885 -85.85 + 88 114.225 892 3 1 -1.47177 71.711 -114.45 + 88 134.88 1258 3 0 -1.49333 71.7125 -115.85 + 88 117.454 890 2 1 -1.94245 71.7739 -144.45 + 88 115.613 889 1 1 -2.15752 71.7414 -174.45 + 88 127.339 1258 1 0 -2.15725 71.7114 -175.85 + 88 114.651 889 0 1 -2.15001 71.0916 -204.45 + 88 4.96607 899 7 1 -0.0585207 97.8031 5.15 + 88 45.968 965 12 1 13.2264 97.726 155.15 + 88 114.506 958 12 1 11.85 97.0634 155.375 + 88 132.034 957 12 1 11.65 96.9832 155.387 + 88 165.995 966 12 1 13.2501 97.774 155.223 + 88 19.2973 511 5 1 -77.7384 135.303 -54.85 + 88 58.2959 903 0 1 0.803487 8.91827 -204.85 + 88 148.749 1258 5 0 -0.562308 71.65 -56.21 + 88 373.8 741 5 0 -162.411 -31.8184 -56.25 + 88 47.2271 586 4 1 -62.65 35.4895 -84.6368 + 88 78.2148 901 10 1 0.250043 71.7187 95.2561 + 88 96.578 1260 10 0 -0.150471 72.0806 94.15 + 88 104.28 896 10 1 -0.662894 72.3775 95.15 +Number of digits in this event: 52 Using G4ParticleGun... -Particle energy: 9.52578 LIN +Particle energy: 9.37028 LIN Particle: gamma Event: 89 -Number of tracker hits in this event: 30 - 89 311.872 1281 5 1 76.4207 -22.1209 -54.45 - 89 208.444 789 5 0 76.4182 -22.1229 -55.85 - 89 241.948 1281 4 1 76.373 -22.1673 -84.45 - 89 384.769 789 4 0 76.3715 -22.1693 -85.85 - 89 121.808 1281 3 1 76.3446 -22.2125 -114.45 - 89 231.826 789 3 0 76.3434 -22.2134 -115.85 - 89 135.797 1281 2 1 76.316 -22.2258 -144.45 - 89 111.436 789 2 0 76.3151 -22.2275 -145.85 - 89 100.597 1281 1 1 76.3019 -22.2574 -174.45 - 89 109.732 788 1 0 76.3004 -22.2588 -175.85 - 89 178.922 1281 0 1 76.2597 -22.2763 -204.45 - 89 261.093 788 0 0 76.2593 -22.2813 -205.85 - 89 11.4059 765 2 0 -91.7546 -26.85 -146.053 - 89 73.4825 438 2 1 -92.4153 -27.3421 -144.85 - 89 532.662 1280 0 1 76.2414 -22.2802 -204.45 - 89 206.698 789 0 0 76.3055 -22.1429 -205.85 - 89 75.2031 1276 0 1 75.2746 -22.9672 -204.85 - 89 141.663 1275 0 1 75.2499 -22.9768 -204.781 - 89 14.6535 786 0 0 76.0777 -22.8243 -205.85 - 89 100.919 785 0 0 76.0704 -22.85 -205.916 - 89 4.4313 1179 0 1 56.0068 -39.7378 -204.85 - 89 126.372 1282 4 1 76.4559 -22.1091 -84.45 - 89 140.963 1282 3 1 76.4791 -22.0742 -114.45 - 89 115.569 1282 2 1 76.4888 -21.9249 -144.45 - 89 112.174 790 2 0 76.4888 -21.9182 -145.85 - 89 102.005 1282 1 1 76.4799 -21.7857 -174.45 - 89 113.303 791 1 0 76.4832 -21.7756 -175.85 - 89 132.074 1282 0 1 76.5517 -21.5611 -204.45 - 89 123.366 792 0 0 76.5554 -21.5516 -205.85 - 89 291.973 791 0 0 76.2027 -21.769 -205.85 -Number of digits in this event: 20 +Number of tracker hits in this event: 24 + 89 218.55 527 4 1 -74.6367 -125.606 -84.45 + 89 255.814 272 4 0 -74.6367 -125.606 -85.85 + 89 288.192 527 3 1 -74.639 -125.602 -114.45 + 89 250.723 272 3 0 -74.6394 -125.602 -115.85 + 89 119.739 527 2 1 -74.6434 -125.602 -144.45 + 89 166.414 272 2 0 -74.6452 -125.604 -145.85 + 89 108.188 526 1 1 -74.6838 -125.633 -174.45 + 89 101.82 272 1 0 -74.6854 -125.635 -175.85 + 89 128.757 526 0 1 -74.7198 -125.668 -204.45 + 89 100.973 272 0 0 -74.7222 -125.669 -205.85 + 89 75.5622 182 7 0 -19.5505 -143.655 3.75 + 89 55.817 1012 12 0 111.932 22.5533 153.75 + 89 182.365 1013 12 0 111.982 22.65 153.788 + 89 142.601 181 7 0 -19.4668 -143.75 3.99342 + 89 238.703 735 0 1 -33.0238 -134.81 -204.85 + 89 24.9425 736 0 1 -32.85 -134.837 -204.592 + 89 98.9536 528 2 1 -74.4023 -125.529 -144.45 + 89 113.568 273 2 0 -74.3989 -125.522 -145.85 + 89 120.275 528 1 1 -74.2976 -125.337 -174.45 + 89 137.133 274 1 0 -74.289 -125.332 -175.85 + 89 123.788 529 0 1 -74.229 -125.058 -204.45 + 89 131.026 275 0 0 -74.2396 -125.045 -205.85 + 89 14.5791 211 2 0 -126.866 -137.87 -146.25 + 89 42.8275 143 2 0 -57.439 -151.405 -146.25 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 9.78446 LIN +Particle energy: 1.3793 LIN Particle: gamma Event: 90 -Number of tracker hits in this event: 139 - 90 247.919 845 7 1 -11.0362 -61.2068 5.55 - 90 332.555 594 7 0 -11.0367 -61.2079 4.15 - 90 273.374 845 6 1 -11.0483 -61.2316 -24.45 - 90 263.316 594 6 0 -11.0491 -61.233 -25.85 - 90 516.213 844 5 1 -11.0658 -61.2607 -54.45 - 90 416.372 593 5 0 -11.0664 -61.2614 -55.85 - 90 416.544 844 4 1 -11.0776 -61.2714 -84.45 - 90 440.371 593 4 0 -11.0778 -61.2737 -85.85 - 90 545.227 844 3 1 -11.0975 -61.3111 -114.45 - 90 457.101 593 3 0 -11.0985 -61.3122 -115.85 - 90 119.822 844 2 1 -11.1181 -61.3384 -144.45 - 90 266.239 593 2 0 -11.1203 -61.3377 -145.85 - 90 372.055 844 1 1 -11.1573 -61.3156 -174.45 - 90 436.618 593 1 0 -11.1614 -61.3129 -175.85 - 90 145.812 844 0 1 -11.2498 -61.2558 -204.45 - 90 271.087 843 0 1 -11.25 -61.2558 -204.487 - 90 611.841 593 0 0 -11.2567 -61.2544 -205.85 - 90 0.542786 592 3 0 -11.2428 -61.45 -116.249 - 90 242.372 428 3 0 -79.1324 -94.4612 -116.25 - 90 139.847 500 3 1 -79.9017 -94.8138 -114.85 - 90 178.349 499 3 1 -80.05 -94.8124 -114.761 - 90 28.3668 470 4 0 8.09961 -85.9911 -86.25 - 90 88.0389 469 4 0 8.10775 -86.05 -86.1791 - 90 142.525 939 4 1 7.96288 -86.8479 -84.85 - 90 29.2995 938 4 1 7.85 -86.981 -84.5616 - 90 111.287 841 2 1 -11.7724 -61.2593 -144.45 - 90 97.1334 840 1 1 -11.9847 -61.2506 -174.45 - 90 165.046 837 0 1 -12.5571 -61.9528 -204.45 - 90 120.103 590 0 0 -12.5739 -62.0143 -205.85 - 90 13.8123 214 4 0 -29.4558 -137.312 -86.25 - 90 230.612 213 4 0 -29.4446 -137.35 -86.2071 - 90 28.1154 668 4 1 -46.3858 -131.202 -84.85 - 90 166.843 251 4 0 -46.4677 -129.923 -85.85 - 90 38.8607 535 3 1 -72.9223 -160.148 -114.85 - 90 201.366 443 4 1 -91.35 -1.96196 -84.7511 - 90 138.772 382 2 1 -103.718 19.5682 -144.45 - 90 127.292 383 2 1 -103.55 19.5629 -144.543 - 90 34.7144 264 2 0 20.6836 -127.15 -146.218 - 90 149.715 845 2 1 -11.0492 -61.4459 -144.45 - 90 257.973 592 2 0 -11.0417 -61.4536 -145.85 - 90 135.548 845 1 1 -10.9085 -61.6365 -174.45 - 90 125.393 592 1 0 -10.8973 -61.641 -175.85 - 90 630.242 846 0 1 -10.6691 -61.7401 -204.45 - 90 129.522 591 0 0 -10.6665 -61.7438 -205.85 - 90 6.3625 847 0 1 -10.621 -61.9944 -204.45 - 90 239.183 728 2 0 -14.579 -34.4102 -146.25 - 90 39.2489 727 2 0 -14.6549 -34.45 -146.142 - 90 118.954 841 4 1 -11.749 -62.6912 -84.45 - 90 111.144 586 4 0 -11.5954 -62.7219 -85.85 - 90 181.088 859 3 1 -8.06386 -62.8223 -114.45 - 90 154.283 585 3 0 -8.01947 -62.8733 -115.851 - 90 109.313 863 2 1 -7.38528 -64.3939 -144.45 - 90 48.5143 577 2 0 -7.58263 -64.6293 -145.85 - 90 74.0091 576 2 0 -7.60236 -64.65 -145.979 - 90 117.768 841 1 1 -11.7177 -68.0061 -174.45 - 90 121.007 559 1 0 -11.9784 -68.1764 -175.85 - 90 50.567 809 0 1 -18.0683 -70.6645 -204.45 - 90 85.4289 810 0 1 -18.0498 -70.6292 -204.589 - 90 42.9433 548 0 0 -17.9008 -70.2988 -205.85 - 90 71.0213 549 0 0 -17.8773 -70.25 -206.046 - 90 182.574 594 5 0 -11.0266 -61.0704 -55.85 - 90 68.2467 595 5 0 -11.0246 -61.05 -56.0004 - 90 175.516 849 4 1 -10.1927 -57.301 -84.45 - 90 47.8028 614 4 0 -10.2796 -57.0899 -85.85 - 90 68.0269 615 4 0 -10.3047 -57.05 -86.0803 - 90 124.902 829 3 1 -14.0777 -52.3105 -114.45 - 90 21.9031 641 3 0 -14.1918 -51.6825 -115.85 - 90 99.5124 642 3 0 -14.1965 -51.65 -115.919 - 90 59.4721 817 2 1 -16.5809 -40.4114 -144.45 - 90 66.1634 816 2 1 -16.65 -40.3916 -144.638 - 90 172.13 699 2 0 -17.0986 -40.2128 -145.85 - 90 73.2273 746 1 1 -30.7631 -34.4273 -174.45 - 90 89.7805 745 1 1 -30.85 -34.3383 -174.623 - 90 99.9146 731 1 0 -31.492 -33.7975 -175.85 - 90 61.6615 732 1 0 -31.6525 -33.65 -176.117 - 90 100.52 653 0 1 -49.2836 -17.3778 -204.45 - 90 93.5286 652 0 1 -49.451 -17.5317 -204.648 - 90 126.059 808 0 0 -50.5164 -18.3522 -205.85 - 90 84.1172 807 0 0 -50.6462 -18.4501 -206.001 - 90 54.0691 845 5 1 -11.05 -61.2741 -54.6304 - 90 68.7838 851 4 1 -9.74347 -62.1246 -84.4502 - 90 118.295 850 4 1 -9.85 -62.22 -84.631 - 90 121.076 584 4 0 -10.616 -63.0572 -85.85 - 90 60.9303 583 4 0 -10.7864 -63.25 -86.1296 - 90 34.8378 647 4 0 -60.8821 -50.524 -86.25 - 90 81.2573 648 4 0 -60.9415 -50.4499 -86.1825 - 90 54.1042 649 4 0 -61.0954 -50.25 -85.9812 - 90 118.396 590 4 1 -62.0209 -49.2146 -84.8499 - 90 511.81 589 4 1 -62.05 -49.1841 -84.8149 - 90 13.0957 588 4 1 -62.25 -48.9705 -84.4602 - 90 22.8011 669 4 0 -62.1257 -46.125 -85.8504 - 90 69.7897 670 4 0 -62.1319 -46.0496 -85.9023 - 90 95.158 671 4 0 -62.2037 -45.8499 -86.0351 - 90 51.071 672 4 0 -62.3485 -45.6499 -86.1734 - 90 164.399 591 4 1 -61.85 -48.6575 -84.7723 - 90 135.964 592 4 1 -61.65 -48.5763 -84.6591 - 90 45.2513 180 4 0 -83.4209 -144.019 -86.25 - 90 184.808 179 4 0 -83.5041 -144.15 -86.1328 - 90 123.181 178 4 0 -83.7322 -144.35 -85.9681 - 90 185.491 177 4 0 -83.6282 -144.55 -86.0243 - 90 187.016 176 4 0 -83.5496 -144.75 -85.8749 - 90 233.962 667 5 0 74.8656 -46.4819 -56.25 - 90 69.1821 843 5 1 -11.25 -61.3082 -54.5336 - 90 284.792 842 5 1 -11.4502 -61.2909 -54.5512 - 90 110.822 846 5 1 -10.8182 -61.2414 -54.45 - 90 163.467 848 4 1 -10.4342 -61.1479 -84.45 - 90 150.38 594 4 0 -10.4162 -61.1384 -85.85 - 90 102.941 851 3 1 -9.8341 -61.1807 -114.45 - 90 244.571 594 3 0 -9.82706 -61.1859 -115.85 - 90 415.217 853 2 1 -9.42318 -61.2227 -144.45 - 90 138.279 594 2 0 -9.4784 -61.2203 -145.85 - 90 122.788 847 1 1 -10.6316 -61.0964 -174.45 - 90 18.911 846 1 1 -10.65 -61.087 -174.767 - 90 33.2959 594 1 0 -10.7131 -61.0536 -175.85 - 90 92.8241 595 1 0 -10.7199 -61.05 -175.967 - 90 4.05535 839 0 1 -12.2484 -60.1844 -204.45 - 90 126.076 838 0 1 -12.25 -60.1849 -204.462 - 90 101.835 599 0 0 -12.4449 -60.238 -205.85 - 90 15.588 598 0 0 -12.4903 -60.25 -206.173 - 90 98.3445 852 2 1 -9.50725 -61.2753 -144.45 - 90 38.7357 851 2 1 -9.65 -61.3874 -144.718 - 90 39.0599 768 1 1 -26.4117 -65.1863 -174.45 - 90 193.344 767 1 1 -26.45 -65.2366 -174.534 - 90 3.83175 532 1 0 -18.2414 -73.64 -175.85 - 90 111.044 531 1 0 -18.2307 -73.65 -175.852 - 90 76.7033 530 1 0 -17.9143 -73.85 -175.939 - 90 124.887 529 1 0 -17.6935 -74.0501 -175.937 - 90 70.9896 528 1 0 -17.421 -74.25 -175.91 - 90 55.8442 527 1 0 -17.3155 -74.45 -175.937 - 90 228.307 526 1 0 -17.2725 -74.65 -175.952 - 90 79.7204 525 1 0 -17.371 -74.85 -175.967 - 90 107.06 524 1 0 -17.4261 -75.05 -176.022 - 90 299.115 523 1 0 -17.3422 -75.25 -176.075 - 90 237.196 813 1 1 -17.3923 -73.1421 -174.85 - 90 23.3825 854 2 1 -9.25 -61.2129 -144.506 - 90 252.021 855 0 1 -8.92245 -61.3057 -204.45 - 90 8.25761 627 0 0 0.05 -54.5845 -205.915 - 90 80.4343 555 6 0 -103.881 -68.9882 -26.25 - 90 156.197 554 6 0 -103.842 -69.0501 -26.1478 -Number of digits in this event: 69 -Using G4ParticleGun... -Particle energy: 6.03666 LIN +Number of tracker hits in this event: 1 + 90 117.129 231 0 0 18.875 -133.86 -206.25 +Number of digits in this event: 2 +Using G4ParticleGun... +Particle energy: 3.03015 LIN Particle: gamma Event: 91 -Number of tracker hits in this event: 0 -Number of digits in this event: 1 +Number of tracker hits in this event: 118 + 91 130.067 323 9 1 -115.522 -22.0181 65.3173 + 91 253.758 790 9 0 -115.522 -22.0175 64.15 + 91 256.642 323 8 1 -115.529 -22.0062 35.55 + 91 166.288 790 8 0 -115.524 -22.0097 34.15 + 91 253.635 323 7 1 -115.411 -22.0925 5.55 + 91 137.18 789 7 0 -115.406 -22.0956 4.15 + 91 531.89 324 6 1 -115.312 -22.1418 -24.45 + 91 114.117 789 6 0 -115.311 -22.1433 -25.85 + 91 105.333 324 5 1 -115.315 -22.1854 -54.45 + 91 107.887 789 5 0 -115.309 -22.1904 -55.85 + 91 109.206 324 4 1 -115.173 -22.2808 -84.45 + 91 186.763 788 4 0 -115.166 -22.2853 -85.85 + 91 174.217 325 3 1 -115.028 -22.3695 -114.45 + 91 111.356 788 3 0 -115.035 -22.3729 -115.85 + 91 149.976 324 2 1 -115.174 -22.4513 -144.45 + 91 130.547 787 2 0 -115.181 -22.4598 -145.85 + 91 292.153 324 1 1 -115.295 -22.6208 -174.45 + 91 303.28 787 1 0 -115.299 -22.6255 -175.85 + 91 126.32 323 0 1 -115.36 -22.7084 -204.45 + 91 132.95 786 0 0 -115.363 -22.7069 -205.85 + 91 68.376 1029 2 0 -146.666 25.8692 -146.25 + 91 48.7842 1030 2 0 -146.795 26.05 -145.902 + 91 20.126 163 2 1 -147.474 26.7402 -144.85 + 91 76.6747 1037 2 0 -147.598 27.4722 -145.85 + 91 151.59 323 2 1 -115.412 -22.3986 -144.624 + 91 210.048 788 2 0 -115.401 -22.4055 -145.85 + 91 113.086 330 1 1 -114.142 -22.6104 -174.451 + 91 104.475 342 0 1 -111.736 -21.8746 -204.45 + 91 94.6788 791 0 0 -111.447 -21.7925 -205.85 + 91 119.079 322 1 1 -115.641 -22.5579 -174.45 + 91 88.4921 786 1 0 -115.733 -22.65 -175.98 + 91 188.342 314 0 1 -117.282 -24.3673 -204.45 + 91 261.091 778 0 0 -117.351 -24.4128 -205.85 + 91 334.475 788 6 0 -115.334 -22.3919 -25.85 + 91 269.158 307 5 1 -118.701 -25.5206 -54.4501 + 91 210.193 773 5 0 -118.429 -25.3678 -55.85 + 91 78.2121 337 4 1 -112.698 -22.0768 -84.45 + 91 84.081 338 4 1 -112.55 -21.9709 -84.5665 + 91 68.7648 339 4 1 -112.35 -21.8312 -84.7132 + 91 49.3294 796 4 0 -110.988 -20.7217 -85.85 + 91 87.9297 797 4 0 -110.911 -20.65 -85.921 + 91 62.7763 798 4 0 -110.735 -20.45 -86.1052 + 91 74.7295 466 3 1 -86.8124 7.01607 -114.45 + 91 27.7131 467 3 1 -86.6499 7.08625 -114.736 + 91 158.589 936 3 0 -86.0243 7.33121 -115.85 + 91 64.1426 562 2 1 -67.6304 8.07534 -144.45 + 91 91.9343 563 2 1 -67.4499 7.9652 -144.584 + 91 22.2022 564 2 1 -67.2498 7.78858 -144.788 + 91 27.3224 934 2 0 -66.5109 6.90534 -145.85 + 91 110.143 933 2 0 -66.4631 6.85 -145.922 + 91 0.104472 932 2 0 -66.2203 6.64985 -146.249 + 91 95.4581 881 2 0 -44.2926 -3.81039 -146.25 + 91 15.2287 880 2 0 -44.1846 -3.85 -145.914 + 91 154.461 681 2 1 -43.7651 -4.16955 -144.85 + 91 12.5038 323 6 1 -115.35 -22.138 -24.8034 + 91 4.13963 790 6 0 -115.48 -21.8547 -25.8501 + 91 104.013 791 6 0 -115.482 -21.85 -25.8678 + 91 155.905 837 5 0 -118.778 -12.5969 -55.8501 + 91 59.8826 838 5 0 -118.79 -12.45 -56.0692 + 91 116.752 299 4 1 -120.339 6.53047 -84.4502 + 91 56.7603 936 4 0 -119.996 7.33517 -85.85 + 91 66.5057 937 4 0 -119.951 7.45 -86.0582 + 91 69.8891 331 3 1 -113.905 23.4946 -114.45 + 91 82.9432 332 3 1 -113.749 23.5608 -114.52 + 91 69.4461 333 3 1 -113.55 23.666 -114.605 + 91 77.4064 334 3 1 -113.35 23.7971 -114.679 + 91 99.5552 335 3 1 -113.15 23.9424 -114.74 + 91 72.9695 336 3 1 -112.95 24.076 -114.774 + 91 82.2986 337 3 1 -112.75 24.1897 -114.802 + 91 8.66934 338 3 1 -112.55 24.314 -114.84 + 91 150.845 1033 3 0 -108.167 26.6511 -115.85 + 91 61.8768 1034 3 0 -107.814 26.8506 -115.866 + 91 30.773 424 3 1 -95.2817 31.892 -114.85 + 91 57.4295 425 3 1 -95.1498 31.9382 -114.827 + 91 64.9426 426 3 1 -94.9499 32.0097 -114.783 + 91 61.0997 427 3 1 -94.75 32.0784 -114.752 + 91 72.5422 428 3 1 -94.55 32.1302 -114.704 + 91 52.6101 429 3 1 -94.3491 32.1986 -114.637 + 91 56.8299 430 3 1 -94.15 32.2636 -114.569 + 91 43.9236 431 3 1 -93.95 32.3154 -114.503 + 91 59.8883 432 3 1 -93.6688 32.4141 -114.45 + 91 70.5162 433 3 1 -93.55 32.4259 -114.505 + 91 71.3464 434 3 1 -93.35 32.4609 -114.599 + 91 66.5971 435 3 1 -93.15 32.4919 -114.711 + 91 6.19709 436 3 1 -92.9499 32.5214 -114.839 + 91 502.216 1063 3 0 -91.4141 32.735 -115.85 + 91 0.654624 581 1 1 -63.8498 32.0352 -174.45 + 91 137.895 580 1 1 -63.8501 32.0344 -174.452 + 91 108.428 1056 1 0 -63.6698 31.3796 -175.85 + 91 36.5931 1055 1 0 -63.6026 31.25 -176.179 + 91 196.671 1012 1 0 -48.3179 22.64 -176.25 + 91 95.4211 665 1 1 -46.9804 22.4898 -174.85 + 91 40.426 666 1 1 -46.85 22.5171 -174.577 + 91 3.7134 939 4 0 -120.289 7.85 -86.1508 + 91 93.3607 789 8 0 -115.497 -22.0775 34.15 + 91 109.614 788 7 0 -115.353 -22.3176 4.15 + 91 152.495 325 5 1 -115.126 -22.4698 -54.45 + 91 97.4374 787 5 0 -115.12 -22.4852 -55.85 + 91 89.7549 325 4 1 -115.008 -22.8336 -84.45 + 91 116.486 785 4 0 -114.974 -22.8705 -85.85 + 91 122.763 329 3 1 -114.329 -23.7365 -114.45 + 91 130.227 781 3 0 -114.261 -23.7994 -115.85 + 91 235.444 338 2 1 -112.412 -24.5097 -144.45 + 91 128.991 777 2 0 -112.287 -24.5772 -145.85 + 91 123.303 350 1 1 -109.974 -26.0886 -174.45 + 91 73.2095 351 1 1 -109.95 -26.1056 -174.62 + 91 325.389 769 1 0 -109.772 -26.2161 -175.85 + 91 15.6688 768 1 0 -109.72 -26.25 -176.213 + 91 103.64 373 0 1 -105.461 -28.9475 -204.45 + 91 103.135 754 0 0 -105.367 -29.1859 -205.85 + 91 3.61522 753 0 0 -105.341 -29.25 -206.233 + 91 77.6439 349 1 1 -110.15 -26.1291 -174.603 + 91 55.3479 348 1 1 -110.35 -26.1112 -174.624 + 91 77.1257 347 1 1 -110.55 -26.0811 -174.61 + 91 69.4245 346 1 1 -110.75 -26.0319 -174.741 + 91 64.2842 770 1 0 -111.082 -26.0473 -175.85 + 91 28.6095 567 0 0 -137.148 -66.494 -206.25 + 91 54.5177 665 1 0 -126.11 -46.9115 -176.25 +Number of digits in this event: 38 Using G4ParticleGun... -Particle energy: 6.76465 LIN +Particle energy: 5.29859 LIN Particle: gamma Event: 92 -Number of tracker hits in this event: 53 - 92 183.903 1001 2 1 20.3908 -16.7708 -144.45 - 92 128.932 816 2 0 20.3937 -16.7692 -145.85 - 92 232.218 1002 1 1 20.462 -16.7684 -174.45 - 92 363.102 816 1 0 20.4723 -16.7709 -175.85 - 92 234.708 1003 0 1 20.6841 -16.8213 -204.45 - 92 445.209 816 0 0 20.6893 -16.8245 -205.85 - 92 129.955 637 0 0 8.91694 -52.6458 -206.25 - 92 1.88622 636 0 0 8.91684 -52.6501 -206.246 - 92 96.3122 817 0 0 20.9387 -16.6136 -205.851 - 92 109.238 815 0 0 21.1163 -16.85 -206.215 - 92 164.932 814 0 0 21.1728 -17.05 -206.229 - 92 212.065 1001 0 1 20.4441 -16.7479 -204.45 - 92 123.022 1002 0 1 20.4502 -16.7525 -204.471 - 92 72.5126 1000 2 1 20.25 -16.8402 -144.635 - 92 116.083 814 2 0 19.7448 -17.079 -145.85 - 92 45.6951 943 1 1 8.71274 -22.1043 -174.45 - 92 98.5098 942 1 1 8.65 -22.1488 -174.589 - 92 18.9157 788 1 0 8.07131 -22.4364 -175.85 - 92 141.27 787 1 0 8.04387 -22.45 -175.911 - 92 56.6446 866 0 1 -6.68838 -28.1649 -204.45 - 92 97.5997 865 0 1 -6.85 -28.2424 -204.54 - 92 80.1214 864 0 1 -7.05042 -28.3416 -204.65 - 92 69.6832 863 0 1 -7.25 -28.4362 -204.763 - 92 1.91477 753 0 0 -9.16436 -29.4473 -205.85 - 92 152.097 752 0 0 -9.16946 -29.45 -205.853 - 92 201.199 751 0 0 -9.52319 -29.65 -206.059 - 92 12.6581 750 0 0 -9.81495 -29.85 -206.23 - 92 2.0264 569 0 0 -49.2576 -66.2444 -206.25 - 92 76.3148 568 0 0 -49.2613 -66.25 -206.245 - 92 80.9183 567 0 0 -49.3736 -66.4503 -206.091 - 92 17.0039 566 0 0 -49.4412 -66.6501 -205.921 - 92 107.371 653 0 1 -49.3441 -67.3085 -204.85 - 92 57.7944 689 1 0 -82.5876 -42.1519 -176.25 - 92 266.166 690 1 0 -82.7164 -42.0495 -176.139 - 92 79.1276 480 1 1 -83.8568 -41.6802 -174.85 - 92 50.312 479 1 1 -84.05 -41.6536 -174.654 - 92 57.9813 478 1 1 -84.2504 -41.6625 -174.583 - 92 59.7958 477 1 1 -84.45 -41.6811 -174.565 - 92 101.015 476 1 1 -84.65 -41.6784 -174.543 - 92 86.4266 475 1 1 -84.8502 -41.6928 -174.54 - 92 54.83 474 1 1 -85.05 -41.7297 -174.52 - 92 65.1558 473 1 1 -85.25 -41.8035 -174.527 - 92 62.6175 472 1 1 -85.45 -41.854 -174.536 - 92 64.9672 471 1 1 -85.65 -41.9055 -174.504 - 92 158.063 470 1 1 -86.0433 -41.988 -174.45 - 92 51.8414 762 1 0 -81.469 -27.4991 -176.25 - 92 116.847 763 1 0 -81.3594 -27.45 -176.126 - 92 77.2591 764 1 0 -81.1431 -27.25 -176.018 - 92 259.686 765 1 0 -81.207 -27.05 -175.957 - 92 44.0248 1449 2 1 109.95 148.886 -144.594 - 92 382.449 1001 1 1 20.3961 -16.7717 -174.45 - 92 128.763 1003 1 1 20.65 -16.7386 -174.708 - 92 194.224 1004 1 1 20.85 -16.7651 -174.799 +Number of tracker hits in this event: 41 + 92 231.27 1559 5 1 132.098 -66.925 -54.45 + 92 271.218 565 5 0 132.098 -66.9241 -55.85 + 92 108.876 1559 4 1 132.092 -66.9131 -84.45 + 92 234.134 565 4 0 132.093 -66.9131 -85.85 + 92 109.06 1559 3 1 132.106 -66.9167 -114.45 + 92 134.906 565 3 0 132.108 -66.919 -115.85 + 92 351.967 1559 2 1 132.147 -66.9623 -144.45 + 92 419.233 565 2 0 132.145 -66.9665 -145.85 + 92 286.249 1559 1 1 132.116 -67.0474 -174.45 + 92 106.091 564 1 0 132.117 -67.053 -175.85 + 92 316.287 1559 0 1 132.139 -67.1559 -204.45 + 92 255.119 564 0 0 132.138 -67.1558 -205.85 + 92 89.7691 1560 1 1 132.15 -66.9075 -174.646 + 92 94.8084 1561 1 1 132.35 -66.6733 -174.775 + 92 32.127 578 1 0 134.804 -64.4024 -175.85 + 92 68.5046 1572 1 1 134.59 -61.4036 -174.85 + 92 93.4072 604 1 0 133.79 -59.1863 -175.85 + 92 113.551 605 1 0 133.657 -59.05 -176.085 + 92 251.151 606 1 0 133.546 -58.85 -176.135 + 92 102.51 566 1 0 132.087 -66.8313 -175.85 + 92 103.592 566 0 0 131.996 -66.8465 -205.85 + 92 287.569 97 11 0 -31.3994 -160.595 123.75 + 92 124.834 1562 1 1 132.55 -67.6742 -174.548 + 92 108.809 561 1 0 132.688 -67.6733 -175.85 + 92 128.616 1578 0 1 135.829 -67.183 -204.45 + 92 105.945 1558 4 1 131.891 -66.8684 -84.45 + 92 112.339 1557 3 1 131.553 -66.7941 -114.45 + 92 27.4214 1556 3 1 131.55 -66.7914 -114.77 + 92 153.297 566 3 0 131.538 -66.7828 -115.85 + 92 237.482 1555 2 1 131.214 -66.5852 -144.45 + 92 112.706 567 2 0 131.199 -66.5817 -145.85 + 92 119.06 1553 1 1 130.926 -66.4758 -174.45 + 92 107.667 567 1 0 130.923 -66.472 -175.85 + 92 129.008 1553 0 1 130.834 -66.4255 -204.45 + 92 109.397 568 0 0 130.783 -66.4269 -205.85 + 92 54.0772 569 0 0 130.255 -66.1407 -205.85 + 92 66.8982 637 0 0 129.527 -52.595 -206.25 + 92 131.119 638 0 0 129.629 -52.45 -206.105 + 92 261.46 639 0 0 129.559 -52.25 -205.919 + 92 364.342 640 0 0 129.6 -52.05 -205.968 + 92 286.847 661 3 0 134.041 -47.6523 -116.25 Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 9.06253 LIN +Particle energy: 2.81544 LIN Particle: gamma Event: 93 -Number of tracker hits in this event: 0 -Number of digits in this event: 1 +Number of tracker hits in this event: 19 + 93 85.2689 1107 3 0 -90.9581 41.4781 -116.25 + 93 22.7495 1034 4 0 -66.4135 26.9996 -86.25 + 93 121.248 1035 4 0 -66.4286 27.05 -86.1696 + 93 41.909 558 4 1 -68.3063 26.8116 -84.85 + 93 62.5607 557 4 1 -68.4502 26.7853 -84.7691 + 93 47.9251 556 4 1 -68.6501 26.7621 -84.6535 + 93 52.7177 555 4 1 -68.8501 26.785 -84.6209 + 93 99.2275 554 4 1 -69.05 26.8413 -84.5916 + 93 68.8511 553 4 1 -69.25 26.9513 -84.525 + 93 94.0408 552 4 1 -69.4501 27.1174 -84.5125 + 93 86.6096 551 4 1 -69.65 27.3913 -84.5846 + 93 66.7319 550 4 1 -69.8507 27.5683 -84.6956 + 93 47.5598 549 4 1 -70.05 27.7282 -84.7881 + 93 331.781 1040 4 0 -71.4991 28.1749 -85.85 + 93 132.778 1000 4 0 -96.7074 20.174 -86.25 + 93 153.749 417 4 1 -96.7326 20.3536 -84.85 + 93 102.859 418 4 1 -96.55 20.3676 -84.5317 + 93 87.712 256 1 1 -128.75 -67.0365 -174.712 + 93 252.583 255 1 1 -128.95 -66.9543 -174.501 +Number of digits in this event: 6 Using G4ParticleGun... -Particle energy: 8.04436 LIN +Particle energy: 7.79937 LIN Particle: gamma Event: 94 -Number of tracker hits in this event: 83 - 94 251.431 1141 9 1 48.3597 -86.1975 65.55 - 94 276.566 469 9 0 48.348 -86.1864 64.15 - 94 154.424 1140 8 1 48.1507 -85.9541 35.55 - 94 112.112 470 8 0 48.1704 -85.9417 34.15 - 94 148.689 1143 7 1 48.6544 -85.6451 5.55 - 94 128.156 472 7 0 48.6898 -85.6413 4.15 - 94 123.799 1146 6 1 49.4228 -85.6641 -24.45 - 94 119.582 471 6 0 49.4736 -85.6544 -25.85 - 94 135.144 1152 5 1 50.5234 -85.4062 -54.45 - 94 109.704 473 5 0 50.6049 -85.3906 -55.85 - 94 168.799 1160 4 1 52.2033 -84.9903 -84.45 - 94 120.767 475 4 0 52.2924 -84.952 -85.85 - 94 191.513 1169 3 1 53.96 -84.1971 -114.45 - 94 119.413 479 3 0 54.0349 -84.1559 -115.85 - 94 124.503 1177 2 1 55.5884 -83.3222 -144.45 - 94 210.527 483 2 0 55.6399 -83.3166 -145.85 - 94 116.922 1183 1 1 56.6702 -83.2076 -174.45 - 94 110.609 483 1 0 56.6811 -83.2742 -175.85 - 94 127.092 1183 0 1 56.7857 -84.5765 -204.45 - 94 159.862 477 0 0 56.6939 -84.6219 -205.85 - 94 151.541 937 1 1 7.62683 132.783 -174.85 - 94 91.3966 936 1 1 7.44998 133.747 -174.547 - 94 71.4375 938 1 1 7.65 133.86 -174.685 - 94 170.004 1565 1 0 8.3606 133.283 -175.85 - 94 9.44453 1564 1 0 8.71473 133.15 -176.24 - 94 79.9517 1236 1 0 27.1204 67.4062 -176.25 - 94 324.134 1237 1 0 26.8516 67.45 -176.198 - 94 232.19 1422 1 0 -98.3873 104.668 -176.25 - 94 107.863 1423 1 0 -98.417 104.75 -176.225 - 94 31.3689 373 1 0 -56.7132 -105.49 -176.25 - 94 304.881 372 1 0 -56.7736 -105.55 -176.219 - 94 236.167 1151 2 1 50.3435 -83.6567 -144.45 - 94 161.226 482 2 0 50.2976 -83.5744 -145.85 - 94 111.154 1145 1 1 49.2174 -82.2045 -174.45 - 94 106.707 487 1 0 49.0396 -82.5541 -175.85 - 94 1.14506 486 1 0 48.982 -82.65 -176.245 - 94 19.2768 1121 0 1 44.2726 -88.7851 -204.45 - 94 131.694 1120 0 1 44.25 -88.8326 -204.514 - 94 91.1708 450 0 0 43.841 -89.8598 -205.85 - 94 8.26168 449 0 0 43.7239 -90.15 -206.228 - 94 15.2062 478 2 0 50.1574 -84.4249 -145.85 - 94 147.188 477 2 0 50.1511 -84.45 -145.895 - 94 0.410578 476 2 0 50.0988 -84.65 -146.248 - 94 53.2853 1126 1 1 45.376 -100.824 -174.45 - 94 101.631 1125 1 1 45.25 -100.866 -174.6 - 94 11.8864 1124 1 1 45.05 -100.925 -174.817 - 94 168.062 394 1 0 44.0595 -101.212 -175.85 - 94 208.169 977 0 1 15.5816 -107.202 -204.45 - 94 138.19 374 0 0 15.284 -105.173 -205.85 - 94 310.93 375 0 0 15.2798 -105.15 -205.865 - 94 409.814 376 0 0 15.2637 -104.95 -206.021 - 94 2.86358 377 0 0 15.2438 -104.75 -206.246 - 94 112.162 937 0 1 7.45252 -89.895 -204.85 - 94 183.927 936 0 1 7.45 -89.8942 -204.846 - 94 121.305 935 0 1 7.25 -89.8029 -204.543 - 94 69.175 934 0 1 7.04998 -90.0322 -204.58 - 94 23.8915 849 3 1 -10.05 -168.828 -114.772 - 94 171.505 1141 8 1 48.3599 -86.2015 35.55 - 94 115.619 469 8 0 48.3585 -86.2018 34.15 - 94 139.793 1141 7 1 48.3318 -86.2053 5.55 - 94 117.856 469 7 0 48.3308 -86.2058 4.15 - 94 134.026 1141 6 1 48.3042 -86.2158 -24.45 - 94 110.788 469 6 0 48.3045 -86.2151 -25.85 - 94 143.929 1141 5 1 48.3068 -86.1962 -54.45 - 94 410.58 469 5 0 48.3055 -86.1957 -55.85 - 94 116.348 1141 4 1 48.2712 -86.1938 -84.45 - 94 158.844 469 4 0 48.2721 -86.1947 -85.85 - 94 107.156 1141 3 1 48.2948 -86.2262 -114.45 - 94 103.455 469 3 0 48.2982 -86.2291 -115.85 - 94 121.008 1141 2 1 48.3777 -86.2875 -144.45 - 94 111.268 468 2 0 48.3809 -86.2893 -145.85 - 94 118.93 1142 1 1 48.4536 -86.3169 -174.45 - 94 119.394 468 1 0 48.4582 -86.3163 -175.85 - 94 447.781 1142 0 1 48.5535 -86.3209 -204.45 - 94 126.296 468 0 0 48.5562 -86.3216 -205.85 - 94 53.4569 433 3 0 -22.8951 -93.4843 -116.25 - 94 152.313 467 0 0 48.6616 -86.5205 -205.85 - 94 93.8329 471 0 0 48.6436 -85.846 -205.85 - 94 151.84 1321 4 1 84.45 -2.32249 -84.6366 - 94 9.6919 1000 4 1 20.25 6.42599 -84.5727 - 94 222.851 848 2 1 -10.2931 -162.976 -144.85 - 94 81.3689 846 2 1 -10.65 -162.558 -144.717 - 94 215.862 849 2 1 -10.25 -163.338 -144.48 -Number of digits in this event: 46 +Number of tracker hits in this event: 67 + 94 252.491 179 7 1 -144.214 -3.35582 5.55 + 94 288.075 883 7 0 -144.216 -3.35597 4.15 + 94 297.795 179 6 1 -144.266 -3.35206 -24.45 + 94 297.471 883 6 0 -144.267 -3.35283 -25.85 + 94 217.521 179 5 1 -144.316 -3.36198 -54.45 + 94 247.938 883 5 0 -144.317 -3.35735 -55.85 + 94 288.987 179 4 1 -144.316 -3.2396 -84.45 + 94 242.4 884 4 0 -144.32 -3.23773 -85.85 + 94 171.71 178 3 1 -144.411 -3.19723 -114.45 + 94 161.564 884 3 0 -144.416 -3.1934 -115.85 + 94 142.579 178 2 1 -144.517 -3.1094 -144.45 + 94 285.675 884 2 0 -144.521 -3.10389 -145.85 + 94 224.157 177 1 1 -144.589 -2.97425 -174.45 + 94 112.429 885 1 0 -144.592 -2.96886 -175.85 + 94 114.511 177 0 1 -144.661 -2.86574 -204.45 + 94 131.184 885 0 0 -144.663 -2.85912 -205.85 + 94 66.0605 178 4 1 -144.361 -3.27204 -84.4502 + 94 121.523 883 4 0 -144.299 -3.30981 -85.85 + 94 111.044 185 3 1 -143.12 -3.96519 -114.45 + 94 62.3351 880 3 0 -143.1 -3.86572 -115.85 + 94 54.5844 881 3 0 -143.097 -3.85 -116.072 + 94 470.138 186 2 1 -142.818 -1.85353 -144.45 + 94 116.185 892 2 0 -142.9 -1.57787 -145.85 + 94 125.69 176 1 1 -144.75 3.92563 -174.476 + 94 111.811 920 1 0 -144.803 4.11202 -175.85 + 94 149.47 173 0 1 -145.525 8.16861 -204.45 + 94 203.572 942 0 0 -145.495 8.47064 -205.85 + 94 101.824 891 2 0 -142.717 -1.75202 -145.85 + 94 204.449 196 1 1 -140.891 0.872266 -174.45 + 94 196.441 904 1 0 -140.811 0.926816 -175.851 + 94 178.104 205 0 1 -139.06 1.31842 -204.45 + 94 126.293 905 0 0 -138.734 1.22885 -205.85 + 94 118.407 885 4 0 -144.152 -2.98999 -85.8501 + 94 99.3117 215 3 1 -137.105 1.81835 -114.45 + 94 22.4266 216 3 1 -136.95 1.75079 -114.794 + 94 231.296 907 3 0 -136.455 1.58923 -115.85 + 94 203.792 268 2 1 -126.492 -5.17813 -144.45 + 94 63.286 269 2 1 -126.35 -5.57775 -144.745 + 94 43.7143 864 2 0 -125.871 -7.08704 -145.85 + 94 69.1947 863 2 0 -125.827 -7.25016 -145.975 + 94 30.4908 862 2 0 -125.804 -7.45 -146.174 + 94 132.426 288 1 1 -122.423 -35.3006 -174.45 + 94 185.987 724 1 0 -122.323 -35.1421 -175.85 + 94 43.3728 307 0 1 -118.586 -29.731 -204.45 + 94 86.7379 308 0 1 -118.55 -29.7344 -204.567 + 94 118.996 750 0 0 -118.208 -29.8626 -205.85 + 94 77.2655 1422 0 0 -43.7422 104.55 -206.06 + 94 122.044 884 6 0 -144.321 -3.25 -25.9548 + 94 21.7964 904 0 0 -152.619 1.02646 -206.25 + 94 182.373 180 4 1 -144.056 -3.2001 -84.45 + 94 118.162 180 3 1 -144.134 -3.33844 -114.45 + 94 188.39 883 3 0 -144.139 -3.34589 -115.85 + 94 225.786 179 2 1 -144.21 -3.49262 -144.45 + 94 104.419 882 2 0 -144.234 -3.5105 -145.85 + 94 122.899 880 1 0 -144.727 -3.88656 -175.85 + 94 190.249 174 0 1 -145.249 -4.28736 -204.45 + 94 117.519 878 0 0 -145.244 -4.31849 -205.85 + 94 224.239 180 0 1 -143.978 -3.10184 -204.45 + 94 225.507 884 0 0 -143.98 -3.10093 -205.85 + 94 2.65804 368 4 0 -177.19 -106.376 -86.25 + 94 85.0074 181 9 0 124.931 -143.831 63.75 + 94 191.916 180 2 1 -144.111 -3.2488 -144.45 + 94 128.047 182 1 1 -143.55 -1.77372 -174.45 + 94 121.769 891 1 0 -143.713 -1.71153 -175.85 + 94 121.078 165 0 1 -147.071 -0.45598 -204.45 + 94 173.74 898 0 0 -147.343 -0.432779 -205.85 + 94 106.257 885 2 0 -144.358 -2.94534 -145.85 +Number of digits in this event: 44 Using G4ParticleGun... -Particle energy: 7.84284 LIN +Particle energy: 9.96402 LIN Particle: gamma Event: 95 -Number of tracker hits in this event: 1 - 95 8.3898 1228 5 1 65.8484 86.4625 -54.45 -Number of digits in this event: 2 -Using G4ParticleGun... -Particle energy: 2.64634 LIN +Number of tracker hits in this event: 252 + 95 232.543 1179 11 1 55.8517 -9.18124 125.55 + 95 262.947 854 11 0 55.8517 -9.18083 124.15 + 95 419.086 1179 10 1 55.8501 -9.17232 95.55 + 95 114.949 854 10 0 55.8535 -9.17307 94.15 + 95 121.286 1179 9 1 55.9354 -9.19692 65.55 + 95 115.07 854 9 0 55.9355 -9.19729 64.15 + 95 444.496 1179 8 1 55.9237 -9.21593 35.55 + 95 395.225 854 8 0 55.9253 -9.22039 34.15 + 95 258.852 1179 7 1 55.9747 -9.325 5.55 + 95 125.144 853 7 0 55.9791 -9.32925 4.15 + 95 129.497 1180 6 1 56.0755 -9.41552 -24.45 + 95 123.295 853 6 0 56.083 -9.42075 -25.85 + 95 131.5 1180 5 1 56.2345 -9.51894 -54.45 + 95 103.941 852 5 0 56.2444 -9.52573 -55.85 + 95 80.4298 1181 4 1 56.45 -9.66865 -84.45 + 95 172.525 1182 4 1 56.45 -9.66866 -84.4511 + 95 268.078 851 4 0 56.458 -9.6754 -85.85 + 95 345.109 1182 3 1 56.6196 -9.8286 -114.45 + 95 118.549 851 3 0 56.624 -9.83087 -115.85 + 95 373.912 1183 2 1 56.6947 -9.88034 -144.45 + 95 287.154 850 2 0 56.6906 -9.88112 -145.85 + 95 144.079 1182 1 1 56.6105 -9.88855 -174.45 + 95 106.716 850 1 0 56.6111 -9.89158 -175.85 + 95 108.492 1182 0 1 56.6368 -9.9647 -204.45 + 95 181.983 850 0 0 56.6408 -9.97751 -205.85 + 95 230.908 1178 1 1 55.6575 -10.3388 -174.45 + 95 202.01 848 1 0 55.6049 -10.4052 -175.85 + 95 137.259 1170 0 1 54.1911 -11.9785 -204.45 + 95 263.465 840 0 0 53.9591 -11.912 -205.85 + 95 259.657 851 2 0 56.5595 -9.82035 -145.85 + 95 103.967 1167 1 1 53.5086 -8.29894 -174.45 + 95 24.5079 1166 1 1 53.4496 -8.2919 -174.739 + 95 136.729 859 1 0 53.2537 -8.24466 -175.85 + 95 152.284 1136 0 1 47.4269 -6.91517 -204.45 + 95 119.848 864 0 0 47.3641 -7.13276 -205.85 + 95 70.8222 945 9 0 68.9033 9.21199 63.75 + 95 1.77715 946 9 0 68.9162 9.25008 64.0623 + 95 248.656 1183 3 1 56.65 -9.80006 -114.693 + 95 92.6444 853 4 0 56.3173 -9.39708 -85.8505 + 95 141.14 1149 3 1 49.9456 -5.55256 -114.45 + 95 24.2898 872 3 0 50.0685 -5.63619 -115.85 + 95 76.1534 871 3 0 50.0786 -5.65 -115.945 + 95 360.894 1149 2 1 49.8527 -12.9205 -144.45 + 95 126.632 1148 2 1 49.85 -12.9243 -144.456 + 95 48.4946 1147 2 1 49.65 -13.1587 -144.799 + 95 144.275 831 2 0 48.6619 -13.7067 -145.85 + 95 2.73005 832 2 0 48.4495 -13.65 -146.237 + 95 22.1725 1150 2 1 50.05 -13.7103 -144.498 + 95 101.661 1198 3 1 59.7849 -8.92364 -114.45 + 95 15.1345 1197 3 1 59.65 -9.03389 -114.795 + 95 107.21 853 3 0 59.2947 -9.43653 -115.85 + 95 498.808 852 3 0 59.2833 -9.45 -115.886 + 95 183.819 1146 2 1 49.3182 -17.9968 -144.45 + 95 72.246 806 2 0 49.4904 -18.711 -145.85 + 95 104.664 805 2 0 49.5469 -18.85 -146.129 + 95 9.40055 633 2 0 69.1339 -53.4281 -146.25 + 95 99.839 632 2 0 69.1474 -53.45 -146.222 + 95 53.0241 631 2 0 69.2759 -53.65 -145.983 + 95 219.162 1250 2 1 70.0853 -55.0479 -144.849 + 95 49.6359 1251 2 1 70.3079 -55.5079 -144.45 + 95 65.2178 1252 2 1 70.4505 -55.3806 -144.532 + 95 105.348 1253 2 1 70.6504 -55.2169 -144.651 + 95 59.6973 1254 2 1 70.85 -55.0449 -144.77 + 95 105.129 636 2 0 73.63 -52.8191 -145.85 + 95 151.427 637 2 0 73.8795 -52.65 -145.957 + 95 190.02 638 2 0 74.1679 -52.4494 -145.982 + 95 254.537 639 2 0 74.5816 -52.25 -146.015 + 95 171.868 695 2 0 104.472 -41.0066 -146.25 + 95 103.296 1183 1 1 56.65 -16.7521 -174.506 + 95 217.879 1184 1 1 56.85 -16.4574 -174.631 + 95 4.34902 827 1 0 57.8875 -14.4681 -175.85 + 95 75.7927 828 1 0 57.8972 -14.4497 -175.861 + 95 54.3249 829 1 0 57.9988 -14.25 -175.942 + 95 108.185 830 1 0 58.0414 -14.0499 -176.027 + 95 63.2063 831 1 0 58.0843 -13.85 -176.113 + 95 58.5896 832 1 0 58.119 -13.65 -176.176 + 95 51.8704 833 1 0 58.1622 -13.45 -176.176 + 95 3.5239 834 1 0 58.2369 -13.2491 -176.24 + 95 57.6831 1113 1 0 108.144 42.8146 -176.25 + 95 117.618 1114 1 0 108.304 42.85 -176.115 + 95 102.758 1445 1 1 109.303 43.0356 -174.85 + 95 85.9856 1446 1 1 109.35 43.0438 -174.789 + 95 57.1499 1447 1 1 109.55 43.084 -174.615 + 95 106.288 1178 7 1 55.8005 -9.11589 5.55 + 95 269.131 854 7 0 55.7976 -9.11228 4.15 + 95 337.717 1178 6 1 55.7351 -9.03609 -24.45 + 95 123.148 855 6 0 55.7298 -9.03075 -25.85 + 95 113.808 1177 5 1 55.6239 -8.91833 -54.45 + 95 290.794 855 5 0 55.618 -8.91496 -55.85 + 95 123.434 1177 4 1 55.4989 -8.84443 -84.45 + 95 145.225 856 4 0 55.4945 -8.84098 -85.85 + 95 201.826 1176 3 1 55.3995 -8.77118 -114.45 + 95 101.8 856 3 0 55.3953 -8.77002 -115.85 + 95 111.12 1176 2 1 55.3123 -8.74521 -144.45 + 95 121.283 856 2 0 55.3094 -8.74112 -145.85 + 95 130.03 1176 1 1 55.2536 -8.65671 -174.45 + 95 124.366 856 1 0 55.2525 -8.65612 -175.85 + 95 115.97 1175 0 1 55.2443 -8.65608 -204.45 + 95 152.28 856 0 0 55.2434 -8.6544 -205.85 + 95 59.483 1010 1 0 79.5134 22.05 -176.2 + 95 71.4871 1175 1 1 55.2089 -8.66891 -174.45 + 95 71.8158 1174 1 1 55.05 -8.76068 -174.524 + 95 71.5674 1173 1 1 54.85 -8.81999 -174.561 + 95 66.1806 1172 1 1 54.6499 -8.83956 -174.498 + 95 100.926 1171 1 1 54.45 -8.8583 -174.466 + 95 180.151 1170 1 1 54.25 -8.93875 -174.529 + 95 238.617 1169 1 1 54.0496 -9.10584 -174.604 + 95 133.192 1168 1 1 53.85 -9.05755 -174.695 + 95 8.97606 809 0 0 47.4135 -18.05 -206.094 + 95 41.8106 752 5 0 73.0337 -29.5112 -56.2499 + 95 175.101 1179 6 1 55.9234 -9.08117 -24.45 + 95 127.958 854 6 0 55.9216 -9.079 -25.85 + 95 257.162 1179 5 1 55.8867 -9.0276 -54.45 + 95 106.585 1178 4 1 55.7993 -9.01728 -84.45 + 95 144.196 855 4 0 55.7943 -9.01969 -85.85 + 95 163.689 1178 3 1 55.7098 -9.08195 -114.45 + 95 362.898 854 3 0 55.7081 -9.08617 -115.85 + 95 141.535 1178 2 1 55.6722 -9.16343 -144.45 + 95 313.686 854 2 0 55.6724 -9.16736 -145.85 + 95 287.824 853 1 0 55.6912 -9.25146 -175.85 + 95 407.757 1178 0 1 55.6934 -9.30265 -204.45 + 95 107.354 853 0 0 55.7004 -9.30149 -205.85 + 95 206.187 855 0 0 55.7282 -9.01501 -205.85 + 95 197.878 1177 1 1 55.6312 -9.24537 -174.45 + 95 587.215 852 0 0 55.6873 -9.56254 -205.85 + 95 18.1099 851 0 0 55.7646 -9.65 -206.202 + 95 112.071 856 5 0 56.2029 -8.77654 -55.85 + 95 39.5043 1207 4 1 61.6 -6.05806 -84.45 + 95 63.0826 1206 4 1 61.45 -6.08837 -84.517 + 95 75.7158 1205 4 1 61.2496 -6.12644 -84.5989 + 95 52.8614 1204 4 1 61.05 -6.17132 -84.6682 + 95 107.097 1203 4 1 60.8499 -6.19877 -84.6993 + 95 52.3916 1202 4 1 60.65 -6.22634 -84.7297 + 95 83.2039 1201 4 1 60.4495 -6.25299 -84.7773 + 95 9.6155 1200 4 1 60.25 -6.2766 -84.8404 + 95 203.557 866 4 0 57.8702 -6.65062 -85.85 + 95 50.0637 865 4 0 57.2664 -6.85003 -86.2212 + 95 159.322 1027 3 1 25.5247 -17.8925 -114.45 + 95 131.899 1026 3 1 25.4497 -18.0067 -114.599 + 95 125.752 804 3 0 24.7979 -19.056 -115.85 + 95 42.1586 803 3 0 24.6851 -19.25 -116.115 + 95 0.204556 980 2 1 16.0506 -45.5572 -144.45 + 95 149.703 979 2 1 16.0497 -45.557 -144.451 + 95 384.596 978 2 1 15.85 -45.4769 -144.602 + 95 86.4605 977 2 1 15.6497 -45.4134 -144.713 + 95 15.4305 976 2 1 15.45 -45.3368 -144.817 + 95 167.468 677 2 0 13.8092 -44.6271 -145.85 + 95 43.5606 678 2 0 13.5216 -44.45 -146.129 + 95 276.705 773 2 0 8.21247 -25.3716 -146.25 + 95 24.4706 945 2 1 9.21355 -25.4409 -144.85 + 95 149.88 946 2 1 9.25 -25.4484 -144.786 + 95 120.277 947 2 1 9.45 -25.3348 -144.467 + 95 57.854 789 2 0 6.59041 -22.2376 -145.85 + 95 77.4522 790 2 0 6.47709 -22.05 -145.951 + 95 75.6366 791 2 0 6.39773 -21.8496 -145.999 + 95 102.466 792 2 0 6.28412 -21.65 -146.084 + 95 96.0847 1177 6 1 55.65 -9.18024 -24.599 + 95 242.66 1176 6 1 55.45 -9.12244 -24.6039 + 95 332.202 831 9 0 89.1475 -13.7598 63.75 + 95 114.002 853 10 0 55.9969 -9.25724 94.15 + 95 164.193 1186 9 1 57.2955 -10.027 65.55 + 95 231.718 849 9 0 57.4028 -10.1141 64.15 + 95 151.085 1191 8 1 58.3812 -11.8937 35.5495 + 95 152.936 839 8 0 58.4108 -12.1316 34.15 + 95 455.813 1198 7 1 59.751 -17.229 5.55 + 95 107.83 813 7 0 59.8749 -17.4021 4.15 + 95 103.013 1215 6 1 63.0762 -20.5263 -24.4503 + 95 115.62 797 6 0 63.3717 -20.5151 -25.85 + 95 159.985 1247 5 1 69.5078 -20.5319 -54.45 + 95 4.18813 1248 5 1 69.65 -20.5609 -54.8386 + 95 9.1704 797 5 0 69.9909 -20.6472 -55.85 + 95 174.166 796 5 0 70.0022 -20.65 -55.8833 + 95 127.524 1290 4 1 78.0702 -22.7018 -84.4501 + 95 109.058 786 4 0 78.5644 -22.6832 -85.85 + 95 81.6674 1342 3 1 88.565 -22.3204 -114.45 + 95 45.4016 1343 3 1 88.65 -22.2755 -114.689 + 95 191.409 789 3 0 89.0804 -22.1058 -115.85 + 95 171.193 1402 2 1 100.581 -18.7953 -144.45 + 95 31.0713 812 2 0 101.074 -17.5302 -145.85 + 95 87.9549 813 2 0 101.104 -17.45 -145.94 + 95 30.2621 814 2 0 101.19 -17.25 -146.175 + 95 89.7066 1467 1 1 113.611 6.34161 -174.45 + 95 55.6698 1468 1 1 113.75 6.52347 -174.716 + 95 48.5912 936 1 0 114.32 7.38041 -175.85 + 95 132.586 937 1 0 114.367 7.45 -175.943 + 95 23.454 938 1 0 114.513 7.65 -176.206 + 95 5.35234 1540 0 1 128.334 31.5508 -204.45 + 95 86.4315 1541 0 1 128.35 31.5555 -204.461 + 95 101.796 1542 0 1 128.55 31.619 -204.593 + 95 70.6727 1543 0 1 128.75 31.6707 -204.711 + 95 16.6978 1544 0 1 128.95 31.7205 -204.821 + 95 31.9624 1060 0 0 130.801 32.2131 -205.85 + 95 223.322 1061 0 0 130.915 32.25 -205.912 + 95 407.441 1080 0 0 152.853 36.2424 -206.25 + 95 47.5359 1656 0 1 151.388 36.5381 -204.85 + 95 387.37 1655 0 1 151.35 36.5525 -204.818 + 95 13.4538 1086 0 0 151.041 37.417 -205.85 + 95 111.799 1087 0 0 151.045 37.4502 -205.895 + 95 142.448 1125 0 0 132.82 45.1774 -206.25 + 95 30.6596 1563 0 1 132.947 45.6626 -204.85 + 95 365.93 1564 0 1 132.95 45.6973 -204.777 + 95 50.7538 1079 0 0 152.754 36.05 -206.028 + 95 62.1056 1078 0 0 152.752 35.8497 -205.927 + 95 26.3595 1077 0 0 152.756 35.65 -205.878 + 95 125.194 1663 0 1 152.917 33.7879 -204.85 + 95 144.669 1664 0 1 152.95 33.3356 -204.722 + 95 107.919 1665 0 1 153.15 32.9601 -204.643 + 95 399.865 1666 0 1 153.35 32.9532 -204.509 + 95 206.708 1334 3 1 87.0371 -22.2611 -114.45 + 95 27.2591 1335 3 1 87.05 -22.2193 -114.496 + 95 36.6511 811 5 0 40.6336 -17.6977 -55.85 + 95 7.15544 812 5 0 40.4992 -17.65 -56.2222 + 95 53.6123 932 5 0 25.5667 6.62579 -56.25 + 95 159.806 933 5 0 25.4795 6.65 -56.0606 + 95 55.985 1023 5 1 24.7193 6.76028 -54.85 + 95 391.99 1022 5 1 24.65 6.78015 -54.6628 + 95 126.959 1021 5 1 24.45 7.2447 -54.812 + 95 54.5751 934 5 0 19.2433 6.97687 -55.85 + 95 168.912 1199 7 1 59.85 -17.0592 5.50257 + 95 117.154 751 2 0 67.6442 -29.65 -145.911 + 95 74.7736 1178 10 1 55.85 -9.1647 95.3822 + 95 143.882 855 10 0 55.0398 -8.98537 94.1496 + 95 22.8205 817 10 0 32.1071 -16.6099 93.7501 + 95 90.0992 816 10 0 32.1038 -16.65 93.8384 + 95 70.913 815 10 0 32.021 -16.85 94.0777 + 95 22.6805 1055 10 1 31.0854 -17.9146 95.1503 + 95 126.899 1054 10 1 31.05 -17.9577 95.2008 + 95 336.865 1053 10 1 30.8499 -18.1125 95.3212 + 95 75.842 813 10 0 31.1803 -17.3729 94.1499 + 95 137.256 814 10 0 31.1765 -17.25 93.978 + 95 302.479 1183 4 1 56.7044 -9.08563 -84.45 + 95 229.081 854 4 0 56.7096 -9.08604 -85.85 + 95 144.412 1184 2 1 56.9247 -9.05544 -144.45 + 95 245.77 1185 1 1 57.0662 -9.00921 -174.45 + 95 128.796 855 1 0 57.0713 -9.01001 -175.85 + 95 89.035 1185 0 1 57.1661 -9.0118 -204.45 + 95 41.7588 837 0 0 55.4462 -12.6189 -206.25 + 95 132.481 836 0 0 55.4514 -12.6501 -206.184 + 95 2.59754 1188 0 1 57.8435 -15.0186 -204.85 + 95 103.515 1189 0 1 57.8502 -15.025 -204.847 + 95 130.11 1190 0 1 58.05 -15.2168 -204.725 + 95 255.223 1191 0 1 58.25 -15.2625 -204.489 + 95 9.45852 618 2 0 46.1461 -56.4162 -146.25 + 95 79.1194 617 2 0 46.1376 -56.4501 -146.233 + 95 27.4376 616 2 0 46.1092 -56.65 -146.213 + 95 50.6635 1190 3 1 58.1567 -9.31736 -114.85 + 95 123.544 1186 3 1 57.2833 -8.96122 -114.45 + 95 119.538 855 3 0 57.2713 -8.9895 -115.85 + 95 283.09 1185 2 1 57.2005 -9.66052 -144.45 + 95 143.578 843 1 0 57.1822 -11.2621 -175.85 + 95 112.489 1187 0 1 57.6205 -11.7889 -204.45 + 95 138.283 844 1 0 57.1819 -11.25 -176.031 +Number of digits in this event: 119 +Using G4ParticleGun... +Particle energy: 9.66459 LIN Particle: gamma Event: 96 -Number of tracker hits in this event: 113 - 96 198.737 835 8 1 -12.8645 -27.2184 35.55 - 96 226.717 764 8 0 -12.8633 -27.2181 34.15 - 96 408.101 836 7 1 -12.8321 -27.2098 5.55 - 96 228.125 764 7 0 -12.8299 -27.2084 4.15 - 96 139.226 836 6 1 -12.7918 -27.1832 -24.45 - 96 142.81 764 6 0 -12.7904 -27.1823 -25.85 - 96 156.238 836 5 1 -12.7569 -27.1684 -54.45 - 96 110.366 764 5 0 -12.7579 -27.1701 -55.85 - 96 119.67 836 4 1 -12.7782 -27.2156 -84.45 - 96 140.202 764 4 0 -12.7778 -27.2164 -85.85 - 96 102.909 836 3 1 -12.7599 -27.2322 -114.45 - 96 135.896 764 3 0 -12.7558 -27.2357 -115.85 - 96 106.573 837 2 1 -12.6474 -27.2993 -144.45 - 96 110.707 763 2 0 -12.6416 -27.3041 -145.85 - 96 126.681 837 1 1 -12.5346 -27.3892 -174.45 - 96 119.345 763 1 0 -12.5342 -27.3943 -175.85 - 96 124.038 837 0 1 -12.5309 -27.5114 -204.45 - 96 152.656 762 0 0 -12.5298 -27.5158 -205.85 - 96 59.483 923 4 0 -21.766 4.85 -86.0526 - 96 41.5124 1407 1 1 101.55 -35.802 -174.802 - 96 236.876 1408 1 1 101.751 -35.8475 -174.636 - 96 217.661 835 0 1 -12.9439 -27.359 -204.45 - 96 243.955 763 0 0 -12.9585 -27.3509 -205.85 - 96 0.10867 1699 2 1 159.95 -147.927 -144.531 - 96 118.403 828 6 1 -14.3699 -26.4373 -24.45 - 96 57.7172 768 6 0 -14.2027 -26.4259 -25.85 - 96 56.4089 767 6 0 -14.1839 -26.45 -26.0575 - 96 112.163 842 5 1 -11.5061 -30.5842 -54.45 - 96 45.3717 843 5 1 -11.45 -30.6554 -54.7072 - 96 82.3945 745 5 0 -11.1841 -30.9748 -55.8501 - 96 65.5359 744 5 0 -11.1231 -31.05 -56.1239 - 96 168.702 873 4 1 -5.30051 -39.5812 -84.45 - 96 18.3632 700 4 0 -5.12042 -40.0318 -85.8503 - 96 120.529 699 4 0 -5.1126 -40.05 -85.9073 - 96 110.935 895 3 1 -0.996785 -48.0572 -114.45 - 96 109.37 657 3 0 -0.795912 -48.5156 -115.85 - 96 112.628 912 2 1 2.47681 -57.2937 -144.451 - 96 140.797 611 2 0 2.683 -57.7133 -145.85 - 96 103.175 938 1 1 7.81688 -65.7663 -174.45 - 96 3.98475 939 1 1 7.85002 -65.9158 -174.829 - 96 111.043 568 1 0 7.94049 -66.3143 -175.85 - 96 18.093 567 1 0 7.97404 -66.45 -176.181 - 96 151.17 955 0 1 11.0837 -78.5593 -204.45 - 96 88.0203 956 0 1 11.2502 -78.8126 -204.837 - 96 136.159 502 0 0 11.6971 -79.4786 -205.85 - 96 70.2909 501 0 0 11.8046 -79.65 -206.1 - 96 50.1056 518 0 0 14.6763 -76.3871 -206.25 - 96 82.8782 519 0 0 14.6637 -76.2499 -206.091 - 96 73.6592 971 0 1 14.4299 -75.4446 -204.85 - 96 52.7517 972 0 1 14.45 -75.3396 -204.603 - 96 121.652 765 7 0 -12.5234 -26.9589 4.15 - 96 140.878 864 6 1 -7.18932 -22.3232 -24.45 - 96 108.5 789 6 0 -6.90105 -22.2279 -25.85 - 96 90.3189 896 5 1 -0.776027 -20.535 -54.45 - 96 14.877 897 5 1 -0.65 -20.5638 -54.7749 - 96 156.807 796 5 0 -0.24457 -20.6674 -55.85 - 96 199.676 958 4 1 11.7192 -24.6764 -84.4506 - 96 94.7465 778 4 0 12.1805 -24.3438 -85.85 - 96 3.55934 779 4 0 12.3177 -24.25 -86.2412 - 96 123.642 1008 3 1 21.7155 -17.1845 -114.45 - 96 98.9866 815 3 0 21.8706 -17.0012 -115.85 - 96 217.282 1024 2 1 25.0312 -13.2002 -144.45 - 96 157.045 1025 2 1 25.05 -13.1997 -144.468 - 96 99.4202 1026 2 1 25.25 -13.1938 -144.653 - 96 184.749 836 2 0 26.401 -12.7719 -145.85 - 96 108.149 837 2 0 26.7604 -12.65 -146.068 - 96 190.061 1250 1 1 70.1807 7.99641 -174.45 - 96 25.445 1251 1 1 70.25 7.39332 -174.801 - 96 26.9081 928 1 0 70.4481 5.74486 -175.85 - 96 72.1597 927 1 0 70.4554 5.65 -175.911 - 96 186.263 926 1 0 70.4656 5.45 -176.021 - 96 55.7868 925 1 0 70.4735 5.25 -176.111 - 96 54.8055 924 1 0 70.4882 5.05 -176.179 - 96 20.8734 923 1 0 70.4875 4.85 -176.228 - 96 235.47 1226 0 1 65.3679 -92.8901 -204.45 - 96 24.7409 429 0 0 64.7463 -94.3114 -205.85 - 96 147.749 428 0 0 64.7154 -94.35 -205.905 - 96 17.7017 427 0 0 64.4342 -94.55 -206.22 - 96 168.751 948 4 1 9.66387 -36.0883 -84.4502 - 96 81.9596 747 3 0 -55.2995 -30.6211 -116.25 - 96 45.8131 836 8 1 -12.85 -27.2231 35.319 - 96 294.98 839 7 1 -12.1165 -27.3848 5.54995 - 96 116.964 763 7 0 -12.0706 -27.3958 4.14884 - 96 127.301 844 6 1 -11.155 -27.8139 -24.4507 - 96 121.429 761 6 0 -11.0257 -27.8193 -25.85 - 96 135.683 857 5 1 -8.51767 -27.6535 -54.4506 - 96 142.988 761 5 0 -8.60469 -27.6856 -55.85 - 96 122.723 844 4 1 -11.0675 -28.5963 -84.45 - 96 116.346 758 4 0 -11.3575 -28.3673 -85.8501 - 96 101.37 815 3 1 -16.8626 -22.4243 -114.45 - 96 121.605 789 3 0 -17.0162 -22.1751 -115.85 - 96 263.958 796 2 1 -20.6962 -17.0904 -144.451 - 96 254.084 818 2 0 -20.6537 -16.4056 -145.85 - 96 196.696 819 2 0 -20.6465 -16.25 -146.213 - 96 39.1249 813 1 1 -17.3376 -5.27989 -174.45 - 96 95.2935 814 1 1 -17.25 -5.35433 -174.546 - 96 66.7176 815 1 1 -17.05 -5.51986 -174.788 - 96 110.607 871 1 0 -16.2844 -5.82307 -175.85 - 96 26.4776 870 1 0 -16.0279 -5.85 -176.175 - 96 38.8532 957 0 1 11.5032 -11.6831 -204.45 - 96 91.9373 843 0 0 10.9711 -11.3283 -205.85 - 96 53.5937 844 0 0 10.8882 -11.25 -206.159 - 96 28.6615 823 0 0 -0.878192 -15.3986 -206.25 - 96 91.3363 822 0 0 -0.881001 -15.4501 -206.13 - 96 23.5773 892 0 1 -1.61083 -15.9997 -204.85 - 96 441.148 891 0 1 -1.65015 -16.0611 -204.783 - 96 11.5499 890 0 1 -1.85 -16.4655 -204.47 - 96 69.5745 846 1 0 63.6955 -10.7648 -176.25 - 96 79.9428 842 2 0 42.0914 -11.4732 -146.25 - 96 30.4839 1299 2 0 -17.3332 79.85 -146.093 - 96 169.9 808 5 0 9.11065 -18.4024 -56.25 - 96 104.236 945 5 1 9.08827 -18.0374 -54.8498 - 96 419.774 946 5 1 9.25028 -18.0623 -54.6738 -Number of digits in this event: 48 +Number of tracker hits in this event: 0 +Number of digits in this event: 3 Using G4ParticleGun... -Particle energy: 5.79601 LIN +Particle energy: 7.77988 LIN Particle: gamma Event: 97 -Number of tracker hits in this event: 0 -Number of digits in this event: 2 +Number of tracker hits in this event: 40 + 97 213.17 1121 5 1 44.3475 5.60373 -54.45 + 97 230.312 927 5 0 44.348 5.60456 -55.85 + 97 111.991 1121 4 1 44.3592 5.61542 -84.45 + 97 281.702 927 4 0 44.3586 5.61503 -85.85 + 97 327.601 1121 3 1 44.3427 5.6106 -114.45 + 97 150.669 927 3 0 44.3399 5.60971 -115.85 + 97 111.254 1121 2 1 44.2916 5.59526 -144.45 + 97 156.621 927 2 0 44.29 5.59381 -145.85 + 97 124.761 1121 1 1 44.2527 5.56564 -174.45 + 97 97.7986 927 1 0 44.2496 5.56229 -175.85 + 97 156.51 1120 0 1 44.1917 5.49462 -204.45 + 97 190.231 927 0 0 44.1879 5.49194 -205.85 + 97 60.1672 426 0 0 87.2449 -94.75 -206.199 + 97 33.1619 1120 3 1 44.25 5.62379 -114.752 + 97 200.019 929 3 0 43.8906 5.96833 -115.85 + 97 97.3869 930 3 0 43.5682 6.05 -116.03 + 97 28.6103 1109 3 1 41.9422 6.51354 -114.85 + 97 195.148 1108 3 1 41.8497 6.54444 -114.824 + 97 210.037 1107 3 1 41.6499 6.64758 -114.714 + 97 119.631 1120 4 1 44.2113 5.5176 -84.45 + 97 127.839 1119 3 1 43.9902 5.42513 -114.45 + 97 161.894 926 3 0 43.9821 5.42244 -115.85 + 97 142.768 1118 2 1 43.8076 5.36784 -144.45 + 97 113.397 926 2 0 43.7987 5.36564 -145.85 + 97 129.577 1117 1 1 43.6131 5.32655 -174.45 + 97 113.95 926 1 0 43.6044 5.32563 -175.85 + 97 133.648 1116 0 1 43.4378 5.29924 -204.45 + 97 107.853 926 0 0 43.4297 5.29757 -205.85 + 97 19.6525 1477 0 0 20.8367 115.55 -206.163 + 97 72.051 1478 0 0 20.7861 115.75 -206.036 + 97 46.0043 1479 0 0 20.6457 115.95 -205.93 + 97 91.1973 1001 0 1 20.4476 117.828 -204.85 + 97 172.643 1002 0 1 20.45 118.125 -204.718 + 97 170.367 1003 0 1 20.65 118.531 -204.722 + 97 223.148 1004 0 1 20.8504 118.767 -204.8 + 97 63.5971 1005 0 1 21.05 118.866 -204.559 + 97 87.279 1497 0 0 21.0014 119.725 -205.85 + 97 74.7351 1498 0 0 20.9546 119.75 -206.013 + 97 2.13311 441 3 1 -91.9311 -13.0989 -114.85 + 97 31.2096 1228 0 1 65.65 173.773 -204.694 +Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 2.80754 LIN +Particle energy: 2.52544 LIN Particle: gamma Event: 98 -Number of tracker hits in this event: 0 +Number of tracker hits in this event: 1 + 98 83.0841 612 2 0 52.6274 -57.481 -146.25 Number of digits in this event: 2 Using G4ParticleGun... -Particle energy: 7.04893 LIN +Particle energy: 2.95975 LIN Particle: gamma Event: 99 -Number of tracker hits in this event: 0 -Number of digits in this event: 1 +Number of tracker hits in this event: 62 + 99 346.147 827 4 1 -14.5857 120.081 -84.45 + 99 228.92 1499 4 0 -14.5311 120.079 -85.85 + 99 126.111 834 3 1 -13.0801 120.084 -114.45 + 99 7.25108 833 3 1 -13.25 120.185 -114.839 + 99 6.84598 1501 3 0 -13.7407 120.539 -115.85 + 99 126.482 1502 3 0 -13.7551 120.55 -115.88 + 99 49.5325 759 2 1 -28.2193 139.689 -144.45 + 99 114.64 758 2 1 -28.25 139.742 -144.549 + 99 58.3142 1603 2 0 -28.3721 140.835 -145.85 + 99 106.079 1604 2 0 -28.3881 140.95 -146.017 + 99 80.8513 740 1 1 -31.9609 149.918 -174.45 + 99 97.2649 741 1 1 -31.85 150.01 -174.702 + 99 227.485 1652 1 0 -30.4698 150.565 -175.85 + 99 129.146 1653 1 0 -29.9663 150.75 -175.97 + 99 99.7332 1654 1 0 -29.6043 150.95 -176.176 + 99 138.581 1378 1 0 -11.6617 95.8772 -176.25 + 99 207.185 1377 1 0 -11.5526 95.75 -176.027 + 99 56.5545 757 2 1 -28.45 139.526 -144.497 + 99 113.837 756 2 1 -28.65 139.468 -144.546 + 99 224.591 755 2 1 -28.85 139.459 -144.578 + 99 105.976 754 2 1 -29.05 139.421 -144.63 + 99 122.857 827 3 1 -14.4957 120.111 -114.45 + 99 118.317 1499 3 0 -14.4903 120.111 -115.85 + 99 111.585 828 2 1 -14.3496 120.098 -144.45 + 99 144.609 1499 2 0 -14.3417 120.098 -145.85 + 99 138.043 829 1 1 -14.1669 120.076 -174.45 + 99 122.75 1499 1 0 -14.1441 120.079 -175.85 + 99 143.94 831 0 1 -13.6598 120.181 -204.45 + 99 204.561 1500 0 0 -13.6416 120.162 -205.85 + 99 113.264 832 0 1 -13.5133 120.305 -204.45 + 99 158.439 833 0 1 -13.4498 120.28 -204.61 + 99 7.67279 1240 0 1 68.05 124.166 -204.653 + 99 105.954 826 4 1 -14.6501 120.055 -84.7928 + 99 143.798 1498 4 0 -15.1985 119.89 -85.85 + 99 217.451 1496 4 0 -14.8705 119.491 -85.85 + 99 13.8618 1495 4 0 -14.916 119.35 -86.2067 + 99 121.621 807 3 1 -18.6225 108.04 -114.45 + 99 69.3065 1434 3 0 -18.5843 107.08 -115.85 + 99 53.9112 1433 3 0 -18.5794 106.95 -116.057 + 99 286.348 801 2 1 -19.6811 87.9745 -144.45 + 99 11.5507 1323 2 0 -19.9153 84.6859 -145.85 + 99 48.464 1322 2 0 -19.9176 84.65 -145.865 + 99 56.5933 1321 2 0 -19.921 84.45 -145.949 + 99 60.1733 1320 2 0 -19.9355 84.25 -146.026 + 99 118.523 1319 2 0 -19.9671 84.05 -146.098 + 99 74.5771 1318 2 0 -19.9929 83.85 -146.166 + 99 54.2133 1317 2 0 -20.0181 83.65 -146.222 + 99 63.3317 281 2 0 -59.1793 -123.755 -146.25 + 99 157.392 280 2 0 -59.2335 -123.95 -146.187 + 99 88.99 279 2 0 -59.3042 -124.15 -146.113 + 99 59.5943 278 2 0 -59.3563 -124.35 -146.015 + 99 41.8681 277 2 0 -59.4201 -124.55 -145.898 + 99 19.9311 601 2 1 -59.8433 -126.344 -144.85 + 99 203.999 600 2 1 -59.85 -126.375 -144.831 + 99 174.043 289 3 0 -70.6745 -122.26 -116.25 + 99 308.048 288 3 0 -70.6081 -122.35 -116.074 + 99 47.6904 596 2 1 -60.65 -127.618 -144.574 + 99 31.3873 266 2 0 -58.9609 -126.928 -145.85 + 99 0.218808 265 2 0 -58.9216 -126.95 -145.85 + 99 101.605 607 2 1 -58.5288 -127.132 -144.85 + 99 52.9138 1351 2 0 61.0428 90.4243 -146.25 + 99 100.711 1413 2 0 54.5395 102.822 -146.25 +Number of digits in this event: 26 Run terminated. Run Summary Number of events processed : 100 - User=41.770000s Real=43.618044s Sys=0.050000s + User=40.110000s Real=41.490179s Sys=0.010000s End of Run 1 There are histograms that can be viewed with visualization: 4 h1 histograms(s) @@ -8950,7807 +8729,7876 @@ Cannot set FirstId as its value was already used. done Using G4ParticleGun... -Particle energy: 7.46377 LIN +Particle energy: 2.10538 LIN Particle: e- Event: 0 -Number of tracker hits in this event: 94 - 0 120.546 321 9 1 -115.829 -38.9848 65.55 - 0 128.253 705 9 0 -115.829 -38.9841 64.15 - 0 390.782 321 8 1 -115.826 -38.9686 35.55 - 0 218.666 705 8 0 -115.826 -38.9674 34.15 - 0 324.883 321 7 1 -115.831 -38.942 5.55 - 0 236.656 705 7 0 -115.831 -38.94 4.15 - 0 214.788 321 6 1 -115.828 -38.9023 -24.45 - 0 264.336 705 6 0 -115.829 -38.9011 -25.85 - 0 236.593 321 5 1 -115.84 -38.879 -54.45 - 0 105.326 705 5 0 -115.842 -38.8773 -55.85 - 0 122.073 321 4 1 -115.895 -38.8379 -84.45 - 0 119.796 706 4 0 -115.897 -38.8364 -85.85 - 0 213.107 320 3 1 -115.951 -38.8089 -114.45 - 0 174.785 706 3 0 -115.953 -38.806 -115.85 - 0 127.007 320 2 1 -116.004 -38.7492 -144.45 - 0 135.225 706 2 0 -116.005 -38.7459 -145.85 - 0 118.509 320 1 1 -116.04 -38.6777 -174.45 - 0 486.262 706 1 0 -116.047 -38.6828 -175.85 - 0 329.29 319 0 1 -116.309 -38.6397 -204.45 - 0 94.2909 707 0 0 -116.308 -38.4721 -205.85 - 0 74.0682 708 0 0 -116.309 -38.45 -206.032 - 0 28.4448 320 0 1 -116.15 -38.3319 -204.761 - 0 196.499 709 0 0 -116.439 -38.2158 -205.85 - 0 454.85 321 3 1 -115.95 -38.8032 -114.478 - 0 90.0859 1150 0 1 50.2215 -123.085 -204.45 - 0 116.623 1149 0 1 50.05 -122.926 -204.605 - 0 54.4478 1148 0 1 49.85 -122.751 -204.784 - 0 408.637 288 0 0 49.2638 -122.523 -205.85 - 0 64.6597 704 8 0 -115.846 -39.2116 34.15 - 0 137.449 703 8 0 -115.847 -39.25 33.9339 - 0 99.922 322 7 1 -115.665 -42.458 5.55 - 0 185.539 686 7 0 -115.617 -42.707 4.15 - 0 114.795 322 6 1 -115.727 -46.69 -24.45 - 0 18.7793 323 6 1 -115.55 -46.6966 -24.7976 - 0 182.268 666 6 0 -114.967 -46.6931 -25.85 - 0 155.057 399 5 1 -100.322 -46.0402 -54.45 - 0 121.475 672 5 0 -99.8211 -45.6238 -55.85 - 0 131.564 460 4 1 -87.996 -34.9611 -84.45 - 0 96.4969 726 4 0 -87.9611 -34.7327 -85.8501 - 0 80.2727 463 3 1 -87.3121 -32.7882 -114.45 - 0 50.3849 464 3 1 -87.2498 -32.727 -114.714 - 0 111.199 738 3 0 -86.9114 -32.3876 -115.85 - 0 130.664 477 2 1 -84.4888 -25.3798 -144.45 - 0 41.8211 776 2 0 -84.5385 -24.7166 -145.85 - 0 94.7208 777 2 0 -84.5445 -24.65 -145.993 - 0 4.67812 453 1 1 -89.4479 -14.88 -174.45 - 0 137.514 452 1 1 -89.45 -14.8776 -174.463 - 0 111.863 827 1 0 -89.5725 -14.5996 -175.85 - 0 13.5495 439 0 1 -92.1694 -13.7618 -204.45 - 0 106.245 440 0 1 -92.15 -13.7466 -204.513 - 0 102.257 831 0 0 -91.7216 -13.6908 -205.85 - 0 37.2445 832 0 0 -91.6072 -13.65 -206.101 - 0 49.8584 763 2 0 -83.6897 -27.3814 -145.85 - 0 53.1233 762 2 0 -83.6634 -27.45 -145.875 - 0 183.66 484 2 1 -83.2381 -28.194 -144.85 - 0 40.2554 481 1 1 -83.7695 -12.4419 -174.45 - 0 347.513 480 1 1 -83.85 -12.356 -174.482 - 0 132.574 336 4 1 -112.822 -38.1818 -84.45 - 0 133.463 339 4 1 -112.35 -38.1608 -84.7131 - 0 45.6062 335 4 1 -112.95 -38.0226 -84.8143 - 0 157.14 710 4 0 -113.224 -37.8819 -85.85 - 0 39.0727 336 1 1 -112.767 -51.7051 -174.45 - 0 82.9427 337 1 1 -112.75 -51.7025 -174.6 - 0 108.734 641 1 0 -112.578 -51.7667 -175.85 - 0 118.839 355 0 1 -109.143 -53.4628 -204.45 - 0 125.91 635 0 0 -109.095 -53.0291 -205.85 - 0 231.053 704 5 0 -115.729 -39.101 -55.85 - 0 99.1599 325 4 1 -114.958 -39.2392 -84.45 - 0 16.2688 326 4 1 -114.95 -39.2395 -84.8157 - 0 139.964 704 4 0 -114.926 -39.2395 -85.85 - 0 215.893 329 3 1 -114.248 -39.327 -114.45 - 0 108.296 703 3 0 -114.211 -39.3184 -115.85 - 0 64.1136 331 2 1 -113.773 -38.9437 -144.45 - 0 44.3614 332 2 1 -113.75 -38.9519 -144.685 - 0 120.871 705 2 0 -113.635 -38.9765 -145.85 - 0 144.15 348 1 1 -110.404 -39.1741 -174.45 - 0 2.7598 349 1 1 -110.35 -39.1583 -174.835 - 0 108.652 704 1 0 -110.204 -39.1125 -175.85 - 0 155.824 369 0 1 -106.211 -37.3567 -204.45 - 0 215.307 714 0 0 -106.121 -37.2196 -205.85 - 0 243.969 340 0 1 -112.116 -39.635 -204.45 - 0 100.036 701 0 0 -112.029 -39.6992 -205.85 - 0 53.6234 696 0 0 -112.028 -40.7459 -205.85 - 0 120.983 695 0 0 -112.02 -40.8505 -205.983 - 0 0.298315 694 0 0 -112.013 -41.05 -206.248 - 0 84.4357 330 3 1 -114.15 -39.5738 -114.642 - 0 272.696 702 3 0 -113.435 -39.5563 -115.85 - 0 158.229 416 2 1 -96.8741 -42.765 -144.45 - 0 120.699 686 2 0 -96.7439 -42.7613 -145.851 - 0 136.062 456 1 1 -88.661 -39.5163 -174.45 - 0 13.1936 705 1 0 -89.2058 -38.8686 -175.85 - 0 29.5013 707 1 0 -89.5363 -38.65 -176.174 - 0 98.9954 332 3 1 -113.612 -40.068 -114.85 - 0 227.481 308 9 0 -38.0935 -118.491 63.75 -Number of digits in this event: 49 +Number of tracker hits in this event: 60 + 0 124.372 306 9 1 -118.803 60.0095 65.55 + 0 111.869 1199 9 0 -118.801 60.0068 64.15 + 0 125.173 306 8 1 -118.753 59.935 35.55 + 0 119.741 1199 8 0 -118.751 59.9329 34.15 + 0 165.378 307 7 1 -118.7 59.9015 5.55 + 0 167.827 1199 7 0 -118.696 59.9012 4.15 + 0 101.02 307 6 1 -118.625 59.9037 -24.45 + 0 111.404 1199 6 0 -118.623 59.915 -25.85 + 0 109.304 307 5 1 -118.563 60.1547 -54.45 + 0 123.31 1200 5 0 -118.563 60.1653 -55.85 + 0 111.777 307 4 1 -118.581 60.3455 -84.45 + 0 116.565 1201 4 0 -118.585 60.3569 -85.85 + 0 147.294 307 3 1 -118.677 60.633 -114.45 + 0 27.1827 1202 3 0 -118.69 60.6484 -115.85 + 0 71.9479 1203 3 0 -118.691 60.65 -115.997 + 0 126.651 305 2 1 -118.969 60.9802 -144.45 + 0 168.702 1204 2 0 -118.984 60.9998 -145.85 + 0 117.222 304 1 1 -119.255 61.3873 -174.45 + 0 111.467 1206 1 0 -119.267 61.4007 -175.85 + 0 148.132 303 0 1 -119.519 61.6652 -204.45 + 0 106.969 1208 0 0 -119.528 61.667 -205.85 + 0 67.6375 308 3 1 -118.55 60.1915 -114.49 + 0 63.7092 309 3 1 -118.35 60.1453 -114.642 + 0 27.2126 310 3 1 -118.15 60.0848 -114.799 + 0 280.93 1198 3 0 -116.892 59.776 -115.85 + 0 162.664 1238 3 0 33.7078 67.7573 -116.25 + 0 69.1954 1237 3 0 34.2225 67.65 -115.988 + 0 42.6916 1081 3 1 36.335 67.4414 -114.85 + 0 150.703 1082 3 1 36.45 67.3637 -114.772 + 0 160.706 1083 3 1 36.65 67.076 -114.641 + 0 179.998 1084 3 1 36.85 66.4522 -114.609 + 0 100.32 1085 3 1 37.05 65.8717 -114.549 + 0 363.186 1227 4 0 28.0681 65.5199 -86.25 + 0 86.0507 1035 4 1 27.2281 65.4355 -84.8482 + 0 80.2954 1034 4 1 27.05 65.4227 -84.6515 + 0 42.9971 1033 4 1 26.8494 65.377 -84.4548 + 0 68.0481 1032 4 1 26.65 65.3031 -84.5724 + 0 56.229 1031 4 1 26.4484 65.3098 -84.806 + 0 14.4693 1030 4 1 26.25 65.3036 -84.8412 + 0 230.024 1230 4 0 20.4261 66.2054 -85.85 + 0 112.935 1229 4 0 19.818 66.05 -85.9749 + 0 111.401 1228 4 0 19.5557 65.85 -86.0527 + 0 15.6139 984 4 1 16.8847 65.6844 -84.85 + 0 59.7776 983 4 1 16.85 65.6861 -84.8353 + 0 235.484 982 4 1 16.6499 65.6574 -84.7968 + 0 279.62 981 4 1 16.45 65.6038 -84.7216 + 0 182.69 980 4 1 16.2498 65.3222 -84.638 + 0 23.3471 949 4 1 10.05 65.8505 -84.7678 + 0 287.169 308 2 1 -118.402 59.7333 -144.45 + 0 233.545 1198 2 0 -118.395 59.7343 -145.85 + 0 101.534 308 1 1 -118.365 59.6163 -174.45 + 0 145.847 1197 1 0 -118.427 59.6196 -175.85 + 0 99.0849 302 0 1 -119.711 59.9933 -204.45 + 0 11.758 301 0 1 -119.75 60.0011 -204.807 + 0 164.979 1199 0 0 -119.867 60.0241 -205.85 + 0 110.43 321 1 1 -115.896 61.9185 -174.45 + 0 81.9917 1211 1 0 -115.883 62.3527 -175.85 + 0 22.7066 1212 1 0 -115.883 62.45 -176.153 + 0 122.784 321 0 1 -115.82 71.496 -204.45 + 0 114.861 1259 0 0 -115.834 71.8734 -205.85 +Number of digits in this event: 26 Using G4ParticleGun... -Particle energy: 7.22937 LIN +Particle energy: 6.51009 LIN Particle: e- Event: 1 -Number of tracker hits in this event: 54 - 1 227.245 654 11 1 -49.1307 17.5564 125.55 - 1 97.1232 987 11 0 -49.1312 17.556 124.15 - 1 119.98 654 10 1 -49.1391 17.5517 95.55 - 1 119.126 987 10 0 -49.1401 17.5513 94.15 - 1 384.611 654 9 1 -49.1603 17.5397 65.55 - 1 230.256 987 9 0 -49.1609 17.5386 64.15 - 1 124.76 654 8 1 -49.1732 17.5148 35.55 - 1 128.372 987 8 0 -49.1733 17.515 34.15 - 1 352.225 654 7 1 -49.1774 17.5213 5.55 - 1 505.337 987 7 0 -49.1783 17.5218 4.15 - 1 352.352 654 6 1 -49.1908 17.5311 -24.45 - 1 242.494 987 6 0 -49.1912 17.5331 -25.85 - 1 233.932 654 5 1 -49.2029 17.5721 -54.45 - 1 205.99 987 5 0 -49.2082 17.5754 -55.85 - 1 101.21 653 4 1 -49.3158 17.6452 -84.45 - 1 139.258 987 4 0 -49.3209 17.6491 -85.85 - 1 27.2874 988 4 0 -49.3221 17.65 -86.1701 - 1 157.536 653 3 1 -49.4254 17.7249 -114.45 - 1 132.171 988 3 0 -49.43 17.7276 -115.85 - 1 127.406 652 2 1 -49.521 17.7866 -144.45 - 1 419.006 988 2 0 -49.5251 17.7898 -145.85 - 1 130.963 652 1 1 -49.6065 17.8571 -174.45 - 1 219.827 989 1 0 -49.6109 17.8599 -175.85 - 1 134.536 651 0 1 -49.7071 17.9185 -204.45 - 1 127.442 989 0 0 -49.7104 17.9217 -205.85 - 1 117.905 792 13 0 -149.224 -21.6381 183.75 - 1 110.6 154 13 1 -149.168 -20.7394 185.15 - 1 59.483 1042 3 0 -74.1393 28.45 -116.006 - 1 124.79 986 6 0 -49.1956 17.3884 -25.85 - 1 407.98 986 5 0 -49.1584 17.2985 -55.85 - 1 107.027 654 4 1 -49.2098 17.2269 -84.45 - 1 98.6206 985 4 0 -49.2091 17.2186 -85.85 - 1 109.655 654 3 1 -49.1877 17.0408 -114.45 - 1 274.244 984 3 0 -49.1897 17.0321 -115.85 - 1 229.894 653 2 1 -49.2647 16.8738 -144.45 - 1 103.944 984 2 0 -49.2606 16.8699 -145.85 - 1 130.286 654 1 1 -49.1975 16.7671 -174.45 - 1 98.4987 983 1 0 -49.1973 16.7472 -175.85 - 1 465.052 654 0 1 -49.2267 16.3736 -204.45 - 1 119.777 981 0 0 -49.2176 16.3818 -205.85 - 1 143.902 655 5 1 -49.0362 17.4126 -54.45 - 1 174.567 655 4 1 -48.9889 17.4013 -84.45 - 1 129.899 986 4 0 -48.9864 17.4105 -85.85 - 1 93.8542 655 3 1 -48.9405 17.5726 -114.45 - 1 134.11 987 3 0 -48.9351 17.5782 -115.85 - 1 116.053 655 2 1 -48.8602 17.6715 -144.45 - 1 139.465 656 1 1 -48.7095 17.9372 -174.45 - 1 126.573 657 0 1 -48.6431 18.0627 -204.45 - 1 138.362 990 0 0 -48.6516 18.0605 -205.85 - 1 32.2636 524 2 0 -108.624 -75.149 -146.25 - 1 447.899 525 2 0 -108.583 -75.05 -146.192 - 1 362.278 986 0 0 -49.2321 17.4101 -205.85 - 1 67.117 985 0 0 -49.2126 17.25 -206.032 - 1 155.445 653 9 1 -49.2504 17.7364 65.4254 -Number of digits in this event: 38 +Number of tracker hits in this event: 51 + 1 136.489 1199 10 1 60.0364 63.5061 95.55 + 1 103.01 1217 10 0 60.0365 63.5055 94.15 + 1 118.884 1199 9 1 60.0414 63.4963 65.55 + 1 436.931 1217 9 0 60.0408 63.4966 64.15 + 1 112.86 1199 8 1 60.017 63.5 35.55 + 1 141.556 1217 8 0 60.0173 63.4986 34.15 + 1 121.556 1199 7 1 60.0431 63.4734 5.55 + 1 124.911 1217 7 0 60.0439 63.4745 4.15 + 1 151.146 1200 6 1 60.0638 63.5033 -24.45 + 1 147.539 1217 6 0 60.068 63.4996 -25.85 + 1 160.105 1200 5 1 60.1523 63.429 -54.45 + 1 111.477 1216 5 0 60.1569 63.4246 -55.85 + 1 124.328 1201 4 1 60.2565 63.3342 -84.45 + 1 156.725 1216 4 0 60.2623 63.3302 -85.85 + 1 382.519 1201 3 1 60.3824 63.2483 -114.45 + 1 129.058 1215 3 0 60.3906 63.2453 -115.85 + 1 110.13 1202 2 1 60.5658 63.2058 -144.45 + 1 239.286 1215 2 0 60.5736 63.2109 -145.85 + 1 159.504 1203 1 1 60.7538 63.3313 -174.45 + 1 134.586 1216 1 0 60.7675 63.3377 -175.85 + 1 124 1204 0 1 61.0403 63.4833 -204.45 + 1 259.491 1217 0 0 61.0526 63.4954 -205.85 + 1 243.445 1216 3 0 60.301 63.2659 -115.85 + 1 109.9 1191 2 1 58.4123 63.0283 -144.45 + 1 283.716 1161 1 1 52.3147 64.181 -174.45 + 1 138.466 1221 1 0 52.1787 64.3365 -175.85 + 1 138.074 1141 0 1 48.3983 67.526 -204.45 + 1 2.44443 1140 0 1 48.2498 67.6417 -204.837 + 1 98.9414 1239 0 0 47.8186 67.9494 -205.85 + 1 28.425 1240 0 0 47.6799 68.05 -206.173 + 1 125.408 781 0 1 -23.65 90.0145 -204.76 + 1 116.152 1204 2 1 61.0053 63.4775 -144.45 + 1 348.246 1217 2 0 61.0539 63.5134 -145.85 + 1 128.919 1210 1 1 62.0762 64.1551 -174.45 + 1 103.857 1220 1 0 62.1257 64.1691 -175.85 + 1 66.5375 1215 0 1 63.2411 64.3863 -204.45 + 1 46.9204 1216 0 1 63.25 64.3874 -204.688 + 1 129.995 1221 0 0 63.302 64.3895 -205.85 + 1 232.974 1232 3 0 74.7617 66.5641 -116.25 + 1 119.389 1218 9 0 60.0653 63.65 63.9461 + 1 265.852 1199 2 1 59.9589 63.5582 -144.45 + 1 150.683 1204 1 1 61.0064 62.8728 -174.45 + 1 191.946 1214 1 0 61.1362 62.8594 -175.85 + 1 25.0638 1218 0 1 63.8388 62.5261 -204.45 + 1 96.6676 1219 0 1 63.85 62.5262 -204.536 + 1 120.255 1212 0 0 64.0241 62.5284 -205.85 + 1 10.0503 1452 0 1 110.552 48.6063 -204.85 + 1 117.672 1199 1 1 59.9661 63.5154 -174.45 + 1 116.676 1217 1 0 59.9724 63.5116 -175.85 + 1 394.174 1200 0 1 60.1052 63.436 -204.45 + 1 404.498 1216 0 0 60.1104 63.4353 -205.85 +Number of digits in this event: 35 Using G4ParticleGun... -Particle energy: 7.64786 LIN +Particle energy: 4.77504 LIN Particle: e- Event: 2 -Number of tracker hits in this event: 92 - 2 128.52 443 10 1 -91.3574 -5.47982 95.55 - 2 142.002 872 10 0 -91.3578 -5.48058 94.15 - 2 153.081 443 9 1 -91.3616 -5.49679 65.55 - 2 147.853 872 9 0 -91.3617 -5.4973 64.15 - 2 169.644 443 8 1 -91.3665 -5.50962 35.55 - 2 103.133 872 8 0 -91.3679 -5.51069 34.15 - 2 136 443 7 1 -91.3956 -5.53451 5.55 - 2 101.819 872 7 0 -91.399 -5.53697 4.15 - 2 211.724 443 6 1 -91.4697 -5.58694 -24.45 - 2 304.258 872 6 0 -91.4729 -5.58879 -25.85 - 2 105.06 443 5 1 -91.537 -5.62574 -54.45 - 2 346.224 872 5 0 -91.5398 -5.62738 -55.85 - 2 184.812 442 4 1 -91.5949 -5.65913 -84.45 - 2 110.091 871 4 0 -91.5983 -5.6608 -85.85 - 2 111.581 442 3 1 -91.6655 -5.69324 -114.45 - 2 141.443 871 3 0 -91.6677 -5.69519 -115.85 - 2 126.445 442 2 1 -91.7121 -5.736 -144.45 - 2 143.016 871 2 0 -91.7127 -5.73868 -145.85 - 2 110.739 442 1 1 -91.7222 -5.79319 -174.45 - 2 145.395 871 1 0 -91.7235 -5.79566 -175.85 - 2 113.686 441 0 1 -91.7535 -5.84749 -204.45 - 2 108.528 871 0 0 -91.7548 -5.84931 -205.85 - 2 132.937 432 12 0 -62.0464 -93.6498 153.75 - 2 212.135 431 12 0 -62.0234 -93.75 153.918 - 2 213.272 824 3 0 100.941 -15.25 -115.969 - 2 238.058 869 4 0 162.073 -6.1567 -86.25 - 2 52.2654 1718 4 1 163.801 -6.28562 -84.85 - 2 86.8246 1719 4 1 163.95 -6.30518 -84.7275 - 2 274.414 444 6 1 -91.2015 -5.69426 -24.45 - 2 39.1992 868 6 0 -91.6977 -6.42321 -25.85 - 2 81.5297 867 6 0 -91.6829 -6.45 -25.9452 - 2 55.7591 883 6 0 -74.78 -3.30768 -26.2496 - 2 275.783 884 6 0 -74.6801 -3.25 -26.137 - 2 45.8113 885 6 0 -73.9711 -3.04994 -25.9114 - 2 359.797 536 6 1 -72.7973 -1.60675 -24.85 - 2 122.198 433 5 1 -93.4623 -5.56143 -54.45 - 2 118.536 427 4 1 -94.5848 -6.543 -84.4502 - 2 108.534 867 4 0 -94.7292 -6.61442 -85.85 - 2 155.658 411 3 1 -97.8422 -8.19073 -114.45 - 2 129.114 859 3 0 -97.9712 -8.12023 -115.85 - 2 155.538 396 2 1 -100.865 -6.51508 -144.45 - 2 109.588 867 2 0 -101.031 -6.62752 -145.85 - 2 29.4789 866 2 0 -101.065 -6.65 -146.135 - 2 134.634 379 1 1 -104.199 -9.01549 -174.45 - 2 132.665 854 1 0 -104.449 -9.13107 -175.851 - 2 127.866 352 0 1 -109.652 -11.5286 -204.45 - 2 117.548 841 0 0 -109.883 -11.7108 -205.85 - 2 99.1982 427 3 1 -94.5813 -8.46731 -114.45 - 2 353.265 856 3 0 -95.0058 -8.69835 -115.85 - 2 93.1921 380 2 1 -104.056 -14.7227 -144.45 - 2 18.782 379 2 1 -104.15 -14.7681 -144.78 - 2 111.17 825 2 0 -104.462 -14.9061 -145.85 - 2 6.78241 338 1 1 -112.538 -19.6385 -174.45 - 2 127.77 337 1 1 -112.55 -19.6375 -174.478 - 2 140.021 802 1 0 -113.19 -19.5845 -175.85 - 2 154.03 262 0 1 -127.661 -19.4563 -204.45 - 2 21.8356 804 0 0 -127.325 -19.0696 -205.85 - 2 106.257 805 0 0 -127.307 -19.05 -205.918 - 2 61.9061 330 5 0 -34.1831 -113.95 -56.0935 - 2 131.579 728 5 1 -34.4318 -114.311 -54.85 - 2 57.9527 428 3 1 -94.5463 -8.50997 -114.45 - 2 56.5249 429 3 1 -94.3498 -8.49507 -114.505 - 2 65.8751 430 3 1 -94.1499 -8.47629 -114.57 - 2 48.2112 431 3 1 -93.95 -8.47585 -114.656 - 2 56.1002 432 3 1 -93.75 -8.47172 -114.752 - 2 72.2354 857 3 0 -91.5416 -8.61988 -115.85 - 2 97.1504 807 3 0 5.96478 -18.47 -116.25 - 2 84.7766 808 3 0 6.28957 -18.45 -116.043 - 2 113.634 938 3 1 7.68629 -18.3559 -114.85 - 2 136.856 939 3 1 7.85 -18.36 -114.742 - 2 136.816 940 3 1 8.05 -18.3584 -114.612 - 2 301.057 941 3 1 8.25 -18.368 -114.484 - 2 311.015 942 3 1 8.51525 -18.1871 -114.45 - 2 44.0026 937 3 1 7.6495 -17.911 -114.589 - 2 47.8209 936 3 1 7.45 -17.8672 -114.642 - 2 57.6887 935 3 1 7.25 -17.8411 -114.68 - 2 66.4952 934 3 1 7.04997 -17.788 -114.727 - 2 136.441 933 3 1 6.85 -17.7207 -114.75 - 2 125.971 932 3 1 6.64989 -17.6598 -114.694 - 2 68.7424 931 3 1 6.45 -17.6011 -114.671 - 2 80.3319 930 3 1 6.25 -17.5125 -114.683 - 2 55.4717 929 3 1 6.05 -17.4151 -114.687 - 2 67.2059 928 3 1 5.84961 -17.3266 -114.673 - 2 67.6175 927 3 1 5.64952 -17.2953 -114.688 - 2 45.6747 926 3 1 5.44983 -17.2415 -114.775 - 2 95.8574 816 3 0 4.71266 -16.7267 -115.85 - 2 58.9202 817 3 0 4.53324 -16.6499 -116.067 - 2 151.498 825 3 0 23.2461 -14.9997 -116.25 - 2 6.76055 826 3 0 23.4101 -14.85 -115.872 - 2 140.377 1017 3 1 23.5971 -13.9305 -114.85 - 2 41.4503 1018 3 1 23.6501 -13.6822 -114.585 - 2 120.712 943 3 1 8.65 -18.5748 -114.496 -Number of digits in this event: 45 +Number of tracker hits in this event: 41 + 2 140.207 1407 9 1 101.642 77.3349 65.55 + 2 173.962 1286 9 0 101.641 77.3357 64.15 + 2 120.456 1407 8 1 101.607 77.3595 35.55 + 2 99.7197 1286 8 0 101.605 77.3615 34.15 + 2 145.885 1407 7 1 101.574 77.4016 5.55 + 2 128.292 1286 7 0 101.571 77.4033 4.15 + 2 329.452 1406 6 1 101.489 77.4266 -24.45 + 2 164.104 1286 6 0 101.485 77.4255 -25.85 + 2 123.38 1406 5 1 101.405 77.3999 -54.45 + 2 346.586 1286 5 0 101.402 77.3971 -55.85 + 2 151.081 1405 4 1 101.339 77.3642 -84.45 + 2 118.802 1286 4 0 101.329 77.3614 -85.85 + 2 159.59 1404 3 1 101.149 77.3216 -114.45 + 2 103.979 1286 3 0 101.141 77.3183 -115.85 + 2 112.858 1404 2 1 100.958 77.2516 -144.45 + 2 117.364 1285 2 0 100.949 77.2464 -145.85 + 2 129.899 1403 1 1 100.755 77.122 -174.45 + 2 125.986 1285 1 0 100.749 77.1062 -175.85 + 2 106.43 1402 0 1 100.598 76.787 -204.45 + 2 512.298 1283 0 0 100.591 76.7681 -205.85 + 2 9.90458 1322 1 0 83.0054 84.45 -176.047 + 2 190.051 1287 5 0 101.132 77.4501 -56.0009 + 2 61.5044 1139 0 0 178.129 47.943 -206.25 + 2 149.422 1138 0 0 178.349 47.85 -206.109 + 2 23.1514 1798 0 1 179.917 47.2413 -204.85 + 2 87.3728 1799 0 1 179.95 47.2276 -204.824 + 2 12.4671 988 2 0 16.6013 17.7601 -146.25 + 2 248.611 1753 2 0 -57.1364 170.793 -146.25 + 2 6.4767 1752 2 0 -57.1972 170.75 -146.093 + 2 312.629 1188 4 0 41.7376 57.6578 -86.2499 + 2 34.1269 1107 4 1 41.6328 57.1405 -84.8499 + 2 117.977 1287 7 0 101.595 77.45 4.00538 + 2 8.77437 1288 7 0 101.688 77.65 3.76831 + 2 91.6887 1702 7 0 83.2768 160.575 3.75 + 2 64.9823 1703 7 0 83.2094 160.75 3.9246 + 2 61.8423 1704 7 0 83.1522 160.95 3.96851 + 2 123.986 1705 7 0 83.0926 161.15 4.04464 + 2 64.4491 1706 7 0 83.3689 161.35 4.04823 + 2 134.085 1707 7 0 83.4056 161.55 4.00569 + 2 87.7067 1708 7 0 83.1763 161.75 4.05925 + 2 202.122 1314 7 1 82.9035 162.044 5.15 +Number of digits in this event: 25 Using G4ParticleGun... -Particle energy: 7.1575 LIN +Particle energy: 7.87773 LIN Particle: e- Event: 3 -Number of tracker hits in this event: 187 - 3 163.636 1065 11 1 33.2062 7.9523 125.55 - 3 180.628 939 11 0 33.2054 7.95374 124.15 - 3 164.806 1065 10 1 33.1853 7.98249 95.55 - 3 142.517 939 10 0 33.1845 7.98327 94.15 - 3 120.423 1065 9 1 33.1684 8.00273 65.55 - 3 106.725 939 9 0 33.1681 8.00434 64.15 - 3 400.703 1065 8 1 33.1592 8.05276 35.55 - 3 102.085 940 8 0 33.1576 8.05325 34.15 - 3 778.5 1065 7 1 33.1254 8.05863 5.55 - 3 568.866 940 7 0 33.1173 8.05913 4.15 - 3 119.786 1064 6 1 32.9464 8.0493 -24.45 - 3 350.656 940 6 0 32.9389 8.05267 -25.85 - 3 172.597 1063 5 1 32.755 8.12791 -54.45 - 3 268.309 940 5 0 32.7534 8.1232 -55.85 - 3 580.647 1063 4 1 32.7535 8.03923 -84.45 - 3 299.404 939 4 0 32.7504 8.03623 -85.85 - 3 109.155 1063 3 1 32.6592 7.99503 -114.45 - 3 292.147 939 3 0 32.6554 8.01251 -115.85 - 3 156.716 1062 2 1 32.5629 8.30991 -144.45 - 3 171.438 941 2 0 32.5612 8.32263 -145.85 - 3 286.313 1062 1 1 32.5376 8.57965 -174.45 - 3 117.806 942 1 0 32.5392 8.59807 -175.85 - 3 214.343 1062 0 1 32.6022 8.96999 -204.45 - 3 95.7936 944 0 0 32.5933 8.98873 -205.85 - 3 196.942 1059 0 1 32.0235 8.60894 -204.45 - 3 144.237 1060 0 1 32.05 8.58832 -204.742 - 3 255.507 942 0 0 32.2236 8.50287 -205.85 - 3 112.73 933 7 0 32.9469 6.84429 4.15 - 3 5.53389 932 7 0 32.9461 6.65 3.76944 - 3 114.929 1063 0 1 32.7676 8.0437 -204.45 - 3 50.426 937 0 0 32.89 7.51149 -205.85 - 3 73.2435 936 0 0 32.9039 7.44971 -206.015 - 3 30.6992 878 0 0 47.1269 -4.41706 -206.25 - 3 104.882 877 0 0 47.1808 -4.45 -206.152 - 3 59.7257 1144 0 1 48.9225 -5.66071 -204.85 - 3 75.6815 1145 0 1 49.05 -5.74938 -204.764 - 3 103.403 1146 0 1 49.25 -5.92669 -204.603 - 3 96.1425 1147 0 1 49.45 -6.1193 -204.519 - 3 36.9328 1148 0 1 49.6502 -6.3872 -204.474 - 3 104.41 791 1 0 53.6696 -21.6707 -176.25 - 3 81.9891 790 1 0 53.7034 -21.8502 -176.004 - 3 120.339 1170 1 1 54.1224 -22.9932 -174.85 - 3 115.173 1171 1 1 54.25 -23.3822 -174.616 - 3 14.864 714 2 0 40.1331 -37.2197 -146.25 - 3 140.931 713 2 0 40.1093 -37.25 -146.204 - 3 198.45 1097 2 1 39.5388 -37.3301 -144.85 - 3 63.3633 1096 2 1 39.4499 -37.3608 -144.54 - 3 616.107 711 2 0 39.7962 -37.7111 -145.85 - 3 92.5805 712 2 0 39.3172 -37.65 -146.158 - 3 68.5638 400 1 0 -76.3069 -99.95 -176.164 - 3 123.215 1064 3 1 32.8918 8.26028 -114.45 - 3 94.7272 1065 3 1 33.05 7.86081 -114.638 - 3 30.5967 1066 3 1 33.25 7.62953 -114.804 - 3 53.4227 930 3 0 34.8002 6.18725 -115.85 - 3 626.764 929 3 0 34.9445 6.05 -115.916 - 3 233.533 928 3 0 35.4923 5.85 -115.919 - 3 169.563 1084 3 1 36.9348 4.42377 -114.85 - 3 75.5449 1080 3 1 36.1161 8.2164 -114.85 - 3 369.377 939 8 0 33.1585 8.03169 34.15 - 3 215.744 1064 7 1 32.9186 8.10254 5.55 - 3 508.314 1065 6 1 33.1012 7.87123 -24.45 - 3 49.4274 939 6 0 33.113 7.85234 -25.85 - 3 65.5599 938 6 0 33.1146 7.85 -26.0208 - 3 102.257 1066 5 1 33.3503 7.45199 -54.45 - 3 119.963 936 5 0 33.3618 7.4467 -55.85 - 3 177.304 1067 4 1 33.597 7.43452 -84.45 - 3 107.923 937 4 0 33.5921 7.45308 -85.85 - 3 117.682 1067 3 1 33.476 7.80747 -114.45 - 3 152.803 938 3 0 33.4676 7.82245 -115.85 - 3 189.252 1066 2 1 33.2748 8.16715 -144.45 - 3 371.327 940 2 0 33.2859 8.19045 -145.85 - 3 251.508 1067 1 1 33.4566 8.67741 -174.45 - 3 115.58 943 1 0 33.4429 8.73421 -175.85 - 3 119.798 1064 0 1 33.0134 9.75841 -204.45 - 3 106.072 948 0 0 32.9631 9.78771 -205.85 - 3 56.3364 1603 4 0 102.681 140.767 -86.25 - 3 155.617 1604 4 0 102.681 140.95 -86.1562 - 3 217.513 1419 4 1 104.007 140.967 -84.85 - 3 68.2819 1420 4 1 104.15 140.943 -84.5865 - 3 73.9289 1126 0 1 45.4175 10.8328 -204.85 - 3 44.013 1068 1 1 33.65 8.25646 -174.761 - 3 57.8795 935 1 0 33.7402 7.23258 -175.85 - 3 99.1632 934 1 0 33.7708 7.05 -175.968 - 3 121.498 933 1 0 33.728 6.85 -176.132 - 3 100.778 932 1 0 33.5523 6.64976 -176.226 - 3 123.458 839 1 0 27.161 -12.0738 -176.25 - 3 80.7123 1038 1 1 27.7475 -12.0197 -174.85 - 3 288.79 1037 1 1 27.6499 -11.9918 -174.705 - 3 129.706 1036 1 1 27.45 -12.039 -174.68 - 3 280.809 1035 1 1 27.25 -12.2566 -174.613 - 3 78.8463 858 0 0 45.2492 -8.35055 -205.85 - 3 148.055 1065 2 1 33.25 8.06145 -144.523 - 3 22.8024 930 6 0 33.8509 6.10482 -25.85 - 3 113.136 929 6 0 33.8854 6.05 -25.8997 - 3 38.7595 928 6 0 33.9967 5.85 -26.1466 - 3 109.41 938 8 0 33.204 7.85 33.8723 - 3 70.9937 931 8 0 -13.8862 6.34097 33.75 - 3 117.239 977 8 0 -84.5752 15.6001 33.75 - 3 67.5517 476 8 1 -84.7731 15.2569 35.1502 - 3 90.0536 475 8 1 -84.8505 15.2164 35.3937 - 3 56.516 474 8 1 -85.05 15.3185 35.512 - 3 73.5535 473 8 1 -85.25 15.365 35.4372 - 3 66.4582 472 8 1 -85.45 15.3677 35.2309 - 3 62.2425 471 8 1 -85.65 15.3907 35.1672 - 3 97.1844 470 8 1 -85.85 15.3117 35.192 - 3 110.901 469 8 1 -86.05 15.1728 35.2942 - 3 489.675 468 8 1 -86.2501 14.9179 35.4134 - 3 73.9057 467 8 1 -86.45 14.6564 35.4003 - 3 112.758 1066 8 1 33.265 8.03894 35.55 - 3 64.4528 1064 8 1 33.05 8.52465 35.2764 - 3 11.4799 946 8 0 32.9642 9.42875 34.15 - 3 157.532 947 8 0 32.9586 9.45 34.1084 - 3 60.0036 948 8 0 32.6977 9.65 33.7979 - 3 36.2354 1603 8 0 26.7571 140.869 33.75 - 3 290.3 1604 8 0 26.8593 140.95 33.7855 - 3 121.354 1605 8 0 26.9988 141.15 33.8981 - 3 202.076 1606 8 0 26.9634 141.35 33.8079 - 3 125.171 1064 5 1 32.9528 8.16209 -54.45 - 3 423.021 940 4 0 32.7427 8.22875 -85.85 - 3 107.24 1062 3 1 32.5792 8.24891 -114.45 - 3 108.541 940 3 0 32.572 8.24708 -115.85 - 3 163.084 1061 2 1 32.4214 8.20546 -144.45 - 3 366.108 1061 1 1 32.2781 8.15547 -174.45 - 3 327.354 940 1 0 32.2701 8.15024 -175.85 - 3 144.517 940 0 0 32.076 8.05572 -205.85 - 3 19.0115 907 0 0 97.5479 1.60577 -206.25 - 3 346.516 917 0 0 108.513 3.56234 -206.25 - 3 91.0854 1326 2 0 35.9904 85.3338 -146.25 - 3 118.109 1327 2 0 35.8838 85.45 -146.055 - 3 109.178 1328 2 0 35.6612 85.65 -146.193 - 3 26.066 1329 2 0 35.4232 85.85 -146.238 - 3 30.7114 1060 1 1 32.2025 8.0794 -174.45 - 3 8.10854 923 1 0 33.2451 4.67765 -175.85 - 3 65.1921 922 1 0 33.2527 4.65 -175.862 - 3 267.234 921 1 0 33.3132 4.45 -175.951 - 3 130.045 920 1 0 33.3518 4.25 -176.043 - 3 48.9711 919 1 0 33.3503 4.04979 -176.122 - 3 59.218 918 1 0 33.3532 3.85 -176.207 - 3 110.836 1060 3 1 32.1845 8.5972 -114.45 - 3 109.785 943 3 0 32.1195 8.68787 -115.85 - 3 138.232 1055 2 1 31.1611 10.7225 -144.45 - 3 164.868 954 2 0 31.0684 10.924 -145.85 - 3 119.407 1044 1 1 29.0058 14.7699 -174.45 - 3 117.264 974 1 0 28.8898 14.9703 -175.85 - 3 120.757 1033 0 1 26.8394 19.3485 -204.45 - 3 203.296 997 0 0 26.7008 19.4749 -205.85 - 3 65.6732 1049 1 1 29.8621 13.2818 -174.45 - 3 102.025 1050 0 1 30.0893 10.3714 -204.45 - 3 42.4403 1049 0 1 30.05 10.4747 -204.532 - 3 107.579 952 0 0 30.9445 10.4945 -205.85 - 3 88.5427 953 0 0 31.044 10.6502 -206.106 - 3 116.324 1046 0 1 29.3565 10.3688 -204.85 - 3 206.889 1045 0 1 29.25 10.5238 -204.752 - 3 115.695 1057 3 1 31.5852 7.90711 -114.45 - 3 155.588 1051 2 1 30.4345 8.05814 -144.45 - 3 125.359 1041 1 1 28.3374 7.96317 -174.45 - 3 108.148 939 1 0 28.2595 7.9344 -175.85 - 3 125.709 1031 0 1 26.3492 6.99972 -204.45 - 3 120.175 934 0 0 26.246 6.96791 -205.85 - 3 39.7151 1066 6 1 33.25 8.40882 -24.7426 - 3 190.196 946 6 0 33.5766 9.26277 -25.85 - 3 49.7316 947 6 0 33.6386 9.45 -26.0849 - 3 180.831 1093 6 0 16.0685 38.7264 -26.25 - 3 98.215 973 6 1 14.8426 38.4656 -24.85 - 3 167.942 972 6 1 14.6494 38.4538 -24.6556 - 3 71.8862 971 6 1 14.4498 38.4942 -24.4656 - 3 40.7667 873 7 0 84.1246 -5.36055 3.75 - 3 95.6163 872 7 0 84.2349 -5.45 3.8106 - 3 83.0015 871 7 0 84.4134 -5.65 3.95211 - 3 45.6451 870 7 0 84.5674 -5.85 4.08367 - 3 29.2181 1332 7 1 86.6318 -7.78886 5.15 - 3 205.548 1333 7 1 86.65 -7.80583 5.15944 - 3 214.742 1334 7 1 86.85 -8.19514 5.28231 - 3 88.4195 1335 7 1 87.0501 -8.54358 5.32433 - 3 80.0583 1336 7 1 87.25 -8.79063 5.34317 - 3 76.3764 1337 7 1 87.45 -8.98311 5.34957 - 3 41.7474 1338 7 1 87.6504 -9.11678 5.22166 - 3 232.903 853 7 0 89.2771 -9.29119 4.15 - 3 47.1457 827 7 0 93.0409 -14.5204 4.15 - 3 22.211 1375 7 1 95.294 -15.6285 5.15 - 3 19.7439 1376 7 1 95.35 -15.651 5.15795 - 3 250.309 814 7 0 96.2699 -17.1912 4.15 - 3 84.4239 813 7 0 96.2883 -17.25 4.06205 - 3 12.0232 939 7 0 33.2055 8.04998 3.78335 - 3 42.525 1064 10 1 33.05 8.03819 95.2309 - 3 112.392 941 10 0 31.5482 8.3019 94.15 - 3 130.064 942 10 0 31.3036 8.45 93.9541 -Number of digits in this event: 79 -Using G4ParticleGun... -Particle energy: 7.70429 LIN +Number of tracker hits in this event: 45 + 3 115.932 1402 10 1 100.676 -22.1176 95.55 + 3 135.515 789 10 0 100.675 -22.1172 94.15 + 3 135.414 1402 9 1 100.665 -22.1069 65.55 + 3 102.088 789 9 0 100.664 -22.1059 64.15 + 3 202.355 1402 8 1 100.66 -22.0717 35.55 + 3 138.697 789 8 0 100.659 -22.0693 34.15 + 3 99.7421 1402 7 1 100.632 -22.0195 5.55 + 3 133.885 790 7 0 100.632 -22.0172 4.15 + 3 122.535 1402 6 1 100.612 -21.9696 -24.45 + 3 104.151 790 6 0 100.612 -21.9672 -25.85 + 3 164.669 1402 5 1 100.607 -21.9213 -54.45 + 3 110.097 790 5 0 100.607 -21.9194 -55.85 + 3 100.988 1402 4 1 100.601 -21.8832 -84.45 + 3 115.148 790 4 0 100.602 -21.8825 -85.85 + 3 167.11 1402 3 1 100.632 -21.8647 -114.45 + 3 227.642 790 3 0 100.634 -21.8622 -115.85 + 3 97.4381 1402 2 1 100.676 -21.8103 -144.45 + 3 118.683 791 2 0 100.682 -21.8054 -145.85 + 3 115.048 1403 1 1 100.781 -21.702 -174.45 + 3 339.25 791 1 0 100.787 -21.6984 -175.85 + 3 215.347 1403 0 1 100.903 -21.6124 -204.45 + 3 270.861 792 0 0 100.913 -21.6136 -205.85 + 3 254.978 1402 1 1 100.682 -21.8462 -174.45 + 3 124.102 790 1 0 100.69 -21.85 -176.05 + 3 265.069 790 0 0 100.869 -21.9188 -205.85 + 3 357.709 1402 0 1 100.681 -21.8119 -204.45 + 3 105.058 791 0 0 100.682 -21.8144 -205.85 + 3 212.309 1401 3 1 100.534 -22.0722 -114.45 + 3 93.5522 1434 2 1 106.977 -22.468 -144.45 + 3 51.6047 1435 2 1 107.15 -22.3242 -144.709 + 3 111.629 793 2 0 107.415 -21.4255 -145.85 + 3 36.9329 794 2 0 107.409 -21.25 -146.169 + 3 109.924 869 2 0 123.178 -6.22138 -146.25 + 3 119.059 1519 2 1 123.983 -6.29048 -144.85 + 3 3.92032 1520 2 1 124.15 -6.26968 -144.465 + 3 179.686 789 3 0 100.497 -22.1061 -115.85 + 3 79.276 1396 2 1 99.3726 -22.5914 -144.45 + 3 56.7165 1395 2 1 99.35 -22.6027 -144.689 + 3 102.143 787 2 0 99.2488 -22.6398 -145.85 + 3 23.9185 786 2 0 99.2167 -22.65 -146.169 + 3 142.498 1379 1 1 96.0323 -24.0334 -174.45 + 3 122.453 779 1 0 95.9014 -24.0739 -175.85 + 3 442.87 1361 0 1 92.5261 -24.5953 -204.45 + 3 104.125 777 0 0 92.3853 -24.5263 -205.85 + 3 25.7491 1362 0 1 92.55 -24.7308 -204.552 +Number of digits in this event: 23 +Using G4ParticleGun... +Particle energy: 6.84197 LIN Particle: e- Event: 4 -Number of tracker hits in this event: 55 - 4 158.583 1274 10 1 75.0093 60.232 95.55 - 4 100.747 1200 10 0 75.0086 60.232 94.15 - 4 127.078 1274 9 1 74.997 60.2308 65.55 - 4 120.576 1200 9 0 74.9975 60.231 64.15 - 4 122.644 1274 8 1 75.0077 60.2308 35.55 - 4 114.542 1200 8 0 75.0083 60.23 34.15 - 4 107.27 1274 7 1 75.0198 60.2202 5.55 - 4 124.221 1200 7 0 75.0215 60.2205 4.15 - 4 130.305 1275 6 1 75.0577 60.2359 -24.45 - 4 118.556 1200 6 0 75.0612 60.238 -25.85 - 4 131.934 1275 5 1 75.1292 60.2629 -54.45 - 4 118.877 1201 5 0 75.1314 60.2596 -55.85 - 4 107.392 1275 4 1 75.1694 60.1869 -84.45 - 4 151.584 1200 4 0 75.1751 60.1812 -85.85 - 4 137.264 1276 3 1 75.2936 60.0654 -114.45 - 4 132.278 1200 3 0 75.2945 60.0634 -115.85 - 4 155.529 1276 2 1 75.3169 60.0349 -144.45 - 4 293.611 1199 2 0 75.322 60.0259 -145.85 - 4 169.363 1276 1 1 75.4294 59.7861 -174.45 - 4 136.956 1198 1 0 75.4391 59.774 -175.85 - 4 437.642 1277 0 1 75.6362 59.5357 -204.45 - 4 119.933 1197 0 0 75.6471 59.524 -205.85 - 4 236.228 1198 2 0 75.061 59.85 -145.943 - 4 243.574 1275 3 1 75.1934 60.2649 -114.45 - 4 269.598 1201 3 0 75.2127 60.2547 -115.85 - 4 264.843 1277 2 1 75.5726 60.0715 -144.45 - 4 247.708 1200 2 0 75.6068 60.0759 -145.85 - 4 105.75 1281 1 1 76.4297 60.2583 -174.45 - 4 256.378 1201 1 0 76.484 60.2724 -175.85 - 4 247.501 1287 0 1 77.6141 60.6916 -204.45 - 4 144.436 1203 0 0 77.657 60.6905 -205.85 - 4 140.402 1202 0 0 77.178 60.4895 -205.85 - 4 134.961 1182 0 0 74.5285 56.5981 -206.25 - 4 399.679 1181 0 0 74.4527 56.45 -205.894 - 4 318.811 1201 2 0 75.5092 60.25 -146.245 - 4 114.987 1277 1 1 75.4774 60.445 -174.45 - 4 129.104 1202 1 0 75.4794 60.4835 -175.85 - 4 114.059 1206 0 0 75.4594 61.3992 -205.85 - 4 12.2265 1336 6 0 58.5112 87.2972 -26.25 - 4 81.1833 179 13 0 -91.6644 -144.15 183.863 - 4 244.565 178 13 0 -91.601 -144.35 183.996 - 4 214.958 1274 2 1 75.0034 60.3364 -144.45 - 4 107.508 1265 1 1 73.2346 59.7721 -174.45 - 4 122.486 1199 1 0 73.2371 59.8686 -175.85 - 4 116.954 1265 0 1 73.1419 62.1208 -204.45 - 4 118.614 1210 0 0 73.1374 62.219 -205.85 - 4 37.7011 1275 2 1 75.05 60.3429 -144.742 - 4 46.1239 1288 1 1 77.8211 60.4822 -174.45 - 4 58.2979 1289 1 1 77.85 60.4707 -174.632 - 4 166.691 1310 0 1 82.1969 58.1043 -204.45 - 4 2.48812 1311 0 1 82.25 58.1141 -204.834 - 4 196.748 1190 0 0 82.4573 58.1605 -205.85 - 4 6.32555 1189 0 0 82.5032 58.05 -206.239 - 4 28.4002 1096 0 0 115.763 39.2658 -206.25 - 4 38.376 1176 0 0 126.241 55.3714 -206.25 -Number of digits in this event: 36 +Number of tracker hits in this event: 30 + 4 162.932 1037 11 1 27.4727 -71.7491 125.55 + 4 105.717 541 11 0 27.4736 -71.7493 124.15 + 4 104.821 1037 10 1 27.4903 -71.7532 95.55 + 4 120.825 541 10 0 27.4898 -71.7541 94.15 + 4 191.905 1037 9 1 27.482 -71.7748 65.55 + 4 125.899 541 9 0 27.4826 -71.7761 64.15 + 4 184.065 1037 8 1 27.4836 -71.8009 35.55 + 4 120.561 541 8 0 27.4801 -71.8034 34.15 + 4 135.775 1036 7 1 27.4018 -71.8521 5.55 + 4 139.843 540 7 0 27.3998 -71.8546 4.15 + 4 124.023 1036 6 1 27.3524 -71.9091 -24.45 + 4 126.103 540 6 0 27.3507 -71.9125 -25.85 + 4 119.923 1036 5 1 27.3139 -71.986 -54.45 + 4 122.799 540 5 0 27.3123 -71.9907 -55.85 + 4 165.415 1036 4 1 27.2797 -72.0853 -84.45 + 4 114.402 539 4 0 27.2795 -72.0901 -85.85 + 4 155.614 1036 3 1 27.2831 -72.182 -114.45 + 4 143.634 539 3 0 27.2811 -72.1881 -115.85 + 4 137.2 1036 2 1 27.2511 -72.3085 -144.45 + 4 130.899 538 2 0 27.249 -72.3161 -145.85 + 4 161.776 1035 1 1 27.2038 -72.4671 -174.45 + 4 124.166 537 1 0 27.2016 -72.4724 -175.85 + 4 140.59 1035 0 1 27.1677 -72.5499 -204.45 + 4 107.288 537 0 0 27.1645 -72.5555 -205.85 + 4 180.352 643 6 1 -51.3653 -156.99 -24.85 + 4 90.2166 642 6 1 -51.45 -157.072 -24.7534 + 4 505.617 1035 2 1 27.25 -72.3108 -144.58 + 4 202.29 510 6 1 -77.984 -35.0299 -24.85 + 4 7.76807 509 6 1 -78.05 -35.1829 -24.5314 + 4 129.493 1172 4 1 54.6008 -64.4833 -84.85 +Number of digits in this event: 25 Using G4ParticleGun... -Particle energy: 7.10325 LIN +Particle energy: 1.23239 LIN Particle: e- Event: 5 -Number of tracker hits in this event: 21 - 5 128.832 1517 8 1 123.708 60.8145 35.55 - 5 206.598 1203 8 0 123.708 60.8149 34.15 - 5 120.759 1517 7 1 123.703 60.8245 5.55 - 5 130.029 1203 7 0 123.704 60.8251 4.15 - 5 149.365 1517 6 1 123.738 60.8414 -24.45 - 5 182.945 1203 6 0 123.742 60.8404 -25.85 - 5 130.568 1518 5 1 123.827 60.8185 -54.45 - 5 102.974 1203 5 0 123.831 60.8171 -55.85 - 5 162.913 1518 4 1 123.907 60.7899 -84.45 - 5 202.166 1203 4 0 123.909 60.7885 -85.85 - 5 277.906 1518 3 1 123.939 60.7677 -114.45 - 5 117.296 1203 3 0 123.942 60.7672 -115.85 - 5 352.524 1519 2 1 123.991 60.7603 -144.45 - 5 159.234 1203 2 0 123.994 60.7608 -145.85 - 5 108.236 1519 1 1 124.053 60.7754 -174.45 - 5 115.569 1203 1 0 124.056 60.7761 -175.85 - 5 197.657 1519 0 1 124.114 60.7946 -204.45 - 5 150.624 1203 0 0 124.121 60.7924 -205.85 - 5 73.6307 1517 3 1 123.75 60.5595 -114.832 - 5 284.849 1197 3 0 123.222 59.5718 -115.85 - 5 163.91 1196 3 0 123.243 59.45 -116.094 -Number of digits in this event: 18 +Number of tracker hits in this event: 30 + 5 87.7322 698 11 1 -40.3886 71.5776 125.481 + 5 176.1 1257 11 0 -40.3887 71.5776 124.15 + 5 187.608 698 10 1 -40.4 71.5857 95.55 + 5 147.62 1257 10 0 -40.3998 71.5815 94.15 + 5 200.195 698 9 1 -40.3758 71.4699 65.55 + 5 157.37 1257 9 0 -40.369 71.4632 64.15 + 5 112.305 699 8 1 -40.2055 71.3208 35.55 + 5 136.088 1256 8 0 -40.1973 71.3116 34.15 + 5 127.54 700 7 1 -40.043 71.1099 5.55 + 5 150.628 1255 7 0 -40.0341 71.0967 4.15 + 5 119.585 700 6 1 -39.873 70.8421 -24.45 + 5 107.385 1253 6 0 -39.8604 70.8262 -25.85 + 5 134.66 702 5 1 -39.6006 70.5132 -54.45 + 5 166.774 1252 5 0 -39.5841 70.4972 -55.85 + 5 125.418 703 4 1 -39.2705 70.1887 -84.45 + 5 183.364 1250 4 0 -39.2565 70.165 -85.85 + 5 119.925 705 3 1 -38.9755 69.6697 -114.45 + 5 95.3225 1248 3 0 -38.9648 69.6536 -115.85 + 5 30.8913 1247 3 0 -38.9625 69.65 -116.16 + 5 180.204 706 2 1 -38.7603 69.3447 -144.45 + 5 158.757 1246 2 0 -38.7575 69.3375 -145.85 + 5 141.755 706 1 1 -38.7096 69.2301 -174.45 + 5 120.783 1245 1 0 -38.7065 69.2057 -175.85 + 5 122.413 707 0 1 -38.6201 68.7802 -204.45 + 5 252.428 1243 0 0 -38.6126 68.7626 -205.85 + 5 103.907 699 7 1 -40.05 71.0991 5.39312 + 5 12.6877 1251 7 0 -41.0045 70.2714 4.15 + 5 102.413 1250 7 0 -41.0261 70.2494 4.11444 + 5 49.6308 1249 7 0 -41.1458 70.05 3.85242 + 5 134.244 697 10 1 -40.4503 71.5827 95.3444 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 3.48349 LIN +Particle energy: 7.14258 LIN Particle: e- Event: 6 -Number of tracker hits in this event: 43 - 6 104.26 1525 9 1 125.152 25.7702 65.55 - 6 104.262 1028 9 0 125.153 25.7704 64.15 - 6 130.773 1525 8 1 125.176 25.7709 35.55 - 6 121.623 1028 8 0 125.178 25.7715 34.15 - 6 153.696 1525 7 1 125.216 25.7977 5.55 - 6 91.3768 1028 7 0 125.217 25.8009 4.15 - 6 129.808 1525 6 1 125.221 25.8627 -24.45 - 6 170.671 1029 6 0 125.221 25.8655 -25.85 - 6 115.056 1525 5 1 125.224 25.9174 -54.45 - 6 96.2266 1029 5 0 125.225 25.919 -55.85 - 6 284.385 1525 4 1 125.241 25.9498 -84.45 - 6 111.559 1029 4 0 125.242 25.9532 -85.85 - 6 110.785 1525 3 1 125.276 26.019 -114.45 - 6 239.81 1029 3 0 125.277 26.0251 -115.85 - 6 195.341 1525 2 1 125.295 26.1589 -144.45 - 6 141.864 1030 2 0 125.293 26.1663 -145.85 - 6 449.817 1525 1 1 125.261 26.3106 -174.45 - 6 346.384 1031 1 0 125.26 26.317 -175.85 - 6 1026.03 1525 0 1 125.225 26.4492 -204.45 - 6 349.507 1031 0 0 125.213 26.4444 -205.85 - 6 200.199 1032 0 0 125.203 26.633 -205.85 - 6 31.8448 1033 0 0 125.191 26.65 -206.146 - 6 115.673 1145 1 0 147.799 49.1409 -176.25 - 6 84.0569 1146 1 0 148.019 49.25 -176.058 - 6 18.8532 1642 1 1 148.709 49.7953 -174.85 - 6 212.192 1643 1 1 148.75 49.8259 -174.776 - 6 118.773 991 1 0 147.618 18.3189 -176.25 - 6 75.9808 990 1 0 147.891 18.25 -175.99 - 6 8.69839 1645 1 1 149.319 16.8874 -174.85 - 6 66.5743 1646 1 1 149.35 16.8748 -174.835 - 6 337.784 1647 1 1 149.55 16.7537 -174.74 - 6 19.4521 1648 1 1 149.75 16.4292 -174.475 - 6 42.8128 1035 0 0 125.149 27.1906 -205.85 - 6 113.212 1036 0 0 125.136 27.25 -205.952 - 6 35.4963 591 4 1 -61.832 -65.2644 -84.45 - 6 246.787 918 1 0 110.166 3.74044 -176.25 - 6 30.6982 1034 4 0 125.773 26.895 -85.85 - 6 107.407 1549 4 1 130.116 30.2369 -84.85 - 6 79.086 1550 4 1 130.15 30.265 -84.8414 - 6 181.583 1548 4 1 129.95 30.0973 -84.572 - 6 29.9348 1053 4 0 129.389 30.793 -85.85 - 6 160.531 1054 4 0 129.369 30.85 -85.8925 - 6 240.88 1055 4 0 129.448 31.05 -85.9488 -Number of digits in this event: 22 +Number of tracker hits in this event: 47 + 6 113.935 1077 9 1 35.5526 -130.159 65.5337 + 6 121.828 249 9 0 35.5525 -130.159 64.15 + 6 107.126 1077 8 1 35.5473 -130.156 35.55 + 6 127.03 249 8 0 35.5458 -130.157 34.15 + 6 123.628 1077 7 1 35.5093 -130.169 5.55 + 6 110.619 249 7 0 35.5077 -130.169 4.15 + 6 142.23 1077 6 1 35.4551 -130.171 -24.45 + 6 150.17 249 6 0 35.4524 -130.171 -25.85 + 6 167.065 1076 5 1 35.4008 -130.17 -54.45 + 6 170.176 249 5 0 35.3978 -130.169 -55.85 + 6 106.484 1076 4 1 35.3345 -130.157 -84.45 + 6 114.156 249 4 0 35.331 -130.156 -85.85 + 6 240.901 1076 3 1 35.2605 -130.129 -114.45 + 6 222.274 250 3 0 35.2522 -130.127 -115.85 + 6 170.928 1075 2 1 35.0849 -130.088 -144.45 + 6 157.018 250 2 0 35.0771 -130.086 -145.85 + 6 151.36 1074 1 1 34.9211 -130.044 -174.45 + 6 130.327 250 1 0 34.9143 -130.04 -175.85 + 6 987.318 1073 0 1 34.7749 -129.965 -204.45 + 6 662.47 250 0 0 34.767 -129.961 -205.85 + 6 158.288 1073 1 1 34.8497 -130.049 -174.559 + 6 270.12 251 0 0 34.7769 -129.891 -205.85 + 6 16.7106 256 0 0 27.941 -128.892 -206.25 + 6 184.936 257 0 0 27.9501 -128.75 -206.096 + 6 118.512 373 1 0 35.7804 -105.429 -176.25 + 6 67.7728 374 1 0 35.6774 -105.35 -176.181 + 6 62.3741 449 1 0 -11.6584 -90.325 -176.25 + 6 73.899 1072 0 1 34.65 -130.053 -204.603 + 6 63.4545 240 0 0 34.4369 -131.951 -205.85 + 6 62.3941 239 0 0 34.4071 -132.15 -205.981 + 6 64.1783 238 0 0 34.3713 -132.35 -206.099 + 6 10.4965 237 0 0 34.3314 -132.55 -206.233 + 6 2.94115 379 0 0 74.3264 -104.157 -206.25 + 6 78.956 380 0 0 74.3341 -104.15 -206.247 + 6 126.904 370 0 0 59.4457 -106.007 -206.25 + 6 127.953 1084 2 1 36.9529 -127.604 -144.45 + 6 71.2347 264 2 0 37.2482 -127.225 -145.85 + 6 25.4706 265 2 0 37.3113 -127.15 -146.136 + 6 128.24 1118 1 1 43.7396 -119.967 -174.45 + 6 40.3458 301 1 0 44.061 -119.772 -175.85 + 6 93.3808 302 1 0 44.0965 -119.75 -176.011 + 6 16.5848 1156 0 1 51.4259 -115.621 -204.45 + 6 93.5359 1157 0 1 51.4501 -115.616 -204.508 + 6 179.325 323 0 0 51.9822 -115.497 -205.85 + 6 2.59953 1165 0 1 53.0601 -113.303 -204.85 + 6 5.04992 338 0 0 53.2452 -112.505 -205.85 + 6 75.9192 1160 0 1 52.094 -117.557 -204.85 +Number of digits in this event: 25 Using G4ParticleGun... -Particle energy: 1.69803 LIN +Particle energy: 2.70508 LIN Particle: e- Event: 7 -Number of tracker hits in this event: 25 - 7 128.044 1258 9 1 71.6938 -113.795 65.55 - 7 96.8467 331 9 0 71.6931 -113.797 64.15 - 7 132.986 1258 8 1 71.6745 -113.831 35.55 - 7 111.809 331 8 0 71.6743 -113.836 34.15 - 7 148.233 1257 7 1 71.6483 -113.959 5.55 - 7 139.176 330 7 0 71.6451 -113.962 4.15 - 7 131.173 1257 6 1 71.5618 -114.038 -24.45 - 7 158.464 330 6 0 71.5554 -114.044 -25.85 - 7 110.533 1256 5 1 71.4253 -114.154 -54.45 - 7 206.933 329 5 0 71.4296 -114.16 -55.85 - 7 136.036 1257 4 1 71.5324 -114.249 -84.45 - 7 123.209 329 4 0 71.5331 -114.254 -85.85 - 7 195.226 1257 3 1 71.5983 -114.331 -114.45 - 7 128.784 329 3 0 71.5955 -114.335 -115.85 - 7 433.052 1257 2 1 71.5252 -114.327 -144.45 - 7 152.522 329 2 0 71.5103 -114.321 -145.85 - 7 139.844 1256 1 1 71.257 -114.165 -174.45 - 7 10.5998 329 1 0 71.2406 -114.15 -175.85 - 7 103.524 330 1 0 71.2403 -114.15 -175.875 - 7 117.645 1254 0 1 70.8647 -113.96 -204.45 - 7 133.41 331 0 0 70.8788 -113.943 -205.85 - 7 83.6685 1428 0 1 105.813 -150.421 -204.85 - 7 120.888 1429 0 1 105.95 -150.581 -204.741 - 7 282.923 887 5 0 -1.30803 -2.61973 -56.25 - 7 322.847 888 5 0 -1.65244 -2.44984 -56.0822 +Number of tracker hits in this event: 40 + 7 115.556 1322 10 1 84.6476 -58.2112 95.55 + 7 116.301 609 10 0 84.6457 -58.2135 94.15 + 7 119.012 1322 9 1 84.5962 -58.2773 65.55 + 7 196.275 608 9 0 84.5915 -58.2749 64.15 + 7 159.858 1322 8 1 84.4781 -58.2091 35.55 + 7 122.972 609 8 0 84.4797 -58.2112 34.15 + 7 105.48 1322 7 1 84.5186 -58.2626 5.55 + 7 121.966 608 7 0 84.5215 -58.2652 4.15 + 7 109.331 1322 6 1 84.6174 -58.3108 -24.45 + 7 244 608 6 0 84.6262 -58.3122 -25.85 + 7 143.369 1323 5 1 84.8089 -58.3617 -54.45 + 7 130.056 608 5 0 84.8157 -58.355 -55.85 + 7 113.072 1324 4 1 84.9474 -58.2067 -84.45 + 7 111.801 609 4 0 84.9481 -58.1901 -85.85 + 7 102.83 1324 3 1 84.9562 -57.8171 -114.45 + 7 112.969 611 3 0 84.9519 -57.7881 -115.85 + 7 138.171 1324 2 1 84.8908 -57.175 -144.45 + 7 117.11 614 2 0 84.8769 -57.137 -145.85 + 7 120.367 1322 1 1 84.5624 -56.3293 -174.45 + 7 193.169 618 1 0 84.5504 -56.2968 -175.85 + 7 208.08 1321 0 1 84.2642 -55.613 -204.45 + 7 189.236 622 0 0 84.2515 -55.5718 -205.85 + 7 7.79147 901 6 0 137.058 0.390808 -26.25 + 7 97.0873 902 6 0 137.076 0.45 -26.0892 + 7 42.5505 1585 6 1 137.298 0.982124 -24.85 + 7 183.973 1586 6 1 137.35 0.989561 -24.7652 + 7 12.753 1587 6 1 137.55 1.04523 -24.4837 + 7 64.7174 619 1 0 84.5523 -56.25 -176.099 + 7 144.899 1294 0 1 78.9734 -46.8846 -204.45 + 7 233.355 1293 0 1 78.85 -47.3766 -204.598 + 7 84.8112 1292 0 1 78.6499 -47.5521 -204.626 + 7 8.63404 1291 0 1 78.45 -47.6868 -204.835 + 7 59.6419 656 0 0 76.4951 -48.7339 -205.85 + 7 44.5752 1262 0 1 72.5931 -48.8679 -204.85 + 7 65.7262 1261 0 1 72.45 -48.8683 -204.812 + 7 133.264 1260 0 1 72.25 -48.9229 -204.761 + 7 64.8617 1259 0 1 72.05 -49.0292 -204.519 + 7 147.797 1329 1 1 85.894 -58.171 -174.45 + 7 124.884 728 1 0 21.5802 -34.3152 -176.25 + 7 127.969 729 1 0 21.5786 -34.25 -176.197 Number of digits in this event: 21 Using G4ParticleGun... -Particle energy: 7.58518 LIN +Particle energy: 7.47814 LIN Particle: e- Event: 8 -Number of tracker hits in this event: 37 - 8 121.547 784 9 1 -23.2117 -123.947 65.55 - 8 115.515 281 9 0 -23.2119 -123.947 64.15 - 8 134.684 784 8 1 -23.2183 -123.939 35.55 - 8 127.705 281 8 0 -23.2186 -123.939 34.15 - 8 150.823 784 7 1 -23.2235 -123.942 5.55 - 8 140.826 281 7 0 -23.2227 -123.941 4.15 - 8 127.764 784 6 1 -23.1719 -123.905 -24.45 - 8 262.893 281 6 0 -23.1697 -123.904 -25.85 - 8 117.615 784 5 1 -23.1278 -123.875 -54.45 - 8 145.887 281 5 0 -23.1268 -123.875 -55.85 - 8 141.798 784 4 1 -23.1089 -123.862 -84.45 - 8 124.921 281 4 0 -23.1074 -123.86 -85.85 - 8 493.199 784 3 1 -23.0666 -123.833 -114.45 - 8 378.295 281 3 0 -23.0733 -123.829 -115.85 - 8 379.401 784 2 1 -23.1869 -123.749 -144.45 - 8 376.869 281 2 0 -23.1668 -123.755 -145.85 - 8 92.4384 786 1 1 -22.6907 -123.863 -174.45 - 8 268.776 281 1 0 -22.6555 -123.853 -175.85 - 8 120.646 790 0 1 -21.9601 -123.644 -204.45 - 8 125.157 282 0 0 -21.9593 -123.637 -205.85 - 8 115.002 783 2 1 -23.2609 -123.826 -144.45 - 8 122.318 783 1 1 -23.3062 -123.764 -174.45 - 8 117.422 783 0 1 -23.3485 -123.803 -204.45 - 8 150.313 281 0 0 -23.3497 -123.804 -205.85 - 8 98.1049 276 4 1 -124.791 18.925 -84.45 - 8 51.7611 282 2 0 -23.062 -123.75 -146.106 - 8 159.637 790 1 1 -21.8957 -122.228 -174.45 - 8 126.473 290 1 0 -21.8772 -122.082 -175.85 - 8 145.3 791 0 1 -21.7199 -118.833 -204.45 - 8 147.488 307 0 0 -21.7388 -118.604 -205.85 - 8 10.6902 308 0 0 -21.7431 -118.55 -206.186 - 8 127.966 1300 14 1 80.1432 49.7581 215.15 - 8 124.74 1301 14 1 80.25 49.8632 215.48 - 8 59.0356 1299 14 1 80.05 49.8018 215.548 - 8 349.587 1298 14 1 79.85 49.8991 215.492 - 8 342.733 1297 14 1 79.65 49.7925 215.428 - 8 60.6246 1296 14 1 79.45 49.8059 215.489 -Number of digits in this event: 31 +Number of tracker hits in this event: 101 + 8 133.131 990 9 1 18.2411 -129.404 65.55 + 8 104.67 253 9 0 18.2406 -129.404 64.15 + 8 436.885 990 8 1 18.2304 -129.396 35.55 + 8 95.4824 253 8 0 18.231 -129.396 34.15 + 8 369.066 990 7 1 18.2484 -129.392 5.54996 + 8 202.006 991 7 1 18.25 -129.394 5.50256 + 8 226.993 253 7 0 18.2829 -129.436 4.15 + 8 314.601 995 6 1 19.1623 -130.545 -24.45 + 8 135.08 247 6 0 19.1092 -130.567 -25.85 + 8 170.585 989 5 1 17.965 -131.028 -54.45 + 8 151.982 244 5 0 17.9456 -131.201 -55.85 + 8 131.575 987 4 1 17.5885 -134.878 -84.45 + 8 92.0655 227 4 0 17.4356 -134.645 -85.8502 + 8 116.803 951 3 1 10.41 -134.251 -114.45 + 8 99.3836 230 3 0 10.2216 -133.983 -115.85 + 8 36.084 231 3 0 10.1889 -133.95 -116.09 + 8 61.3039 932 2 1 6.57053 -132.708 -144.45 + 8 246.834 933 2 1 6.65 -132.92 -144.585 + 8 70.7786 228 2 0 7.05018 -134.382 -145.85 + 8 52.5114 227 2 0 7.08632 -134.55 -145.99 + 8 63.4334 226 2 0 7.11419 -134.75 -146.123 + 8 33.5059 962 1 1 12.4964 -174.814 -174.45 + 8 82.4149 961 1 1 12.4499 -174.745 -174.558 + 8 117.335 27 1 0 12.1866 -174.645 -175.85 + 8 5.06138 28 1 0 12.0931 -174.55 -176.236 + 8 72.7976 931 0 1 6.4284 -152.465 -204.45 + 8 45.0295 930 0 1 6.25 -152.489 -204.692 + 8 172.415 140 0 0 5.63563 -152.029 -205.85 + 8 136.558 141 0 0 5.54505 -151.95 -206.014 + 8 37.0429 142 0 0 5.27975 -151.75 -205.886 + 8 56.4013 915 0 1 3.19392 -150.284 -204.85 + 8 65.9822 914 0 1 3.05 -150.189 -204.746 + 8 53.4097 913 0 1 2.84982 -150.1 -204.594 + 8 51.0091 912 0 1 2.57417 -150.077 -204.45 + 8 120.92 911 0 1 2.44976 -150.101 -204.539 + 8 120.468 910 0 1 2.2499 -150.031 -204.608 + 8 26.9778 333 0 0 22.1542 -113.496 -206.25 + 8 104.06 991 8 1 18.25 -129.459 35.1985 + 8 24.0922 992 7 1 18.4501 -129.229 5.21902 + 8 115.185 256 7 0 18.8103 -128.914 4.15 + 8 9.37998 162 7 0 50.3771 -147.725 3.75 + 8 133.57 161 7 0 50.3934 -147.75 3.77103 + 8 50.6978 160 7 0 50.6698 -147.95 4.04051 + 8 60.7222 1164 7 1 52.8528 -148.863 5.15005 + 8 56.7544 1165 7 1 53.05 -148.945 5.25366 + 8 194.78 1166 7 1 53.25 -148.988 5.37421 + 8 91.8491 1167 7 1 53.45 -149.087 5.53958 + 8 138.634 153 7 0 53.0737 -149.48 4.15 + 8 271.902 152 7 0 53.0359 -149.55 3.99317 + 8 101.411 151 7 0 52.9326 -149.75 3.79337 + 8 132.218 253 6 0 19.3182 -129.382 -25.85 + 8 196.287 1008 5 1 21.6913 -129.65 -54.45 + 8 127.275 252 5 0 21.7635 -129.641 -55.85 + 8 158.721 1016 4 1 23.3132 -129.986 -84.45 + 8 204.488 250 4 0 23.1199 -130.005 -85.8501 + 8 160.084 205 4 0 22.8233 -139.063 -86.25 + 8 17.3312 204 4 0 22.891 -139.15 -85.917 + 8 90.6676 1015 4 1 23.1809 -139.376 -84.8496 + 8 127.858 224 5 0 32.5458 -135.345 -56.25 + 8 134.601 1065 5 1 33.0957 -135.121 -54.85 + 8 1.88756 1066 5 1 33.25 -135.055 -54.4679 + 8 185.334 273 6 0 32.7767 -125.473 -26.25 + 8 0.140878 274 6 0 32.7622 -125.35 -25.851 + 8 145.49 1063 6 1 32.6852 -125.031 -24.85 + 8 100.418 282 7 0 36.8332 -123.719 3.75 + 8 104.418 1085 7 1 37.1062 -123.64 5.15 + 8 271.273 1087 7 1 37.5588 -123.687 5.55 + 8 116.901 1088 7 1 37.65 -122.991 5.47938 + 8 53.2928 1089 7 1 37.85 -122.686 5.49816 + 8 257.928 1090 7 1 38.0502 -122.547 5.45596 + 8 62.7614 1091 7 1 38.25 -122.324 5.40714 + 8 75.453 1092 7 1 38.45 -122.315 5.47192 + 8 147.697 1093 7 1 38.65 -122.377 5.5081 + 8 47.9958 1094 7 1 38.851 -122.473 5.27363 + 8 34.6687 287 7 0 40.2 -122.562 4.15 + 8 110.743 288 7 0 40.2781 -122.55 4.07652 + 8 106.891 150 7 0 31.9297 -149.95 3.86733 + 8 102.934 149 7 0 32.0875 -150.15 3.75609 + 8 225.147 148 7 0 32.1577 -150.35 3.83 + 8 67.49 1029 3 1 25.8665 -130.798 -114.45 + 8 113.799 246 3 0 25.9968 -130.807 -115.85 + 8 119.995 1040 2 1 28.1789 -131.62 -144.45 + 8 117.169 244 2 0 28.4176 -131.322 -145.85 + 8 99.0284 1067 1 1 33.5491 -126.06 -174.45 + 8 26.5454 1068 1 1 33.65 -126.066 -174.773 + 8 538.947 270 1 0 33.9588 -126.066 -175.85 + 8 111.029 1107 0 1 41.5532 -123.312 -204.45 + 8 15.8533 1108 0 1 41.65 -123.411 -204.787 + 8 45.1176 282 0 0 41.9475 -123.704 -205.85 + 8 69.5224 281 0 0 41.99 -123.75 -206.01 + 8 139.014 996 6 1 19.25 -129.384 -24.6415 + 8 126.666 989 7 1 18.05 -129.174 5.2783 + 8 94.7629 988 7 1 17.8494 -129.278 5.18131 + 8 211.647 250 7 0 15.1858 -129.964 4.15 + 8 34.1372 956 7 1 11.3605 -130.897 5.15 + 8 139.362 955 7 1 11.25 -130.912 5.2089 + 8 42.9423 249 7 0 10.9914 -130.225 4.15 + 8 338.801 962 7 1 12.6122 -128.71 5.15 + 8 48.1649 963 7 1 12.65 -128.672 5.18041 + 8 276.633 257 7 0 14.3633 -128.56 4.15 + 8 31.5846 258 7 0 14.4525 -128.55 4.07855 +Number of digits in this event: 44 Using G4ParticleGun... -Particle energy: 1.25921 LIN +Particle energy: 7.27975 LIN Particle: e- Event: 9 -Number of tracker hits in this event: 187 - 9 108.552 799 11 1 -20.0558 -3.9377 125.55 - 9 159.059 880 11 0 -20.0641 -3.94086 124.15 - 9 119.813 799 10 1 -20.2229 -3.98009 95.55 - 9 122.119 880 10 0 -20.223 -3.98253 94.15 - 9 110.212 799 9 1 -20.1901 -4.00219 65.55 - 9 122.672 880 9 0 -20.1974 -4.00846 64.15 - 9 166.027 798 8 1 -20.3828 -4.12512 35.55 - 9 405.436 879 8 0 -20.3896 -4.13586 34.15 - 9 160.385 797 7 1 -20.5257 -4.40948 5.55 - 9 191.464 878 7 0 -20.5273 -4.41713 4.15 - 9 111.353 797 6 1 -20.5731 -4.55984 -24.45 - 9 167.812 877 6 0 -20.5764 -4.5657 -25.85 - 9 142.943 796 5 1 -20.6722 -4.79686 -54.45 - 9 99.9773 876 5 0 -20.6512 -4.81679 -55.85 - 9 230.676 798 4 1 -20.3019 -5.24441 -84.45 - 9 282.539 873 4 0 -20.3013 -5.25155 -85.85 - 9 147.603 798 3 1 -20.3065 -5.50179 -114.45 - 9 154.517 872 3 0 -20.3098 -5.53241 -115.85 - 9 118.084 798 2 1 -20.3455 -6.05205 -144.45 - 9 222.627 869 2 0 -20.3599 -6.10445 -145.85 - 9 103.092 796 1 1 -20.7161 -7.22156 -174.45 - 9 112.48 863 1 0 -20.6929 -7.25353 -175.85 - 9 104.64 798 0 1 -20.2817 -7.87915 -204.45 - 9 113.581 860 0 0 -20.246 -7.89728 -205.85 - 9 4.80793 834 1 1 -13.25 -122.61 -174.712 - 9 146.193 833 1 1 -13.2501 -122.781 -174.601 - 9 193.596 874 4 0 -20.2539 -5.24997 -86.072 - 9 105.553 869 3 1 -6.0919 -0.629487 -114.45 - 9 198.162 868 3 1 -6.25 -0.303196 -114.601 - 9 2.38306 867 3 1 -6.45 0.100181 -114.845 - 9 69.5972 908 3 0 -7.36828 1.70264 -115.85 - 9 67.0152 909 3 0 -7.48243 1.85 -115.966 - 9 61.807 910 3 0 -7.59828 2.05022 -116.085 - 9 60.1915 911 3 0 -7.68752 2.25 -116.155 - 9 19.1577 912 3 0 -7.79127 2.45071 -116.216 - 9 29.3916 1367 3 0 -45.1708 93.6548 -116.25 - 9 72.2843 1368 3 0 -45.1897 93.75 -116.178 - 9 49.5791 1369 3 0 -45.1528 93.95 -115.984 - 9 107.795 676 3 1 -44.744 95.0913 -114.85 - 9 171.688 677 3 1 -44.65 95.3606 -114.598 - 9 85.4728 678 3 1 -44.4498 95.6885 -114.466 - 9 130.827 679 3 1 -44.2499 95.9312 -114.58 - 9 51.7064 1386 3 0 -43.8752 97.4065 -115.85 - 9 89.9256 1387 3 0 -43.8784 97.55 -116.033 - 9 14.4934 1622 3 0 -55.6741 144.715 -116.25 - 9 196.855 1623 3 0 -55.6768 144.75 -116.213 - 9 486.788 624 3 1 -55.1712 144.495 -114.85 - 9 34.9818 625 3 1 -55.05 143.99 -114.492 - 9 101.773 820 3 1 -16.03 -2.10241 -114.45 - 9 13.1047 819 3 1 -16.05 -1.96755 -114.8 - 9 7.16383 890 3 0 -16.295 -1.85242 -115.85 - 9 233.032 891 3 0 -16.3012 -1.84998 -115.876 - 9 436.593 888 3 0 -49.1269 -2.25864 -116.25 - 9 81.3382 877 7 0 -20.4698 -4.45007 3.8677 - 9 116.444 828 8 0 -30.1859 -14.3277 33.75 - 9 119.769 746 8 1 -30.6913 -14.5447 35.1503 - 9 88.6178 745 8 1 -30.932 -14.6981 35.55 - 9 70.834 744 8 1 -31.05 -14.8519 35.3046 - 9 115.065 822 8 0 -31.7675 -15.4578 34.1496 - 9 39.1986 629 8 0 -44.4853 -54.1957 33.75 - 9 114.481 628 8 0 -44.5173 -54.25 33.789 - 9 204.789 627 8 0 -44.8045 -54.4502 33.9291 - 9 32.1185 672 8 1 -45.6192 -54.4866 35.15 - 9 237.976 671 8 1 -45.65 -54.4882 35.1968 - 9 206.214 670 8 1 -45.85 -54.4893 35.4874 - 9 154.257 669 8 1 -46.05 -54.3621 35.3076 - 9 113.211 800 6 1 -20.0475 -3.85997 -24.45 - 9 119.245 879 6 0 -19.9774 -4.14931 -25.85 - 9 98.4103 804 5 1 -19.1966 -11.2824 -54.45 - 9 111.169 843 5 0 -19.1885 -11.398 -55.8506 - 9 122.92 811 4 1 -17.8164 -15.454 -84.45 - 9 107.394 821 4 0 -17.5622 -15.7506 -85.8501 - 9 117.156 835 3 1 -12.9101 -17.9754 -114.45 - 9 140.057 813 3 0 -13.2254 -17.3862 -115.85 - 9 105.613 772 2 1 -25.5978 -6.61108 -144.45 - 9 10.827 771 2 1 -25.65 -6.47761 -144.819 - 9 16.4574 870 2 0 -25.9916 -6.05 -146.182 - 9 20.5437 725 1 1 -34.8572 0.0556297 -174.45 - 9 243.04 726 1 1 -34.85 0.0817668 -174.518 - 9 49.2234 903 1 0 -34.8307 0.764473 -175.85 - 9 95.826 904 1 0 -34.83 0.85 -176.006 - 9 41.0588 721 0 1 -35.7306 19.9364 -204.45 - 9 64.4661 720 0 1 -35.85 19.8884 -204.526 - 9 75.3762 719 0 1 -36.05 19.8489 -204.651 - 9 287.879 998 0 0 -37.0771 19.7684 -205.85 - 9 252.588 652 4 0 -25.8761 -49.4668 -86.2498 - 9 33.6407 651 4 0 -26.3623 -49.65 -85.9272 - 9 273.736 770 4 1 -25.8845 -49.3481 -84.8494 - 9 126.089 771 4 1 -25.85 -49.3401 -84.7082 - 9 109.184 799 6 1 -20.0715 -3.8423 -24.4501 - 9 184.819 881 6 0 -20.0803 -3.83357 -25.85 - 9 271.995 799 5 1 -20.142 -3.54318 -54.45 - 9 363.733 882 5 0 -20.1395 -3.57213 -55.85 - 9 148.722 879 4 0 -20.238 -4.16921 -85.85 - 9 114.512 802 3 1 -19.5514 0.418685 -114.45 - 9 99.6307 902 3 0 -19.6036 0.558462 -115.85 - 9 115.421 797 2 1 -20.5539 3.80245 -144.45 - 9 111.759 919 2 0 -20.5735 3.86238 -145.85 - 9 185.337 797 1 1 -20.4601 4.76993 -174.45 - 9 105.256 923 1 0 -20.6467 4.67158 -175.85 - 9 13.2215 922 1 0 -20.6953 4.64998 -176.202 - 9 55.3346 781 0 1 -23.6908 3.26099 -204.45 - 9 92.1922 782 0 1 -23.65 3.30141 -204.608 - 9 9.14572 917 0 0 -23.2801 3.64305 -205.85 - 9 114.786 918 0 0 -23.2723 3.65 -205.875 - 9 73.0485 798 5 1 -20.2968 -3.62044 -54.45 - 9 68.9153 797 5 1 -20.45 -3.62103 -54.6777 - 9 67.599 883 5 0 -21.9859 -3.35856 -55.85 - 9 142.125 771 5 0 -8.93438 -25.6827 -56.25 - 9 94.4221 772 5 0 -8.8118 -25.65 -56.1075 - 9 200.278 773 5 0 -8.77452 -25.4499 -56.0343 - 9 42.2884 802 2 1 -19.5052 -4.41527 -144.791 - 9 270.242 878 2 0 -19.2271 -4.39845 -145.85 - 9 44.8314 877 2 0 -19.2199 -4.45 -146.061 - 9 126.583 742 2 1 -31.4561 -26.8167 -144.85 - 9 139.63 804 1 1 -19.1887 -4.17237 -174.45 - 9 142.494 879 1 0 -19.1829 -4.19565 -175.851 - 9 115.125 803 0 1 -19.3633 -4.82891 -204.45 - 9 149.034 876 0 0 -19.3321 -4.79483 -205.85 - 9 67.4178 896 0 0 -21.8914 -0.85 -206.119 - 9 25.4922 799 8 1 -20.0881 -4.09402 35.1935 - 9 118.049 793 7 1 -21.3919 -4.83688 5.55 - 9 104.577 876 7 0 -21.4259 -4.72059 4.15 - 9 108.814 789 6 1 -22.1059 -2.05219 -24.45 - 9 113.096 889 6 0 -22.0233 -2.16189 -25.85 - 9 134.479 795 5 1 -20.9025 -4.62731 -54.4502 - 9 125.429 877 5 0 -21.0465 -4.57534 -55.8501 - 9 97.4528 783 4 1 -23.3963 -3.7623 -84.45 - 9 142.042 880 4 0 -23.3284 -3.89348 -85.8503 - 9 115.049 792 3 1 -21.5265 -6.84447 -114.45 - 9 78.527 865 3 0 -21.5081 -7.01121 -115.851 - 9 48.1533 864 3 0 -21.5026 -7.05002 -116.19 - 9 114.576 795 2 1 -20.9343 -10.1127 -144.45 - 9 100.402 847 2 0 -21.1641 -10.4616 -145.85 - 9 130.102 768 1 1 -26.4196 -16.7202 -174.45 - 9 118.045 815 1 0 -26.0697 -16.8708 -175.85 - 9 110.047 817 0 1 -16.533 -17.9681 -204.45 - 9 159.585 812 0 0 -16.4558 -17.6204 -205.85 - 9 55.1691 784 0 1 -23.0675 -26.9891 -204.85 - 9 39.9068 814 1 0 -26.1916 -17.17 -175.85 - 9 138.358 789 1 1 -22.15 -13.0231 -174.45 - 9 123.64 788 1 1 -22.25 -12.9357 -174.668 - 9 76.1714 837 1 0 -22.6675 -12.5138 -175.85 - 9 60.7993 838 1 0 -22.7649 -12.45 -176.078 - 9 142.298 748 1 0 -57.4081 -30.3128 -176.249 - 9 2.00937 609 1 1 -58.2458 -30.6768 -174.85 - 9 100.676 608 1 1 -58.25 -30.6788 -174.842 - 9 32.2169 607 1 1 -58.4503 -30.6823 -174.527 - 9 113.614 799 7 1 -20.1783 -4.19845 5.55 - 9 108.574 879 7 0 -20.1807 -4.20412 4.15 - 9 150.004 798 6 1 -20.2647 -4.29882 -24.45 - 9 119.556 878 6 0 -20.2653 -4.33114 -25.85 - 9 121.327 873 5 0 -20.1876 -5.36494 -55.85 - 9 118.662 801 4 1 -19.6567 -6.84685 -84.45 - 9 111.847 865 4 0 -19.6383 -6.94086 -85.85 - 9 103.995 804 3 1 -19.0643 -8.76302 -114.45 - 9 104.118 855 3 0 -19.0693 -8.90041 -115.85 - 9 113.588 805 2 1 -19.0269 -11.996 -144.45 - 9 163.984 839 2 0 -19.0547 -12.1805 -145.85 - 9 91.3055 800 1 1 -19.8634 -16.0373 -174.45 - 9 28.647 801 1 1 -19.85 -16.0557 -174.733 - 9 125.702 819 1 0 -19.7941 -16.1396 -175.85 - 9 64.5229 806 0 1 -18.8427 -18.8194 -204.45 - 9 61.0462 805 0 1 -18.85 -18.8565 -204.659 - 9 157.164 804 0 0 -18.8946 -19.0658 -205.85 - 9 290.471 880 2 0 -20.2896 -3.91783 -146.25 - 9 21.5532 879 2 0 -20.2597 -4.05 -146.228 - 9 198.396 812 1 1 -17.5276 -6.59657 -174.542 - 9 235.251 867 1 0 -17.4651 -6.63084 -175.85 - 9 20.4356 819 0 1 -16.0645 -7.42869 -204.45 - 9 222.427 820 0 1 -16.05 -7.43352 -204.543 - 9 113.945 862 0 0 -15.8777 -7.5037 -205.85 - 9 66.3655 810 0 1 -17.9686 -5.63736 -204.45 - 9 48.1053 809 0 1 -18.05 -5.63058 -204.676 - 9 115.037 872 0 0 -18.4618 -5.62789 -205.85 - 9 91.1487 943 0 0 -41.0932 8.69869 -206.25 - 9 108.541 944 0 0 -41.2895 8.85 -206.044 - 9 13.6571 684 0 1 -43.2118 9.62504 -204.85 - 9 148.474 683 0 1 -43.2501 9.63976 -204.828 - 9 337.088 682 0 1 -43.4502 9.7166 -204.694 - 9 134.02 681 0 1 -43.65 9.79382 -204.583 - 9 67.0596 680 0 1 -43.8501 9.90641 -204.54 - 9 70.3685 679 0 1 -44.05 10.0084 -204.481 - 9 106.598 1065 1 0 -23.5337 33.0595 -176.25 - 9 58.4802 1066 1 0 -23.3587 33.25 -176.007 - 9 81.4298 790 1 1 -22.05 34.769 -174.643 - 9 4.59706 791 1 1 -21.85 34.807 -174.461 -Number of digits in this event: 68 -Using G4ParticleGun... -Particle energy: 7.35496 LIN +Number of tracker hits in this event: 82 + 9 135.688 872 10 1 -5.46188 109.658 95.55 + 9 145.746 1447 10 0 -5.46231 109.66 94.15 + 9 123.477 872 9 1 -5.47365 109.704 65.55 + 9 144.109 1447 9 0 -5.47397 109.706 64.15 + 9 403.857 872 8 1 -5.48915 109.741 35.55 + 9 377.12 1447 8 0 -5.49172 109.741 34.15 + 9 357.102 872 7 1 -5.54369 109.745 5.55 + 9 556.866 1447 7 0 -5.54773 109.745 4.15 + 9 147.593 872 6 1 -5.62954 109.732 -24.45 + 9 269.24 1447 6 0 -5.63473 109.731 -25.85 + 9 111.21 871 5 1 -5.74092 109.716 -54.45 + 9 230.234 1447 5 0 -5.74683 109.713 -55.85 + 9 98.7784 870 4 1 -5.86523 109.661 -84.45 + 9 95.522 1447 4 0 -5.87271 109.658 -85.85 + 9 230.061 870 3 1 -6.02535 109.589 -114.45 + 9 101.583 1447 3 0 -6.03153 109.585 -115.85 + 9 135.705 869 2 1 -6.15612 109.503 -144.45 + 9 143.827 1446 2 0 -6.15996 109.502 -145.85 + 9 114.41 869 1 1 -6.24669 109.46 -174.45 + 9 133.624 1446 1 0 -6.25402 109.454 -175.85 + 9 286.692 868 0 1 -6.39491 109.309 -204.45 + 9 140.117 1445 0 0 -6.39972 109.304 -205.85 + 9 81.5892 869 0 1 -6.25 109.669 -204.564 + 9 136.802 1448 0 0 -5.89743 109.836 -205.851 + 9 81.3624 1444 3 0 -6.15279 109.062 -115.85 + 9 48.9119 1443 3 0 -6.24586 108.95 -116.095 + 9 387.957 873 7 1 -5.42452 109.609 5.55 + 9 106.674 874 6 1 -5.19805 109.668 -24.45 + 9 138.118 875 5 1 -4.94379 109.614 -54.45 + 9 144.734 875 4 1 -4.94899 109.425 -84.45 + 9 132.693 1446 4 0 -4.93776 109.415 -85.85 + 9 159.511 876 3 1 -4.6917 109.208 -114.45 + 9 99.1254 1445 3 0 -4.68549 109.189 -115.85 + 9 132.644 877 2 1 -4.55849 108.758 -144.45 + 9 177.893 1442 2 0 -4.54642 108.741 -145.85 + 9 115.57 878 1 1 -4.28114 108.386 -174.45 + 9 157.165 1441 1 0 -4.26638 108.362 -175.85 + 9 123.502 880 0 1 -3.98765 107.865 -204.45 + 9 118.591 1438 0 0 -3.99203 107.854 -205.85 + 9 31.3458 931 6 0 19.7004 6.42286 -26.25 + 9 209.802 873 8 1 -5.45 109.744 35.4621 + 9 122.299 868 7 1 -6.38325 109.63 5.55 + 9 124.437 856 6 1 -8.70182 111.2 -24.45 + 9 126.797 1455 6 0 -8.80788 111.223 -25.85 + 9 101.458 844 5 1 -11.1546 111.957 -54.45 + 9 146.814 1459 5 0 -11.2547 111.993 -55.85 + 9 151.695 834 4 1 -13.112 112.646 -84.45 + 9 112.061 1462 4 0 -13.2245 112.627 -85.85 + 9 41.0107 822 3 1 -15.6424 111.965 -114.45 + 9 126.706 821 3 1 -15.65 111.963 -114.598 + 9 160.722 1458 3 0 -15.7223 111.944 -115.85 + 9 309.73 812 2 1 -17.5907 111.473 -144.45 + 9 115.894 1457 2 0 -17.5582 111.573 -145.85 + 9 129.829 815 1 1 -16.926 113.566 -174.45 + 9 160.933 1467 1 0 -16.8985 113.686 -175.85 + 9 144.131 817 0 1 -16.6446 116.29 -204.45 + 9 149.352 1481 0 0 -16.5472 116.435 -205.85 + 9 34.043 813 2 1 -17.45 111.456 -144.548 + 9 0.280568 843 5 1 -11.3296 112.282 -54.45 + 9 55.7145 834 5 1 -13.0831 113.913 -54.4501 + 9 305.506 833 5 1 -13.25 113.87 -54.4691 + 9 107.26 1460 5 0 -11.3994 112.282 -55.85 + 9 144.93 838 4 1 -12.3795 111.498 -84.45 + 9 77.7445 839 4 1 -12.25 111.864 -84.734 + 9 12.4124 1466 4 0 -11.2372 113.54 -85.8503 + 9 57.9766 1467 4 0 -11.2306 113.55 -85.8574 + 9 81.2479 1468 4 0 -11.1429 113.75 -85.9964 + 9 62.619 1469 4 0 -11.071 113.95 -86.1036 + 9 318.549 1470 4 0 -11.0355 114.15 -86.1914 + 9 225.278 1399 4 0 -9.75502 100.124 -86.25 + 9 73.6333 1453 7 0 -5.99008 110.783 4.15 + 9 307.113 1454 7 0 -6.08516 110.95 3.91448 + 9 68.373 800 6 1 -19.8672 160.617 -24.45 + 9 220.209 801 6 1 -19.85 160.732 -24.667 + 9 132.515 1707 6 0 -19.1002 161.551 -25.85 + 9 147.218 1708 6 0 -19.0209 161.75 -26.093 + 9 119.104 1709 6 0 -18.9256 161.95 -26.0188 + 9 154.287 798 6 1 -20.3542 161.582 -24.85 + 9 193.596 1197 8 0 -175.244 59.65 33.8055 + 9 34.019 802 6 1 -19.6256 161.087 -24.45 + 9 60.9599 1696 6 0 -20.1912 159.508 -25.8502 + 9 183.415 1695 6 0 -20.134 159.35 -25.9011 +Number of digits in this event: 53 +Using G4ParticleGun... +Particle energy: 8.4844 LIN Particle: e- Event: 10 -Number of tracker hits in this event: 26 - 10 135.317 1377 8 1 95.5608 100.536 35.55 - 10 124.491 1401 8 0 95.5607 100.535 34.15 - 10 116.818 1377 7 1 95.563 100.522 5.55 - 10 192.548 1401 7 0 95.5631 100.522 4.15 - 10 97.1459 1377 6 1 95.5639 100.508 -24.45 - 10 97.068 1401 6 0 95.564 100.507 -25.85 - 10 128.165 1377 5 1 95.5642 100.494 -54.45 - 10 118.511 1401 5 0 95.5621 100.492 -55.85 - 10 112.462 1376 4 1 95.5184 100.451 -84.45 - 10 213.678 1401 4 0 95.5161 100.45 -85.85 - 10 113.551 1376 3 1 95.4672 100.416 -114.45 - 10 120.843 1401 3 0 95.4656 100.415 -115.85 - 10 112.12 1376 2 1 95.436 100.405 -144.45 - 10 137.926 1401 2 0 95.4351 100.404 -145.85 - 10 103.722 1376 1 1 95.4205 100.386 -174.45 - 10 102.317 1401 1 0 95.4177 100.384 -175.85 - 10 682.079 1376 0 1 95.3581 100.35 -204.45 - 10 113.432 1400 0 0 95.3563 100.349 -205.85 - 10 7.21843 1421 1 1 104.478 74.984 -174.85 - 10 0.898871 1377 0 1 95.5518 100.605 -204.45 - 10 87.3433 1376 8 1 95.55 100.545 35.3935 - 10 13.8291 1375 8 1 95.3498 100.607 35.1975 - 10 93.2537 1403 8 0 94.684 100.776 34.15 - 10 113.32 1404 8 0 94.5189 100.95 33.9645 - 10 102.073 1412 8 0 152.038 102.744 33.7502 - 10 113.386 1411 8 0 152.188 102.55 33.8224 -Number of digits in this event: 11 +Number of tracker hits in this event: 34 + 10 104.36 1352 10 1 90.667 -36.6148 95.55 + 10 109.552 717 10 0 90.6672 -36.6137 94.15 + 10 112.418 1352 9 1 90.6709 -36.5894 65.55 + 10 128.352 717 9 0 90.6711 -36.5874 64.15 + 10 123.651 1352 8 1 90.6745 -36.5434 35.55 + 10 128.548 717 8 0 90.6739 -36.5424 34.15 + 10 127.443 1352 7 1 90.661 -36.5204 5.55 + 10 147.194 717 7 0 90.6612 -36.5182 4.15 + 10 109.907 1352 6 1 90.6587 -36.4714 -24.45 + 10 118.502 717 6 0 90.658 -36.4692 -25.85 + 10 174.229 1352 5 1 90.6473 -36.4276 -54.45 + 10 114.16 718 5 0 90.6478 -36.4257 -55.85 + 10 164.797 1352 4 1 90.6612 -36.3862 -84.45 + 10 120.772 718 4 0 90.6623 -36.3846 -85.85 + 10 138.035 1352 3 1 90.6876 -36.3594 -114.45 + 10 131.034 718 3 0 90.6885 -36.3591 -115.85 + 10 397.038 1352 2 1 90.7169 -36.3516 -144.45 + 10 437.996 718 2 0 90.7195 -36.351 -145.85 + 10 206.142 1353 1 1 90.782 -36.3265 -174.45 + 10 262.726 718 1 0 90.7854 -36.3253 -175.85 + 10 97.6907 1353 0 1 90.8382 -36.3224 -204.45 + 10 167.066 718 0 0 90.8387 -36.3237 -205.85 + 10 45.4589 1326 1 1 85.3197 -48.1801 -174.45 + 10 74.8627 1327 1 1 85.45 -48.1643 -174.537 + 10 51.927 1328 1 1 85.65 -48.1514 -174.712 + 10 145.604 661 1 0 86.8073 -47.8456 -175.85 + 10 13.8628 662 1 0 87.1307 -47.65 -176.211 + 10 98.86 1351 1 1 90.4052 -36.3029 -174.45 + 10 140.084 1349 0 1 90.0061 -36.7555 -204.45 + 10 244.663 716 0 0 89.9915 -36.7737 -205.85 + 10 31.5501 1340 0 1 88.0727 -37.3944 -204.85 + 10 118.229 719 1 0 90.926 -36.2273 -175.85 + 10 153.376 1355 0 1 91.1936 -35.8421 -204.45 + 10 114.606 721 0 0 91.2152 -35.7647 -205.85 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 8.05252 LIN +Particle energy: 2.01926 LIN Particle: e- Event: 11 -Number of tracker hits in this event: 20 - 11 121.472 366 9 1 -106.885 53.7335 65.55 - 11 108.991 1168 9 0 -106.886 53.7342 64.15 - 11 121.652 366 8 1 -106.895 53.7437 35.55 - 11 118.479 1168 8 0 -106.897 53.7451 34.15 - 11 238.562 366 7 1 -106.924 53.7725 5.55 - 11 277.169 1168 7 0 -106.924 53.7743 4.15 - 11 121.273 366 6 1 -106.925 53.8133 -24.45 - 11 126.272 1168 6 0 -106.924 53.815 -25.85 - 11 97.7988 366 5 1 -106.896 53.8493 -54.45 - 11 88.1868 1168 5 0 -106.894 53.8497 -55.85 - 11 149.32 366 4 1 -106.849 53.8523 -84.45 - 11 108.917 1169 4 0 -106.847 53.852 -85.85 - 11 147.72 366 3 1 -106.806 53.8533 -114.45 - 11 106.629 1169 3 0 -106.804 53.8531 -115.85 - 11 122.197 366 2 1 -106.757 53.8493 -144.45 - 11 188.586 1168 2 0 -106.754 53.8495 -145.85 - 11 129.139 367 1 1 -106.692 53.8515 -174.45 - 11 108.456 1169 1 0 -106.689 53.8518 -175.85 - 11 226.313 367 0 1 -106.619 53.8619 -204.45 - 11 120.538 1169 0 0 -106.614 53.8622 -205.85 -Number of digits in this event: 15 +Number of tracker hits in this event: 63 + 11 207.701 1462 8 1 112.554 76.4773 35.55 + 11 356.298 1282 8 0 112.551 76.4739 34.15 + 11 141.615 1461 7 1 112.473 76.4045 5.55 + 11 132.702 1281 7 0 112.473 76.4038 4.15 + 11 105.994 1461 6 1 112.489 76.3917 -24.45 + 11 115.139 1281 6 0 112.486 76.3984 -25.85 + 11 458.691 1461 5 1 112.415 76.5449 -54.45 + 11 155.287 1282 5 0 112.405 76.5517 -55.85 + 11 438.567 1460 4 1 112.195 76.6913 -84.45 + 11 364.12 1283 4 0 112.191 76.6968 -85.85 + 11 120.311 1459 3 1 112.146 76.8172 -114.45 + 11 114.827 1283 3 0 112.142 76.823 -115.85 + 11 149.284 1459 2 1 112.045 76.9279 -144.45 + 11 256.045 1284 2 0 112.043 76.9247 -145.85 + 11 123.246 1459 1 1 111.975 76.8313 -174.45 + 11 117.35 1283 1 0 111.969 76.8187 -175.85 + 11 115.276 1458 0 1 111.846 76.5381 -204.45 + 11 121.512 1282 0 0 111.842 76.5247 -205.85 + 11 242.719 1007 2 0 122.79 21.5549 -146.25 + 11 82.8313 1008 2 0 122.655 21.65 -146.155 + 11 25.1928 1283 2 0 111.977 76.85 -145.902 + 11 334.972 1280 2 0 110.637 76.2408 -145.85 + 11 3.814 1281 2 0 110.364 76.25 -145.966 + 11 234.675 1458 1 1 111.883 77.1834 -174.45 + 11 277.088 1285 1 0 111.876 77.1968 -175.85 + 11 137.595 1456 0 1 111.504 77.6008 -204.45 + 11 140.987 1287 0 0 111.465 77.6256 -205.85 + 11 132.048 1457 0 1 111.743 77.374 -204.45 + 11 135.147 1286 0 0 111.751 77.3806 -205.85 + 11 266.214 1461 3 1 112.419 76.3995 -114.45 + 11 127.872 1281 3 0 112.436 76.3924 -115.85 + 11 182.173 1463 2 1 112.805 76.0998 -144.45 + 11 116.363 1279 2 0 112.848 76.0412 -145.85 + 11 176.995 1468 1 1 113.786 74.8382 -174.45 + 11 205.134 1273 1 0 113.831 74.8242 -175.85 + 11 151.55 1472 0 1 114.655 74.347 -204.45 + 11 110.782 1271 0 0 114.698 74.3431 -205.85 + 11 111.726 1462 3 1 112.55 76.2902 -114.641 + 11 58.6888 1276 3 0 114.125 75.3497 -115.85 + 11 242.941 1275 3 0 114.154 75.25 -115.895 + 11 36.1358 1280 4 0 112.201 76.0978 -85.85 + 11 103.213 1279 4 0 112.187 76.05 -85.9739 + 11 46.2283 1446 3 1 109.52 64.8419 -114.45 + 11 245.518 1447 3 1 109.55 64.7316 -114.599 + 11 186.242 1219 3 0 109.641 63.9912 -115.85 + 11 0.939468 1218 3 0 109.638 63.8498 -116.244 + 11 86.3881 1439 2 1 108.126 57.1355 -144.45 + 11 77.4062 1440 2 1 108.15 57.3604 -144.612 + 11 36.8603 1441 2 1 108.35 57.5303 -144.776 + 11 142.072 1190 2 0 110.153 58.162 -145.85 + 11 119.523 1191 2 0 110.549 58.25 -146.101 + 11 14.8384 1192 2 0 110.757 58.4503 -146.225 + 11 113.567 1495 2 0 164.779 119.173 -146.25 + 11 21.744 1494 2 0 165.01 119.15 -145.929 + 11 81.0358 1728 2 1 165.868 118.764 -144.85 + 11 24.3348 1729 2 1 165.95 118.694 -144.57 + 11 96.634 1411 7 0 104.68 102.424 3.75 + 11 79.4091 1412 7 0 104.654 102.55 4.03477 + 11 10.3096 1413 7 0 104.564 102.75 4.1443 + 11 285.11 1421 7 1 104.488 106.599 5.15007 + 11 58.4826 1422 7 1 104.55 107.277 5.53628 + 11 250.382 1469 8 1 114.054 75.6011 35.15 + 11 147.08 1468 8 1 113.95 75.3918 35.5353 +Number of digits in this event: 36 Using G4ParticleGun... -Particle energy: 4.15592 LIN +Particle energy: 7.85312 LIN Particle: e- Event: 12 -Number of tracker hits in this event: 61 - 12 132.307 904 10 1 0.955203 103.713 95.55 - 12 139.827 1417 10 0 0.957082 103.711 94.15 - 12 136.947 904 9 1 0.990601 103.671 65.55 - 12 140.262 1417 9 0 0.989607 103.669 64.15 - 12 109.478 904 8 1 0.960004 103.613 35.55 - 12 156.211 1417 8 0 0.95833 103.609 34.15 - 12 127.189 904 7 1 0.91971 103.53 5.55 - 12 123.076 1416 7 0 0.921321 103.528 4.15 - 12 135.143 904 6 1 0.964639 103.47 -24.45 - 12 116.209 1416 6 0 0.966657 103.47 -25.85 - 12 169.281 904 5 1 0.961637 103.334 -54.45 - 12 192.823 1415 5 0 0.956583 103.332 -55.85 - 12 480.494 903 4 1 0.806503 103.249 -84.45 - 12 207.841 1415 4 0 0.797652 103.265 -85.85 - 12 237.218 903 3 1 0.668283 103.609 -114.45 - 12 198.454 1417 3 0 0.669063 103.608 -115.85 - 12 258.604 902 2 1 0.636506 103.614 -144.45 - 12 118.673 1417 2 0 0.619121 103.628 -145.85 - 12 118.076 901 1 1 0.29057 103.92 -174.45 - 12 111.811 1418 1 0 0.28028 103.928 -175.85 - 12 61.7225 1473 14 0 -29.0686 114.853 213.75 - 12 27.4583 912 2 1 2.48601 106.013 -144.45 - 12 92.0633 911 2 1 2.45 105.975 -144.568 - 12 197.098 1426 2 0 2.03063 105.513 -145.85 - 12 79.6746 852 1 1 -9.54256 93.6045 -174.45 - 12 35.0774 851 1 1 -9.65 93.6756 -174.718 - 12 83.2735 1369 1 0 -10.1094 94.056 -175.85 - 12 69.3671 1370 1 0 -10.2118 94.1503 -176.117 - 12 2.32619 786 0 1 -22.8481 104.24 -204.45 - 12 167.431 785 0 1 -22.85 104.243 -204.456 - 12 70.008 1425 0 0 -23.2007 105.187 -205.85 - 12 77.0317 1426 0 0 -23.2286 105.35 -206.056 - 12 121.581 570 3 1 -65.859 -0.05 -114.839 - 12 54.4748 569 3 1 -66.05 -0.197583 -114.451 - 12 243.945 903 5 1 0.836285 103.434 -54.45 - 12 261.274 1416 5 0 0.836016 103.426 -55.85 - 12 109.822 1414 3 0 0.697957 102.965 -115.85 - 12 157.248 1413 2 0 0.638732 102.901 -145.85 - 12 182.439 904 1 1 0.906694 102.79 -174.45 - 12 115.622 1413 1 0 0.928339 102.764 -175.85 - 12 170.669 906 0 1 1.35078 102.219 -204.45 - 12 180.863 1410 0 0 1.37044 102.191 -205.85 - 12 93.8735 1412 1 0 0.803552 102.626 -175.85 - 12 258.007 902 0 1 0.576508 100.102 -204.45 - 12 32.9588 1400 0 0 0.419716 100.324 -205.851 - 12 73.2008 1401 0 0 0.40467 100.35 -205.988 - 12 118 1417 4 0 0.745859 103.67 -85.85 - 12 146.898 901 3 1 0.412496 103.768 -114.45 - 12 111.643 1418 3 0 0.411011 103.77 -115.85 - 12 115.454 901 2 1 0.396628 103.904 -144.45 - 12 121.132 1418 2 0 0.386928 103.921 -145.85 - 12 202.555 900 1 1 0.095999 104.258 -174.45 - 12 115.858 1420 1 0 0.108501 104.274 -175.85 - 12 102.039 1421 0 0 0.536018 104.403 -205.85 - 12 74.2936 905 9 1 1.05007 103.63 65.4425 - 12 48.6298 1415 9 0 1.33369 103.185 64.15 - 12 83.1255 1414 9 0 1.35114 103.15 64.0594 - 12 29.5245 963 8 1 12.7135 95.236 35.55 - 12 159.728 962 8 1 12.65 95.2492 35.4545 - 12 83.3564 1371 8 0 11.9579 94.4359 34.15 - 12 51.4211 1370 8 0 11.791 94.3496 33.9389 -Number of digits in this event: 31 +Number of tracker hits in this event: 26 + 12 106.216 1480 9 1 116.262 -45.7384 65.55 + 12 142.38 671 9 0 116.262 -45.7389 64.15 + 12 322.751 1480 8 1 116.257 -45.7482 35.55 + 12 116.731 671 8 0 116.257 -45.7494 34.15 + 12 97.8006 1480 7 1 116.259 -45.7747 5.55 + 12 109.377 671 7 0 116.258 -45.7758 4.15 + 12 178.007 1480 6 1 116.243 -45.7952 -24.45 + 12 141.365 671 6 0 116.243 -45.7959 -25.85 + 12 118.747 1480 5 1 116.241 -45.8131 -54.45 + 12 117.455 671 5 0 116.241 -45.8139 -55.85 + 12 128.33 1480 4 1 116.233 -45.83 -84.45 + 12 120.581 671 4 0 116.233 -45.832 -85.85 + 12 127.68 1480 3 1 116.242 -45.8723 -114.45 + 12 109.118 670 3 0 116.242 -45.8741 -115.85 + 12 112.702 1480 2 1 116.249 -45.9092 -144.45 + 12 121.342 670 2 0 116.25 -45.9115 -145.85 + 12 98.5736 1480 1 1 116.268 -45.9592 -174.45 + 12 179.574 670 1 0 116.268 -45.9635 -175.85 + 12 120.952 1480 0 1 116.273 -46.0529 -204.45 + 12 109.133 669 0 0 116.273 -46.0574 -205.85 + 12 15.1564 759 1 0 91.2232 -28.0888 -176.25 + 12 59.551 760 1 0 91.1895 -28.05 -176.221 + 12 125.593 761 1 0 91.1553 -27.8499 -176.208 + 12 83.3701 762 1 0 91.153 -27.6495 -176.118 + 12 221.853 763 1 0 91.1414 -27.45 -176.084 + 12 12.0126 540 5 0 -109.064 -72.05 -56.2103 +Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 5.37659 LIN +Particle energy: 5.62925 LIN Particle: e- Event: 13 -Number of tracker hits in this event: 61 - 13 165.765 1052 11 0 -78.5625 30.575 124.069 - 13 153.236 507 10 1 -78.5571 30.5775 95.55 - 13 248.721 1052 10 0 -78.5577 30.5779 94.15 - 13 95.2225 507 9 1 -78.5759 30.5889 65.55 - 13 151.615 1052 9 0 -78.5757 30.5893 64.15 - 13 305.009 507 8 1 -78.576 30.595 35.55 - 13 128.325 1052 8 0 -78.5755 30.5945 34.15 - 13 130.632 507 7 1 -78.5695 30.5808 5.55 - 13 119.843 1052 7 0 -78.5707 30.5815 4.15 - 13 150.302 507 6 1 -78.5881 30.5917 -24.45 - 13 169.87 1052 6 0 -78.5918 30.5925 -25.85 - 13 180.162 506 5 1 -78.6617 30.6066 -54.45 - 13 110.875 1052 5 0 -78.6695 30.6094 -55.85 - 13 134.475 506 4 1 -78.8279 30.6587 -84.45 - 13 157.001 1053 4 0 -78.8374 30.6607 -85.85 - 13 127.716 505 3 1 -79.0329 30.7112 -114.45 - 13 101.558 1053 3 0 -79.0424 30.7136 -115.85 - 13 113.705 504 2 1 -79.231 30.7686 -144.45 - 13 405.794 1053 2 0 -79.241 30.7747 -145.85 - 13 154.334 503 1 1 -79.4411 30.8982 -174.45 - 13 108.563 1054 1 0 -79.4495 30.9037 -175.85 - 13 131.856 502 0 1 -79.6245 31.0152 -204.45 - 13 314.245 1054 0 0 -79.6298 31.0193 -205.85 - 13 2.13863 855 0 0 -138.464 -8.85781 -206.25 - 13 84.8857 54 1 1 -169.158 -23.1367 -174.85 - 13 185.734 1009 0 0 -87.2213 21.8875 -206.25 - 13 49.8687 1008 0 0 -87.2626 21.8496 -206.192 - 13 58.797 1010 0 0 -87.4214 22.05 -206.124 - 13 20.2254 502 1 1 -79.45 30.8955 -174.821 - 13 95.5423 1055 1 0 -81.5456 31.0835 -175.85 - 13 96.6547 1056 1 0 -81.7795 31.2502 -175.915 - 13 76.818 1057 1 0 -81.7932 31.45 -175.9 - 13 122.693 489 1 1 -82.174 32.7545 -174.85 - 13 77.5395 1063 1 0 -83.0924 32.7144 -175.85 - 13 176.322 505 4 1 -78.861 30.6505 -84.4503 - 13 30.6695 504 4 1 -79.05 30.8208 -84.7744 - 13 44.4456 1056 4 0 -79.6993 31.3736 -85.8501 - 13 102.871 1057 4 0 -79.7921 31.45 -85.9948 - 13 96.3265 399 3 1 -100.197 47.9233 -114.451 - 13 114.666 398 3 1 -100.35 48.14 -114.641 - 13 91.5049 1149 3 0 -101.465 49.8972 -115.85 - 13 62.4087 1150 3 0 -101.564 50.05 -115.958 - 13 113.731 1151 3 0 -101.681 50.25 -116.11 - 13 122.023 302 2 1 -119.74 85.8079 -144.45 - 13 17.2965 303 2 1 -119.55 85.887 -144.802 - 13 133.937 1330 2 0 -118.925 86.0699 -145.85 - 13 99.1479 401 1 1 -99.9031 89.3517 -174.45 - 13 18.9021 402 1 1 -99.75 89.3991 -174.791 - 13 110.023 1347 1 0 -99.2861 89.4559 -175.85 - 13 60.9895 476 0 1 -84.7299 94.5484 -204.45 - 13 133.857 477 0 1 -84.6499 94.6165 -204.617 - 13 124.169 1375 0 0 -83.8088 95.2611 -205.85 - 13 84.2768 1376 0 0 -83.682 95.35 -206.035 - 13 231.13 507 2 1 -78.5138 30.6523 -144.45 - 13 237.027 504 1 1 -79.1585 30.8234 -174.45 - 13 119.179 1053 1 0 -79.1745 30.8231 -175.85 - 13 210.394 504 0 1 -79.2223 30.7967 -204.45 - 13 125.287 1053 0 0 -79.1998 30.817 -205.85 - 13 133.433 505 1 1 -78.9639 32.2313 -174.45 - 13 149.216 1060 1 0 -78.8976 32.1691 -175.85 - 13 151.633 513 0 1 -77.3563 31.0812 -204.45 -Number of digits in this event: 32 +Number of tracker hits in this event: 65 + 13 119.183 273 8 1 -125.415 69.8287 35.55 + 13 149.561 1248 8 0 -125.418 69.8292 34.15 + 13 178.297 273 7 1 -125.456 69.8621 5.55 + 13 184.59 1249 7 0 -125.457 69.865 4.15 + 13 104.854 273 6 1 -125.47 69.9328 -24.45 + 13 455.728 1249 6 0 -125.475 69.9283 -25.85 + 13 125.579 272 5 1 -125.627 69.8107 -54.45 + 13 113.51 1248 5 0 -125.635 69.8062 -55.85 + 13 106.854 271 4 1 -125.792 69.6975 -84.45 + 13 121.934 1248 4 0 -125.799 69.6941 -85.85 + 13 265.357 271 3 1 -125.928 69.6345 -114.45 + 13 124.323 1247 3 0 -125.934 69.647 -115.85 + 13 13.2172 1248 3 0 -125.935 69.65 -116.189 + 13 107.433 270 2 1 -126.024 69.8863 -144.45 + 13 273.871 1249 2 0 -126.035 69.9013 -145.85 + 13 152.008 269 1 1 -126.27 70.2147 -174.45 + 13 139.458 1250 1 0 -126.284 70.2283 -175.85 + 13 253.901 267 0 1 -126.6 70.5007 -204.45 + 13 136.204 1252 0 0 -126.62 70.5119 -205.85 + 13 191.369 1098 1 0 -157.103 39.85 -176.128 + 13 99.2587 272 3 1 -125.75 69.8982 -114.521 + 13 35.4103 273 3 1 -125.55 70.0709 -114.789 + 13 71.2268 1253 3 0 -124.858 70.7248 -115.85 + 13 80.5218 1254 3 0 -124.734 70.85 -116.035 + 13 45.314 1097 14 1 39.5697 39.6079 215.55 + 13 7.87718 1156 14 1 51.25 43.8172 215.493 + 13 322.569 274 7 1 -125.346 69.8535 5.55 + 13 332.678 1248 7 0 -125.201 69.7045 4.15 + 13 355.996 292 6 1 -121.599 68.4624 -24.4503 + 13 56.6811 1240 6 0 -121.46 68.1026 -25.85 + 13 59.1262 1239 6 0 -121.429 68.05 -26.0777 + 13 92.1437 312 5 1 -117.749 62.7895 -54.45 + 13 97.4083 311 5 1 -117.75 62.7498 -54.5191 + 13 42.3452 1209 5 0 -117.882 61.9283 -55.85 + 13 88.1299 1208 5 0 -117.896 61.85 -55.9853 + 13 30.0557 294 4 1 -121.25 45.8712 -84.45 + 13 71.8263 293 4 1 -121.35 45.8689 -84.5675 + 13 20.3782 292 4 1 -121.55 45.848 -84.7928 + 13 19.0356 1128 4 0 -122.459 45.6602 -85.8508 + 13 179.157 1127 4 0 -122.505 45.65 -85.9042 + 13 2.40806 138 3 1 -152.544 33.3924 -114.45 + 13 95.2728 137 3 1 -152.55 33.3947 -114.459 + 13 42.5664 136 3 1 -152.75 33.4629 -114.73 + 13 234.201 1068 3 0 -153.641 33.7461 -115.85 + 13 12.7822 1069 3 0 -153.882 33.85 -116.202 + 13 92.5504 43 2 1 -171.526 39.0353 -144.451 + 13 385.233 42 2 1 -171.55 39.024 -144.491 + 13 103.716 270 6 1 -126.035 66.5448 -24.45 + 13 48.8788 271 6 1 -125.95 66.5497 -24.7152 + 13 136.939 1232 6 0 -125.624 66.608 -25.85 + 13 52.669 313 5 1 -117.55 67.9543 -54.6767 + 13 59.0579 1238 5 0 -117.218 67.6925 -55.85 + 13 46.7039 1237 5 0 -117.159 67.6498 -56.0566 + 13 41.4446 1146 5 0 -144.303 49.2936 -56.25 + 13 166.577 1145 5 0 -144.416 49.25 -56.1693 + 13 44.4169 167 5 1 -146.579 49.067 -54.85 + 13 56.1459 166 5 1 -146.75 49.0455 -54.7399 + 13 62.5239 165 5 1 -146.95 49.0226 -54.6187 + 13 67.1431 164 5 1 -147.151 48.993 -54.4863 + 13 115.608 163 5 1 -147.35 49.094 -54.4919 + 13 40.3236 162 5 1 -147.55 49.3773 -54.7692 + 13 44.8113 1154 5 0 -148.68 50.9427 -55.8501 + 13 136.868 1155 5 0 -148.756 51.0506 -55.9206 + 13 97.9245 1156 5 0 -148.931 51.2501 -56.059 + 13 51.178 1157 5 0 -149.119 51.45 -56.2085 +Number of digits in this event: 27 Using G4ParticleGun... -Particle energy: 8.74121 LIN +Particle energy: 9.7695 LIN Particle: e- Event: 14 -Number of tracker hits in this event: 30 - 14 264.437 1579 8 1 136.069 39.9453 35.55 - 14 107.609 1099 8 0 136.068 39.9488 34.15 - 14 131.538 1579 7 1 136.06 40.0186 5.55 - 14 126.927 1099 7 0 136.06 40.022 4.15 - 14 117.426 1579 6 1 136.061 40.0879 -24.45 - 14 129.854 1100 6 0 136.061 40.0935 -25.85 - 14 115.886 1579 5 1 136.06 40.2122 -54.45 - 14 107.441 1100 5 0 136.06 40.2169 -55.85 - 14 219.937 1579 4 1 136.067 40.3138 -84.45 - 14 113.889 1101 4 0 136.068 40.3193 -85.85 - 14 137.008 1579 3 1 136.085 40.4315 -114.45 - 14 111.992 1101 3 0 136.087 40.4373 -115.85 - 14 134.277 1579 2 1 136.114 40.5603 -144.45 - 14 115.674 1102 2 0 136.116 40.5687 -145.85 - 14 408.205 1579 1 1 136.149 40.7421 -174.45 - 14 137.89 1103 1 0 136.148 40.7515 -175.85 - 14 109.01 1579 0 1 136.13 40.9425 -204.45 - 14 99.7044 1104 0 0 136.131 40.9528 -205.85 - 14 223.149 1251 3 0 158.621 70.3694 -116.25 - 14 109.277 1252 3 0 158.69 70.45 -116.059 - 14 127.325 1250 3 0 159.051 70.25 -116.059 - 14 66.3423 240 3 1 -132.061 174.623 -114.45 - 14 87.3741 239 3 1 -132.151 174.524 -114.527 - 14 140.263 238 3 1 -132.35 174.464 -114.639 - 14 155.708 237 3 1 -132.55 174.494 -114.522 - 14 68.6383 728 0 0 75.9017 -34.4356 -206.25 - 14 43.3312 727 0 0 75.909 -34.45 -206.211 - 14 2.50793 1580 1 1 136.15 40.7467 -174.696 - 14 189.017 1096 8 0 135.749 39.3194 34.15 - 14 93.9489 1095 8 0 135.718 39.2499 34.0195 -Number of digits in this event: 16 +Number of tracker hits in this event: 27 + 14 124.864 1240 11 1 68.0575 18.2447 125.55 + 14 156.346 990 11 0 68.0577 18.2443 124.15 + 14 104.384 1240 10 1 68.0563 18.2351 95.55 + 14 107.367 990 10 0 68.0558 18.2357 94.15 + 14 101.549 1239 9 1 68.0491 18.241 65.55 + 14 125.31 990 9 0 68.0482 18.242 64.15 + 14 138.786 1239 8 1 68.0337 18.2682 35.55 + 14 118.787 991 8 0 68.0325 18.2703 34.15 + 14 239.06 1239 7 1 68.0082 18.319 5.55 + 14 305.534 991 7 0 68.0066 18.3199 4.15 + 14 105.565 1239 6 1 67.9877 18.3346 -24.45 + 14 104.794 991 6 0 67.9865 18.3354 -25.85 + 14 124.15 1239 5 1 67.9575 18.3514 -54.45 + 14 174.958 991 5 0 67.9557 18.3518 -55.85 + 14 92.0068 1239 4 1 67.9248 18.3659 -84.45 + 14 127.499 991 4 0 67.9237 18.365 -85.85 + 14 96.6186 1239 3 1 67.8904 18.3553 -114.45 + 14 96.2805 991 3 0 67.9184 18.423 -115.85 + 14 117.936 1242 2 1 68.4663 20.2673 -144.45 + 14 240.014 1001 2 0 68.4899 20.3597 -145.85 + 14 111.182 1245 1 1 69.1805 22.269 -174.45 + 14 108.637 1013 1 0 69.1953 22.733 -175.85 + 14 12.184 1014 1 0 69.2017 22.8501 -176.205 + 14 131.23 1248 0 1 69.7527 31.646 -204.45 + 14 93.0262 1059 0 0 69.7936 31.9814 -205.85 + 14 20.3154 1060 0 0 69.8047 32.05 -206.142 + 14 104.402 1238 7 1 67.85 18.1843 5.28839 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 3.60658 LIN +Particle energy: 8.20565 LIN Particle: e- Event: 15 -Number of tracker hits in this event: 25 - 15 127.012 1483 8 1 116.887 69.7402 35.55 - 15 114.776 1248 8 0 116.888 69.7449 34.15 - 15 124.723 1483 7 1 116.908 69.8445 5.55 - 15 125.829 1249 7 0 116.91 69.8507 4.15 - 15 133.78 1483 6 1 116.941 69.9705 -24.45 - 15 275.806 1249 6 0 116.94 69.9761 -25.85 - 15 271.217 1483 5 1 116.899 70.0905 -54.45 - 15 140.397 1250 5 0 116.893 70.0973 -55.85 - 15 97.7609 1483 4 1 116.787 70.2283 -84.45 - 15 138.017 1250 4 0 116.781 70.2339 -85.85 - 15 128.612 1482 3 1 116.643 70.375 -114.45 - 15 112.977 1251 3 0 116.638 70.3821 -115.85 - 15 147.912 1481 2 1 116.532 70.5299 -144.45 - 15 116.394 1252 2 0 116.529 70.5372 -145.85 - 15 119.756 1481 1 1 116.473 70.6764 -174.45 - 15 109.876 1253 1 0 116.472 70.6888 -175.85 - 15 127.37 1481 0 1 116.457 70.9116 -204.45 - 15 110.494 1254 0 0 116.485 70.9362 -205.85 - 15 80.6136 1110 0 0 107.307 42.25 -206.229 - 15 78.8741 1484 5 1 116.95 70.0916 -54.6936 - 15 168.222 1251 5 0 118.064 70.2884 -55.8504 - 15 156.808 1252 5 0 118.554 70.45 -55.9667 - 15 28.8761 1503 5 1 120.861 70.6787 -54.85 - 15 96.2694 1504 5 1 120.95 70.6934 -54.7866 - 15 71.1078 1505 5 1 121.15 70.6925 -54.6159 -Number of digits in this event: 15 +Number of tracker hits in this event: 84 + 15 128.201 710 8 1 -37.8786 138.764 35.55 + 15 111.019 1593 8 0 -37.8796 138.764 34.15 + 15 434.238 710 7 1 -37.8965 138.772 5.55 + 15 148.442 1593 7 0 -37.8965 138.773 4.15 + 15 225.338 710 6 1 -37.8986 138.799 -24.45 + 15 116.592 1593 6 0 -37.8991 138.8 -25.85 + 15 149.724 710 5 1 -37.909 138.822 -54.45 + 15 484.865 1593 5 0 -37.9101 138.821 -55.85 + 15 393.936 710 4 1 -37.9335 138.805 -84.45 + 15 309.674 1593 4 0 -37.9349 138.806 -85.85 + 15 127.489 710 3 1 -37.9631 138.823 -114.45 + 15 164.446 1593 3 0 -37.9707 138.821 -115.85 + 15 191.28 709 2 1 -38.1259 138.791 -144.45 + 15 113.726 1593 2 0 -38.1138 138.81 -145.85 + 15 134.353 710 1 1 -37.8881 139.125 -174.45 + 15 154.11 1594 1 0 -37.8482 139.141 -175.85 + 15 131.789 715 0 1 -36.9647 139.462 -204.45 + 15 140.423 1596 0 0 -36.9019 139.465 -205.85 + 15 135.289 321 1 1 -115.75 84.9441 -174.709 + 15 67.4852 322 1 1 -115.75 84.8186 -174.557 + 15 266.968 708 1 1 -38.3005 138.743 -174.45 + 15 199.646 1592 1 0 -38.2778 138.749 -175.85 + 15 62.0686 1593 1 0 -38.2749 138.75 -176.007 + 15 224.944 709 0 1 -38.0823 139.098 -204.45 + 15 106.847 1594 0 0 -38.1059 139.098 -205.85 + 15 154.446 1438 0 0 63.6515 107.798 -206.25 + 15 18.7799 1437 0 0 63.6773 107.75 -206.204 + 15 346.072 1216 0 1 63.3921 108.604 -204.85 + 15 0.185948 1215 0 1 63.25 108.661 -204.664 + 15 182.698 1592 0 0 -38.2317 138.58 -205.85 + 15 61.2897 1798 1 0 75.8695 179.95 -176.137 + 15 177.061 1594 4 0 -37.8955 139.039 -85.8503 + 15 262.813 720 3 1 -35.9516 135.804 -114.45 + 15 140.568 1577 3 0 -35.8519 135.677 -115.85 + 15 119.102 732 2 1 -33.4762 133.159 -144.45 + 15 128.026 1564 2 0 -33.4569 133.12 -145.85 + 15 95.2834 727 1 1 -34.5203 133.211 -174.45 + 15 42.42 1565 1 0 -34.6068 133.344 -175.85 + 15 85.633 1566 1 0 -34.6094 133.35 -175.915 + 15 104.364 731 0 1 -33.7042 135.969 -204.45 + 15 98.1897 1581 0 0 -33.5752 136.351 -205.85 + 15 289.526 708 4 1 -38.4349 138.522 -84.45 + 15 104.982 1637 3 0 -35.8014 147.584 -115.85 + 15 132.297 730 2 1 -33.9893 153.028 -144.45 + 15 17.6888 729 2 1 -34.05 153.082 -144.769 + 15 177.275 1665 2 0 -34.251 153.283 -145.85 + 15 10.8237 1666 2 0 -34.3133 153.35 -146.196 + 15 128.992 703 1 1 -39.3299 158.612 -174.45 + 15 155.361 1694 1 0 -39.6898 159 -175.85 + 15 54.8902 653 0 1 -49.3458 167.462 -204.45 + 15 63.6421 652 0 1 -49.45 167.566 -204.645 + 15 90.1472 1740 0 0 -50.1274 168.229 -205.85 + 15 111.709 1741 0 0 -50.2463 168.35 -206.064 + 15 80.4771 1571 0 0 -75.647 134.483 -206.25 + 15 57.2678 1570 0 0 -75.793 134.35 -206.207 + 15 38.4686 1341 0 0 -100.618 88.2855 -206.25 + 15 40.7612 1389 0 0 -74.3702 98.0001 -206.25 + 15 149.94 707 4 1 -38.563 139.572 -84.4506 + 15 144.116 1597 4 0 -38.7426 139.626 -85.85 + 15 109.781 691 3 1 -41.7549 142.798 -114.45 + 15 63.4388 690 3 1 -41.8502 143.074 -114.692 + 15 61.4236 1621 3 0 -42.3346 144.384 -115.85 + 15 96.2614 1622 3 0 -42.405 144.55 -116.003 + 15 30.8643 1623 3 0 -42.4955 144.75 -116.184 + 15 38.1962 616 2 1 -56.7563 173.311 -144.45 + 15 267.359 615 2 1 -56.85 173.424 -144.535 + 15 66.8144 614 2 1 -57.05 173.626 -144.695 + 15 84.9834 1773 2 0 -58.2879 174.768 -145.85 + 15 103.597 1774 2 0 -58.4676 174.95 -146.031 + 15 3.53301 1775 2 0 -58.6662 175.15 -146.241 + 15 6.49977 1115 2 0 -85.4432 43.25 -145.882 + 15 117.341 1588 4 0 -37.8042 137.847 -85.85 + 15 114.3 709 4 1 -38.1089 138.802 -84.45 + 15 110.612 707 3 1 -38.6221 137.696 -114.45 + 15 121.911 1587 3 0 -38.6603 137.699 -115.85 + 15 124.42 702 2 1 -39.4504 137.851 -144.45 + 15 156.646 1588 2 0 -39.5866 137.826 -145.85 + 15 169.142 689 1 1 -42.1434 137.441 -174.45 + 15 129.667 1586 1 0 -42.3941 137.375 -175.85 + 15 134.648 663 0 1 -47.3477 135.851 -204.45 + 15 20.4826 1578 0 0 -47.5461 135.755 -205.851 + 15 87.9702 1577 0 0 -47.556 135.75 -205.921 + 15 149.782 690 1 1 -42.05 137.345 -174.718 + 15 122.121 691 1 1 -41.85 137.286 -174.771 +Number of digits in this event: 45 Using G4ParticleGun... -Particle energy: 6.8178 LIN +Particle energy: 5.67236 LIN Particle: e- Event: 16 -Number of tracker hits in this event: 66 - 16 125.558 1135 11 1 47.0688 -2.86118 125.55 - 16 195.433 885 11 0 47.0684 -2.86099 124.15 - 16 107.826 1135 10 1 47.0551 -2.85104 95.55 - 16 106.99 886 10 0 47.0545 -2.8494 94.15 - 16 147.979 1134 9 1 47.0405 -2.81327 65.55 - 16 127.121 886 9 0 47.0403 -2.81175 64.15 - 16 111.304 1134 8 1 47.0333 -2.7841 35.55 - 16 135.509 886 8 0 47.033 -2.78364 34.15 - 16 113.983 1134 7 1 47.032 -2.77394 5.55 - 16 111.495 886 7 0 47.0325 -2.77411 4.15 - 16 124.06 1134 6 1 47.046 -2.77524 -24.45 - 16 146.845 886 6 0 47.0475 -2.77584 -25.85 - 16 410.585 1135 5 1 47.0768 -2.78556 -54.45 - 16 161.949 886 5 0 47.0783 -2.78561 -55.85 - 16 171.364 1135 4 1 47.1113 -2.78697 -84.45 - 16 111.51 886 4 0 47.1131 -2.78715 -85.85 - 16 127.164 1135 3 1 47.1514 -2.78311 -114.45 - 16 144.693 886 3 0 47.1561 -2.78327 -115.85 - 16 130.078 1136 2 1 47.2502 -2.79009 -144.45 - 16 220.657 886 2 0 47.2513 -2.78482 -145.85 - 16 104.621 1136 1 1 47.2742 -2.7033 -174.45 - 16 117.952 886 1 0 47.276 -2.69828 -175.85 - 16 125.63 1136 0 1 47.3171 -2.60774 -204.45 - 16 329.944 887 0 0 47.3267 -2.60309 -205.85 - 16 18.029 888 0 0 47.1643 -2.44952 -205.876 - 16 31.0719 1135 0 1 47.2201 -2.04994 -204.85 - 16 80.5591 900 0 0 45.8627 0.201951 -205.85 - 16 83.9327 1134 5 1 47.0401 -2.87965 -54.45 - 16 76.685 889 5 0 47.1107 -2.17382 -55.85 - 16 51.699 890 5 0 47.1085 -2.04972 -56.1375 - 16 2.77194 1143 4 1 48.8459 5.29445 -84.4505 - 16 124.541 1144 4 1 48.85 5.29705 -84.4574 - 16 89.5842 925 4 0 49.4921 5.22391 -85.8504 - 16 102.25 926 4 0 49.6991 5.25 -86.1001 - 16 140.023 1281 5 0 -86.8716 76.3342 -56.25 - 16 172.691 1280 5 0 -86.975 76.2498 -55.9577 - 16 109.901 947 1 0 62.8677 9.52512 -175.85 - 16 56.061 887 5 0 47.1426 -2.65 -56.0774 - 16 44.6373 1137 4 1 47.5363 -1.58322 -84.45 - 16 530.659 1136 4 1 47.45 -1.61522 -84.5096 - 16 84.8624 1134 4 1 47.0499 -1.90747 -84.7122 - 16 64.4028 1133 4 1 46.85 -2.05595 -84.7878 - 16 7.84005 1132 4 1 46.65 -2.20086 -84.8337 - 16 8.21496 882 4 0 44.5192 -3.61392 -85.85 - 16 97.7251 881 4 0 44.4822 -3.65 -85.8676 - 16 71.7469 880 4 0 44.3226 -3.85 -85.9329 - 16 64.8817 879 4 0 44.1049 -4.05005 -86.0436 - 16 101.335 878 4 0 43.91 -4.25 -86.1153 - 16 148.519 717 4 0 0.116486 -36.6085 -86.25 - 16 70.8533 716 4 0 0.099619 -36.65 -85.8736 - 16 132.329 900 4 1 0.154934 -37.1278 -84.8499 - 16 92.7023 880 5 0 47.3783 -3.89761 -55.8505 - 16 53.4242 879 5 0 47.4377 -4.05028 -56.089 - 16 82.5577 1176 4 1 55.4245 -28.4633 -84.45 - 16 50.3366 1175 4 1 55.25 -28.544 -84.7007 - 16 5.20825 754 4 0 55.2213 -29.2355 -85.85 - 16 98.0515 753 4 0 55.2216 -29.25 -85.8711 - 16 49.7462 752 4 0 55.2169 -29.45 -86.1272 - 16 59.6378 1525 4 1 125.15 -108.841 -84.7645 - 16 81.7756 1526 4 1 125.35 -108.987 -84.6442 - 16 552.296 1527 4 1 125.55 -108.967 -84.637 - 16 86.3091 1205 0 1 61.1587 -0.159477 -204.45 - 16 8.20636 893 0 0 61.0053 -1.43169 -205.85 - 16 59.9257 892 0 0 60.9988 -1.45016 -205.859 - 16 94.8427 1186 0 1 57.3614 -6.64707 -204.85 - 16 206.788 1185 0 1 57.25 -6.63464 -204.783 -Number of digits in this event: 27 -Using G4ParticleGun... -Particle energy: 5.2573 LIN +Number of tracker hits in this event: 112 + 16 122.284 800 11 1 -19.9899 -75.4031 125.55 + 16 129.293 523 11 0 -19.9987 -75.399 124.15 + 16 106.606 799 10 1 -20.2171 -75.2917 95.55 + 16 115.541 523 10 0 -20.2205 -75.2849 94.15 + 16 179.806 798 9 1 -20.304 -75.1375 65.55 + 16 124.074 524 9 0 -20.3143 -75.1326 64.15 + 16 94.2976 797 8 1 -20.5072 -75.0509 35.55 + 16 93.794 524 8 0 -20.5132 -75.0565 34.15 + 16 128.943 797 7 1 -20.5469 -75.2558 5.55 + 16 167.598 523 7 0 -20.5534 -75.2589 4.15 + 16 145.846 796 6 1 -20.7066 -75.3769 -24.45 + 16 121.723 523 6 0 -20.7078 -75.3712 -25.85 + 16 117.947 796 5 1 -20.8316 -75.2446 -54.45 + 16 347.713 523 5 0 -20.8448 -75.2514 -55.85 + 16 122.91 794 4 1 -21.1982 -75.3042 -84.45 + 16 226.338 523 4 0 -21.2321 -75.2784 -85.85 + 16 171.178 787 3 1 -22.5013 -74.5827 -114.45 + 16 287.177 527 3 0 -22.5645 -74.55 -115.85 + 16 130.801 780 2 1 -23.9388 -73.8338 -144.45 + 16 126.197 531 2 0 -23.8892 -73.8146 -145.85 + 16 163.252 785 1 1 -22.9208 -73.4191 -174.45 + 16 137.624 533 1 0 -22.8918 -73.3905 -175.85 + 16 125.188 787 0 1 -22.6288 -73.1056 -204.45 + 16 293.087 534 0 0 -22.6122 -73.1284 -205.85 + 16 174.665 1058 4 1 31.6829 -22.4295 -84.85 + 16 112.033 535 0 0 -22.6244 -73.0499 -206 + 16 36.2096 780 0 1 -23.9899 -73.2443 -204.85 + 16 39.1988 779 0 1 -24.0501 -73.2154 -204.821 + 16 10.2482 546 0 0 -24.3869 -70.6676 -205.85 + 16 234.15 547 0 0 -24.3818 -70.6499 -205.866 + 16 109.428 797 9 1 -20.4503 -75.0521 65.2654 + 16 98.4773 525 9 0 -21.8826 -74.9614 64.15 + 16 39.1716 526 9 0 -22.0759 -74.85 63.8538 + 16 281.21 800 6 1 -19.9575 -75.4581 -24.45 + 16 247.249 522 6 0 -19.9584 -75.4564 -25.85 + 16 446.178 800 5 1 -19.9797 -75.4177 -54.45 + 16 83.1587 800 4 1 -20.0445 -75.4024 -84.45 + 16 118.994 799 3 1 -20.1194 -75.386 -114.45 + 16 144.511 523 3 0 -20.1221 -75.3833 -115.85 + 16 422.262 799 2 1 -20.1782 -75.3306 -144.45 + 16 343.825 523 2 0 -20.179 -75.3283 -145.85 + 16 131.222 799 1 1 -20.1981 -75.2812 -174.45 + 16 263.29 523 1 0 -20.2049 -75.2755 -175.85 + 16 342.528 798 0 1 -20.3325 -75.1925 -204.45 + 16 92.7168 524 0 0 -20.3277 -75.1949 -205.85 + 16 85.4794 797 0 1 -20.45 -75.0319 -204.514 + 16 158.478 623 0 1 -55.25 28.4015 -204.602 + 16 189.71 622 0 1 -55.4501 28.6911 -204.544 + 16 276.047 873 13 1 -5.29526 -92.5145 185.15 + 16 148.419 874 13 1 -5.24975 -92.7549 185.484 + 16 106.115 522 3 0 -20.1349 -75.4503 -115.949 + 16 177.035 806 3 1 -18.6818 -76.3052 -114.85 + 16 153.288 802 1 1 -19.6206 -75.3272 -174.45 + 16 111.245 811 0 1 -17.7006 -75.6865 -204.45 + 16 172.12 521 0 0 -17.6617 -75.7213 -205.85 + 16 29.0621 455 0 0 -17.9332 -88.85 -206.068 + 16 117.892 796 1 1 -20.7954 -75.0541 -174.45 + 16 167.605 525 1 0 -20.6662 -74.9571 -175.85 + 16 112.149 812 0 1 -17.6084 -72.088 -204.45 + 16 123.474 540 0 0 -17.404 -71.968 -205.85 + 16 90.2191 799 5 1 -20.05 -75.4386 -54.5278 + 16 186.81 521 5 0 -20.7162 -75.8129 -55.8503 + 16 75.7193 520 5 0 -20.7899 -75.85 -55.9908 + 16 14.5049 719 4 1 -36.2019 -81.345 -84.4505 + 16 75.1442 718 4 1 -36.25 -81.3184 -84.4832 + 16 101.139 717 4 1 -36.4501 -81.2701 -84.6261 + 16 14.149 716 4 1 -36.65 -81.2029 -84.819 + 16 4.32239 503 4 0 -39.4426 -79.2607 -85.8502 + 16 91.1565 504 4 0 -39.4586 -79.2499 -85.8583 + 16 362.358 505 4 0 -39.6527 -79.05 -85.9545 + 16 64.3323 506 4 0 -40.4184 -78.85 -86.1731 + 16 6.27677 507 4 0 -40.5331 -78.6497 -86.2425 + 16 64.0219 794 4 0 -47.4065 -21.067 -86.2499 + 16 129.124 793 4 0 -47.4133 -21.2501 -86.103 + 16 364.781 658 4 1 -48.303 -20.8864 -84.85 + 16 127.157 657 4 1 -48.45 -20.9975 -84.7996 + 16 24.299 792 4 1 -21.6453 -81.6757 -84.45 + 16 102.099 791 4 1 -21.65 -81.6914 -84.5147 + 16 26.1476 490 4 0 -21.7353 -82.026 -85.85 + 16 86.3939 489 4 0 -21.7419 -82.05 -85.946 + 16 113.806 778 3 1 -24.3485 -89.5469 -114.45 + 16 197.479 452 3 0 -24.238 -89.5978 -115.85 + 16 106.891 790 2 1 -21.9345 -90.5144 -144.45 + 16 111.524 447 2 0 -21.7261 -90.5785 -145.85 + 16 4.40404 820 1 1 -15.8548 -91.8234 -174.45 + 16 151.84 821 1 1 -15.85 -91.8226 -174.464 + 16 125.945 442 1 0 -15.379 -91.7406 -175.85 + 16 75.9573 871 0 1 -5.74378 -90.3915 -204.45 + 16 60.473 872 0 1 -5.64978 -90.37 -204.681 + 16 169.201 449 0 0 -5.18837 -90.3207 -205.85 + 16 163.623 796 2 1 -20.8214 -93.238 -144.45 + 16 119.916 801 4 1 -19.839 -75.4455 -84.45 + 16 107.145 522 4 0 -19.8116 -75.4923 -85.85 + 16 115.027 804 3 1 -19.1367 -76.4243 -114.45 + 16 178.711 517 3 0 -19.1576 -76.4666 -115.85 + 16 142.56 802 2 1 -19.6324 -77.5237 -144.45 + 16 154.078 512 2 0 -19.6647 -77.6176 -145.85 + 16 125.473 798 1 1 -20.3366 -79.3872 -174.45 + 16 145.078 502 1 0 -20.3653 -79.4621 -175.85 + 16 60.6712 795 0 1 -21.0486 -80.8387 -204.45 + 16 62.5506 794 0 1 -21.05 -80.8508 -204.665 + 16 114.228 495 0 0 -21.0582 -80.9214 -205.85 + 16 71.8372 805 3 1 -18.9822 -76.433 -114.45 + 16 114.156 807 3 1 -18.65 -76.7389 -114.695 + 16 45.1918 808 3 1 -18.45 -76.8154 -114.751 + 16 207.715 515 3 0 -18.7575 -76.8878 -115.85 + 16 177.894 514 3 0 -18.6506 -77.05 -116.144 + 16 66.1465 934 5 0 26.1434 6.86258 -56.25 + 16 272.421 935 5 0 26.0841 7.05 -56.1968 + 16 67.0742 936 5 0 26.0157 7.25006 -55.9453 + 16 111.769 937 5 0 26.0775 7.45023 -55.9481 + 16 369.338 938 5 0 26.2715 7.65121 -55.9539 +Number of digits in this event: 61 +Using G4ParticleGun... +Particle energy: 5.20706 LIN Particle: e- Event: 17 -Number of tracker hits in this event: 39 - 17 198.578 928 11 1 5.84649 21.4459 125.55 - 17 100.407 1006 11 0 5.84737 21.4454 124.15 - 17 286.322 929 10 1 5.86363 21.433 95.55 - 17 153.324 1006 10 0 5.86309 21.4332 94.15 - 17 183.525 929 9 1 5.85083 21.4434 65.55 - 17 15.8986 928 9 1 5.85 21.4437 65.233 - 17 156.18 1006 9 0 5.84703 21.4447 64.15 - 17 113.685 928 8 1 5.76749 21.4682 35.55 - 17 139.629 1007 8 0 5.76392 21.4675 34.15 - 17 120.032 928 7 1 5.6869 21.4564 5.55 - 17 132.037 1007 7 0 5.68334 21.4546 4.15 - 17 107.977 927 6 1 5.6082 21.4134 -24.45 - 17 139.559 1006 6 0 5.60528 21.4099 -25.85 - 17 152.09 927 5 1 5.54521 21.3391 -54.45 - 17 117.029 1006 5 0 5.5425 21.3352 -55.85 - 17 105.633 927 4 1 5.48466 21.2545 -84.45 - 17 100.109 1006 4 0 5.47871 21.251 -85.85 - 17 102.196 1005 4 0 5.47689 21.25 -86.2498 - 17 128.435 926 3 1 5.34132 21.1802 -114.45 - 17 108.512 1005 3 0 5.33509 21.1749 -115.85 - 17 138.184 925 2 1 5.20504 21.0597 -144.45 - 17 75.3666 1005 2 0 5.1987 21.0517 -145.85 - 17 18.8351 1004 2 0 5.19736 21.05 -146.151 - 17 114.322 925 1 1 5.06628 20.8935 -174.45 - 17 126.052 1004 1 0 5.05824 20.8871 -175.85 - 17 406.828 924 0 1 4.89266 20.7597 -204.45 - 17 243.371 1003 0 0 4.88327 20.7547 -205.85 - 17 35.7488 1355 5 0 123.166 91.2726 -56.25 - 17 244.824 1356 5 0 123.192 91.35 -56.032 - 17 88.788 579 1 1 -64.0795 -62.4467 -174.85 - 17 57.5874 1004 0 0 4.86832 20.8501 -206.063 - 17 23.7427 1026 1 1 25.4021 -54.3074 -174.45 - 17 60.6545 195 7 0 -76.3059 -141.054 3.75031 - 17 98.7155 194 7 0 -76.366 -141.15 3.88067 - 17 59.9791 193 7 0 -76.4413 -141.35 3.93744 - 17 73.4462 1004 4 0 5.48945 21.05 -86.2145 - 17 385.365 931 0 1 6.34164 21.3885 -204.45 - 17 231.889 1006 0 0 6.28783 21.4166 -205.85 - 17 204.871 900 0 0 9.37062 0.204074 -206.25 -Number of digits in this event: 23 -Using G4ParticleGun... -Particle energy: 3.29278 LIN +Number of tracker hits in this event: 120 + 17 103.357 898 11 1 -0.295324 -35.2659 125.55 + 17 201.315 723 11 0 -0.296116 -35.266 124.15 + 17 131.447 898 10 1 -0.314847 -35.2696 95.55 + 17 112.595 723 10 0 -0.315357 -35.2714 94.15 + 17 129.835 898 9 1 -0.328744 -35.3119 65.55 + 17 126.473 723 9 0 -0.328588 -35.3142 64.15 + 17 414.669 898 8 1 -0.327095 -35.3592 35.55 + 17 145.468 723 8 0 -0.327625 -35.3609 34.15 + 17 124.822 898 7 1 -0.345299 -35.4014 5.55 + 17 166.537 723 7 0 -0.346588 -35.4033 4.15 + 17 121.979 898 6 1 -0.372984 -35.4358 -24.45 + 17 126.384 723 6 0 -0.37293 -35.4383 -25.85 + 17 735.487 898 5 1 -0.37319 -35.4918 -54.45 + 17 409.011 722 5 0 -0.373129 -35.4946 -55.85 + 17 377.56 898 4 1 -0.366675 -35.5466 -84.45 + 17 102.416 722 4 0 -0.366779 -35.5489 -85.85 + 17 201.138 898 3 1 -0.374608 -35.5982 -114.45 + 17 103.258 722 3 0 -0.374649 -35.6002 -115.85 + 17 113.512 898 2 1 -0.377019 -35.6411 -144.45 + 17 127.227 722 2 0 -0.377441 -35.6423 -145.85 + 17 168.47 898 1 1 -0.385314 -35.6645 -174.45 + 17 141.859 721 1 0 -0.386693 -35.6703 -175.85 + 17 569.36 898 0 1 -0.415981 -35.7967 -204.45 + 17 337.359 721 0 0 -0.424151 -35.7849 -205.85 + 17 253.775 897 0 1 -0.45 -35.8434 -204.694 + 17 406.127 720 0 0 -0.714962 -35.9986 -205.85 + 17 49.9305 719 0 0 -0.833106 -36.05 -206.182 + 17 51.1899 715 0 0 0.205023 -36.9851 -205.85 + 17 353.804 714 0 0 0.211474 -37.05 -205.897 + 17 101.395 899 0 1 -0.249865 -35.8217 -204.527 + 17 294.722 731 4 0 -0.528867 -33.8342 -85.8502 + 17 98.3632 732 4 0 -0.721227 -33.6496 -86.0327 + 17 77.8058 733 4 0 -0.839429 -33.45 -85.9773 + 17 288.64 734 4 0 -0.837671 -33.25 -86.014 + 17 53.2929 779 0 0 17.2417 -24.0838 -206.25 + 17 200.803 780 0 0 17.3734 -24.05 -206.157 + 17 116.07 721 5 0 -0.170447 -35.6573 -55.8503 + 17 131.695 922 4 1 4.52453 -41.0281 -84.45 + 17 116.061 694 4 0 4.49852 -41.1431 -85.85 + 17 263.663 910 3 1 2.10529 -42.9204 -114.45 + 17 142.086 685 3 0 2.09519 -42.9959 -115.85 + 17 104.665 912 2 1 2.58656 -44.8979 -144.45 + 17 146.232 674 2 0 2.81757 -45.0766 -145.851 + 17 105.79 936 1 1 7.29582 -50.3792 -174.45 + 17 139.841 647 1 0 7.48552 -50.5791 -175.85 + 17 197.224 962 0 1 12.5225 -53.6491 -204.45 + 17 129.178 630 0 0 12.9286 -53.9598 -205.85 + 17 85.2242 899 5 1 -0.25 -35.5049 -54.4842 + 17 126.494 723 5 0 -0.370614 -35.4455 -55.85 + 17 31.2874 897 4 1 -0.636136 -35.2963 -84.4501 + 17 104.757 896 4 1 -0.650012 -35.2866 -84.5377 + 17 159.522 724 4 0 -0.865763 -35.1435 -85.85 + 17 267.278 871 3 1 -5.67085 -31.8619 -114.45 + 17 58.8899 741 3 0 -5.80142 -31.6686 -115.85 + 17 83.3139 742 3 0 -5.81382 -31.65 -115.979 + 17 116.04 855 2 1 -8.91292 -27.7773 -144.45 + 17 113.231 762 2 0 -8.926 -27.5512 -145.85 + 17 103.83 851 1 1 -9.69805 -22.6604 -174.45 + 17 147.479 788 1 0 -9.70783 -22.3308 -175.85 + 17 20.0868 789 1 0 -9.7081 -22.25 -176.181 + 17 227.326 852 0 1 -9.50781 -15.0663 -204.45 + 17 82.2792 826 0 0 -9.4224 -14.7223 -205.85 + 17 38.4152 827 0 0 -9.40371 -14.6499 -206.135 + 17 98.9501 844 0 0 -0.181319 -11.172 -206.25 + 17 13.4741 845 0 0 -0.399018 -11.05 -206.229 + 17 59.0512 870 3 1 -5.85 -31.7119 -114.5 + 17 163.857 869 3 1 -6.05027 -31.6608 -114.502 + 17 90.3139 868 3 1 -6.25008 -31.668 -114.565 + 17 41.6114 867 3 1 -6.45025 -31.7716 -114.755 + 17 125.599 735 3 0 -7.87621 -32.8797 -115.85 + 17 106.312 734 3 0 -8.22667 -33.05 -115.873 + 17 75.3204 733 3 0 -8.41917 -33.2504 -115.927 + 17 295.126 732 3 0 -8.45899 -33.45 -115.986 + 17 79.6709 749 7 0 -8.36779 -30.0978 3.75 + 17 99.1052 748 7 0 -8.19416 -30.25 3.78897 + 17 67.6275 747 7 0 -7.95854 -30.4509 3.88777 + 17 67.0962 746 7 0 -7.84627 -30.65 4.01465 + 17 84.333 745 7 0 -7.85406 -30.85 3.96189 + 17 65.9916 744 7 0 -7.73979 -31.05 4.06802 + 17 71.1887 861 7 1 -7.84025 -32.0604 5.15 + 17 134.233 860 7 1 -7.85 -32.1486 5.27713 + 17 39.3282 859 7 1 -8.05016 -32.1227 5.48864 + 17 223.222 913 4 1 2.7826 -36.8167 -84.45 + 17 128.093 716 4 0 2.73127 -36.8095 -85.85 + 17 120.707 909 3 1 1.86117 -37.1405 -114.45 + 17 113.908 711 3 0 2.04483 -37.6998 -115.85 + 17 0.235938 710 3 0 2.10515 -37.85 -116.249 + 17 138.655 930 2 1 6.09208 -48.2634 -144.45 + 17 68.6614 931 2 1 6.25 -48.4354 -144.696 + 17 177.654 653 2 0 6.97623 -49.2858 -145.85 + 17 58.8897 652 2 0 7.11083 -49.45 -146.078 + 17 118.693 1013 1 1 22.6649 -69.3466 -174.45 + 17 87.9977 1014 1 1 22.85 -69.4721 -174.673 + 17 122.313 549 1 0 23.749 -70.1251 -175.85 + 17 225.936 548 1 0 23.9111 -70.25 -176.049 + 17 87.9523 1134 0 1 46.9094 -90.8849 -204.45 + 17 110.213 1135 0 1 47.05 -91.0348 -204.515 + 17 94.2537 1136 0 1 47.25 -91.2483 -204.61 + 17 158.122 1137 0 1 47.4501 -91.4733 -204.716 + 17 58.8303 1138 0 1 47.65 -91.7053 -204.833 + 17 47.6683 431 0 0 49.5102 -93.8821 -205.85 + 17 88.1517 430 0 0 49.5683 -93.95 -205.884 + 17 89.1341 429 0 0 49.736 -94.15 -205.992 + 17 90.2988 428 0 0 49.9009 -94.35 -206.1 + 17 24.4502 427 0 0 50.0724 -94.5502 -206.214 + 17 114.538 200 0 0 86.2049 -139.974 -206.25 + 17 132.462 1333 0 1 86.7546 -140.066 -204.85 + 17 189.978 1426 1 1 105.35 -122.927 -174.747 + 17 37.0115 979 6 1 16.05 -45.0807 -24.8304 + 17 123.828 902 4 1 0.579788 -36.0651 -84.45 + 17 142.244 720 4 0 0.67594 -35.9698 -85.85 + 17 112.994 926 2 1 5.3568 -30.7144 -144.45 + 17 108.359 747 2 0 5.63653 -30.5812 -145.85 + 17 118.038 956 1 1 11.2572 -27.5775 -174.45 + 17 131.155 762 1 0 11.5399 -27.56 -175.85 + 17 128.884 984 0 1 16.8631 -27.0391 -204.45 + 17 151.836 763 0 0 17.0633 -27.2574 -205.85 + 17 77.8998 731 3 0 2.1705 -33.65 -115.939 + 17 284.386 730 3 0 2.09263 -33.85 -116.042 + 17 84.8215 337 3 0 11.968 -112.699 -116.25 +Number of digits in this event: 58 +Using G4ParticleGun... +Particle energy: 1.07136 LIN Particle: e- Event: 18 -Number of tracker hits in this event: 82 - 18 191.054 1328 10 1 85.773 49.4723 95.55 - 18 119.949 1147 10 0 85.7742 49.4744 94.15 - 18 150.768 1328 9 1 85.8095 49.5083 65.55 - 18 125.769 1147 9 0 85.8109 49.5139 64.15 - 18 130.362 1328 8 1 85.8333 49.6158 35.55 - 18 115.38 1147 8 0 85.8406 49.6201 34.15 - 18 205.084 1329 7 1 86.0002 49.7039 5.55 - 18 295.855 1148 7 0 86.0073 49.7089 4.15 - 18 107.874 1330 6 1 86.1607 49.8164 -24.45 - 18 113.081 1148 6 0 86.1695 49.8244 -25.85 - 18 362.011 1331 5 1 86.3436 49.995 -54.45 - 18 285.093 1149 5 0 86.3533 50.0029 -55.85 - 18 314.768 1332 4 1 86.5501 50.1815 -84.45 - 18 104.869 1150 4 0 86.5608 50.1905 -85.85 - 18 195.968 1333 3 1 86.7759 50.3806 -114.45 - 18 227.02 1151 3 0 86.7846 50.3916 -115.85 - 18 115.567 1334 2 1 86.9659 50.6136 -144.45 - 18 247.024 1152 2 0 86.9785 50.6242 -145.85 - 18 119.242 1335 1 1 87.2243 50.8326 -174.45 - 18 108.531 1153 1 0 87.2367 50.8405 -175.85 - 18 122.953 1337 0 1 87.4767 50.9991 -204.45 - 18 116.008 1154 0 0 87.4904 51.0096 -205.85 - 18 246.725 1332 3 1 86.65 50.4998 -114.522 - 18 251.321 1330 7 1 86.05 49.6734 5.22336 - 18 280.852 1331 7 1 86.25 49.6662 5.16613 - 18 49.0627 1154 5 1 51.05 78.0537 -54.7511 - 18 124.847 1149 4 0 86.5035 49.9494 -85.85 - 18 151.889 1337 3 1 87.5042 50.0405 -114.45 - 18 251.877 1150 3 0 87.5645 50.0621 -115.85 - 18 117.172 1343 2 1 88.7033 50.4601 -144.45 - 18 114.498 1352 1 1 90.5523 51.0415 -174.45 - 18 133.769 1155 1 0 90.6941 51.1315 -175.85 - 18 150.984 1367 0 1 93.7122 53.1888 -204.45 - 18 15.0241 1368 0 1 93.75 53.2181 -204.796 - 18 118.355 1166 0 0 93.867 53.3096 -205.85 - 18 169.869 1331 4 1 86.4029 49.9454 -84.4503 - 18 35.3861 1330 4 1 86.25 50.0331 -84.7761 - 18 29.7245 1151 4 0 85.6717 50.4156 -85.85 - 18 95.801 1152 4 0 85.6257 50.4503 -85.941 - 18 54.7493 1306 4 0 73.1334 81.2641 -86.25 - 18 149.617 1307 4 0 73.2089 81.45 -86.1527 - 18 224.38 1308 4 0 73.3967 81.6502 -86.0145 - 18 110.15 1309 4 0 73.9614 81.8501 -85.9773 - 18 134.55 1283 4 1 76.6564 82.5597 -84.85 - 18 157.653 1284 4 1 76.85 82.6117 -84.7187 - 18 109.962 1285 4 1 77.05 82.6669 -84.5585 - 18 55.6532 1312 4 0 76.1324 82.5109 -85.8502 - 18 106.488 1311 4 0 76.054 82.45 -85.99 - 18 172.726 1126 4 0 101.052 45.2847 -86.25 - 18 339.514 1406 4 1 101.482 45.0563 -84.85 - 18 15.7382 1148 5 0 86.3469 49.6608 -55.8503 - 18 106.7 1147 5 0 86.3472 49.65 -55.9093 - 18 133.307 1311 4 1 82.3374 48.2296 -84.45 - 18 36.5263 1142 4 0 82.3884 48.6135 -85.8501 - 18 111.701 1143 4 0 82.3924 48.6501 -85.9882 - 18 115.511 1302 3 1 80.5121 55.5529 -114.45 - 18 83.7013 1301 3 1 80.4495 55.5283 -114.545 - 18 3.88593 1300 3 1 80.25 55.4755 -114.835 - 18 33.2898 1176 3 0 79.6376 55.2746 -115.85 - 18 96.7601 1175 3 0 79.5561 55.25 -115.982 - 18 82.7678 1257 3 0 60.4672 71.5198 -116.25 - 18 57.7887 1258 3 0 60.5061 71.65 -116.071 - 18 363.101 1204 3 1 60.8791 72.9689 -114.85 - 18 19.1028 1362 4 0 113.223 92.7423 -86.2499 - 18 259.288 1363 4 0 113.244 92.75 -86.2391 - 18 152.258 1364 4 0 113.965 92.9501 -85.9981 - 18 167.745 1365 4 0 114.128 93.1501 -86.0022 - 18 99.7878 1366 4 0 114.369 93.35 -86.0615 - 18 91.2203 1367 4 0 114.61 93.5501 -86.1272 - 18 82.6534 1447 6 1 109.685 41.1548 -24.45 - 18 67.7103 1448 6 1 109.75 41.2342 -24.6498 - 18 186.009 1109 6 0 110.171 41.8714 -25.85 - 18 1.43295 1110 6 0 110.25 42.05 -26.2433 - 18 9.73539 1461 5 1 112.517 58.6733 -54.45 - 18 91.0758 1462 5 1 112.551 58.6816 -54.4838 - 18 75.5941 1463 5 1 112.75 58.7955 -54.7129 - 18 198.269 1194 5 0 114.905 58.852 -55.8501 - 18 165.763 1193 5 0 114.935 58.85 -55.8644 - 18 99.2387 1192 5 0 115.37 58.65 -56.0659 - 18 160.705 1200 5 0 113.067 60.1738 -55.85 - 18 156.41 1196 5 0 113.119 59.3222 -55.8501 - 18 284.331 1250 5 0 121.061 70.07 -56.25 -Number of digits in this event: 42 +Number of tracker hits in this event: 44 + 18 109.648 174 7 1 -145.238 25.1216 5.55 + 18 139.71 1025 7 0 -145.244 25.1244 4.15 + 18 136.065 173 6 1 -145.368 25.2254 -24.45 + 18 126.096 1025 6 0 -145.383 25.2248 -25.85 + 18 112.741 172 5 1 -145.705 25.1985 -54.45 + 18 144.739 1025 5 0 -145.73 25.1979 -55.85 + 18 140.628 169 4 1 -146.24 25.174 -84.45 + 18 128.974 1025 4 0 -146.269 25.1796 -85.85 + 18 119.338 166 3 1 -146.844 25.2836 -114.45 + 18 162.793 1026 3 0 -146.873 25.2857 -115.85 + 18 127.143 163 2 1 -147.455 25.3417 -144.45 + 18 154.978 1026 2 0 -147.486 25.3341 -145.85 + 18 128.135 160 1 1 -148.113 25.1147 -174.45 + 18 471.917 1025 1 0 -148.148 25.1098 -175.85 + 18 425.558 156 0 1 -148.864 25.0164 -204.45 + 18 129.028 1024 0 0 -148.903 25.0097 -205.85 + 18 9.8168 157 0 1 -148.732 25.4434 -204.45 + 18 69.4868 1033 0 0 -149.183 26.7083 -205.85 + 18 59.2106 1034 0 0 -149.243 26.85 -206.007 + 18 57.5914 1035 0 0 -149.331 27.0512 -206.156 + 18 143.109 1195 0 0 -144.569 59.1354 -206.25 + 18 237.608 1196 0 0 -144.168 59.25 -206.038 + 18 57.7189 190 0 1 -142.057 59.4346 -204.85 + 18 57.0388 191 0 1 -141.95 59.4654 -204.785 + 18 72.9035 192 0 1 -141.75 59.4719 -204.781 + 18 138.853 1201 0 0 -140.753 60.332 -205.85 + 18 87.6358 1200 0 0 -140.613 60.2498 -206.081 + 18 124.923 199 0 1 -140.167 60.4877 -204.85 + 18 4.66065 200 0 1 -140.15 60.5138 -204.765 + 18 369.597 198 0 1 -140.35 60.6525 -204.654 + 18 222.028 166 1 1 -146.912 25.117 -174.45 + 18 108.054 160 0 1 -148.036 24.4954 -204.45 + 18 121.878 1022 0 0 -147.829 24.4828 -205.851 + 18 76.1002 165 1 1 -146.95 25.1084 -174.656 + 18 266.296 138 0 1 -152.422 25.1463 -204.45 + 18 107.603 1023 0 0 -152.698 24.85 -205.858 + 18 66.61 139 0 1 -152.35 25.5823 -204.762 + 18 71.0584 140 0 1 -152.15 25.7593 -204.766 + 18 101.577 141 0 1 -151.95 25.955 -204.756 + 18 133.537 142 0 1 -151.75 26.1712 -204.811 + 18 74.6574 143 0 1 -151.55 26.42 -204.762 + 18 114.111 144 0 1 -151.35 26.5334 -204.693 + 18 228.541 1030 0 0 -150.686 26.1054 -205.85 + 18 250.054 1031 0 0 -150.376 26.2501 -205.892 +Number of digits in this event: 26 Using G4ParticleGun... -Particle energy: 1.2178 LIN +Particle energy: 1.3683 LIN Particle: e- Event: 19 -Number of tracker hits in this event: 91 - 19 130.994 458 10 1 -88.3437 37.9068 95.55 - 19 115.363 1089 10 0 -88.3441 37.9057 94.15 - 19 162.087 458 9 1 -88.3606 37.8623 65.55 - 19 185.782 1089 9 0 -88.3661 37.8541 64.15 - 19 188.11 458 8 1 -88.4129 37.6463 35.55 - 19 192.798 1087 8 0 -88.4126 37.64 34.15 - 19 111.103 458 7 1 -88.4244 37.5105 5.55 - 19 112.413 1087 7 0 -88.4238 37.506 4.15 - 19 306.458 458 6 1 -88.4104 37.4328 -24.45 - 19 152.2 1086 6 0 -88.4106 37.4209 -25.85 - 19 129.229 458 5 1 -88.423 37.18 -54.45 - 19 138.846 1085 5 0 -88.4259 37.1761 -55.85 - 19 113.605 457 4 1 -88.46 37.1085 -84.45 - 19 112.628 1085 4 0 -88.4623 37.1131 -85.85 - 19 119.605 457 3 1 -88.5251 37.2207 -114.45 - 19 97.0648 1085 3 0 -88.5234 37.2274 -115.85 - 19 167.048 457 2 1 -88.4685 37.3856 -144.45 - 19 145.523 1086 2 0 -88.4753 37.3995 -145.85 - 19 122.743 457 1 1 -88.6203 37.6146 -174.45 - 19 193.286 1087 1 0 -88.6382 37.6062 -175.85 - 19 119.691 455 0 1 -88.9347 37.4722 -204.45 - 19 135.505 1087 0 0 -88.9513 37.4598 -205.85 - 19 95.0849 1087 6 0 -88.4536 37.45 -26.0867 - 19 335.546 456 2 1 -88.65 36.1454 -144.536 - 19 61.2187 455 2 1 -88.85 35.4859 -144.502 - 19 38.4598 1347 3 0 -95.6217 89.5229 -116.25 - 19 87.4634 1348 3 0 -95.634 89.65 -116.182 - 19 75.5595 1349 3 0 -95.6678 89.85 -116.066 - 19 58.8712 1350 3 0 -95.8749 90.1503 -115.93 - 19 205.573 1351 3 0 -95.9835 90.3502 -115.858 - 19 185.669 1352 3 0 -96.0621 90.55 -115.882 - 19 175.983 1353 3 0 -96.1196 90.75 -115.951 - 19 76.875 1050 3 0 -128.27 30.1195 -116.25 - 19 313.743 458 3 1 -88.3595 37.4917 -114.45 - 19 259.339 1087 3 0 -88.4545 37.4671 -115.851 - 19 14.5995 1082 2 0 -90.15 36.5067 -146.207 - 19 226.984 447 1 1 -90.6144 32.8686 -174.45 - 19 128.865 1066 1 0 -90.5594 33.2799 -175.85 - 19 71.4963 461 0 1 -87.8402 42.2482 -204.45 - 19 42.7015 462 0 1 -87.65 42.2709 -204.48 - 19 87.8848 463 0 1 -87.4497 42.2866 -204.496 - 19 56.9216 464 0 1 -87.25 42.2919 -204.493 - 19 59.258 465 0 1 -87.05 42.2821 -204.484 - 19 8.27328 466 0 1 -86.85 42.2521 -204.454 - 19 33.8936 467 0 1 -86.5762 42.261 -204.45 - 19 45.7197 468 0 1 -86.4499 42.2802 -204.485 - 19 64.016 469 0 1 -86.2497 42.3162 -204.553 - 19 65.1338 470 0 1 -86.05 42.3282 -204.619 - 19 55.2517 471 0 1 -85.85 42.306 -204.693 - 19 47.0821 472 0 1 -85.65 42.2486 -204.76 - 19 65.1716 473 0 1 -85.45 42.1923 -204.774 - 19 58.477 474 0 1 -85.25 42.1173 -204.782 - 19 62.5829 475 0 1 -85.05 42.0055 -204.767 - 19 71.6617 476 0 1 -84.85 41.8927 -204.756 - 19 69.5735 477 0 1 -84.6498 41.7527 -204.736 - 19 104.434 478 0 1 -84.45 41.5825 -204.71 - 19 74.466 479 0 1 -84.25 41.3901 -204.695 - 19 85.2943 480 0 1 -84.05 41.205 -204.726 - 19 59.5272 481 0 1 -83.85 41.0645 -204.797 - 19 87.9723 1098 0 0 -81.9354 39.8012 -205.85 - 19 113.697 1097 0 0 -81.701 39.65 -206.02 - 19 21.3678 1094 0 0 -55.5851 38.9912 -206.25 - 19 76.783 1095 0 0 -55.575 39.05 -206.148 - 19 33.2875 1096 0 0 -55.5475 39.25 -205.924 - 19 186.726 623 0 1 -55.3765 40.1734 -204.85 - 19 116.183 624 0 1 -55.2499 40.4677 -204.496 - 19 53.0878 625 0 1 -55.0491 40.3923 -204.701 - 19 128.443 1100 0 0 -53.9192 40.2231 -205.85 - 19 30.7595 1099 0 0 -53.5846 40.05 -206.193 - 19 5.56429 1000 4 0 -138.824 20.2217 -86.25 - 19 166.768 208 4 1 -138.516 20.0256 -84.8496 - 19 0.321693 209 4 1 -138.35 20.0515 -84.6679 - 19 254.762 999 4 0 -139.318 20.0085 -85.85 - 19 292.521 1090 2 0 -89.118 38.1316 -145.85 - 19 264.238 411 1 1 -97.752 33.1085 -174.45 - 19 116.959 1061 1 0 -98.322 32.4213 -175.85 - 19 28.7407 1060 1 0 -98.4537 32.2499 -176.177 - 19 188.166 351 0 1 -109.824 17.4979 -204.45 - 19 46.925 350 0 1 -109.95 17.3335 -204.727 - 19 123.328 982 0 0 -110.533 16.6361 -205.85 - 19 108.223 981 0 0 -110.677 16.45 -206.141 - 19 44.6716 352 0 1 -109.75 17.3351 -204.736 - 19 88.2008 980 0 0 -109.669 16.2496 -206.062 - 19 123.2 979 0 0 -109.642 16.05 -206.165 - 19 15.2562 978 0 0 -109.393 15.85 -205.891 - 19 106.179 356 0 1 -108.875 15.1494 -204.85 - 19 164.166 357 0 1 -108.75 14.9467 -204.529 - 19 64.0229 969 0 0 -108.766 13.9999 -205.85 - 19 77.7495 968 0 0 -108.756 13.85 -206.075 - 19 28.4008 359 0 1 -108.35 15.4106 -204.762 - 19 52.1339 1089 2 0 -89.1391 38.0499 -145.902 -Number of digits in this event: 33 +Number of tracker hits in this event: 64 + 19 214.535 470 9 1 -85.9969 -99.2287 65.55 + 19 144.198 404 9 0 -86.0014 -99.2302 64.15 + 19 138.105 469 8 1 -86.1131 -99.2614 35.55 + 19 78.113 404 8 0 -86.1199 -99.2642 34.15 + 19 105.209 469 7 1 -86.2469 -99.32 5.55 + 19 367.355 404 7 0 -86.2452 -99.3261 4.15 + 19 256.301 469 6 1 -86.2238 -99.4471 -24.45 + 19 102.836 403 6 0 -86.2159 -99.4581 -25.85 + 19 136.607 470 5 1 -86.0446 -99.6905 -54.45 + 19 115.195 402 5 0 -86.0355 -99.6999 -55.85 + 19 161.058 471 4 1 -85.8466 -99.8668 -84.45 + 19 103.158 401 4 0 -85.8338 -99.8592 -85.85 + 19 145.901 472 3 1 -85.608 -99.7243 -114.45 + 19 123.545 402 3 0 -85.5979 -99.7196 -115.85 + 19 165.828 473 2 1 -85.3682 -99.65 -144.45 + 19 180.652 402 2 0 -85.3597 -99.6414 -145.85 + 19 112.821 474 1 1 -85.1965 -99.4446 -174.45 + 19 210.396 403 1 0 -85.1935 -99.4376 -175.85 + 19 62.9151 474 0 1 -85.0514 -99.2725 -204.45 + 19 78.0466 475 0 1 -85.05 -99.273 -204.616 + 19 102.511 404 0 0 -85.0408 -99.2777 -205.85 + 19 124.345 206 4 0 11.9366 -138.879 -86.25 + 19 93.5213 402 1 0 -85.2294 -99.55 -176.09 + 19 14.2618 396 7 0 -81.8579 -100.937 3.75 + 19 124.106 395 7 0 -81.8489 -100.95 3.80353 + 19 156.911 394 7 0 -81.5007 -101.15 3.83116 + 19 54.5995 393 7 0 -81.2007 -101.35 4.03325 + 19 150.263 494 7 1 -81.2059 -101.623 5.15 + 19 156.22 495 7 1 -81.0499 -101.738 5.29492 + 19 263.398 470 7 1 -85.9959 -99.286 5.55 + 19 138.929 404 6 0 -86.1661 -99.3273 -25.85 + 19 164.169 469 5 1 -86.1155 -99.9364 -54.45 + 19 129.379 400 5 0 -86.086 -100.014 -55.85 + 19 127.619 473 4 1 -85.3685 -101.563 -84.45 + 19 120.19 392 4 0 -85.3359 -101.612 -85.85 + 19 222.522 476 3 1 -84.6595 -102.348 -114.45 + 19 87.8062 388 3 0 -84.6322 -102.415 -115.85 + 19 118.206 478 2 1 -84.2519 -103.79 -144.45 + 19 157.057 381 2 0 -84.2796 -103.902 -145.85 + 19 120.498 476 1 1 -84.7132 -106.338 -174.45 + 19 113.372 368 1 0 -84.7846 -106.476 -175.85 + 19 152.548 468 0 1 -86.299 -109.027 -204.45 + 19 52.1506 355 0 0 -86.3863 -109.138 -205.85 + 19 125.022 354 0 0 -86.396 -109.15 -206.002 + 19 90.4638 415 1 0 -113.052 -96.9859 -176.25 + 19 202.51 401 5 0 -86.1091 -99.9498 -56.0738 + 19 265.568 472 5 1 -85.6293 -99.9934 -54.8496 + 19 44.7131 473 5 1 -85.45 -99.9643 -54.6125 + 19 123.568 468 6 1 -86.3471 -99.5416 -24.4501 + 19 116.742 402 6 0 -86.4827 -99.6208 -25.85 + 19 3.65996 451 5 1 -89.8474 -101.113 -54.4503 + 19 226.347 450 5 1 -89.85 -101.114 -54.4697 + 19 25.0506 394 5 0 -90.0343 -101.267 -55.8502 + 19 33.8568 429 4 1 -94.329 -104.65 -84.45 + 19 76.7974 428 4 1 -94.35 -104.667 -84.5927 + 19 237.283 376 4 0 -94.5398 -104.819 -85.85 + 19 142.64 406 3 1 -98.7992 -107.766 -114.45 + 19 280.638 361 3 0 -98.9036 -107.78 -115.85 + 19 130.834 396 2 1 -100.817 -108.249 -144.45 + 19 113.564 359 2 0 -100.962 -108.206 -145.85 + 19 98.1442 381 1 1 -103.807 -106.884 -174.45 + 19 140.829 367 1 0 -103.94 -106.729 -175.85 + 19 168.893 366 0 1 -106.873 -103.655 -204.45 + 19 116.653 383 0 0 -107.109 -103.454 -205.85 +Number of digits in this event: 40 Using G4ParticleGun... -Particle energy: 9.27765 LIN +Particle energy: 7.15141 LIN Particle: e- Event: 20 -Number of tracker hits in this event: 63 - 20 112.355 824 11 1 -15.2201 -32.0866 125.55 - 20 126.837 739 11 0 -15.2202 -32.0868 124.15 - 20 118.883 824 10 1 -15.2248 -32.0902 95.55 - 20 118.35 739 10 0 -15.2244 -32.0899 94.15 - 20 108.933 824 9 1 -15.218 -32.0848 65.55 - 20 122.758 739 9 0 -15.2183 -32.0843 64.15 - 20 175.712 824 8 1 -15.2265 -32.0723 35.55 - 20 115.59 739 8 0 -15.2286 -32.0715 34.15 - 20 119.264 823 7 1 -15.2699 -32.0559 5.55 - 20 246.902 739 7 0 -15.2714 -32.0554 4.15 - 20 111 823 6 1 -15.3052 -32.0448 -24.45 - 20 217.899 740 6 0 -15.3068 -32.0448 -25.85 - 20 104.563 823 5 1 -15.3387 -32.0409 -54.45 - 20 110.754 740 5 0 -15.3402 -32.0399 -55.85 - 20 117.999 823 4 1 -15.3693 -32.0207 -84.45 - 20 125.889 740 4 0 -15.3687 -32.0188 -85.85 - 20 621.992 823 3 1 -15.3585 -31.9808 -114.45 - 20 213.613 740 3 0 -15.3585 -31.9792 -115.85 - 20 103.595 823 2 1 -15.3579 -31.9464 -144.45 - 20 289.745 740 2 0 -15.3572 -31.9455 -145.85 - 20 277.537 823 1 1 -15.3408 -31.9227 -174.45 - 20 392.534 740 1 0 -15.3401 -31.9212 -175.85 - 20 275.356 823 0 1 -15.3219 -31.8895 -204.45 - 20 188.225 740 0 0 -15.3208 -31.8881 -205.85 - 20 23.785 746 3 0 -13.9542 -30.8427 -115.85 - 20 29.5863 831 3 1 -13.8117 -30.7342 -114.85 - 20 143.096 830 3 1 -13.85 -30.7261 -114.81 - 20 278.117 739 3 0 -15.387 -32.0607 -115.85 - 20 100.171 824 2 1 -15.2238 -32.0814 -144.45 - 20 192.107 819 1 1 -16.0802 -30.2218 -174.45 - 20 117.065 749 1 0 -16.1689 -30.108 -175.85 - 20 408.234 809 0 1 -18.1851 -27.8311 -204.45 - 20 101.394 761 0 0 -18.3933 -27.7114 -205.85 - 20 91.5027 818 1 1 -16.25 -30.2576 -174.51 - 20 40.3583 817 1 1 -16.45 -30.2759 -174.48 - 20 264.67 822 0 1 -15.45 -32.1989 -204.452 - 20 117.244 741 0 0 -16.0686 -31.7635 -205.85 - 20 54.6275 739 0 0 -15.3345 -32.0701 -205.85 - 20 136.025 834 2 1 -13.1384 -33.1828 -144.45 - 20 138.009 732 2 0 -12.9798 -33.5676 -145.85 - 20 23.1985 731 2 0 -12.9443 -33.65 -146.167 - 20 55.7318 849 1 1 -10.0714 -41.1972 -174.45 - 20 63.0978 850 1 1 -10.05 -41.2359 -174.651 - 20 52.4803 693 1 0 -9.9465 -41.4277 -175.85 - 20 189.567 692 1 0 -9.93519 -41.45 -175.977 - 20 113.265 865 0 1 -6.91405 -45.9107 -204.45 - 20 187.486 670 0 0 -6.79416 -45.9426 -205.85 - 20 126.69 822 1 1 -15.4717 -32.0591 -174.45 - 20 116.658 742 0 0 -15.4666 -31.5786 -205.85 - 20 5.90998 565 1 0 29.7821 -67.0371 -176.25 - 20 133.412 564 1 0 29.7988 -67.05 -176.242 - 20 154.695 563 1 0 30.1327 -67.25 -176.156 - 20 213.538 562 1 0 30.5635 -67.45 -176.135 - 20 71.3982 1391 0 1 98.4063 -102.146 -204.45 - 20 24.968 1392 0 1 98.55 -102.116 -204.735 - 20 125.474 388 0 0 99.2115 -102.483 -205.85 - 20 148.427 384 0 0 81.1028 -103.315 -206.25 - 20 0.015642 385 0 0 80.717 -103.15 -205.851 - 20 360.121 1298 0 1 79.7005 -102.012 -204.85 - 20 169.792 1297 0 1 79.65 -101.959 -204.796 - 20 194.817 1296 0 1 79.45 -102.106 -204.626 - 20 0.796792 536 9 0 -128.066 -72.65 63.8643 - 20 74.1358 262 9 1 -127.738 -72.2571 65.15 -Number of digits in this event: 33 +Number of tracker hits in this event: 6 + 20 50.2136 1023 0 0 -129.244 24.65 -206.002 + 20 43.5116 657 0 0 -78.8789 -48.4795 -206.25 + 20 111.577 850 8 0 -99.7304 -10.0446 33.75 + 20 31.9925 451 3 0 102.924 -89.7621 -116.25 + 20 413.762 1420 3 1 104.196 -89.5031 -114.85 + 20 38.6069 1419 3 1 104.15 -89.8653 -114.597 +Number of digits in this event: 4 Using G4ParticleGun... -Particle energy: 8.8435 LIN +Particle energy: 9.44169 LIN Particle: e- Event: 21 -Number of tracker hits in this event: 102 - 21 565.541 1310 8 1 82.0761 -117.8 35.55 - 21 133.863 311 8 0 82.076 -117.8 34.15 - 21 122.796 1310 7 1 82.0702 -117.796 5.55 - 21 103.014 311 7 0 82.0695 -117.796 4.15 - 21 128.176 1310 6 1 82.0541 -117.803 -24.45 - 21 165.847 311 6 0 82.0536 -117.804 -25.85 - 21 465.077 1309 5 1 82.0461 -117.816 -54.45 - 21 399.585 311 5 0 82.0468 -117.817 -55.85 - 21 222.804 1310 4 1 82.0632 -117.826 -84.45 - 21 481.991 311 4 0 82.0649 -117.826 -85.85 - 21 144.38 1310 3 1 82.1017 -117.819 -114.45 - 21 101.622 311 3 0 82.1037 -117.818 -115.85 - 21 598.616 1310 2 1 82.1278 -117.827 -144.45 - 21 492.077 311 2 0 82.132 -117.824 -145.85 - 21 719.735 1310 1 1 82.2104 -117.773 -174.45 - 21 899.903 311 1 0 82.2119 -117.772 -175.85 - 21 492.976 1310 0 1 82.2416 -117.752 -204.45 - 21 358.485 311 0 0 82.2414 -117.753 -205.85 - 21 9.96923 378 13 0 -27.0077 -104.37 184.15 - 21 95.4846 449 1 0 109.113 -90.2042 -176.25 - 21 325.345 1311 0 1 82.2572 -117.764 -204.45 - 21 38.18 313 0 0 82.2726 -117.388 -205.85 - 21 123.221 314 0 0 82.2687 -117.35 -205.978 - 21 104.703 310 2 0 82.1366 -117.97 -145.85 - 21 147.218 1311 1 1 82.3552 -121.012 -174.45 - 21 117.403 294 1 0 82.4386 -121.153 -175.85 - 21 223.565 1321 0 1 84.3859 -123.846 -204.45 - 21 116.038 281 0 0 84.5181 -123.83 -205.85 - 21 210.069 1320 0 1 84.25 -123.792 -204.541 - 21 108.087 1309 1 1 81.9476 -117.324 -174.45 - 21 118.686 314 1 0 81.938 -117.26 -175.85 - 21 114.097 1307 0 1 81.5646 -115.8 -204.45 - 21 57.4821 321 0 0 81.4579 -115.757 -205.85 - 21 50.6231 322 0 0 81.4407 -115.75 -206.076 - 21 116.781 274 0 1 -125.172 -104.974 -204.85 - 21 13.1334 405 1 0 144.222 -98.9525 -176.25 - 21 3.46587 406 1 0 144.221 -98.9499 -176.248 - 21 142.795 1096 1 1 39.4191 -96.4693 -174.85 - 21 64.2621 842 2 1 -11.45 -114.468 -144.773 - 21 6.02417 1563 0 1 132.75 -176.602 -204.51 - 21 18.0795 1562 0 1 132.75 -176.615 -204.484 - 21 315.381 1649 7 1 150.097 130.216 5.55 - 21 157.112 1327 3 1 85.571 -116.983 -114.45 - 21 141.063 315 3 0 85.8333 -116.961 -115.85 - 21 85.8839 1356 2 1 91.5124 -116.732 -144.45 - 21 53.8052 1357 2 1 91.5502 -116.74 -144.692 - 21 149.822 316 2 0 91.7336 -116.771 -145.85 - 21 6.56695 1380 1 1 96.3443 -117.55 -174.45 - 21 126.23 1381 1 1 96.35 -117.551 -174.472 - 21 140.931 312 1 0 96.7073 -117.641 -175.85 - 21 129.395 1418 0 1 103.765 -119.326 -204.45 - 21 144.442 303 0 0 104.178 -119.424 -205.85 - 21 160.076 310 0 0 82.2061 -118.051 -205.85 - 21 113.124 1325 0 1 85.1144 -118.404 -204.45 - 21 346.667 308 0 0 85.2467 -118.362 -205.85 - 21 5.35724 309 0 0 85.2885 -118.35 -206.224 - 21 28.3065 1580 0 1 136.15 -85.8482 -204.836 - 21 114.755 1312 4 1 82.5707 -118.607 -84.45 - 21 127.914 307 4 0 82.6515 -118.591 -85.85 - 21 221.438 1322 3 1 84.5215 -117.563 -114.45 - 21 102.085 1321 3 1 84.45 -116.873 -114.594 - 21 0.811155 1320 3 1 84.25 -116.56 -114.848 - 21 146.407 321 3 0 82.7976 -115.938 -115.85 - 21 207.606 1242 2 1 68.6164 -112.513 -144.45 - 21 335.921 1241 2 1 68.45 -112.428 -144.764 - 21 103.625 434 4 0 63.2745 -93.3195 -86.2499 - 21 46.3901 435 4 0 63.1649 -93.15 -85.9853 - 21 58.0626 1214 4 1 62.8991 -92.3813 -84.85 - 21 164.525 1213 4 1 62.8499 -92.245 -84.6815 - 21 76.9884 425 5 0 36.8868 -95.0878 -56.25 - 21 125.71 424 5 0 36.6476 -95.1501 -56.0737 - 21 189.051 423 5 0 36.3371 -95.35 -56.0356 - 21 123.674 272 5 0 33.3621 -125.695 -56.25 - 21 308.76 1082 5 1 36.6069 -95.5146 -54.8499 - 21 57.511 1081 5 1 36.4499 -95.5336 -54.6536 - 21 1.28714 1308 4 1 81.8493 -118.612 -84.45 - 21 105.594 1309 4 1 81.85 -118.612 -84.4565 - 21 200.288 306 4 0 82.0259 -118.78 -85.85 - 21 106.738 1328 3 1 85.65 -122.187 -114.489 - 21 4.1928 1329 3 1 85.85 -122.276 -114.833 - 21 132.205 288 3 0 86.4427 -122.455 -115.85 - 21 124.17 1411 2 1 102.504 -127.517 -144.45 - 21 129.275 262 2 0 102.618 -127.627 -145.85 - 21 19.6158 1432 1 1 106.631 -131.366 -174.45 - 21 50.4516 1431 1 1 106.55 -131.363 -174.512 - 21 51.7894 1430 1 1 106.35 -131.435 -174.515 - 21 324.949 1429 1 1 106.15 -131.506 -174.535 - 21 206.063 1428 1 1 105.95 -131.646 -174.631 - 21 78.7346 244 1 0 107.114 -131.306 -175.85 - 21 715.558 245 1 0 107.299 -131.15 -176.002 - 21 21.3452 246 1 0 107.549 -130.95 -176.052 - 21 69.4792 328 8 0 81.9159 -114.498 34.1499 - 21 53.6002 329 8 0 81.8958 -114.35 34.1095 - 21 103.578 330 8 0 81.8698 -114.15 34.0333 - 21 88.7094 331 8 0 81.7115 -113.95 33.9272 - 21 27.0217 427 8 0 52.3586 -94.6104 33.7503 - 21 164.036 428 8 0 52.3545 -94.55 33.8112 - 21 287.939 1163 8 1 52.7036 -94.5992 35.15 - 21 64.4294 1162 8 1 52.65 -94.6203 35.2239 - 21 170.159 325 8 0 56.6786 -114.95 33.766 - 21 3.38586 626 8 0 83.0796 -54.7671 33.75 - 21 37.6876 808 8 0 113.919 -18.3682 33.75 -Number of digits in this event: 55 +Number of tracker hits in this event: 53 + 21 113.545 1277 10 0 -88.885 75.4905 94.15 + 21 173.328 455 9 1 -88.887 75.4948 65.55 + 21 114.092 1277 9 0 -88.8868 75.4948 64.15 + 21 201.372 455 8 1 -88.8808 75.4953 35.55 + 21 107.455 1277 8 0 -88.8814 75.4959 34.15 + 21 136.545 455 7 1 -88.89 75.5103 5.55 + 21 144.851 1277 7 0 -88.8914 75.5109 4.15 + 21 123.604 455 6 1 -88.9185 75.5265 -24.45 + 21 114.776 1277 6 0 -88.92 75.5268 -25.85 + 21 116.311 455 5 1 -88.9479 75.5292 -54.45 + 21 118.351 1277 5 0 -88.9489 75.5285 -55.85 + 21 107.566 455 4 1 -88.9718 75.5144 -84.45 + 21 219.441 1277 4 0 -88.9736 75.5127 -85.85 + 21 358.385 455 3 1 -89.0056 75.4745 -114.45 + 21 239.085 1277 3 0 -89.0085 75.4724 -115.85 + 21 177.927 454 2 1 -89.0665 75.4252 -144.45 + 21 107.944 1276 2 0 -89.0698 75.4233 -145.85 + 21 177.863 454 1 1 -89.1343 75.3878 -174.45 + 21 135.428 1276 1 0 -89.1375 75.3843 -175.85 + 21 342.453 454 0 1 -89.2031 75.3132 -204.45 + 21 414.058 1276 0 0 -89.2057 75.31 -205.85 + 21 26.2117 457 3 1 -88.6428 15.1447 -114.45 + 21 250.554 1310 0 0 -105.555 82.1378 -206.25 + 21 179.833 1437 4 1 107.566 51.0578 -84.85 + 21 92.6304 1005 5 1 21.1738 29.3382 -54.85 + 21 94.9249 1006 5 1 21.25 29.3161 -54.7549 + 21 109.589 1276 3 0 -88.9345 75.3645 -115.85 + 21 45.2483 445 2 1 -91.0466 72.5654 -144.45 + 21 77.9624 444 2 1 -91.15 72.5101 -144.555 + 21 45.129 443 2 1 -91.35 72.4035 -144.752 + 21 201.97 1258 2 0 -92.4819 71.7871 -145.85 + 21 145.56 1257 2 0 -92.7426 71.65 -146.101 + 21 15.1561 277 1 1 -124.717 54.7885 -174.45 + 21 92.7579 276 1 1 -124.75 54.7764 -174.479 + 21 99.8825 275 1 1 -124.95 54.7018 -174.661 + 21 2.6465 274 1 1 -125.15 54.6261 -174.843 + 21 221.018 1170 1 0 -126.269 54.1908 -175.85 + 21 26.9435 1169 1 0 -126.645 54.05 -176.176 + 21 390.974 104 0 1 -159.305 41.4933 -204.45 + 21 66.6149 103 0 1 -159.351 41.4787 -204.486 + 21 197.413 102 0 1 -159.55 41.4127 -204.643 + 21 24.616 101 0 1 -159.75 41.3478 -204.801 + 21 279.623 1104 0 0 -161.099 40.9445 -205.85 + 21 92.7342 1103 0 0 -161.402 40.85 -206.089 + 21 100.117 456 3 1 -88.85 75.454 -114.834 + 21 122.796 460 2 1 -88.0164 75.8045 -144.45 + 21 296.039 1278 2 0 -87.9821 75.7158 -145.85 + 21 104.97 463 1 1 -87.3432 74.3303 -174.45 + 21 112.248 1271 1 0 -87.5455 74.326 -175.85 + 21 121.084 445 0 1 -91.0357 75.479 -204.45 + 21 9.67305 1278 0 0 -91.2684 75.8404 -205.85 + 21 119.023 1279 0 0 -91.2745 75.85 -205.887 + 21 72.4067 1273 3 0 -89.106 74.7585 -115.85 +Number of digits in this event: 27 Using G4ParticleGun... -Particle energy: 5.66954 LIN +Particle energy: 7.69159 LIN Particle: e- Event: 22 -Number of tracker hits in this event: 61 - 22 100.87 278 9 1 -124.385 -23.2248 65.55 - 22 272.814 784 9 0 -124.385 -23.2243 64.15 - 22 121.822 278 8 1 -124.386 -23.2176 35.55 - 22 105.596 784 8 0 -124.389 -23.2222 34.15 - 22 122.342 278 7 1 -124.443 -23.3286 5.55 - 22 120.609 783 7 0 -124.445 -23.3331 4.15 - 22 384.594 278 6 1 -124.477 -23.4248 -24.45 - 22 446.426 783 6 0 -124.479 -23.4291 -25.85 - 22 136.317 278 5 1 -124.512 -23.5156 -54.45 - 22 133.926 782 5 0 -124.514 -23.52 -55.85 - 22 106.615 278 4 1 -124.548 -23.6061 -84.45 - 22 108.632 782 4 0 -124.549 -23.6086 -85.85 - 22 106.957 277 3 1 -124.576 -23.6567 -114.45 - 22 130.351 781 3 0 -124.577 -23.6583 -115.85 - 22 111.648 277 2 1 -124.597 -23.6867 -144.45 - 22 318.234 781 2 0 -124.603 -23.6775 -145.85 - 22 102.67 277 1 1 -124.729 -23.4996 -174.45 - 22 425.648 782 1 0 -124.734 -23.4927 -175.85 - 22 212.679 276 0 1 -124.83 -23.3519 -204.45 - 22 166.543 783 0 0 -124.836 -23.3458 -205.85 - 22 16.634 955 3 0 -82.2812 11.2199 -116.25 - 22 89.9568 213 1 0 11.5976 -137.35 -175.923 - 22 58.2051 280 5 1 -123.979 -22.8173 -54.45 - 22 54.805 281 5 1 -123.95 -22.8185 -54.6456 - 22 143.31 786 5 0 -123.776 -22.8228 -55.8503 - 22 85.3949 300 4 1 -120.022 -22.9796 -84.4508 - 22 23.62 301 4 1 -119.95 -22.973 -84.7678 - 22 130.685 785 4 0 -119.704 -22.9604 -85.85 - 22 182.583 335 3 1 -113.072 -22.4996 -114.45 - 22 108.395 787 3 0 -112.653 -22.5326 -115.85 - 22 117.758 379 2 1 -104.255 -23.5379 -144.45 - 22 36.4848 416 1 1 -96.7802 -27.5932 -174.45 - 22 89.9274 417 1 1 -96.75 -27.6134 -174.581 - 22 111.016 761 1 0 -96.447 -27.8078 -175.851 - 22 38.83 760 1 0 -96.3788 -27.85 -176.13 - 22 117.251 453 0 1 -89.3518 -32.3388 -204.45 - 22 25.286 454 0 1 -89.25 -32.3831 -204.777 - 22 124.744 737 0 0 -88.9172 -32.5205 -205.85 - 22 264.97 266 5 1 -126.756 -23.086 -54.45 - 22 81.3598 785 5 0 -126.931 -22.8919 -55.85 - 22 113.168 251 4 1 -129.775 -19.2536 -84.45 - 22 119.904 805 4 0 -130.059 -19.0001 -85.85 - 22 25.4077 220 3 1 -136.112 -13.8929 -114.451 - 22 100.811 219 3 1 -136.15 -13.8825 -114.554 - 22 156.022 831 3 0 -136.608 -13.7736 -115.85 - 22 124.523 167 2 1 -146.636 -11.2003 -144.45 - 22 49.2284 844 2 0 -146.931 -11.2427 -145.85 - 22 47.2225 843 2 0 -146.968 -11.25 -146.033 - 22 130.647 136 1 1 -152.79 -13.03 -174.45 - 22 121.745 833 1 0 -153.307 -13.299 -175.85 - 22 108.636 81 0 1 -163.828 -18.6506 -204.45 - 22 157.849 806 0 0 -164.176 -18.7505 -205.85 - 22 78.0735 265 5 1 -126.95 -23.2671 -54.5414 - 22 83.6197 264 5 1 -127.15 -23.3838 -54.6839 - 22 21.4562 263 5 1 -127.35 -23.4786 -54.8102 - 22 252.73 779 5 0 -128.944 -24.0665 -55.8501 - 22 32.0348 280 0 1 -124.037 -23.4827 -204.45 - 22 81.7309 281 0 1 -123.95 -23.5384 -204.531 - 22 33.0238 282 0 1 -123.75 -23.6672 -204.736 - 22 69.8259 779 0 0 -122.702 -24.1726 -205.85 - 22 88.9347 778 0 0 -122.546 -24.25 -206.005 -Number of digits in this event: 27 +Number of tracker hits in this event: 57 + 22 129.531 1126 10 1 45.392 -74.9162 95.55 + 22 147.759 525 10 0 45.3905 -74.9165 94.15 + 22 107.289 1126 9 1 45.3585 -74.9231 65.55 + 22 148.892 525 9 0 45.3574 -74.9238 64.15 + 22 117.644 1126 8 1 45.3336 -74.9317 35.55 + 22 106.567 525 8 0 45.3333 -74.9304 34.15 + 22 321.515 1126 7 1 45.3226 -74.9064 5.55 + 22 277.242 525 7 0 45.3239 -74.9058 4.15 + 22 107.608 1126 6 1 45.3478 -74.8959 -24.45 + 22 123.03 525 6 0 45.3489 -74.8961 -25.85 + 22 132.204 1126 5 1 45.3734 -74.9018 -54.45 + 22 177.287 525 5 0 45.3744 -74.903 -55.85 + 22 176.964 1126 4 1 45.4006 -74.9293 -84.45 + 22 99.0268 525 4 0 45.4023 -74.9307 -85.85 + 22 112.371 1126 3 1 45.4388 -74.9604 -114.45 + 22 164.732 525 3 0 45.4412 -74.9609 -115.85 + 22 204.923 1127 2 1 45.4935 -74.9746 -144.45 + 22 267.823 525 2 0 45.4953 -74.9764 -145.85 + 22 210.041 1127 1 1 45.5382 -75.0136 -174.45 + 22 310.711 525 1 0 45.5401 -75.0159 -175.85 + 22 247.966 1127 0 1 45.5783 -75.0667 -204.45 + 22 139.995 524 0 0 45.5815 -75.0687 -205.85 + 22 149.242 1059 3 0 50.8567 31.85 -115.959 + 22 277.819 527 6 0 167.537 -74.5787 -26.25 + 22 1.4816 1738 6 1 167.93 -74.465 -24.8498 + 22 369.819 531 6 0 168.098 -73.763 -25.8505 + 22 302.917 532 6 0 168.226 -73.65 -25.9717 + 22 44.9888 1358 0 1 91.75 -54.6628 -204.706 + 22 98.697 1359 0 1 91.9503 -54.5986 -204.473 + 22 51.4912 5 1 0 3.85212 -178.95 -176.225 + 22 109.693 1127 4 1 45.45 -74.951 -84.8006 + 22 10.9588 526 7 0 45.3566 -74.8499 4.09323 + 22 171.288 1126 2 1 45.3347 -74.8745 -144.45 + 22 122.227 526 0 0 45.5401 -74.7656 -205.85 + 22 27.7311 1015 0 1 23.25 -157.556 -204.828 + 22 291.861 1014 0 1 23.05 -157.949 -204.632 + 22 87.6442 1125 2 1 45.2493 -74.7817 -144.607 + 22 14.0698 1124 2 1 45.05 -74.688 -144.816 + 22 30.2013 527 2 0 44.1131 -74.4649 -145.85 + 22 111.914 528 2 0 44.0453 -74.45 -145.93 + 22 317.506 991 1 1 18.3834 -74.5785 -174.45 + 22 124.771 529 1 0 18.414 -74.2421 -175.85 + 22 78.4054 528 1 0 18.4291 -74.25 -175.905 + 22 63.7723 517 1 0 34.5127 -76.45 -176.078 + 22 81.9815 1127 7 1 45.45 -74.3226 5.30222 + 22 107.301 537 7 0 46.0392 -72.5984 4.14929 + 22 66.75 538 7 0 46.0934 -72.45 4.03098 + 22 61.4931 539 7 0 46.1324 -72.25 3.91875 + 22 49.269 540 7 0 46.1383 -72.05 3.82507 + 22 24.7523 1144 6 1 48.8509 -3.52959 -24.45 + 22 94.2946 1143 6 1 48.85 -3.60829 -24.5274 + 22 105.156 879 6 0 48.9789 -4.0629 -25.85 + 22 22.3705 878 6 0 49.0113 -4.25005 -26.2036 + 22 115.56 1124 0 1 45.0469 -74.9418 -204.45 + 22 242.304 525 0 0 45.0467 -74.9525 -205.85 + 22 130.696 1125 0 1 45.0515 -74.9517 -204.45 + 22 116.566 523 0 0 45.7272 -75.2583 -205.85 +Number of digits in this event: 29 Using G4ParticleGun... -Particle energy: 4.65803 LIN +Particle energy: 5.11468 LIN Particle: e- Event: 23 -Number of tracker hits in this event: 48 - 23 165.544 447 9 1 -90.6716 79.6583 65.55 - 23 130.838 1298 9 0 -90.6709 79.6599 64.15 - 23 114.029 447 8 1 -90.6565 79.6887 35.55 - 23 105.399 1298 8 0 -90.6567 79.6907 34.15 - 23 170.24 447 7 1 -90.6586 79.7294 5.55 - 23 98.9228 1298 7 0 -90.657 79.7303 4.15 - 23 123.597 447 6 1 -90.6191 79.7543 -24.45 - 23 120.162 1298 6 0 -90.6164 79.7569 -25.85 - 23 156.863 447 5 1 -90.5553 79.798 -54.45 - 23 387.37 1298 5 0 -90.5489 79.7982 -55.85 - 23 207.911 448 4 1 -90.4049 79.7971 -84.45 - 23 101.442 1298 4 0 -90.3979 79.7963 -85.85 - 23 113.176 449 3 1 -90.2561 79.7762 -114.45 - 23 141.655 1298 3 0 -90.2482 79.7675 -115.85 - 23 434.704 450 1 1 -89.9097 79.4264 -174.45 - 23 138.135 1296 1 0 -89.9017 79.4184 -175.85 - 23 113.311 451 0 1 -89.7393 79.2574 -204.45 - 23 101.696 1295 0 0 -89.7304 79.2498 -205.85 - 23 43.0426 890 2 0 -106.761 -1.85 -146.098 - 23 5.57432 462 2 1 -87.65 17.0574 -144.792 - 23 82.3976 463 2 1 -87.4498 17.2553 -144.783 - 23 88.8258 369 2 1 -106.346 -1.85554 -144.85 - 23 155.051 368 2 1 -106.35 -1.87241 -144.729 - 23 170.816 1358 1 0 128.98 91.8628 -176.25 - 23 128.961 1357 1 0 129.136 91.75 -176.046 - 23 108.028 447 4 1 -90.691 79.9639 -84.45 - 23 124.17 1299 4 0 -90.6326 79.9333 -85.85 - 23 149.655 452 3 1 -89.5328 79.4697 -114.45 - 23 190.098 1296 3 0 -89.4619 79.4453 -115.85 - 23 99.1253 460 2 1 -87.885 78.6884 -144.45 - 23 153.538 1293 2 0 -87.8051 78.6962 -145.85 - 23 115.208 468 1 1 -86.2678 78.6198 -174.45 - 23 112.112 1292 1 0 -86.2064 78.554 -175.85 - 23 129.179 474 0 1 -85.1291 77.3653 -204.45 - 23 149.2 1286 0 0 -85.1191 77.2657 -205.85 - 23 53.4787 1285 0 0 -85.1172 77.25 -206.072 - 23 59.3932 1474 0 0 -121.998 115.014 -206.25 - 23 6.76936 1117 5 0 -92.1224 43.468 -56.25 - 23 214.148 1116 5 0 -92.1275 43.45 -56.2359 - 23 176.371 1297 4 0 -90.3449 79.6365 -85.85 - 23 146.844 451 2 1 -89.7168 80.2173 -144.45 - 23 327.066 1301 2 0 -89.7055 80.2552 -145.85 - 23 133.261 452 1 1 -89.5651 80.7049 -174.45 - 23 159.338 1303 1 0 -89.5507 80.7056 -175.85 - 23 139.401 454 0 1 -89.2357 80.6802 -204.45 - 23 104.987 1303 0 0 -89.241 80.6772 -205.85 - 23 281.81 451 1 1 -89.65 80.6673 -174.583 - 23 146.037 1302 2 0 -89.6088 80.4503 -145.957 -Number of digits in this event: 31 +Number of tracker hits in this event: 44 + 23 111.724 1206 10 1 61.298 -98.0438 95.55 + 23 102.391 410 10 0 61.298 -98.0435 94.15 + 23 124.689 1206 9 1 61.3043 -98.038 65.55 + 23 155.677 410 9 0 61.3048 -98.0364 64.15 + 23 140.917 1206 8 1 61.3131 -98.0059 35.55 + 23 180.221 410 8 0 61.3153 -98.0042 34.15 + 23 115.364 1206 7 1 61.3657 -97.963 5.55 + 23 93.1601 410 7 0 61.3702 -97.9598 4.15 + 23 242.72 1207 6 1 61.4601 -97.8848 -24.45 + 23 113.223 411 6 0 61.4645 -97.8815 -25.85 + 23 170.976 1207 5 1 61.5628 -97.8171 -54.45 + 23 134.014 411 5 0 61.5662 -97.814 -55.85 + 23 108.503 1207 4 1 61.6364 -97.753 -84.45 + 23 119.172 412 4 0 61.641 -97.7477 -85.85 + 23 115.44 1208 3 1 61.742 -97.6372 -114.45 + 23 97.9653 412 3 0 61.7468 -97.6327 -115.85 + 23 106.694 1208 2 1 61.8459 -97.5388 -144.45 + 23 116.668 413 2 0 61.8484 -97.5356 -145.85 + 23 108.801 1209 1 1 61.9027 -97.4703 -174.45 + 23 135.52 413 1 0 61.9076 -97.4665 -175.85 + 23 115.613 1209 0 1 62.0047 -97.3839 -204.45 + 23 185.319 413 0 0 62.0031 -97.3817 -205.85 + 23 48.4068 406 1 0 36.8902 -98.7537 -176.25 + 23 263.544 407 1 0 36.646 -98.75 -175.896 + 23 104.2 623 1 0 -13.126 -55.3691 -176.25 + 23 90.9275 467 0 0 41.9754 -86.5937 -206.25 + 23 90.3791 468 0 0 41.8388 -86.45 -206.057 + 23 111.455 469 0 0 41.763 -86.25 -205.969 + 23 92.0201 470 0 0 41.9391 -86.05 -206.1 + 23 267.692 471 0 0 42.0457 -85.85 -206.123 + 23 82.8515 1205 8 1 61.25 -98.1156 35.448 + 23 32.2769 408 8 0 60.6238 -98.4784 34.15 + 23 77.9167 407 8 0 60.5671 -98.5503 34.0327 + 23 20.3128 406 8 0 60.5214 -98.7501 33.8069 + 23 171.843 256 8 0 39.7304 -128.853 33.75 + 23 145.165 1097 8 1 39.5049 -129.151 35.15 + 23 109.719 1096 8 1 39.45 -129.187 35.3994 + 23 69.4462 1095 8 1 39.25 -129.32 35.4459 + 23 90.9265 1094 8 1 39.05 -129.314 35.3418 + 23 65.3085 1093 8 1 38.85 -129.266 35.2542 + 23 35.1089 1092 8 1 38.65 -129.202 35.1942 + 23 286.43 258 8 0 37.6517 -128.531 34.1498 + 23 102.864 259 8 0 37.5099 -128.35 34.0053 + 23 48.8669 441 8 0 9.92358 -91.8077 33.75 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 7.71414 LIN +Particle energy: 8.11106 LIN Particle: e- Event: 24 -Number of tracker hits in this event: 118 - 24 126.802 770 11 1 -26.0087 -64.2443 125.55 - 24 275.759 579 11 0 -26.0092 -64.2451 124.15 - 24 123.359 770 10 1 -26.016 -64.2603 95.55 - 24 125.461 578 10 0 -26.0164 -64.2612 94.15 - 24 141.668 770 9 1 -26.0268 -64.2777 65.55 - 24 166.434 578 9 0 -26.028 -64.2791 64.15 - 24 120.213 769 8 1 -26.0563 -64.3094 35.55 - 24 114.174 578 8 0 -26.0569 -64.3101 34.15 - 24 128.346 769 7 1 -26.0718 -64.3257 5.55 - 24 126.448 578 7 0 -26.0732 -64.3275 4.15 - 24 114.764 769 6 1 -26.1012 -64.3676 -24.45 - 24 103.067 578 6 0 -26.1027 -64.3698 -25.85 - 24 413.212 769 5 1 -26.1351 -64.407 -54.45 - 24 234.185 578 5 0 -26.1359 -64.4087 -55.85 - 24 158.164 769 4 1 -26.1503 -64.4401 -84.45 - 24 120.685 578 4 0 -26.1514 -64.4404 -85.85 - 24 683.068 769 3 1 -26.1997 -64.4362 -114.45 - 24 244.562 578 3 0 -26.1984 -64.4317 -115.85 - 24 390.098 769 2 1 -26.1785 -64.3486 -144.45 - 24 136.277 578 2 0 -26.1796 -64.3368 -145.85 - 24 502.071 769 1 1 -26.1726 -64.1088 -174.45 - 24 99.4919 579 1 0 -26.1714 -64.0965 -175.85 - 24 302.818 769 0 1 -26.1114 -63.8332 -204.45 - 24 137.139 581 0 0 -26.1172 -63.8043 -205.85 - 24 157.691 479 1 0 -164.904 -84.0855 -176.25 - 24 6.55745 341 3 1 -111.82 -103.605 -114.85 - 24 71.5055 770 1 1 -26.05 -64.119 -174.491 - 24 83.323 771 1 1 -25.8499 -64.2371 -174.582 - 24 96.9284 772 1 1 -25.65 -64.3796 -174.683 - 24 13.5448 569 1 0 -25.2124 -66.1879 -175.85 - 24 79.177 568 1 0 -25.2016 -66.25 -175.896 - 24 222.076 567 1 0 -25.1021 -66.4503 -176.046 - 24 55.3993 566 1 0 -25.0089 -66.65 -176.111 - 24 81.2647 565 1 0 -25.0345 -66.8502 -176.039 - 24 78.8772 564 1 0 -25.0638 -67.0506 -175.935 - 24 67.5244 563 1 0 -25.1819 -67.2509 -175.932 - 24 29.0203 562 1 0 -25.3264 -67.4501 -175.903 - 24 38.7154 765 1 1 -26.971 -68.466 -174.85 - 24 76.5471 764 1 1 -27.05 -68.4844 -174.797 - 24 70.7595 763 1 1 -27.25 -68.5796 -174.582 - 24 486.791 577 3 0 -26.149 -64.4833 -115.85 - 24 360.339 577 2 0 -26.1271 -64.5986 -145.85 - 24 158.754 576 1 0 -26.1009 -64.705 -175.85 - 24 133.346 770 0 1 -25.9766 -64.8607 -204.45 - 24 115.229 575 0 0 -25.9756 -64.8669 -205.85 - 24 97.5758 577 1 0 -26.1903 -64.5447 -175.85 - 24 116.378 577 0 0 -26.1787 -64.5903 -205.85 - 24 128.698 777 7 0 120.234 -24.5134 3.75 - 24 112.873 798 2 1 -20.42 -68.2843 -144.45 - 24 128.319 558 2 0 -20.4461 -68.3433 -145.85 - 24 148.69 796 1 1 -20.7285 -68.9028 -174.45 - 24 219.821 554 1 0 -20.4949 -69.0675 -175.85 - 24 33.1845 824 0 1 -15.0674 -73.2561 -204.45 - 24 68.7606 825 0 1 -15.05 -73.2549 -204.545 - 24 135.011 533 0 0 -14.7659 -73.2875 -205.85 - 24 214.041 775 2 1 -25.0445 -64.8034 -144.45 - 24 51.3458 776 2 1 -24.85 -64.7226 -144.826 - 24 40.9862 859 1 1 -8.11591 -56.422 -174.45 - 24 81.0757 860 1 1 -8.05 -56.3479 -174.495 - 24 85.9939 861 1 1 -7.8495 -56.1305 -174.635 - 24 38.4506 862 1 1 -7.65 -55.914 -174.782 - 24 62.048 627 1 0 -6.46032 -54.5971 -175.85 - 24 88.9401 628 1 0 -6.33345 -54.4495 -175.969 - 24 108.968 629 1 0 -6.16725 -54.25 -176.126 - 24 36.7516 1018 0 1 23.7441 -15.4616 -204.45 - 24 68.8758 1019 0 1 23.85 -15.5135 -204.528 - 24 164.631 1020 0 1 24.0504 -15.6071 -204.657 - 24 32.8217 1021 0 1 24.25 -15.7073 -204.783 - 24 88.6283 817 0 0 25.42 -16.5067 -205.85 - 24 77.1115 816 0 0 25.6225 -16.65 -206.035 - 24 38.4625 877 1 1 -4.53866 57.9176 -174.45 - 24 82.423 876 1 1 -4.65038 57.8483 -174.508 - 24 50.9813 875 1 1 -4.85 57.7677 -174.55 - 24 49.9033 874 1 1 -5.05 57.7237 -174.484 - 24 12.4326 770 5 1 -26.05 -64.4867 -54.8134 - 24 51.7781 576 5 0 -25.9761 -64.7994 -55.85 - 24 63.3226 575 5 0 -25.9608 -64.85 -56.031 - 24 252.742 790 4 1 -21.9471 -73.8603 -84.4503 - 24 33.8033 525 4 0 -21.7703 -74.9964 -85.8506 - 24 124.016 524 4 0 -21.7605 -75.0503 -85.9207 - 24 15.7922 523 4 0 -21.7274 -75.25 -86.1886 - 24 190.114 798 3 1 -20.3146 -95.7692 -114.45 - 24 46.9176 797 3 1 -20.45 -96.2328 -114.76 - 24 3.92157 412 3 0 -21.0656 -97.7348 -115.85 - 24 76.5647 411 3 0 -21.072 -97.7502 -115.861 - 24 99.3164 410 3 0 -21.1521 -97.95 -116.006 - 24 52.7235 409 3 0 -21.2182 -98.15 -116.14 - 24 87.2101 732 2 1 -33.5175 -139.029 -144.45 - 24 127.611 731 2 1 -33.65 -139.265 -144.623 - 24 36.3947 730 2 1 -33.85 -139.58 -144.816 - 24 44.5257 190 2 0 -35.3322 -142.015 -145.85 - 24 50.3667 189 2 0 -35.4189 -142.15 -145.906 - 24 58.9174 188 2 0 -35.527 -142.35 -145.986 - 24 195.034 187 2 0 -35.6105 -142.55 -146.039 - 24 95.4827 186 2 0 -35.6877 -142.75 -146.09 - 24 55.9527 185 2 0 -35.7726 -142.951 -146.095 - 24 52.79 184 2 0 -35.86 -143.15 -146.096 - 24 74.8932 183 2 0 -35.9549 -143.35 -146.099 - 24 70.2888 182 2 0 -36.06 -143.55 -146.124 - 24 62.3402 181 2 0 -36.1742 -143.75 -146.157 - 24 54.7898 180 2 0 -36.2929 -143.95 -146.173 - 24 61.6934 179 2 0 -36.4147 -144.15 -146.197 - 24 74.6929 178 2 0 -36.548 -144.35 -146.218 - 24 6.61662 177 2 0 -36.6691 -144.55 -146.248 - 24 113.89 770 4 1 -25.9832 -64.0853 -84.45 - 24 242.281 579 4 0 -25.9494 -64.0611 -85.85 - 24 165.974 773 3 1 -25.2689 -63.4618 -114.45 - 24 116.373 582 3 0 -25.2508 -63.4561 -115.85 - 24 186.563 583 2 0 -24.8504 -63.315 -145.85 - 24 189.986 778 1 1 -24.413 -63.3129 -174.45 - 24 134.697 583 1 0 -24.4749 -63.2696 -175.85 - 24 104.765 772 0 1 -25.5989 -62.4331 -204.45 - 24 133.697 588 0 0 -25.6837 -62.3548 -205.85 - 24 40.3169 382 1 0 -75.9534 -103.606 -176.25 - 24 108.371 383 1 0 -75.9605 -103.55 -176.18 - 24 45.0227 384 1 0 -75.8823 -103.35 -175.893 - 24 245.67 525 1 1 -74.9778 -103.039 -174.85 - 24 26.4619 526 1 1 -74.85 -102.984 -174.817 -Number of digits in this event: 47 +Number of tracker hits in this event: 77 + 24 162.212 249 9 1 -130.299 -8.60468 65.55 + 24 123.808 857 9 0 -130.298 -8.60423 64.15 + 24 251.951 249 8 1 -130.292 -8.59777 35.55 + 24 176.325 857 8 0 -130.293 -8.59781 34.15 + 24 155.979 249 7 1 -130.301 -8.60555 5.55 + 24 136.81 857 7 0 -130.302 -8.60626 4.15 + 24 104.013 249 6 1 -130.312 -8.62017 -24.45 + 24 157.529 857 6 0 -130.313 -8.62102 -25.85 + 24 110.035 249 5 1 -130.331 -8.63494 -54.45 + 24 331.421 857 5 0 -130.333 -8.63464 -55.85 + 24 101.817 248 4 1 -130.365 -8.62701 -84.45 + 24 411.93 857 4 0 -130.368 -8.62624 -85.85 + 24 541.568 248 3 1 -130.41 -8.60827 -114.45 + 24 155.423 857 3 0 -130.411 -8.60715 -115.85 + 24 228.282 248 2 1 -130.438 -8.58382 -144.45 + 24 115.226 857 2 0 -130.437 -8.5819 -145.85 + 24 714.032 248 1 1 -130.415 -8.5413 -174.45 + 24 97.5867 857 1 0 -130.413 -8.53844 -175.85 + 24 163.185 248 0 1 -130.37 -8.48038 -204.45 + 24 126.223 857 0 0 -130.367 -8.4802 -205.85 + 24 93.6411 249 0 1 -130.35 -8.39643 -204.547 + 24 84.7886 250 0 1 -130.15 -8.27211 -204.737 + 24 94.2137 862 0 0 -130.041 -7.50095 -205.85 + 24 147.806 863 0 0 -130.038 -7.45 -205.924 + 24 136.595 820 0 0 -125.467 -16.0053 -206.25 + 24 209.308 821 0 0 -125.555 -15.85 -206.133 + 24 118.864 822 0 0 -125.59 -15.6496 -206.079 + 24 36.9511 1046 0 0 -119.023 29.2909 -206.25 + 24 391.075 1045 0 0 -118.986 29.25 -206.169 + 24 169.873 247 1 1 -130.55 -8.49756 -174.473 + 24 61.6022 246 1 1 -130.75 -8.39569 -174.637 + 24 3.65502 860 1 0 -131.188 -7.85653 -175.85 + 24 99.1476 861 1 0 -131.194 -7.85 -175.866 + 24 11.9278 703 1 0 59.6244 -39.4403 -176.25 + 24 171.24 702 1 0 59.6627 -39.45 -176.241 + 24 53.6252 112 9 1 -157.588 70.3391 65.15 + 24 48.675 193 10 1 -141.49 56.5748 95.15 + 24 57.1475 1268 11 0 -130.455 73.7889 123.75 + 24 58.116 468 7 0 152.791 -86.3164 4.15 + 24 288.744 249 4 1 -130.314 -8.6169 -84.45 + 24 121.824 854 3 0 -130.489 -9.07234 -115.85 + 24 107.114 850 2 0 -130.424 -9.8586 -145.85 + 24 299.065 848 1 0 -130.662 -10.3683 -175.85 + 24 118.063 252 0 1 -129.712 -10.0935 -204.45 + 24 182.966 850 0 0 -129.625 -10.0001 -205.85 + 24 153.113 250 3 1 -130.003 -8.38894 -114.45 + 24 159.609 858 3 0 -130.008 -8.38031 -115.85 + 24 96.2576 250 2 1 -130.091 -8.31338 -144.45 + 24 144.242 858 2 0 -130.066 -8.31998 -145.85 + 24 115.356 253 1 1 -129.521 -8.44873 -174.45 + 24 182.855 858 1 0 -129.474 -8.4433 -175.85 + 24 113.95 257 0 1 -128.599 -8.36065 -204.45 + 24 105.708 858 0 0 -128.553 -8.3552 -205.85 + 24 192.574 247 2 1 -130.55 -8.64726 -144.456 + 24 152.199 246 2 1 -130.75 -9.20538 -144.669 + 24 161.893 245 2 1 -130.95 -9.67285 -144.751 + 24 15.6775 833 2 0 -131.791 -13.3866 -145.85 + 24 54.2189 832 2 0 -131.805 -13.45 -145.87 + 24 53.908 831 2 0 -131.851 -13.65 -145.945 + 24 50.1481 830 2 0 -131.9 -13.85 -146.02 + 24 59.9652 829 2 0 -131.94 -14.05 -146.11 + 24 39.102 828 2 0 -131.974 -14.25 -146.173 + 24 28.7989 219 1 1 -136.299 -54.4923 -174.45 + 24 124.253 218 1 1 -136.35 -54.55 -174.524 + 24 4.57133 217 1 1 -136.55 -54.8262 -174.839 + 24 116.372 620 1 0 -137.216 -55.8525 -175.85 + 24 73.0143 619 1 0 -137.359 -56.05 -176.06 + 24 3.81907 152 0 1 -149.561 -78.0479 -204.45 + 24 57.7436 153 0 1 -149.55 -78.0478 -204.455 + 24 196.895 154 0 1 -149.35 -78.0325 -204.56 + 24 65.3501 155 0 1 -149.15 -78.0522 -204.683 + 24 24.7187 156 0 1 -148.95 -78.0847 -204.801 + 24 135.674 507 0 0 -146.839 -78.5324 -205.85 + 24 158.401 508 0 0 -146.351 -78.45 -206.043 + 24 151.995 860 3 0 -130.466 -7.88659 -115.85 + 24 124.698 859 3 0 -130.73 -8.051 -116.138 + 24 37.2061 247 3 1 -130.55 -8.6151 -114.69 +Number of digits in this event: 40 Using G4ParticleGun... -Particle energy: 5.87441 LIN +Particle energy: 9.97659 LIN Particle: e- Event: 25 -Number of tracker hits in this event: 104 - 25 134.017 1177 11 1 55.5447 -13.4866 125.55 - 25 113.128 832 11 0 55.545 -13.4866 124.15 - 25 132.11 1177 10 1 55.5473 -13.4872 95.55 - 25 113.896 832 10 0 55.5464 -13.4863 94.15 - 25 250.821 1177 9 1 55.5303 -13.4594 65.55 - 25 111.083 832 9 0 55.5304 -13.458 64.15 - 25 108.036 1177 8 1 55.5308 -13.429 35.55 - 25 158.203 833 8 0 55.5308 -13.4267 34.15 - 25 112.661 1177 7 1 55.5294 -13.3786 5.55 - 25 123.605 833 7 0 55.5288 -13.3762 4.15 - 25 107.457 1177 6 1 55.5132 -13.3264 -24.45 - 25 164.06 833 6 0 55.512 -13.3249 -25.85 - 25 280.979 1177 5 1 55.4894 -13.2952 -54.45 - 25 166.568 833 5 0 55.4874 -13.2936 -55.85 - 25 111.087 1176 4 1 55.4471 -13.2614 -84.45 - 25 303.214 833 4 0 55.4448 -13.2593 -85.85 - 25 110.449 1176 3 1 55.4021 -13.2168 -114.45 - 25 388.265 834 3 0 55.3997 -13.2134 -115.85 - 25 151.072 1176 2 1 55.3533 -13.1359 -144.45 - 25 496.919 834 2 0 55.3508 -13.1342 -145.85 - 25 327.851 1176 1 1 55.2962 -13.0963 -174.45 - 25 129.434 834 1 0 55.2938 -13.0939 -175.85 - 25 226.13 1175 0 1 55.2424 -13.0443 -204.45 - 25 277.613 835 0 0 55.2427 -13.041 -205.85 - 25 37.5739 207 2 1 -138.75 -6.01574 -144.589 - 25 121.023 914 3 0 -167.354 2.91086 -116.25 - 25 28.5105 915 3 0 -167.585 3.05004 -115.919 - 25 2.47602 58 3 1 -168.539 3.5612 -114.85 - 25 80.1019 57 3 1 -168.55 3.56703 -114.838 - 25 87.6488 56 3 1 -168.75 3.64562 -114.624 - 25 70.9776 55 3 1 -168.95 3.78479 -114.528 - 25 81.5924 54 3 1 -169.15 3.81196 -114.49 - 25 117.547 53 3 1 -169.351 3.81537 -114.479 - 25 328.802 1068 1 0 16.4557 33.85 -176.016 - 25 63.3358 976 1 1 15.3719 34.2254 -174.45 - 25 70.8734 975 1 1 15.2498 34.246 -174.558 - 25 63.926 974 1 1 15.0496 34.1969 -174.693 - 25 323.913 1067 1 0 14.9552 33.5517 -175.85 - 25 81.2789 830 1 0 55.8481 -13.9088 -175.85 - 25 115.497 829 1 0 55.8884 -14.05 -175.965 - 25 30.3096 828 1 0 55.839 -14.25 -176.156 - 25 87.2193 714 1 0 53.4032 -37.1189 -176.25 - 25 22.8012 715 1 0 53.51 -37.0499 -175.939 - 25 162.812 1170 1 1 54.1835 -36.5449 -174.85 - 25 234.496 1171 1 1 54.25 -36.4752 -174.756 - 25 271.186 717 1 0 53.6674 -36.4825 -175.85 - 25 79.8192 651 1 0 87.8424 -49.7085 -176.25 - 25 172.671 840 1 0 57.3613 -12.003 -176.25 - 25 267.77 1177 0 1 55.593 -13.05 -204.45 - 25 107.179 834 0 0 55.5338 -13.0582 -205.85 - 25 100.184 347 2 1 -110.711 44.4631 -144.45 - 25 24.8645 348 2 1 -110.55 44.4034 -144.79 - 25 154.514 1122 2 0 -109.374 44.6026 -145.85 - 25 230.627 1123 2 0 -109.027 44.6501 -146.111 - 25 112.079 1261 2 0 7.28638 72.3142 -146.25 - 25 35.2691 938 2 1 7.80525 72.4029 -144.85 - 25 117.508 939 2 1 7.85 72.4081 -144.756 - 25 58.4265 940 2 1 8.05 72.5559 -144.492 - 25 62.1233 941 2 1 8.25013 72.6324 -144.549 - 25 69.4374 942 2 1 8.4513 72.6549 -144.585 - 25 52.5931 943 2 1 8.6503 72.717 -144.522 - 25 4.61225 1460 6 1 112.15 79.9524 -24.7586 - 25 152.361 1178 4 1 55.7401 -13.2553 -84.4516 - 25 139.497 1179 4 1 55.85 -13.2698 -84.6015 - 25 220.26 832 4 0 56.7705 -13.6034 -85.85 - 25 100.575 831 4 0 56.9141 -13.6501 -86.0423 - 25 114.573 1297 3 1 79.5436 -12.9107 -114.45 - 25 30.5439 1289 2 1 78.0312 -24.6668 -144.451 - 25 86.961 1290 2 1 78.05 -24.6255 -144.549 - 25 14.2991 778 2 0 78.1588 -24.2645 -145.85 - 25 95.1134 779 2 0 78.162 -24.25 -145.901 - 25 163.047 1273 1 1 74.6548 -13.019 -174.45 - 25 11.5506 838 1 0 74.9801 -12.2751 -175.85 - 25 116.61 839 1 0 74.9962 -12.25 -175.901 - 25 112.887 1311 0 1 82.4083 8.22826 -204.45 - 25 75.0868 1310 0 1 82.25 7.92291 -204.739 - 25 134.362 936 0 0 79.5151 7.38534 -205.85 - 25 222.875 937 0 0 79.1075 7.45 -205.952 - 25 228.332 870 4 0 90.1504 -5.92266 -86.2155 - 25 259.72 1177 2 1 55.5785 -13.2051 -144.45 - 25 136.304 833 1 0 55.3885 -13.4075 -175.85 - 25 145.768 1179 0 1 56.005 -13.6344 -204.45 - 25 105.6 831 0 0 56.0237 -13.6822 -205.85 - 25 107.45 1177 1 1 55.5703 -12.9799 -174.45 - 25 103.872 835 1 0 55.5489 -12.9482 -175.85 - 25 105.123 838 0 0 55.0867 -12.3167 -205.85 - 25 19.3948 75 7 0 -107.142 -165.076 3.75 - 25 147.204 834 5 0 55.7161 -13.2461 -55.8501 - 25 0.928376 1147 4 1 49.452 1.24831 -84.45 - 25 157.296 1146 4 1 49.45 1.25287 -84.4552 - 25 12.2549 1145 4 1 49.25 1.50216 -84.8132 - 25 6.51474 910 4 0 48.7658 2.23436 -85.85 - 25 123.411 911 4 0 48.7556 2.25 -85.8723 - 25 5.53851 912 4 0 48.5629 2.45 -86.2289 - 25 206.295 1050 3 1 30.0862 20.1896 -114.45 - 25 119.302 1051 3 1 30.2501 20.8058 -114.54 - 25 52.8543 1052 3 1 30.4501 21.1183 -114.529 - 25 253.623 1053 3 1 30.65 21.2454 -114.452 - 25 147.557 1054 3 1 30.85 21.8088 -114.573 - 25 31.9965 1055 3 1 31.05 22.0067 -114.604 - 25 192.874 1010 3 0 30.4777 22.1599 -115.85 - 25 5.33885 1153 3 0 -11.1081 50.8396 -116.25 - 25 111.981 1154 3 0 -11.1188 50.8501 -116.24 - 25 149.545 1003 3 0 -152.166 20.7294 -116.25 -Number of digits in this event: 47 -Using G4ParticleGun... -Particle energy: 5.62939 LIN +Number of tracker hits in this event: 203 + 25 264.975 1247 11 1 69.5542 -10.365 125.55 + 25 158.267 848 11 0 69.5547 -10.3656 124.15 + 25 135.034 1247 10 1 69.5676 -10.3754 95.55 + 25 124.558 848 10 0 69.5686 -10.3762 94.15 + 25 385.407 1247 9 1 69.5935 -10.3928 65.55 + 25 407.169 848 9 0 69.5944 -10.3949 64.15 + 25 254.627 1247 8 1 69.6072 -10.4326 35.55 + 25 400.15 848 8 0 69.6078 -10.4342 34.15 + 25 237.586 1247 7 1 69.6201 -10.4713 5.55 + 25 112.225 847 7 0 69.6207 -10.4713 4.15 + 25 305.077 1247 6 1 69.6338 -10.4782 -24.45 + 25 225.327 847 6 0 69.6338 -10.4829 -25.85 + 25 256.908 1247 5 1 69.6314 -10.5715 -54.45 + 25 377.008 847 5 0 69.6311 -10.5776 -55.85 + 25 128.866 1247 4 1 69.6332 -10.7009 -84.45 + 25 314.835 846 4 0 69.6331 -10.7068 -85.85 + 25 362.382 1247 3 1 69.6375 -10.8257 -114.45 + 25 120.191 846 3 0 69.6372 -10.8298 -115.85 + 25 318.373 1247 2 1 69.6353 -10.9053 -144.45 + 25 186.133 845 2 0 69.6383 -10.9062 -145.85 + 25 100.378 1248 1 1 69.6935 -10.9086 -174.45 + 25 152.345 845 1 0 69.6954 -10.9075 -175.85 + 25 150.291 1248 0 1 69.7323 -10.8779 -204.45 + 25 157.016 845 0 0 69.7326 -10.878 -205.85 + 25 14.9766 784 5 1 -23.1813 -19.4805 -54.45 + 25 90.0484 922 14 0 74.0104 4.58189 213.75 + 25 350.097 1247 1 1 69.6137 -11.0911 -174.45 + 25 236.822 844 1 0 69.565 -11.1094 -175.85 + 25 146.828 1243 0 1 68.652 -11.7385 -204.45 + 25 108.347 841 0 0 68.7195 -11.6977 -205.85 + 25 383.221 1236 0 1 67.4315 -121.749 -204.85 + 25 22.1162 1245 0 1 69.05 -99.8659 -204.841 + 25 35.9963 709 1 0 60.7413 -38.1855 -176.25 + 25 114.313 708 1 0 60.7156 -38.25 -176.151 + 25 70.7571 707 1 0 60.6545 -38.45 -175.962 + 25 387.221 1201 1 1 60.3148 -39.3846 -174.85 + 25 94.4424 1249 4 1 69.9997 -10.6594 -84.45 + 25 136.782 847 4 0 70.1341 -10.6478 -85.85 + 25 383.433 1264 3 1 72.8568 -10.3958 -114.45 + 25 322.588 848 3 0 72.9628 -10.3835 -115.85 + 25 114.806 1277 2 1 75.4653 -10.6881 -144.45 + 25 211.223 846 2 0 75.6004 -10.7828 -145.85 + 25 17.1236 1292 1 1 78.6449 -12.3524 -174.45 + 25 304.91 1293 1 1 78.65 -12.3548 -174.481 + 25 150.512 837 1 0 78.8702 -12.452 -175.85 + 25 269.828 1315 0 1 83.0653 -13.8404 -204.45 + 25 139.133 830 0 0 83.3188 -13.9219 -205.85 + 25 168.222 852 3 0 73.2706 -9.65 -115.935 + 25 616.019 847 3 0 73.5584 -10.45 -116.159 + 25 121.369 955 3 0 90.6492 11.0868 -116.25 + 25 76.9543 956 3 0 90.7726 11.25 -116.047 + 25 43.8825 957 3 0 90.7912 11.45 -116.018 + 25 62.4917 958 3 0 90.7496 11.6513 -115.991 + 25 49.1085 959 3 0 90.7488 11.85 -116.024 + 25 70.1039 960 3 0 90.6837 12.05 -115.964 + 25 75.6284 961 3 0 90.554 12.25 -116 + 25 207.529 962 3 0 90.3847 12.45 -116.113 + 25 70.0041 1345 3 1 89.2011 12.6374 -114.85 + 25 100.742 1344 3 1 89.05 12.7056 -114.736 + 25 127.764 1343 3 1 88.8499 12.8702 -114.63 + 25 34.9575 919 3 0 98.1732 3.92258 -115.85 + 25 135.73 1397 3 1 99.5636 3.34412 -114.85 + 25 89.4472 917 3 0 99.7098 3.58529 -115.85 + 25 50.4728 851 3 0 73.2832 -9.65 -116.039 + 25 95.2464 1248 5 1 69.65 -10.5665 -54.4711 + 25 3.06553 1249 5 1 69.8502 -10.4932 -54.8355 + 25 62.0969 849 5 0 70.4103 -10.1233 -55.85 + 25 64.9884 850 5 0 70.5168 -10.05 -56.0497 + 25 22.2219 1007 5 0 77.6643 21.5809 -56.2498 + 25 119.192 1008 5 0 77.6529 21.65 -56.1751 + 25 41.5514 1009 5 0 77.6531 21.8502 -55.9503 + 25 33.6023 1290 5 1 78.2074 23.3398 -54.85 + 25 153.878 1291 5 1 78.25 23.4382 -54.779 + 25 203.786 1248 8 1 69.822 -10.3626 35.55 + 25 105.919 1251 7 1 70.4214 -10.3402 5.55 + 25 255.669 848 7 0 70.4439 -10.3403 4.15 + 25 317.356 1254 6 1 70.974 -10.3406 -24.45 + 25 216.999 848 6 0 71.005 -10.3476 -25.85 + 25 100.564 1258 5 1 71.7479 -10.5094 -54.45 + 25 122.238 1262 4 1 72.601 -10.8334 -84.45 + 25 141.049 845 4 0 72.626 -10.8554 -85.85 + 25 177.718 1265 3 1 73.111 -11.363 -114.45 + 25 267.222 843 3 0 73.1482 -11.3891 -115.85 + 25 270.248 1269 2 1 73.9193 -11.9507 -144.45 + 25 121.49 840 2 0 73.9632 -11.9671 -145.85 + 25 120.443 1274 1 1 74.8697 -12.3333 -174.45 + 25 256.049 838 1 0 74.9279 -12.3563 -175.85 + 25 300.146 1281 0 1 76.3167 -12.8959 -204.45 + 25 239.518 835 0 0 76.4342 -12.8839 -205.85 + 25 223.237 845 3 0 72.9637 -11.0147 -115.85 + 25 115.061 1274 2 1 75.0203 -11.7563 -144.451 + 25 124.068 839 2 0 75.064 -12.1307 -145.85 + 25 6.06592 1280 1 1 76.0515 -19.4553 -174.45 + 25 125.164 1279 1 1 76.05 -19.4577 -174.469 + 25 106.906 802 1 0 75.8854 -19.5917 -175.85 + 25 95.8756 1263 0 1 72.6955 -22.3611 -204.45 + 25 36.4711 787 0 0 72.6226 -22.6254 -205.85 + 25 90.3184 786 0 0 72.6162 -22.65 -205.979 + 25 19.7806 1262 2 1 72.4565 -11.2654 -144.45 + 25 114.45 1261 2 1 72.45 -11.2678 -144.547 + 25 132.187 843 2 0 72.3609 -11.31 -145.85 + 25 147.372 1251 1 1 70.3887 -12.9294 -174.45 + 25 133.395 834 1 0 70.2497 -13.1654 -175.85 + 25 353.497 1237 0 1 67.491 -18.2927 -204.45 + 25 122.637 807 0 0 67.3661 -18.4729 -205.85 + 25 4.24393 826 0 0 67.1816 -14.665 -205.85 + 25 55.5778 827 0 0 67.1806 -14.65 -205.855 + 25 161.325 828 0 0 67.1728 -14.45 -205.904 + 25 119.033 829 0 0 67.2103 -14.25 -205.953 + 25 55.742 831 0 0 67.3075 -13.85 -205.91 + 25 133.198 832 0 0 67.3345 -13.6497 -205.992 + 25 134.91 833 0 0 67.43 -13.4494 -206.036 + 25 56.7683 834 0 0 67.4647 -13.25 -206.004 + 25 30.4319 836 0 0 67.4277 -12.85 -206.158 + 25 153.281 1249 8 1 69.85 -10.4682 35.2621 + 25 484.361 1248 2 1 69.651 -11.7219 -144.45 + 25 111.423 841 2 0 69.7866 -11.728 -145.85 + 25 124.4 1261 1 1 72.4235 -11.9533 -174.45 + 25 123.423 840 1 0 72.519 -11.8965 -175.85 + 25 127.169 1272 0 1 74.5514 -10.6217 -204.45 + 25 129.092 847 0 0 74.6706 -10.577 -205.85 + 25 143.479 920 6 0 29.3877 4.1172 -26.2499 + 25 244.786 921 6 0 29.3782 4.25 -25.9398 + 25 141.909 844 2 0 69.647 -11.1809 -145.85 + 25 119.533 1249 1 1 69.9961 -12.2697 -174.45 + 25 122.203 1249 0 1 69.9979 -14.14 -204.45 + 25 144.871 847 2 0 69.4816 -10.65 -146.219 + 25 133.651 1246 5 1 69.4338 -10.3977 -54.45 + 25 142.559 848 5 0 69.4266 -10.3965 -55.85 + 25 111.741 1246 4 1 69.2993 -10.3594 -84.45 + 25 123.125 848 4 0 69.2938 -10.356 -85.85 + 25 124.834 1245 3 1 69.1761 -10.2677 -114.45 + 25 131.299 1244 2 1 69.0331 -10.0798 -144.45 + 25 125.177 849 2 0 69.021 -10.0767 -145.85 + 25 361.512 1243 1 1 68.7826 -9.99044 -174.45 + 25 188.986 850 1 0 68.7731 -9.98854 -175.85 + 25 142.385 1242 0 1 68.5647 -9.9443 -204.45 + 25 153.139 850 0 0 68.5585 -9.9442 -205.85 + 25 76.2774 642 2 0 139.324 -51.5935 -146.25 + 25 28.0463 1426 2 0 8.20311 105.499 -146.25 + 25 55.8528 1427 2 0 8.19201 105.55 -146.225 + 25 108.39 1792 2 0 -71.1539 178.566 -146.25 + 25 5.3442 1791 2 0 -71.1277 178.55 -146.211 + 25 63.7968 772 1 0 32.4097 -25.5575 -176.25 + 25 209.574 771 1 0 32.2032 -25.65 -176.156 + 25 106.006 1056 1 1 31.4449 -23.34 -174.85 + 25 65.7945 1055 1 1 31.2498 -23.1562 -174.709 + 25 65.3355 1054 1 1 31.0498 -23.1194 -174.728 + 25 124.303 1053 1 1 30.85 -23.1555 -174.604 + 25 92.3262 1052 1 1 30.6494 -22.9719 -174.472 + 25 89.6628 1051 1 1 30.45 -22.793 -174.465 + 25 203.144 1050 1 1 30.2499 -22.7463 -174.459 + 25 59.2867 1244 1 1 68.85 -9.97231 -174.671 + 25 116.801 852 1 0 69.0034 -9.50737 -175.85 + 25 183.479 853 1 0 69.0248 -9.45 -176.003 + 25 51.9073 1098 1 0 63.2268 39.6814 -176.25 + 25 107.974 1099 1 0 63.1474 39.85 -176.104 + 25 63.5392 1100 1 0 63.0514 40.05 -175.964 + 25 5.4154 1101 1 0 63.0204 40.25 -175.864 + 25 314.401 1213 1 1 62.8238 42.464 -174.85 + 25 146.175 1214 1 1 62.85 42.7733 -174.588 + 25 55.7189 1215 1 1 63.0505 42.7735 -174.502 + 25 170.313 1212 1 1 62.65 43.1083 -174.692 + 25 411.156 1211 1 1 62.45 43.5487 -174.458 + 25 18.9136 1117 1 0 62.6925 43.4784 -175.85 + 25 102.488 1116 1 0 62.7178 43.45 -175.925 + 25 52.0951 1004 1 0 84.1202 20.937 -176.249 + 25 108.855 1005 1 0 84.1396 21.0503 -176.085 + 25 161.744 1322 1 1 84.6081 21.6129 -174.85 + 25 220.932 1321 1 1 84.45 21.8064 -174.602 + 25 148.777 1320 1 1 84.25 21.944 -174.506 + 25 89.9803 851 1 0 68.4134 -9.69582 -175.85 + 25 81.3062 1191 0 1 58.3891 -2.74437 -204.45 + 25 30.9918 1192 0 1 58.45 -2.65075 -204.731 + 25 123.773 889 0 0 58.6767 -2.23153 -205.85 + 25 11.7601 890 0 0 58.7913 -2.05 -206.204 + 25 36.4698 1248 6 1 69.65 -10.5002 -24.7343 + 25 72.9684 1271 5 1 74.3839 -12.2004 -54.45 + 25 64.6328 1270 5 1 74.25 -12.2145 -54.676 + 25 99.8026 838 5 0 73.5729 -12.39 -55.8507 + 25 26.2243 837 5 0 73.3895 -12.45 -56.1544 + 25 19.8737 751 5 0 41.1418 -29.8319 -56.25 + 25 94.7148 750 5 0 41.1291 -29.85 -56.2021 + 25 162.985 1104 5 1 40.9772 -30.1184 -54.85 + 25 264.18 871 5 0 15.6389 -5.7536 -56.2497 + 25 14.5374 870 5 0 15.1577 -5.85008 -55.8713 + 25 143.283 964 5 1 13.0019 -6.33952 -54.8499 + 25 54.1324 963 5 1 12.85 -6.37237 -54.7994 + 25 64.6223 962 5 1 12.65 -6.39252 -54.779 + 25 60.5324 961 5 1 12.4498 -6.5001 -54.7245 + 25 57.0495 960 5 1 12.25 -6.49685 -54.7448 + 25 163.669 866 5 0 11.3594 -6.72982 -55.85 + 25 112.047 1235 1 1 67.2472 -11.2284 -174.45 + 25 133.739 843 1 0 67.0799 -11.327 -175.85 + 25 171.112 1217 0 1 63.6109 -13.2893 -204.45 + 25 91.9865 1236 1 1 67.25 -11.2358 -174.588 + 25 155.821 1237 1 1 67.45 -11.128 -174.745 + 25 55.4575 1238 1 1 67.65 -10.6864 -174.769 + 25 244.991 849 1 0 68.272 -10.2159 -175.85 + 25 302.396 855 1 0 23.3359 -9.02678 -176.25 + 25 140.451 848 2 0 69.7275 -10.4333 -145.85 + 25 159.955 1247 0 1 69.5556 -10.1016 -204.45 + 25 121.017 849 0 0 69.5654 -10.0934 -205.85 +Number of digits in this event: 115 +Using G4ParticleGun... +Particle energy: 5.79466 LIN Particle: e- Event: 26 -Number of tracker hits in this event: 98 - 26 120.465 956 11 1 11.4107 50.5258 125.55 - 26 196.35 1152 11 0 11.4109 50.5255 124.15 - 26 122.263 956 10 1 11.4156 50.5274 95.55 - 26 140.99 1152 10 0 11.4161 50.5262 94.15 - 26 161.472 956 9 1 11.4236 50.5 65.55 - 26 129.175 1152 9 0 11.4239 50.4985 64.15 - 26 108.219 956 8 1 11.4305 50.4698 35.55 - 26 118.645 1152 8 0 11.4305 50.4688 34.15 - 26 103.618 956 7 1 11.4336 50.4507 5.55 - 26 121.259 1152 7 0 11.4337 50.4503 4.15 - 26 133.108 956 6 1 11.441 50.4392 -24.45 - 26 139.683 1151 6 0 11.4412 50.4386 -25.85 - 26 423.721 956 5 1 11.4486 50.4238 -54.45 - 26 212.998 1151 5 0 11.4494 50.4225 -55.85 - 26 347.186 957 4 1 11.4713 50.3927 -84.45 - 26 396.312 1151 4 0 11.4746 50.3891 -85.85 - 26 412.826 957 3 1 11.5342 50.3188 -114.45 - 26 388.396 1151 3 0 11.5347 50.3131 -115.85 - 26 523.066 957 2 1 11.5535 50.1854 -144.45 - 26 507.044 1150 2 0 11.5546 50.1786 -145.85 - 26 229.513 957 1 1 11.5679 50.0393 -174.45 - 26 139.496 1149 1 0 11.5695 50.0331 -175.85 - 26 370.906 957 0 1 11.5854 49.9024 -204.45 - 26 423.976 1149 0 0 11.5893 49.8997 -205.85 - 26 280.737 1147 1 0 11.2941 49.5452 -175.85 - 26 26.5602 934 0 1 6.89526 53.563 -204.451 - 26 168.675 933 0 1 6.84992 53.5911 -204.546 - 26 64.9583 1169 0 0 6.20316 53.9787 -205.85 - 26 62.0944 1170 0 0 6.09234 54.05 -206.081 - 26 11.8193 951 1 1 10.2607 49.6433 -174.85 - 26 62.1914 950 1 1 10.25 49.6413 -174.842 - 26 257.792 958 2 1 11.6503 50.2657 -144.521 - 26 105.969 1149 2 0 12.4716 49.9108 -145.85 - 26 35.9625 1148 2 0 12.6288 49.85 -146.126 - 26 91.7197 1047 1 1 29.4733 44.9587 -174.45 - 26 76.7848 1048 1 1 29.65 45.0275 -174.663 - 26 54.1081 1126 1 0 30.6264 45.4016 -175.85 - 26 80.0781 1127 1 0 30.7455 45.45 -176 - 26 1.11109 1187 0 1 57.646 56.2144 -204.45 - 26 72.0363 1188 0 1 57.65 56.2154 -204.452 - 26 425.196 1189 0 1 57.85 56.3012 -204.538 - 26 829.569 1190 0 1 58.05 56.3961 -204.618 - 26 154.523 1191 0 1 58.2501 56.4608 -204.701 - 26 144.041 1192 0 1 58.4501 56.5218 -204.719 - 26 117.708 1193 0 1 58.65 56.6684 -204.718 - 26 328.366 958 1 1 11.7084 50.1228 -174.45 - 26 124.523 1150 1 0 11.7125 50.1168 -175.85 - 26 110.946 958 0 1 11.7426 49.9088 -204.45 - 26 117.489 301 5 1 -119.832 -72.5203 -54.45 - 26 77.2617 300 5 1 -119.95 -72.63 -54.5029 - 26 274.106 299 5 1 -120.15 -72.8209 -54.4828 - 26 176.306 298 5 1 -120.35 -72.8378 -54.4947 - 26 103.987 959 1 1 11.8585 49.6693 -174.45 - 26 112.831 961 0 1 12.4122 49.225 -204.45 - 26 124.137 1145 0 0 12.4332 49.2033 -205.85 - 26 329.564 1150 0 0 11.6979 50.0501 -205.9 - 26 216.898 1064 0 0 -10.1221 32.9086 -206.25 - 26 21.0447 1307 2 0 15.9067 81.6044 -146.25 - 26 67.7906 1308 2 0 15.9132 81.6511 -146.208 - 26 86.1089 1309 2 0 15.9898 81.8507 -146.112 - 26 71.9854 1310 2 0 16.213 82.05 -145.971 - 26 68.3578 1311 2 0 16.3874 82.25 -145.922 - 26 214.48 992 2 1 18.5363 84.079 -144.85 - 26 338.28 993 2 1 18.65 84.2007 -144.629 - 26 92.5873 994 2 1 18.8502 83.8827 -144.655 - 26 33.9748 1622 5 0 4.22553 144.69 -56.25 - 26 248.761 1623 5 0 4.26666 144.75 -56.2202 - 26 251.114 956 1 1 11.3483 50.4228 -174.45 - 26 106.207 1151 1 0 11.3418 50.4281 -175.85 - 26 68.8601 955 0 1 11.2341 50.5741 -204.45 - 26 43.3038 956 0 1 11.25 50.5632 -204.702 - 26 114.716 1152 0 0 11.3196 50.5133 -205.85 - 26 197.931 1122 0 0 -31.6832 44.6446 -206.25 - 26 196.156 1152 1 0 11.3328 50.4509 -175.85 - 26 132.155 954 0 1 10.9489 51.1338 -204.45 - 26 167.284 1155 0 0 11.009 51.1467 -205.85 - 26 173.151 1151 0 0 11.5058 50.2512 -205.85 - 26 230.581 1020 1 1 24.0661 37.9887 -174.85 - 26 15.6421 957 5 1 11.4501 50.2792 -54.6558 - 26 104.44 948 3 1 9.74904 47.5602 -114.45 - 26 130.499 1136 3 0 9.6737 47.4467 -115.85 - 26 106.896 938 2 1 7.75355 44.7034 -144.45 - 26 116.662 1122 2 0 7.59187 44.5126 -145.85 - 26 99.3985 918 1 1 3.69853 40.2962 -174.45 - 26 107.613 917 1 1 3.65 40.2899 -174.63 - 26 116.858 1100 1 0 3.30297 40.2155 -175.85 - 26 162.65 873 0 1 -5.2797 39.0381 -204.45 - 26 101.692 1095 0 0 -5.7553 39.2103 -205.85 - 26 41.5167 1096 0 0 -5.85044 39.25 -206.13 - 26 119.414 954 3 1 10.9754 50.9825 -114.45 - 26 116.645 1155 3 0 11.009 51.1446 -115.85 - 26 113.982 1172 2 0 11.7122 54.54 -145.85 - 26 13.3175 962 1 1 12.6465 57.6845 -174.45 - 26 135.778 963 1 1 12.65 57.6902 -174.493 - 26 274.036 1189 1 0 12.7762 57.883 -175.85 - 26 156.52 978 0 1 15.6506 61.9835 -204.45 - 26 52.2043 1210 0 0 15.8516 62.2236 -205.85 - 26 66.4489 1211 0 0 15.8738 62.25 -206.002 -Number of digits in this event: 52 +Number of tracker hits in this event: 42 + 26 173.544 380 10 1 -104.126 28.8931 95.55 + 26 104.67 1044 10 0 -104.126 28.8945 94.15 + 26 108.993 380 9 1 -104.133 28.9219 65.55 + 26 130.686 1044 9 0 -104.128 28.9241 64.15 + 26 111.912 380 8 1 -104.103 28.9474 35.55 + 26 124.68 1044 8 0 -104.103 28.9438 34.15 + 26 105.906 380 7 1 -104.126 28.8654 5.55 + 26 253.392 1044 7 0 -104.123 28.8556 4.15 + 26 146.214 380 6 1 -104.094 28.6643 -24.45 + 26 163.733 1043 6 0 -104.096 28.6557 -25.85 + 26 176.873 379 5 1 -104.153 28.491 -54.45 + 26 102.198 1042 5 0 -104.154 28.4949 -55.85 + 26 160.695 379 4 1 -104.177 28.5882 -84.45 + 26 142.484 1042 4 0 -104.168 28.5937 -85.85 + 26 118.014 380 3 1 -103.979 28.7052 -114.45 + 26 402.135 1043 3 0 -103.968 28.7166 -115.85 + 26 142.547 382 2 1 -103.719 28.9202 -144.45 + 26 342.146 1044 2 0 -103.705 28.9267 -145.85 + 26 231.318 383 1 1 -103.457 29.0663 -174.45 + 26 192.297 1045 1 0 -103.448 29.0773 -175.85 + 26 106.574 384 0 1 -103.274 29.2639 -204.45 + 26 140.785 1046 0 0 -103.253 29.264 -205.85 + 26 34.9669 1043 7 0 -104.134 28.8499 3.83946 + 26 310.435 381 3 1 -103.944 28.8388 -114.45 + 26 250.556 379 2 1 -104.315 28.8549 -144.45 + 26 469.939 1043 2 0 -104.31 28.8443 -145.85 + 26 231.796 379 1 1 -104.276 28.6014 -174.45 + 26 173.528 1042 1 0 -104.257 28.5838 -175.85 + 26 150.325 380 0 1 -103.959 28.3354 -204.45 + 26 108.06 1041 0 0 -103.973 28.3853 -205.85 + 26 255.351 380 2 1 -103.955 28.7882 -144.45 + 26 67.8681 1046 1 0 -104.144 29.2503 -175.999 + 26 264.967 373 0 1 -105.536 38.3711 -204.451 + 26 180.445 1096 0 0 -105.17 39.2622 -205.85 + 26 40.8884 1097 0 0 -105.103 39.4504 -206.15 + 26 64.5643 1042 2 0 -104.604 28.65 -146.005 + 26 149.574 1016 2 0 -140.954 23.4067 -146.25 + 26 222.745 191 2 1 -141.879 23.2746 -144.85 + 26 353.713 190 2 1 -141.95 23.1254 -144.525 + 26 108.262 377 1 1 -104.707 28.8011 -174.45 + 26 167.098 1043 1 0 -104.741 28.791 -175.85 + 26 145.595 1042 0 0 -105.496 28.6083 -205.85 +Number of digits in this event: 31 Using G4ParticleGun... -Particle energy: 5.95985 LIN +Particle energy: 7.51689 LIN Particle: e- Event: 27 -Number of tracker hits in this event: 34 - 27 117.047 198 8 1 -140.392 -37.7074 35.55 - 27 117.518 711 8 0 -140.392 -37.7076 34.15 - 27 169.482 198 7 1 -140.392 -37.7134 5.55 - 27 115.93 711 7 0 -140.392 -37.7127 4.15 - 27 140.499 198 6 1 -140.384 -37.6977 -24.45 - 27 140.83 711 6 0 -140.383 -37.6966 -25.85 - 27 117.588 198 5 1 -140.351 -37.6798 -54.45 - 27 263.444 711 5 0 -140.349 -37.6799 -55.85 - 27 133.536 199 4 1 -140.306 -37.6798 -84.45 - 27 98.5455 711 4 0 -140.303 -37.68 -85.85 - 27 120.095 199 3 1 -140.258 -37.6922 -114.45 - 27 133.534 711 3 0 -140.255 -37.6934 -115.85 - 27 414.817 199 2 1 -140.206 -37.7106 -144.45 - 27 237.816 711 2 0 -140.201 -37.7105 -145.85 - 27 239.324 200 1 1 -140.102 -37.7205 -174.45 - 27 267.098 711 1 0 -140.097 -37.7234 -175.85 - 27 276.702 200 0 1 -140.011 -37.7816 -204.45 - 27 236.637 711 0 0 -140.006 -37.7876 -205.85 - 27 205.504 712 2 0 -140.203 -37.5764 -145.85 - 27 137.941 198 1 1 -140.393 -35.6565 -174.45 - 27 113.826 722 1 0 -140.532 -35.5735 -175.85 - 27 129.964 185 0 1 -143.02 -33.6942 -204.45 - 27 122.481 731 0 0 -143.12 -33.6604 -205.851 - 27 8.31668 784 3 0 -138.867 -23.0863 -116.25 - 27 180.691 785 3 0 -138.865 -23.05 -116.221 - 27 138.091 786 3 0 -138.905 -22.8498 -116.107 - 27 82.2859 787 3 0 -138.754 -22.6499 -115.904 - 27 3.86216 788 3 0 -138.563 -22.45 -115.855 - 27 125.872 217 3 1 -136.69 -21.3138 -114.85 - 27 91.6058 218 3 1 -136.55 -20.9672 -114.758 - 27 41.2392 812 3 0 -133.098 -17.475 -115.85 - 27 3.07788 813 3 0 -133.073 -17.4499 -115.85 - 27 188.462 256 3 1 -128.752 -13.5231 -114.85 - 27 208.515 257 3 1 -128.75 -13.5214 -114.85 -Number of digits in this event: 25 +Number of tracker hits in this event: 26 + 27 226.72 737 8 1 -32.5819 -135.154 35.55 + 27 110.091 224 8 0 -32.5802 -135.153 34.15 + 27 122.842 737 7 1 -32.5452 -135.143 5.55 + 27 105.304 225 7 0 -32.5437 -135.145 4.15 + 27 117.517 737 6 1 -32.5132 -135.166 -24.45 + 27 147.486 224 6 0 -32.5132 -135.17 -25.85 + 27 114.024 737 5 1 -32.5116 -135.234 -54.45 + 27 136.268 224 5 0 -32.5105 -135.239 -55.85 + 27 207.878 737 4 1 -32.4979 -135.314 -84.45 + 27 100.488 224 4 0 -32.499 -135.315 -85.85 + 27 134.819 737 3 1 -32.5073 -135.338 -114.45 + 27 110.132 224 3 0 -32.5062 -135.337 -115.85 + 27 151.82 737 2 1 -32.4646 -135.301 -144.45 + 27 122.375 224 2 0 -32.4622 -135.297 -145.85 + 27 316.578 738 1 1 -32.4164 -135.218 -174.45 + 27 109.993 224 1 0 -32.4183 -135.216 -175.85 + 27 407.474 737 0 1 -32.4538 -135.169 -204.45 + 27 106.154 224 0 0 -32.4553 -135.168 -205.85 + 27 35.7576 737 1 1 -32.4501 -135.179 -174.619 + 27 130.788 223 0 0 -32.5128 -135.46 -205.85 + 27 67.1778 1370 2 0 125.805 94.15 -146.172 + 27 103.791 222 0 0 -32.586 -135.555 -205.85 + 27 239.301 736 0 1 -32.65 -135.516 -204.481 + 27 30.6479 228 8 0 -32.3572 -134.417 34.15 + 27 79.5639 229 8 0 -32.3004 -134.35 34.0658 + 27 513.545 230 8 0 -32.084 -134.15 33.9972 +Number of digits in this event: 15 Using G4ParticleGun... -Particle energy: 8.32018 LIN +Particle energy: 7.86022 LIN Particle: e- Event: 28 -Number of tracker hits in this event: 33 - 28 131.436 352 9 1 -109.659 53.9368 65.55 - 28 147.144 1169 9 0 -109.659 53.9367 64.15 - 28 105.029 352 8 1 -109.665 53.934 35.55 - 28 156.141 1169 8 0 -109.667 53.9331 34.15 - 28 156.067 352 7 1 -109.701 53.9119 5.55 - 28 150.915 1169 7 0 -109.705 53.9131 4.15 - 28 108.751 351 6 1 -109.776 53.9369 -24.45 - 28 130.798 1169 6 0 -109.78 53.9382 -25.85 - 28 110.79 351 5 1 -109.857 53.963 -54.45 - 28 314.539 1169 5 0 -109.858 53.9642 -55.85 - 28 106.211 351 4 1 -109.872 53.9869 -84.45 - 28 109.96 1169 4 0 -109.872 53.99 -85.85 - 28 136.79 351 3 1 -109.888 54.0557 -114.45 - 28 109.297 1170 3 0 -109.888 54.0587 -115.85 - 28 109.337 351 2 1 -109.891 54.126 -144.45 - 28 132.344 1170 2 0 -109.891 54.1288 -145.85 - 28 222.517 351 1 1 -109.905 54.186 -174.45 - 28 166.585 1170 1 0 -109.905 54.1894 -175.85 - 28 209.838 351 0 1 -109.915 54.2685 -204.45 - 28 126.333 1171 0 0 -109.915 54.2719 -205.85 - 28 62.5475 687 6 1 -42.5055 93.6392 -24.45 - 28 200.459 143 0 1 -151.533 177.955 -204.85 - 28 36.6673 142 0 1 -151.55 177.997 -204.812 - 28 70.4136 883 6 0 -176.724 -3.34789 -26.2496 - 28 87.7185 1129 4 0 -92.8689 46.0092 -86.25 - 28 124.975 1272 2 0 -116.166 74.5877 -146.25 - 28 80.1601 404 0 1 -99.3086 63.7953 -204.85 - 28 768.089 349 0 1 -110.237 54.1349 -204.45 - 28 344.207 1170 0 0 -110.318 54.1517 -205.85 - 28 193.123 1169 0 0 -110.294 53.9765 -205.85 - 28 126.299 350 0 1 -110.15 54.1261 -204.549 - 28 136.529 352 0 1 -109.75 54.1109 -204.68 - 28 332.77 353 0 1 -109.55 54.0907 -204.475 -Number of digits in this event: 24 -Using G4ParticleGun... -Particle energy: 4.15536 LIN +Number of tracker hits in this event: 49 + 28 122.818 512 10 0 -86.9103 -77.6473 94.15 + 28 124.861 465 9 1 -86.9095 -77.6532 65.55 + 28 102.444 511 9 0 -86.909 -77.6535 64.15 + 28 96.4322 465 8 1 -86.9055 -77.6578 35.55 + 28 113.476 511 8 0 -86.9061 -77.6584 34.15 + 28 163.598 465 7 1 -86.9218 -77.6677 5.55 + 28 118.733 511 7 0 -86.9231 -77.6669 4.15 + 28 326.719 465 6 1 -86.9492 -77.6463 -24.45 + 28 104.851 512 6 0 -86.9508 -77.645 -25.85 + 28 693.87 465 5 1 -86.9868 -77.6134 -54.45 + 28 356.032 512 5 0 -86.9894 -77.6115 -55.85 + 28 121.976 465 4 1 -87.046 -77.575 -84.45 + 28 99.9742 512 4 0 -87.0488 -77.573 -85.85 + 28 114.416 464 3 1 -87.0995 -77.5386 -114.45 + 28 276.247 512 3 0 -87.101 -77.5361 -115.85 + 28 119.522 464 2 1 -87.1301 -77.492 -144.45 + 28 137.798 512 2 0 -87.1324 -77.4898 -145.85 + 28 126.182 464 1 1 -87.1801 -77.4446 -174.45 + 28 99.1801 513 1 0 -87.1816 -77.4436 -175.85 + 28 138.77 464 0 1 -87.2179 -77.4195 -204.45 + 28 390.655 513 0 0 -87.2159 -77.4189 -205.85 + 28 198.538 453 0 1 -89.3568 -76.1547 -204.85 + 28 1.10629 525 0 0 -92.1984 -74.9568 -205.85 + 28 40.0324 429 0 1 -94.185 -75.2984 -204.85 + 28 44.8475 526 0 0 -94.1613 -74.85 -205.85 + 28 173.176 351 1 0 -84.9302 -109.75 -176.194 + 28 26.2061 466 6 1 -86.85 -77.484 -24.4891 + 28 36.0155 511 5 0 -87.0352 -77.65 -56.1186 + 28 114.483 461 4 1 -87.6975 -78.3284 -84.45 + 28 207.793 508 4 0 -87.773 -78.3679 -85.85 + 28 141.682 452 3 1 -89.5063 -79.2278 -114.45 + 28 124.157 504 3 0 -89.4906 -79.1537 -115.85 + 28 116.737 454 2 1 -89.1913 -77.5961 -144.45 + 28 118.706 513 2 0 -89.1662 -77.45 -145.857 + 28 128.424 456 1 1 -88.8285 -74.6405 -174.45 + 28 101.954 528 1 0 -88.8488 -74.4238 -175.85 + 28 245.188 551 0 0 -89.2914 -69.7657 -205.85 + 28 101.483 683 0 1 -43.45 -85.9704 -204.811 + 28 9.88062 466 4 1 -86.651 -77.7646 -84.45 + 28 115.364 467 4 1 -86.65 -77.7644 -84.4834 + 28 178.105 511 4 0 -86.6083 -77.7515 -85.85 + 28 94.4167 470 3 1 -85.8575 -77.4518 -114.45 + 28 48.4927 471 3 1 -85.85 -77.4546 -114.746 + 28 109.034 474 2 1 -85.2344 -77.6535 -144.45 + 28 134.931 511 2 0 -85.2046 -77.6774 -145.85 + 28 128.768 477 1 1 -84.6476 -78.3118 -174.45 + 28 119.196 508 1 0 -84.6009 -78.372 -175.85 + 28 122.698 482 0 1 -83.621 -79.7071 -204.45 + 28 109.893 501 0 0 -83.5635 -79.7015 -205.85 +Number of digits in this event: 25 +Using G4ParticleGun... +Particle energy: 1.14605 LIN Particle: e- Event: 29 -Number of tracker hits in this event: 33 - 29 109.885 1077 10 1 35.518 -98.537 95.55 - 29 87.9733 408 10 0 35.5207 -98.537 94.15 - 29 125.599 1077 9 1 35.5799 -98.5319 65.55 - 29 118.983 408 9 0 35.5826 -98.5301 64.15 - 29 332.249 1077 8 1 35.6399 -98.499 35.55 - 29 136.859 408 8 0 35.6434 -98.4959 34.15 - 29 139.433 1078 7 1 35.7124 -98.4377 5.55 - 29 171.638 408 7 0 35.7167 -98.437 4.15 - 29 165.195 1078 6 1 35.7903 -98.43 -24.45 - 29 106.557 408 6 0 35.7925 -98.4298 -25.85 - 29 121.79 1078 5 1 35.8261 -98.4226 -54.45 - 29 235.806 408 5 0 35.8285 -98.4213 -55.85 - 29 113.701 1079 4 1 35.8944 -98.3998 -84.45 - 29 274.857 408 4 0 35.8889 -98.4017 -85.85 - 29 148.332 1078 3 1 35.7843 -98.4417 -114.45 - 29 129.457 408 3 0 35.7795 -98.4442 -115.85 - 29 104.623 1078 2 1 35.6631 -98.5095 -144.45 - 29 101.828 408 2 0 35.6586 -98.5154 -145.85 - 29 132.189 1077 1 1 35.5863 -98.6278 -174.45 - 29 137.59 407 1 0 35.5836 -98.6344 -175.85 - 29 124.975 1077 0 1 35.5285 -98.776 -204.45 - 29 126.974 406 0 0 35.5241 -98.7817 -205.85 - 29 39.5685 739 0 1 -32.05 -51.2997 -204.601 - 29 71.9916 723 1 0 98.8322 -35.3973 -176.25 - 29 18.0052 722 1 0 98.9567 -35.4501 -175.903 - 29 202.732 1396 1 1 99.4938 -35.8984 -174.85 - 29 217.58 1397 1 1 99.55 -36.1664 -174.704 - 29 160.978 927 5 0 49.6848 5.53085 -56.25 - 29 9.38972 1078 8 1 35.65 -98.4956 35.5164 - 29 249.003 1079 0 1 36.0439 -98.3254 -204.45 - 29 293.503 408 0 0 36.0452 -98.3628 -205.85 - 29 226.038 1080 0 1 36.05 -98.3258 -204.594 - 29 99.1281 407 0 0 36.203 -98.6207 -205.85 -Number of digits in this event: 23 +Number of tracker hits in this event: 65 + 29 105.872 1334 10 1 86.8612 45.14 95.55 + 29 123.231 1125 10 0 86.8601 45.1427 94.15 + 29 116.523 1334 9 1 86.8651 45.1785 65.55 + 29 117.538 1125 9 0 86.8624 45.1903 64.15 + 29 345.183 1333 8 1 86.8321 45.4351 35.55 + 29 114.693 1127 8 0 86.8313 45.4504 34.15 + 29 127.51 1333 7 1 86.8243 45.7532 5.55 + 29 125.239 1128 7 0 86.816 45.7653 4.15 + 29 132.725 1333 6 1 86.6534 46.0085 -24.45 + 29 9.42136 1332 6 1 86.65 46.013 -24.811 + 29 158.348 1129 6 0 86.6405 46.0264 -25.85 + 29 127.063 1331 5 1 86.3912 46.406 -54.45 + 29 131.553 1131 5 0 86.3804 46.4272 -55.85 + 29 215.913 1330 4 1 86.17 46.8415 -84.45 + 29 148.552 1134 4 0 86.1675 46.8608 -85.85 + 29 108.407 1330 3 1 86.088 47.2499 -114.45 + 29 226.229 1136 3 0 86.0804 47.2699 -115.85 + 29 208.126 1329 2 1 85.9441 47.6655 -144.45 + 29 214.43 1138 2 0 85.9288 47.6763 -145.85 + 29 581.653 1327 1 1 85.6122 47.9034 -174.45 + 29 120.077 1139 1 0 85.601 47.9089 -175.85 + 29 145.006 1326 0 1 85.3634 48.0192 -204.45 + 29 151.878 1139 0 0 85.3457 48.0203 -205.85 + 29 142.692 1148 1 0 85.1133 49.7393 -175.85 + 29 144.003 1149 1 0 85.0601 49.85 -175.93 + 29 192.155 1150 1 0 84.9647 50.05 -176.002 + 29 58.0628 1329 1 1 85.9245 50.103 -174.85 + 29 83.6074 1330 1 1 86.05 50.0305 -174.736 + 29 62.353 1331 1 1 86.25 49.9166 -174.587 + 29 2.79058 1326 1 1 85.4499 48.0237 -174.452 + 29 55.2163 1330 2 1 86.0501 47.7768 -144.699 + 29 92.3261 1140 2 0 87.1299 48.1679 -145.85 + 29 192.569 1141 2 0 87.2525 48.25 -145.943 + 29 156.981 1142 2 0 87.5208 48.4501 -145.9 + 29 57.5084 1347 2 1 89.5005 50.2021 -144.85 + 29 297.668 1348 2 1 89.65 50.343 -144.792 + 29 147.288 1349 2 1 89.8502 50.47 -144.654 + 29 108.102 1350 2 1 90.1501 50.6618 -144.451 + 29 26.3775 1145 2 0 88.9466 49.0775 -145.85 + 29 85.0645 1144 2 0 88.9127 49.05 -145.868 + 29 71.1362 1143 2 0 88.7454 48.85 -145.887 + 29 10.3905 1343 2 1 88.7356 46.2758 -144.85 + 29 106.264 1110 2 0 88.1099 42.1831 -145.85 + 29 20.3606 1111 2 0 88.2209 42.25 -145.868 + 29 83.3897 1135 2 0 86.104 47.056 -145.85 + 29 285.509 1134 2 0 86.1038 47.05 -145.858 + 29 167.451 1333 1 1 86.767 47.9184 -174.45 + 29 44.9392 1334 1 1 86.85 48.149 -174.708 + 29 79.4173 1147 1 0 87.1802 49.4832 -175.851 + 29 220.856 1341 0 1 88.378 93.8094 -204.45 + 29 46.2763 1365 0 0 88.5874 93.2437 -205.85 + 29 76.3319 1364 0 0 88.6413 93.15 -206.059 + 29 40.0539 1363 0 0 88.6992 92.9497 -206.203 + 29 205.174 1226 0 0 83.9448 65.3441 -206.25 + 29 40.4468 1316 0 1 83.2583 65.2212 -204.85 + 29 213.561 1315 0 1 83.2498 65.2157 -204.834 + 29 117.24 1349 1 0 87.9879 89.8896 -176.25 + 29 128.24 1340 1 1 88.1204 89.3963 -174.85 + 29 25.003 1341 1 1 88.25 89.1717 -174.491 + 29 36.4179 1125 8 0 86.3993 45.1009 34.1494 + 29 131.345 1124 8 0 86.3483 45.05 34.0131 + 29 120.485 1153 8 0 60.143 50.7509 33.75 + 29 274.467 1203 8 1 60.6792 50.2087 35.1505 + 29 25.169 1202 8 1 60.6497 49.9099 35.4484 + 29 39.272 1204 8 1 60.8502 49.5049 35.5138 +Number of digits in this event: 35 Using G4ParticleGun... -Particle energy: 5.42445 LIN +Particle energy: 6.34371 LIN Particle: e- Event: 30 -Number of tracker hits in this event: 107 - 30 522.99 1567 8 1 133.604 27.847 35.55 - 30 126.244 1038 8 0 133.606 27.8476 34.15 - 30 126.209 1567 7 1 133.627 27.8583 5.55 - 30 271.164 1039 7 0 133.628 27.8584 4.15 - 30 117.006 1567 6 1 133.651 27.859 -24.45 - 30 115.154 1039 6 0 133.649 27.8626 -25.85 - 30 156.777 1567 5 1 133.599 27.9337 -54.45 - 30 122.955 1039 5 0 133.591 27.9378 -55.85 - 30 112.063 1566 4 1 133.427 28.0225 -84.45 - 30 121.001 1039 4 0 133.421 28.0254 -85.85 - 30 115.914 1565 3 1 133.295 28.0947 -114.45 - 30 124.79 1040 3 0 133.29 28.0978 -115.85 - 30 215.548 1565 2 1 133.167 28.1549 -144.45 - 30 279.006 1040 2 0 133.159 28.1568 -145.85 - 30 109.347 1564 1 1 133.009 28.181 -174.45 - 30 311.053 1040 1 0 133.004 28.1808 -175.85 - 30 133.053 1563 0 1 132.903 28.1907 -204.45 - 30 124.137 1040 0 0 132.897 28.196 -205.85 - 30 167.769 1609 0 1 141.98 51.6034 -204.45 - 30 314.614 1608 0 1 141.95 51.5949 -204.515 - 30 30.5914 1566 2 1 133.35 28.2317 -144.765 - 30 36.4163 1042 2 0 134.252 28.6326 -145.85 - 30 296.346 1043 2 0 134.285 28.6501 -145.897 - 30 168.68 1044 2 0 134.118 28.85 -146.149 - 30 137.126 1045 2 0 134.171 29.05 -146.19 - 30 34.4901 1118 2 0 165.362 43.6857 -146.25 - 30 154.191 638 4 0 61.9594 -52.3878 -86.25 - 30 59.3232 878 8 0 115.294 -4.25 33.8678 - 30 196.566 1039 8 0 133.598 27.8507 34.15 - 30 198.977 1566 7 1 133.471 27.9508 5.55 - 30 221.142 1566 6 1 133.405 28.2747 -24.45 - 30 115.419 1041 6 0 133.402 28.2861 -25.85 - 30 119.414 1566 5 1 133.375 28.5302 -54.45 - 30 116.622 1042 5 0 133.446 28.5127 -55.85 - 30 151.499 1573 4 1 134.901 28.165 -84.45 - 30 116.538 1040 4 0 134.962 28.1539 -85.85 - 30 100.618 1580 3 1 136.265 27.9285 -114.45 - 30 142.677 1039 3 0 136.341 27.9114 -115.85 - 30 162.424 1589 2 1 137.979 27.5355 -144.45 - 30 204.006 1037 2 0 138.057 27.5271 -145.85 - 30 113.052 1597 1 1 139.62 27.3453 -174.45 - 30 123.552 1036 1 0 139.693 27.3303 -175.85 - 30 104.112 1604 0 1 141.132 27.0258 -204.45 - 30 0.907076 1605 0 1 141.15 27.0212 -204.845 - 30 135.122 1034 0 0 141.195 27.0106 -205.85 - 30 84.573 1590 2 1 138.15 27.5862 -144.569 - 30 22.2817 1591 2 1 138.35 27.6673 -144.797 - 30 81.8487 1039 2 0 139.314 27.9884 -145.85 - 30 135.897 1743 1 1 168.884 40.5603 -174.45 - 30 37.2601 1742 1 1 168.75 40.5959 -174.723 - 30 139.751 1103 1 0 168.241 40.6778 -175.85 - 30 118.28 1681 0 1 156.369 42.7044 -204.45 - 30 120.515 1112 0 0 156.313 42.5722 -205.85 - 30 31.7518 1072 0 0 170.1 34.4921 -206.25 - 30 202.177 1071 0 0 170.171 34.45 -206.176 - 30 26.8737 1755 0 1 171.301 33.7583 -204.85 - 30 102.23 1756 0 1 171.35 33.7273 -204.79 - 30 121.108 1757 0 1 171.55 33.558 -204.578 - 30 237.073 1581 3 1 136.443 27.7792 -114.45 - 30 226.118 1038 3 0 136.509 27.7721 -115.85 - 30 93.0153 1588 2 1 137.828 26.8519 -144.45 - 30 155.329 1033 2 0 137.812 26.8252 -145.85 - 30 107.965 1587 1 1 137.694 26.2454 -174.45 - 30 146.704 1030 1 0 137.704 26.1798 -175.85 - 30 135.525 1587 0 1 137.647 25.4409 -204.45 - 30 62.9981 1026 0 0 137.708 25.2716 -205.85 - 30 128 1025 0 0 137.717 25.25 -206.032 - 30 100.766 1586 2 1 137.528 27.3672 -144.45 - 30 36.7495 1587 2 1 137.55 27.3946 -144.721 - 30 98.5179 1609 1 1 142.133 31.1649 -174.45 - 30 100.505 1610 1 1 142.15 31.1959 -174.583 - 30 117.772 1057 1 0 142.292 31.5136 -175.85 - 30 123.941 1623 0 1 144.914 38.8791 -204.45 - 30 1.16156 1095 0 0 145.002 39.2486 -205.85 - 30 96.0303 1096 0 0 145.002 39.25 -205.855 - 30 124.038 1596 1 1 139.485 26.8098 -174.45 - 30 39.5623 1037 1 0 139.647 27.5945 -175.85 - 30 81.418 1038 1 0 139.668 27.65 -175.952 - 30 198.827 1039 1 0 139.773 27.8501 -175.978 - 30 101.639 1041 1 0 140.186 28.25 -176.178 - 30 174.711 1566 8 1 133.55 27.8723 35.535 - 30 41.5168 1040 8 0 133.158 28.05 33.8724 - 30 23.3458 1532 7 1 126.571 30.9098 5.54995 - 30 79.1631 1531 7 1 126.55 30.921 5.45763 - 30 116.007 1055 7 0 126.276 31.0714 4.15 - 30 65.0106 1499 6 1 120.003 34.2551 -24.45 - 30 53.6008 1498 6 1 119.95 34.3184 -24.6576 - 30 136.099 1073 6 0 119.637 34.6579 -25.85 - 30 45.5937 1457 5 1 111.611 43.6628 -54.4501 - 30 72.083 1456 5 1 111.55 43.7235 -54.6149 - 30 24.656 1120 5 0 111.089 44.2065 -55.8501 - 30 87.7458 1121 5 0 111.048 44.25 -55.9606 - 30 115.578 1402 4 1 100.604 55.2379 -84.45 - 30 60.8781 1178 4 0 100.529 55.7711 -85.8507 - 30 66.4813 1179 4 0 100.519 55.85 -86.0617 - 30 185.176 1394 3 1 99.1167 66.3781 -114.451 - 30 24.0339 1234 3 0 99.2089 67.0089 -115.85 - 30 99.8816 1235 3 0 99.2148 67.05 -115.942 - 30 159.89 1404 2 1 101.049 80.0631 -144.45 - 30 89.9449 1303 2 0 100.922 80.7194 -145.85 - 30 37.7716 1304 2 0 100.901 80.85 -146.123 - 30 171.862 1396 1 1 99.4201 93.8775 -174.45 - 30 79.1446 1370 1 0 99.2332 94.2702 -175.851 - 30 40.6658 1371 1 0 99.1906 94.35 -176.149 - 30 114.156 1373 0 1 94.9258 101.344 -204.45 - 30 65.9367 1406 0 0 94.8396 101.521 -205.85 - 30 119.42 1407 0 0 94.8221 101.55 -206.095 -Number of digits in this event: 50 -Using G4ParticleGun... -Particle energy: 7.56568 LIN +Number of tracker hits in this event: 161 + 30 116.002 767 10 1 -26.6002 -107.866 95.55 + 30 123.173 361 10 0 -26.6012 -107.869 94.15 + 30 110.841 767 9 1 -26.619 -107.925 65.55 + 30 113.841 361 9 0 -26.6202 -107.928 64.15 + 30 113.044 766 8 1 -26.6511 -107.981 35.55 + 30 212.034 360 8 0 -26.6567 -107.98 34.15 + 30 286.898 766 7 1 -26.7803 -107.959 5.55 + 30 423.058 360 7 0 -26.7892 -107.955 4.15 + 30 123.285 765 6 1 -26.9469 -107.848 -24.45 + 30 132.574 361 6 0 -26.9402 -107.837 -25.85 + 30 260.47 766 5 1 -26.7851 -107.628 -54.45 + 30 319.584 362 5 0 -26.7659 -107.61 -55.85 + 30 104.008 769 4 1 -26.2348 -107.188 -84.45 + 30 120.646 364 4 0 -26.2063 -107.174 -85.85 + 30 99.0715 772 3 1 -25.5885 -106.897 -114.45 + 30 197.278 366 3 0 -25.5565 -106.88 -115.85 + 30 140.682 775 2 1 -24.8798 -106.52 -144.45 + 30 145.85 368 2 0 -24.8453 -106.501 -145.85 + 30 128.31 779 1 1 -24.1586 -106.122 -174.45 + 30 142.569 370 1 0 -24.1153 -106.097 -175.85 + 30 105.348 784 0 1 -23.209 -105.588 -204.45 + 30 173.074 373 0 0 -23.1769 -105.546 -205.85 + 30 103.704 372 0 0 -23.1623 -105.55 -206.224 + 30 494.103 777 1 1 -24.5775 -106.047 -174.45 + 30 91.5252 366 1 0 -24.3411 -106.828 -175.85 + 30 50.4929 365 1 0 -24.2869 -106.95 -176.08 + 30 54.7057 797 0 1 -20.462 -114.738 -204.45 + 30 67.765 796 0 1 -20.65 -114.798 -204.544 + 30 59.3116 795 0 1 -20.85 -114.889 -204.619 + 30 87.757 794 0 1 -21.05 -114.97 -204.686 + 30 60.2956 793 0 1 -21.25 -115.062 -204.751 + 30 53.6121 792 0 1 -21.45 -115.165 -204.789 + 30 67.5029 791 0 1 -21.65 -115.283 -204.813 + 30 64.2802 790 0 1 -21.85 -115.388 -204.836 + 30 294.711 297 0 0 -29.5186 -120.721 -205.85 + 30 478.807 296 0 0 -29.5592 -120.75 -205.853 + 30 72.2462 298 0 0 -31.0583 -120.55 -206.108 + 30 1.02056 299 0 0 -31.1154 -120.35 -206.247 + 30 38.7941 349 1 0 -24.5103 -110.235 -175.85 + 30 66.8216 348 1 0 -24.5125 -110.35 -175.89 + 30 91.9952 347 1 0 -24.5292 -110.55 -175.963 + 30 56.7344 346 1 0 -24.5472 -110.75 -176.05 + 30 49.0393 345 1 0 -24.5558 -110.95 -176.127 + 30 60.0364 344 1 0 -24.5609 -111.151 -176.194 + 30 44.9131 761 5 1 -27.6979 -108.513 -54.85 + 30 244.098 765 1 1 -26.925 -108.34 -174.45 + 30 228.445 359 1 0 -26.9291 -108.339 -175.85 + 30 101.347 765 0 1 -27.0088 -108.321 -204.45 + 30 457.261 359 0 0 -27.0119 -108.318 -205.85 + 30 86.3132 254 0 1 -129.2 -91.3731 -204.85 + 30 16.5978 1074 3 1 34.85 87.3451 -114.68 + 30 336.003 766 0 1 -26.8478 -108.21 -204.45 + 30 58.116 914 0 1 3.05 -87.6497 -204.629 + 30 48.0051 490 3 0 -53.4529 -82.05 -116.222 + 30 124.493 766 6 1 -26.7037 -108.047 -24.45 + 30 228.402 360 6 0 -26.7062 -108.044 -25.85 + 30 141.344 360 5 0 -26.7455 -107.98 -55.85 + 30 182.286 767 4 1 -26.5465 -107.882 -84.45 + 30 117.246 361 4 0 -26.5192 -107.879 -85.85 + 30 185.793 770 3 1 -25.9408 -107.806 -114.45 + 30 227.046 361 3 0 -25.9167 -107.8 -115.85 + 30 96.1936 773 2 1 -25.4199 -107.662 -144.45 + 30 137.039 362 2 0 -25.3896 -107.646 -145.85 + 30 121.616 776 1 1 -24.7245 -107.25 -174.45 + 30 113.881 364 1 0 -24.687 -107.27 -175.85 + 30 99.4888 780 0 1 -23.8977 -107.665 -204.45 + 30 126.932 362 0 0 -23.8712 -107.683 -205.85 + 30 158.534 352 3 0 -27.0896 -109.681 -115.85 + 30 2.29059 1435 5 0 21.8559 107.345 -56.2499 + 30 418.586 1436 5 0 21.8567 107.35 -56.2412 + 30 57.2496 211 1 1 -137.95 -37.7555 -174.586 + 30 132.649 764 6 1 -27.1726 -108.172 -24.45 + 30 164.606 755 5 1 -29.029 -106.603 -54.45 + 30 96.1198 754 5 1 -29.05 -106.574 -54.613 + 30 121.953 369 5 0 -29.2255 -106.339 -55.85 + 30 138.463 734 4 1 -33.067 -100.259 -84.45 + 30 33.966 401 4 0 -33.3136 -99.7967 -85.8502 + 30 80.7545 402 4 0 -33.3404 -99.7499 -85.9922 + 30 113.641 705 3 1 -38.8941 -89.6586 -114.45 + 30 122.275 454 3 0 -39.2291 -89.2296 -115.85 + 30 329.393 669 2 1 -46.098 -80.1647 -144.45 + 30 222.756 501 2 0 -46.49 -79.7768 -145.85 + 30 157.395 623 1 1 -55.2763 -72.4062 -174.45 + 30 123.064 540 1 0 -55.6036 -72.0006 -175.85 + 30 175.495 585 0 1 -62.8805 -64.1017 -204.45 + 30 176.723 581 0 0 -63.1291 -63.7415 -205.85 + 30 19.8948 582 0 0 -63.1849 -63.65 -206.163 + 30 58.7784 789 2 0 -49.2887 -22.1274 -146.25 + 30 287.369 790 2 0 -49.2984 -22.05 -146.223 + 30 123.753 366 5 0 -28.9106 -106.786 -55.85 + 30 3.63197 763 4 1 -27.2579 -111.158 -84.4502 + 30 103.88 764 4 1 -27.25 -111.165 -84.4612 + 30 35.287 765 4 1 -27.05 -111.325 -84.7306 + 30 184.986 341 4 0 -26.1873 -111.79 -85.85 + 30 109.354 940 3 1 8.065 -119.755 -114.45 + 30 95.8095 303 3 0 8.13411 -119.441 -115.85 + 30 108.443 304 3 0 8.17033 -119.35 -116.184 + 30 93.5844 960 2 1 12.1336 -113.019 -144.45 + 30 97.9691 959 2 1 12.05 -112.96 -144.558 + 30 83.8698 339 2 0 11.5656 -112.28 -145.85 + 30 76.5741 340 2 0 11.5015 -112.15 -146.046 + 30 96.5472 584 2 0 5.02758 -63.2273 -146.25 + 30 143.921 585 2 0 4.98674 -63.0499 -146.115 + 30 91.0565 920 2 1 4.20374 -63.0642 -144.85 + 30 28.6102 919 2 1 4.05 -63.0765 -144.537 + 30 126.863 961 2 1 12.3466 -112.905 -144.45 + 30 23.8298 337 2 0 12.2425 -112.575 -145.85 + 30 140.677 338 2 0 12.2323 -112.55 -145.955 + 30 45.1808 683 2 0 23.7234 -43.3788 -146.25 + 30 60.2482 684 2 0 23.7177 -43.25 -146.205 + 30 194.45 685 2 0 23.7422 -43.05 -146.185 + 30 287.598 747 2 0 1.69612 -30.5687 -146.25 + 30 8.01109 1043 0 1 28.65 -99.9671 -204.728 + 30 127.071 1044 0 1 28.85 -99.9233 -204.833 + 30 179.048 1045 0 1 29.05 -99.9338 -204.807 + 30 22.8142 762 1 1 -27.6035 -113.226 -174.45 + 30 68.6478 761 1 1 -27.6502 -113.235 -174.48 + 30 71.799 760 1 1 -27.85 -113.263 -174.623 + 30 25.79 759 1 1 -28.0506 -113.306 -174.799 + 30 72.0383 331 1 0 -29.3142 -113.874 -175.85 + 30 88.217 330 1 0 -29.4632 -113.95 -176.01 + 30 8.56903 664 0 1 -47.075 -140.189 -204.45 + 30 99.6788 665 0 1 -47.0499 -140.177 -204.488 + 30 41.6105 666 0 1 -46.85 -140.048 -204.729 + 30 8.49199 203 0 0 -46.038 -139.36 -205.85 + 30 156.388 204 0 0 -46.0266 -139.35 -205.866 + 30 123.36 738 4 1 -32.3534 -105.405 -84.4501 + 30 21.4107 737 4 1 -32.45 -105.388 -84.742 + 30 127.978 374 4 0 -32.9014 -105.321 -85.8505 + 30 128.731 675 3 1 -45.0194 -105.12 -114.45 + 30 38.5971 378 3 0 -45.024 -104.405 -115.85 + 30 98.8138 379 3 0 -45.0317 -104.35 -115.941 + 30 11.0263 380 3 0 -45.064 -104.15 -116.217 + 30 3.30053 666 2 1 -46.6648 -80.9986 -144.45 + 30 79.8573 667 2 1 -46.6495 -80.9885 -144.459 + 30 77.6465 668 2 1 -46.4498 -80.837 -144.577 + 30 0.46651 670 2 1 -46.05 -80.5236 -144.849 + 30 128.691 503 2 0 -44.8327 -79.4485 -145.85 + 30 330.178 504 2 0 -44.5407 -79.2499 -146.011 + 30 245.805 1023 1 1 24.6932 -84.0937 -174.45 + 30 40.8108 487 1 0 25.5996 -82.5293 -175.85 + 30 89.0855 488 1 0 25.6679 -82.4499 -175.919 + 30 83.533 489 1 0 25.6827 -82.25 -176.055 + 30 43.5256 490 1 0 25.7292 -82.0499 -176.156 + 30 17.1808 827 4 0 -36.7606 -14.6461 -86.25 + 30 61.7391 1022 1 1 24.6497 -84.1139 -174.482 + 30 83.8892 1021 1 1 24.4497 -84.1214 -174.581 + 30 138.562 1020 1 1 24.25 -84.1083 -174.693 + 30 183.046 1019 1 1 24.05 -84.0396 -174.643 + 30 94.1581 739 4 1 -32.2499 -105.166 -84.4512 + 30 72.2 740 4 1 -32.0499 -104.671 -84.6858 + 30 139.924 381 4 0 -31.8196 -103.943 -85.8501 + 30 18.8762 380 4 0 -31.722 -103.95 -86.1958 + 30 223.351 226 4 0 -41.7117 -134.788 -86.25 + 30 182.909 225 4 0 -42.3126 -134.95 -86.0614 + 30 78.0869 224 4 0 -42.5826 -135.15 -86.0258 + 30 113.306 223 4 0 -42.5724 -135.35 -85.9905 + 30 2.16491 222 4 0 -42.4498 -135.55 -85.8506 + 30 141.601 691 4 1 -41.6714 -138.53 -84.85 + 30 135.881 692 4 1 -41.65 -138.57 -84.842 + 30 133.101 358 0 0 -27.1345 -108.413 -205.85 +Number of digits in this event: 71 +Using G4ParticleGun... +Particle energy: 3.28999 LIN Particle: e- Event: 31 -Number of tracker hits in this event: 130 - 31 133.61 353 10 1 -109.505 -36.2828 95.55 - 31 96.3457 718 10 0 -109.506 -36.2846 94.15 - 31 124.494 353 9 1 -109.523 -36.3216 65.55 - 31 101.054 718 9 0 -109.524 -36.3227 64.15 - 31 104.852 353 8 1 -109.55 -36.3476 35.55 - 31 137.2 718 8 0 -109.55 -36.3498 34.15 - 31 122.024 352 7 1 -109.564 -36.395 5.55 - 31 149.196 718 7 0 -109.566 -36.3995 4.15 - 31 113.936 352 6 1 -109.591 -36.4917 -24.45 - 31 150.037 717 6 0 -109.593 -36.4951 -25.85 - 31 339.443 352 5 1 -109.619 -36.5711 -54.45 - 31 104.78 717 5 0 -109.619 -36.5749 -55.85 - 31 115.366 352 4 1 -109.636 -36.6583 -84.45 - 31 120.948 716 4 0 -109.638 -36.6622 -85.85 - 31 364.432 352 3 1 -109.68 -36.7508 -114.45 - 31 132.781 716 3 0 -109.683 -36.7538 -115.85 - 31 119.239 352 2 1 -109.74 -36.8152 -144.45 - 31 187.33 716 2 0 -109.739 -36.8164 -145.85 - 31 348.572 352 1 1 -109.724 -36.8444 -174.45 - 31 222.678 716 1 0 -109.727 -36.8481 -175.85 - 31 654.273 351 0 1 -109.771 -36.9395 -204.45 - 31 261.577 715 0 0 -109.776 -36.9418 -205.85 - 31 324.212 976 0 0 74.0506 15.3945 -206.25 - 31 65.7777 977 0 0 74.2444 15.45 -205.938 - 31 103.983 1271 0 1 74.3997 15.455 -204.85 - 31 363.787 717 4 0 -109.648 -36.65 -85.984 - 31 50.7008 371 1 1 -105.768 -104.2 -174.85 - 31 268.941 372 1 1 -105.75 -104.336 -174.706 - 31 330.636 714 0 0 -110.178 -37.1091 -205.85 - 31 52.8319 352 0 1 -109.617 -37.2122 -204.45 - 31 61.0829 353 0 1 -109.55 -37.1908 -204.53 - 31 214.183 354 0 1 -109.35 -37.1249 -204.716 - 31 115.383 355 0 1 -109.15 -37.0835 -204.819 - 31 111.684 719 0 0 -104.214 -36.1454 -205.85 - 31 175.273 720 0 0 -103.905 -36.0495 -205.999 - 31 63.1748 721 0 0 -103.558 -35.85 -206.095 - 31 206.666 722 0 0 -103.474 -35.6496 -206.132 - 31 49.6088 723 0 0 -103.459 -35.4492 -206.134 - 31 66.8968 724 0 0 -103.419 -35.25 -206.16 - 31 44.8603 725 0 0 -103.391 -35.0488 -206.198 - 31 49.3616 726 0 0 -103.397 -34.85 -206.145 - 31 56.9843 727 0 0 -103.393 -34.6498 -206.124 - 31 90.7317 728 0 0 -103.335 -34.45 -206.054 - 31 17.1235 729 0 0 -103.311 -34.2496 -205.901 - 31 314.758 382 0 1 -103.61 -33.2728 -204.85 - 31 29.2271 718 0 0 -92.3185 -36.3431 -206.25 - 31 284.57 717 3 0 -109.609 -36.5871 -115.85 - 31 149.099 353 2 1 -109.432 -36.6073 -144.45 - 31 206.953 717 2 0 -109.426 -36.6106 -145.85 - 31 227.528 354 1 1 -109.299 -36.6804 -174.45 - 31 187.903 717 0 0 -109.138 -36.5999 -205.85 - 31 101.714 354 2 1 -109.35 -36.5258 -144.47 - 31 72.1706 355 2 1 -109.15 -36.3881 -144.531 - 31 68.6631 356 2 1 -108.95 -36.2336 -144.566 - 31 62.545 357 2 1 -108.75 -36.0856 -144.574 - 31 120.269 358 2 1 -108.55 -35.9138 -144.567 - 31 81.9969 359 2 1 -108.35 -35.6841 -144.596 - 31 77.5077 360 2 1 -108.15 -35.453 -144.649 - 31 20.6094 361 2 1 -107.95 -35.2963 -144.784 - 31 53.698 721 2 0 -107.246 -35.7751 -145.85 - 31 82.5871 720 2 0 -107.151 -35.85 -145.993 - 31 17.7564 719 2 0 -106.985 -36.05 -146.213 - 31 162.51 483 1 1 -83.407 -67.1147 -174.451 - 31 26.7972 564 1 0 -83.4044 -67.2284 -175.85 - 31 99.8268 563 1 0 -83.3966 -67.2503 -175.956 - 31 0.0758109 463 1 0 -86.7076 -87.4498 -176.25 - 31 139.77 462 1 0 -86.7077 -87.45 -176.25 - 31 104.904 467 1 1 -86.5786 -87.881 -174.85 - 31 546.645 351 2 1 -109.764 -36.4358 -144.45 - 31 236.329 351 1 1 -109.858 -36.841 -174.45 - 31 150.32 715 1 0 -109.862 -36.8517 -175.85 - 31 133.654 350 0 1 -110.012 -37.0819 -204.45 - 31 283.739 718 2 0 -109.715 -36.403 -145.85 - 31 226.764 355 1 1 -109.083 -35.5454 -174.45 - 31 96.1832 722 1 0 -108.781 -35.5651 -175.85 - 31 60.385 385 0 1 -103.004 -35.5059 -204.45 - 31 174.601 386 0 1 -102.95 -35.5066 -204.693 - 31 86.0551 353 1 1 -109.35 -35.1968 -174.645 - 31 96.3554 733 1 0 -110.619 -33.4232 -175.85 - 31 137.591 734 1 0 -110.747 -33.2498 -176.003 - 31 48.4725 735 1 0 -110.894 -33.05 -176.133 - 31 311.398 167 0 1 -146.555 -9.56026 -204.45 - 31 170.821 166 0 1 -146.75 -9.87009 -204.641 - 31 115.871 726 1 0 -109.692 -34.796 -175.85 - 31 175.057 345 0 1 -110.976 -32.4342 -204.45 - 31 1.59324 738 0 0 -111.112 -32.2513 -205.85 - 31 106.016 739 0 0 -111.113 -32.25 -205.86 - 31 30.9789 456 0 1 -88.85 -9.97097 -204.794 - 31 212.878 387 0 1 -102.692 -29.8424 -204.45 - 31 208.37 352 8 1 -109.55 -36.3474 35.2945 - 31 265.079 718 5 0 -109.616 -36.2848 -55.8501 - 31 174.97 349 4 1 -110.185 -35.7782 -84.45 - 31 119.065 721 4 0 -110.253 -35.731 -85.85 - 31 213.78 343 3 1 -111.458 -34.611 -114.45 - 31 277.444 727 3 0 -111.575 -34.6091 -115.85 - 31 211.931 334 2 1 -113.261 -34.7243 -144.45 - 31 160.314 725 2 0 -113.385 -34.868 -145.85 - 31 112.041 324 1 1 -115.269 -38.0861 -174.45 - 31 58.3575 709 1 0 -115.129 -38.232 -175.85 - 31 101.368 708 1 0 -115.111 -38.2501 -176.015 - 31 108.848 341 0 1 -111.918 -41.0057 -204.45 - 31 241.475 694 0 0 -111.633 -41.1438 -205.85 - 31 25.5451 726 2 0 -113.451 -34.8498 -146.212 - 31 69.1136 726 3 0 -111.816 -34.6501 -116.137 - 31 130.366 719 5 0 -109.64 -36.25 -56.1862 - 31 108.635 351 4 1 -109.884 -36.2146 -84.45 - 31 43.6003 719 4 0 -109.935 -36.0681 -85.85 - 31 67.6062 720 4 0 -109.942 -36.05 -86.0283 - 31 517.844 345 3 1 -111.116 -33.0913 -114.45 - 31 10.9759 735 3 0 -111.19 -32.8557 -115.852 - 31 100.222 736 3 0 -111.191 -32.85 -115.887 - 31 173.354 338 2 1 -112.413 -28.5454 -144.45 - 31 86.868 758 2 0 -112.575 -28.3155 -145.85 - 31 18.5693 759 2 0 -112.604 -28.25 -146.184 - 31 38.0801 327 1 1 -114.619 -22.2839 -174.45 - 31 126.19 328 1 1 -114.55 -22.2926 -174.569 - 31 1.96307 329 1 1 -114.35 -22.2428 -174.846 - 31 201.301 790 1 0 -113.615 -22.044 -175.85 - 31 17.5784 427 0 1 -94.5691 -17.4156 -204.45 - 31 151.101 428 0 1 -94.55 -17.3733 -204.479 - 31 22.6177 429 0 1 -94.35 -16.9229 -204.788 - 31 34.5955 823 0 0 -93.5011 -15.3418 -205.85 - 31 150.051 824 0 0 -93.4555 -15.25 -205.91 - 31 57.8004 825 0 0 -93.3708 -15.05 -206.012 - 31 62.2465 826 0 0 -93.3066 -14.8499 -206.103 - 31 56.0541 827 0 0 -93.2467 -14.65 -206.182 - 31 102.131 346 3 1 -110.95 -32.3718 -114.711 - 31 138.898 344 3 1 -111.15 -31.7812 -114.477 - 31 329.957 742 3 0 -111.618 -31.5043 -115.85 - 31 34.7889 741 3 0 -111.537 -31.65 -116.196 -Number of digits in this event: 62 +Number of tracker hits in this event: 18 + 31 103.813 1561 8 1 132.383 49.7311 35.55 + 31 96.3268 1148 8 0 132.382 49.7318 34.15 + 31 129.388 1561 7 1 132.356 49.7376 5.55 + 31 114.14 1148 7 0 132.353 49.7354 4.15 + 31 197.33 1560 6 1 132.306 49.6964 -24.45 + 31 114.003 1148 6 0 132.304 49.6938 -25.85 + 31 146.823 1560 5 1 132.281 49.6298 -54.45 + 31 146.226 1147 5 0 132.278 49.6276 -55.85 + 31 127.506 1560 4 1 132.221 49.5849 -84.45 + 31 156.673 1147 4 0 132.214 49.5982 -85.85 + 31 126.061 1559 3 1 132.119 49.8643 -114.45 + 31 134.35 1149 3 0 132.106 49.8721 -115.85 + 31 110.797 1558 2 1 131.905 49.9389 -144.45 + 31 140.224 1149 2 0 131.882 49.9266 -145.85 + 31 114.089 1555 1 1 131.239 49.6282 -174.45 + 31 171.097 1147 1 0 131.236 49.6129 -175.85 + 31 150.885 1554 0 1 131.108 49.2758 -204.45 + 31 132.51 1146 0 0 131.076 49.279 -205.85 +Number of digits in this event: 15 Using G4ParticleGun... -Particle energy: 3.30761 LIN +Particle energy: 8.77425 LIN Particle: e- Event: 32 -Number of tracker hits in this event: 57 - 32 118.576 634 9 1 -53.0604 -110.158 65.55 - 32 122.71 349 9 0 -53.0606 -110.16 64.15 - 32 113.675 634 8 1 -53.0805 -110.157 35.55 - 32 108.17 349 8 0 -53.079 -110.156 34.15 - 32 126.049 635 7 1 -53.0493 -110.159 5.55 - 32 112.053 349 7 0 -53.0508 -110.156 4.15 - 32 127.791 634 6 1 -53.0773 -110.106 -24.45 - 32 151.202 350 6 0 -53.0801 -110.104 -25.85 - 32 206.441 634 5 1 -53.1326 -110.045 -54.45 - 32 115.283 350 5 0 -53.1362 -110.038 -55.85 - 32 170.249 634 4 1 -53.2068 -109.86 -84.45 - 32 195.879 351 4 0 -53.2027 -109.871 -85.85 - 32 159.604 634 3 1 -53.0911 -110.051 -114.45 - 32 106.788 350 3 0 -53.0836 -110.055 -115.85 - 32 107.708 635 2 1 -52.9462 -110.197 -144.45 - 32 116.9 349 2 0 -52.9153 -110.17 -145.85 - 32 146.53 638 1 1 -52.3472 -109.705 -174.45 - 32 398.863 352 1 0 -52.3125 -109.685 -175.85 - 32 131.735 642 0 1 -51.5714 -109.186 -204.45 - 32 130.756 355 0 0 -51.5562 -109.147 -205.85 - 32 237.492 632 0 1 -53.4903 -109.179 -204.45 - 32 447.897 354 0 0 -53.5244 -109.17 -205.85 - 32 110.724 349 5 0 -53.1859 -110.223 -55.8505 - 32 133.884 628 4 1 -54.3169 -114.473 -84.45 - 32 109.279 326 4 0 -54.4617 -114.757 -85.85 - 32 174.826 609 3 1 -58.0952 -120.496 -114.45 - 32 25.5242 608 3 1 -58.25 -120.577 -114.802 - 32 130.77 296 3 0 -58.7341 -120.822 -115.85 - 32 0.3646 543 2 1 -71.4494 -127.753 -144.45 - 32 161.706 542 2 1 -71.45 -127.753 -144.453 - 32 31.4486 260 2 0 -71.7971 -128.127 -145.85 - 32 88.3702 259 2 0 -71.8179 -128.15 -145.936 - 32 149.443 508 1 1 -78.2757 -135.453 -174.45 - 32 141.977 220 1 0 -78.8659 -135.968 -175.85 - 32 127.596 443 0 1 -91.3779 -144.846 -204.45 - 32 183.098 176 0 0 -91.9732 -144.918 -205.85 - 32 229.526 634 2 1 -53.2015 -109.843 -144.45 - 32 243.697 351 2 0 -53.204 -109.831 -145.85 - 32 211.75 634 1 1 -53.2474 -109.632 -174.45 - 32 126.707 634 0 1 -53.074 -109.793 -204.45 - 32 354.165 351 0 0 -53.0623 -109.791 -205.85 - 32 24.2783 156 0 0 -139.856 -148.909 -206.25 - 32 61.1964 201 0 1 -139.827 -149.785 -204.85 - 32 178.55 633 0 1 -53.2864 -109.321 -204.45 - 32 24.6293 633 6 1 -53.4003 -110.22 -24.45 - 32 99.3201 632 6 1 -53.45 -110.175 -24.5266 - 32 5.58246 631 6 1 -53.65 -110.021 -24.8315 - 32 24.2273 352 6 0 -54.1936 -109.58 -25.8507 - 32 116.107 353 6 0 -54.2292 -109.55 -25.9189 - 32 37.5297 354 6 0 -54.514 -109.35 -26.1849 - 32 83.5262 406 5 1 -98.8443 -74.8821 -54.45 - 32 74.9754 405 5 1 -98.95 -74.9024 -54.6138 - 32 145.96 524 5 0 -99.6714 -75.1192 -55.8501 - 32 61.0601 543 5 0 -123.047 -71.4456 -56.25 - 32 20.7566 434 3 0 -71.6258 -93.1905 -115.85 - 32 278.334 435 3 0 -71.6468 -93.15 -115.917 - 32 97.728 436 3 0 -71.4723 -92.95 -115.906 -Number of digits in this event: 33 +Number of tracker hits in this event: 41 + 32 293.177 1106 10 1 41.3675 -84.0846 95.55 + 32 118.034 479 10 0 41.3671 -84.0837 94.15 + 32 251.816 1106 9 1 41.3593 -84.063 65.55 + 32 166.337 479 9 0 41.3568 -84.0603 64.15 + 32 223.191 1106 8 1 41.307 -84.0038 35.55 + 32 161.811 480 8 0 41.3046 -84.0019 34.15 + 32 106.055 1106 7 1 41.2567 -83.9662 5.55 + 32 108.09 480 7 0 41.2534 -83.9643 4.15 + 32 157.357 1105 6 1 41.1864 -83.9253 -24.45 + 32 227.136 480 6 0 41.1836 -83.9229 -25.85 + 32 218.515 1105 5 1 41.1266 -83.8741 -54.45 + 32 128.402 480 5 0 41.1228 -83.8704 -55.85 + 32 106.725 1104 4 1 41.0433 -83.7942 -84.45 + 32 104.154 481 4 0 41.0388 -83.791 -85.85 + 32 106.427 1104 3 1 40.9543 -83.7372 -114.45 + 32 213.84 481 3 0 40.9512 -83.7354 -115.85 + 32 212.758 1104 2 1 40.8847 -83.6895 -144.45 + 32 120.186 481 2 0 40.8811 -83.6883 -145.85 + 32 115.804 1103 1 1 40.8023 -83.6608 -174.45 + 32 164.18 481 1 0 40.8001 -83.661 -175.85 + 32 145.496 1103 0 1 40.7597 -83.6683 -204.45 + 32 110.489 481 0 0 40.7579 -83.6694 -205.85 + 32 159.089 99 1 0 47.6434 -160.252 -176.25 + 32 11.9874 98 1 0 47.3859 -160.35 -175.881 + 32 36.7704 1131 1 1 46.3606 -160.551 -174.85 + 32 94.5395 1130 1 1 46.2499 -160.558 -174.731 + 32 2.31053 1129 1 1 46.05 -160.603 -174.461 + 32 133.589 188 2 0 -49.9836 -142.45 -146.25 + 32 6.18435 307 3 0 118.46 -118.742 -116.25 + 32 121.085 306 3 0 118.484 -118.75 -116.241 + 32 145.917 305 3 0 118.801 -118.95 -116.006 + 32 2.68058 304 3 0 119.096 -119.15 -115.856 + 32 365.773 1501 3 1 120.366 -119.917 -114.85 + 32 165.752 1500 3 1 120.35 -120.134 -114.582 + 32 21.4004 281 3 0 121.263 -123.75 -116.093 + 32 117.169 1490 4 0 51.1183 118.322 -86.25 + 32 122.552 1156 4 1 51.3339 118.087 -84.8497 + 32 88.5929 1155 4 1 51.25 118.14 -84.5262 + 32 56.5726 1106 6 1 41.25 -83.9284 -24.6318 + 32 294.933 1105 10 1 41.25 -83.7018 95.4929 + 32 155.93 490 10 0 42.787 -82.0094 94.15 +Number of digits in this event: 26 Using G4ParticleGun... -Particle energy: 7.13937 LIN +Particle energy: 1.01761 LIN Particle: e- Event: 33 -Number of tracker hits in this event: 29 - 33 118.773 855 11 1 -8.92548 -9.95255 125.55 - 33 144.386 850 11 0 -8.92629 -9.95388 124.15 - 33 152.02 855 10 1 -8.94132 -9.97976 95.55 - 33 121.153 850 10 0 -8.94105 -9.98011 94.15 - 33 109.432 855 9 1 -8.93399 -9.98813 65.55 - 33 101.92 850 9 0 -8.93508 -9.98737 64.15 - 33 103.827 855 8 1 -8.95475 -9.97999 35.55 - 33 147.937 850 8 0 -8.95707 -9.98072 34.15 - 33 127.646 855 7 1 -9.00982 -9.99899 5.55 - 33 109.722 850 7 0 -9.01172 -10.0007 4.15 - 33 114.003 855 6 1 -9.04905 -10.0281 -24.45 - 33 139.664 850 6 0 -9.04972 -10.0302 -25.85 - 33 100.228 854 5 1 -9.06611 -10.0746 -54.45 - 33 228.788 849 5 0 -9.06661 -10.077 -55.85 - 33 98.4862 854 4 1 -9.0796 -10.1261 -84.45 - 33 117.319 849 4 0 -9.07942 -10.1285 -85.85 - 33 150.372 854 3 1 -9.074 -10.1765 -114.45 - 33 125.232 849 3 0 -9.07235 -10.178 -115.85 - 33 205.079 855 2 1 -9.03925 -10.2164 -144.45 - 33 117.68 849 2 0 -9.03547 -10.2145 -145.85 - 33 153.833 855 1 1 -8.96252 -10.1658 -174.45 - 33 115.468 849 1 0 -8.9591 -10.1598 -175.85 - 33 104.678 855 0 1 -8.89192 -10.0338 -204.45 - 33 204.327 850 0 0 -8.8853 -10.0276 -205.85 - 33 26.0991 843 0 0 -21.9972 -11.2628 -205.85 - 33 46.4067 774 5 0 167.986 -25.109 -56.25 - 33 262.653 1768 5 1 173.887 -24.3195 -54.85 - 33 137.507 154 5 1 -149.18 35.598 -54.4501 - 33 138.151 153 5 1 -149.35 35.4565 -54.5189 -Number of digits in this event: 17 +Number of tracker hits in this event: 49 + 33 117.189 384 9 1 -103.217 -68.5023 65.55 + 33 163.593 557 9 0 -103.217 -68.5082 64.15 + 33 197.657 384 8 1 -103.237 -68.6271 35.55 + 33 15.0821 557 8 0 -103.22 -68.6491 34.15 + 33 186.419 556 8 0 -103.219 -68.65 34.0919 + 33 142.106 386 7 1 -102.874 -69.1249 5.55 + 33 126.436 554 7 0 -102.857 -69.1461 4.15 + 33 151.947 388 6 1 -102.493 -69.5541 -24.45 + 33 175.238 552 6 0 -102.483 -69.5756 -25.85 + 33 195.795 389 5 1 -102.273 -70.0148 -54.45 + 33 108.452 550 5 0 -102.263 -70.0302 -55.85 + 33 110.473 390 4 1 -102.072 -70.313 -84.45 + 33 131.259 548 4 0 -102.063 -70.3253 -85.85 + 33 117.331 391 3 1 -101.858 -70.5891 -114.45 + 33 127.668 547 3 0 -101.852 -70.6034 -115.85 + 33 142.535 392 2 1 -101.735 -70.9102 -144.45 + 33 135.323 545 2 0 -101.73 -70.9235 -145.85 + 33 142.276 392 1 1 -101.638 -71.1832 -174.45 + 33 114.231 544 1 0 -101.647 -71.1944 -175.85 + 33 108.971 392 0 1 -101.697 -71.4221 -204.45 + 33 124.952 543 0 0 -101.699 -71.4305 -205.85 + 33 59.483 497 6 0 -105.214 -80.5257 -26.25 + 33 260.061 393 3 1 -101.399 -70.7115 -114.45 + 33 75.2391 545 3 0 -101.679 -70.9886 -115.85 + 33 41.3077 544 3 0 -101.754 -71.05 -116.15 + 33 95.7767 341 2 1 -111.802 -74.7578 -144.45 + 33 36.6494 340 2 1 -111.95 -74.7199 -144.717 + 33 170.703 527 2 0 -112.679 -74.5382 -145.85 + 33 16.5254 394 3 1 -101.35 -70.671 -114.794 + 33 135.489 548 3 0 -101.038 -70.4342 -115.85 + 33 21.4461 448 2 1 -90.3877 -69.1914 -144.45 + 33 113.103 449 2 1 -90.35 -69.2006 -144.489 + 33 86.7673 450 2 1 -90.0495 -69.2604 -144.69 + 33 5.68932 550 2 0 -89.5613 -70.0399 -145.85 + 33 80.8063 549 2 0 -89.5556 -70.05 -145.864 + 33 67.4451 548 2 0 -89.4564 -70.25 -146.076 + 33 77.6213 420 2 0 -41.6454 -96.112 -146.25 + 33 129.395 419 2 0 -41.485 -96.15 -146.112 + 33 65.648 418 2 0 -41.1971 -96.3509 -145.988 + 33 69.6691 700 2 1 -40.0191 -96.9246 -144.85 + 33 63.1718 701 2 1 -39.8499 -97.0207 -144.712 + 33 65.8575 702 2 1 -39.65 -97.1401 -144.639 + 33 45.5823 703 2 1 -39.45 -97.1936 -144.558 + 33 125.025 704 2 1 -39.25 -97.2287 -144.482 + 33 32.646 412 2 0 -39.1126 -97.7014 -145.85 + 33 113.856 411 2 0 -39.0903 -97.75 -145.959 + 33 7.08103 552 2 0 -89.2121 -69.5209 -145.85 + 33 49.1604 544 0 1 -71.1632 -70.6787 -204.85 + 33 144.188 545 0 1 -71.05 -70.7107 -204.723 +Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 5.32178 LIN +Particle energy: 6.74839 LIN Particle: e- Event: 34 -Number of tracker hits in this event: 28 - 34 130.004 1134 9 1 47.0319 115.33 65.55 - 34 113.837 1475 9 0 47.0293 115.331 64.15 - 34 117.428 1134 8 1 46.9697 115.368 35.55 - 34 111.393 1476 8 0 46.9656 115.371 34.15 - 34 96.3439 1134 7 1 46.8882 115.434 5.55 - 34 110.172 1476 7 0 46.8857 115.437 4.15 - 34 130.979 1133 6 1 46.8366 115.497 -24.45 - 34 100.334 1476 6 0 46.8343 115.499 -25.85 - 34 129.371 1133 5 1 46.7829 115.537 -54.45 - 34 103.506 1476 5 0 46.7818 115.539 -55.85 - 34 108.62 1133 4 1 46.7674 115.578 -84.45 - 34 117.725 1477 4 0 46.7658 115.581 -85.85 - 34 267.026 1133 3 1 46.7308 115.634 -114.45 - 34 96.8853 1477 3 0 46.7295 115.637 -115.85 - 34 312.558 1133 2 1 46.6983 115.7 -144.45 - 34 151.744 1477 2 0 46.695 115.705 -145.85 - 34 114.788 1132 1 1 46.6244 115.796 -174.45 - 34 119.136 1478 1 0 46.6185 115.799 -175.85 - 34 104.84 1132 0 1 46.5003 115.874 -204.45 - 34 123.461 1478 0 0 46.4921 115.879 -205.85 - 34 66.485 1687 6 0 1.01789 157.632 -26.2498 - 34 1.0863 962 6 1 12.5671 132.479 -24.85 - 34 102.025 964 7 1 12.9106 128.936 5.15 - 34 67.3919 1472 2 0 46.4971 114.657 -145.851 - 34 68.5138 1471 2 0 46.425 114.55 -146.032 - 34 59.5762 1411 2 0 24.0648 102.448 -146.25 - 34 179.426 1410 2 0 24.0434 102.35 -146.088 - 34 49.1393 1409 2 0 24.1789 102.15 -146.053 -Number of digits in this event: 11 +Number of tracker hits in this event: 29 + 34 122.766 1511 9 1 122.52 5.36694 65.55 + 34 141.738 926 9 0 122.52 5.36672 64.15 + 34 126.389 1511 8 1 122.528 5.36082 35.55 + 34 183.207 926 8 0 122.529 5.3615 34.15 + 34 114.932 1511 7 1 122.544 5.38146 5.55 + 34 153.089 926 7 0 122.545 5.38213 4.15 + 34 155.624 1512 6 1 122.562 5.39298 -24.45 + 34 164.623 926 6 0 122.563 5.3931 -25.85 + 34 127.087 1512 5 1 122.584 5.39111 -54.45 + 34 109.666 926 5 0 122.586 5.39179 -55.85 + 34 173.217 1512 4 1 122.61 5.39923 -84.45 + 34 125.022 926 4 0 122.604 5.40262 -85.85 + 34 126.546 1511 3 1 122.523 5.47362 -114.45 + 34 101.195 927 3 0 122.52 5.47805 -115.85 + 34 174.071 1511 2 1 122.454 5.54344 -144.45 + 34 139.851 927 2 0 122.454 5.54669 -145.85 + 34 104.12 1511 1 1 122.453 5.6161 -174.45 + 34 173.326 927 1 0 122.455 5.62385 -175.85 + 34 272.165 1511 0 1 122.484 5.82962 -204.45 + 34 101.459 928 0 0 122.472 5.82173 -205.85 + 34 19.8773 1206 8 1 61.4377 42.4844 35.55 + 34 278.986 1207 8 1 61.45 42.4883 35.5064 + 34 72.6467 1511 4 1 122.55 5.30779 -84.4884 + 34 287.927 1514 0 1 122.951 5.33686 -204.45 + 34 213.743 926 0 0 122.956 5.33814 -205.85 + 34 9.8058 1324 0 1 84.9117 77.8724 -204.45 + 34 6.21881 1529 1 1 126.15 -5.52275 -174.711 + 34 145.904 1512 7 1 122.55 5.3805 5.47612 + 34 219.396 1513 7 1 122.75 5.40912 5.35673 +Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 9.11173 LIN +Particle energy: 3.07054 LIN Particle: e- Event: 35 -Number of tracker hits in this event: 222 - 35 116.715 705 10 1 -39.0304 90.0393 95.55 - 35 190.629 1349 10 0 -39.0307 90.0393 94.15 - 35 145.304 705 9 1 -39.0387 90.035 65.55 - 35 146.01 1349 9 0 -39.0391 90.0349 64.15 - 35 121.736 705 8 1 -39.0492 90.0313 35.55 - 35 165.356 1349 8 0 -39.0505 90.0316 34.15 - 35 532.83 704 7 1 -39.0784 90.0397 5.55 - 35 385.382 1349 7 0 -39.0793 90.0388 4.15 - 35 546.478 704 6 1 -39.0956 90.0161 -24.45 - 35 760.915 1349 6 0 -39.0959 90.0141 -25.85 - 35 213.059 704 5 1 -39.1038 89.9699 -54.45 - 35 357.369 1349 5 0 -39.1048 89.9681 -55.85 - 35 125.991 704 4 1 -39.1298 89.9285 -84.45 - 35 275.86 1349 4 0 -39.13 89.9271 -85.85 - 35 461.757 704 3 1 -39.1374 89.8961 -114.45 - 35 272.771 1349 3 0 -39.1364 89.8946 -115.85 - 35 463.962 704 2 1 -39.113 89.8636 -144.45 - 35 290.048 1349 2 0 -39.1125 89.8636 -145.85 - 35 369.403 704 1 1 -39.0973 89.858 -174.45 - 35 256.837 1349 1 0 -39.0976 89.8592 -175.85 - 35 452.323 704 0 1 -39.0941 89.8799 -204.45 - 35 104.206 1349 0 0 -39.0917 89.8823 -205.85 - 35 82.9343 1559 2 0 -112.627 131.95 -146.041 - 35 282.464 335 2 1 -113.001 132.057 -144.85 - 35 107.231 334 2 1 -113.15 131.914 -144.594 - 35 39.3947 1558 2 0 -113.16 131.792 -145.85 - 35 255.88 1557 2 0 -113.138 131.75 -145.928 - 35 317.29 1348 0 0 -39.0583 89.8033 -205.85 - 35 10.5432 1561 0 0 16.2332 132.414 -206.25 - 35 8.59215 1581 2 0 35.2304 136.532 -146.25 - 35 50.8909 1584 2 0 34.592 136.95 -146.01 - 35 50.9396 1562 0 0 16.2624 132.55 -206.147 - 35 104.36 705 0 1 -39.05 89.8092 -204.541 - 35 68.2059 706 0 1 -38.85 89.8812 -204.69 - 35 180.505 1347 0 0 -38.7707 89.65 -205.99 - 35 120.341 1350 1 0 -39.0538 90.1627 -175.85 - 35 64.0187 721 0 1 -35.6686 95.6912 -204.45 - 35 110.369 722 0 1 -35.65 95.7527 -204.578 - 35 165.238 1381 0 0 -35.4748 96.3716 -205.85 - 35 209.386 702 0 1 -39.5777 92.4617 -204.45 - 35 120.762 1362 0 0 -39.5071 92.6054 -205.85 - 35 211.794 1361 2 0 -39.169 92.4697 -145.85 - 35 288.495 703 1 1 -39.3813 94.3606 -174.45 - 35 137.561 1371 1 0 -39.4866 94.4282 -175.85 - 35 103.385 691 0 1 -41.8103 95.4131 -204.45 - 35 16.9432 690 0 1 -41.85 95.4316 -204.781 - 35 176.698 1376 0 0 -41.9729 95.4904 -205.85 - 35 4.42823 993 4 1 18.6684 92.2868 -84.85 - 35 117.413 994 4 1 18.85 92.272 -84.4566 - 35 142.207 1768 1 0 -33.3923 173.875 -176.249 - 35 116.708 1769 1 0 -33.3532 173.95 -176.123 - 35 89.7664 733 1 1 -33.3031 173.692 -174.85 - 35 74.8148 734 1 1 -33.25 173.561 -174.628 - 35 91.2872 735 1 1 -33.05 173.432 -174.562 - 35 194.42 736 1 1 -32.85 173.325 -174.542 - 35 278.523 737 1 1 -32.65 173.44 -174.789 - 35 242.067 703 3 1 -39.25 89.9391 -114.528 - 35 274.543 1350 3 0 -40.0468 90.2212 -115.85 - 35 317.044 615 2 1 -56.9228 96.6003 -144.45 - 35 2.98744 614 2 1 -57.05 96.621 -144.837 - 35 102.228 1382 2 0 -57.3131 96.6663 -145.85 - 35 191.858 559 1 1 -68.0811 100.338 -174.45 - 35 451.703 558 1 1 -68.25 101.026 -174.572 - 35 53.671 557 1 1 -68.45 102.44 -174.816 - 35 17.9931 1428 1 0 -68.7933 105.87 -175.85 - 35 43.6808 1429 1 0 -68.8027 105.95 -175.875 - 35 46.9306 1430 1 0 -68.8314 106.15 -175.938 - 35 61.5314 1431 1 0 -68.8412 106.35 -176.011 - 35 46.6111 1432 1 0 -68.8441 106.55 -176.072 - 35 55.8432 1433 1 0 -68.8411 106.75 -176.132 - 35 58.1063 1434 1 0 -68.8251 106.95 -176.194 - 35 169.409 706 5 1 -38.8159 89.7104 -54.45 - 35 241.328 1348 5 0 -38.7521 89.691 -55.85 - 35 104.361 714 4 1 -37.2031 89.0582 -84.45 - 35 189.096 1344 4 0 -37.1729 89.0255 -85.85 - 35 157.931 716 3 1 -36.6911 88.3084 -114.45 - 35 109.042 1341 3 0 -36.6546 88.3308 -115.85 - 35 200.26 723 2 1 -35.2996 88.7715 -144.45 - 35 55.4143 724 2 1 -35.25 88.9341 -144.721 - 35 195.041 1348 2 0 -35.0255 89.709 -145.851 - 35 76.9348 729 1 1 -34.1094 109.596 -174.45 - 35 76.6978 730 1 1 -34.05 109.699 -174.63 - 35 19.3221 1450 1 0 -33.618 110.328 -175.85 - 35 109.17 1451 1 0 -33.6023 110.35 -175.895 - 35 110.952 730 2 1 -34.0322 89.885 -144.85 - 35 160.151 1350 6 0 -39.2498 90.1988 -25.85 - 35 144.741 687 5 1 -42.5212 93.2623 -54.45 - 35 100.029 1366 5 0 -42.7376 93.3791 -55.85 - 35 268.452 664 4 1 -47.1586 95.903 -84.4501 - 35 235.49 1379 4 0 -47.2862 96.0741 -85.8506 - 35 91.9661 650 3 1 -50.0243 99.7062 -114.45 - 35 42.0228 649 3 1 -50.05 99.7308 -114.729 - 35 148.479 1398 3 0 -50.1461 99.836 -115.85 - 35 226.378 638 2 1 -52.3023 102.815 -144.45 - 35 129.047 1414 2 0 -52.4378 102.951 -145.85 - 35 100.62 623 1 1 -55.3466 105.282 -174.45 - 35 125.247 1425 1 0 -55.4512 105.27 -175.85 - 35 94.9466 610 0 1 -57.9063 105.069 -204.45 - 35 134.415 1424 0 0 -57.9681 105.095 -205.85 - 35 16.9563 665 4 1 -47.0362 95.9647 -84.4503 - 35 103.797 1377 4 0 -47.7882 95.6534 -85.85 - 35 67.6552 1376 4 0 -48.0005 95.55 -86.1073 - 35 3.66617 1119 4 0 -85.1485 43.8524 -86.25 - 35 144.492 1118 4 0 -85.1508 43.85 -86.2461 - 35 75.1976 1117 4 0 -85.5322 43.65 -85.8938 - 35 127.295 463 4 1 -87.2954 43.0033 -84.8498 - 35 207.218 462 4 1 -87.45 42.7475 -84.6618 - 35 190.172 461 4 1 -87.65 42.2114 -84.654 - 35 226.273 460 4 1 -87.8501 42.0362 -84.5629 - 35 70.5497 459 4 1 -88.05 42.0206 -84.742 - 35 135.319 1372 5 0 -41.0798 94.5932 -55.8504 - 35 106.431 1373 5 0 -40.9722 94.75 -55.9664 - 35 110.769 692 6 1 -41.5629 88.0425 -24.45 - 35 116.996 1339 6 0 -41.702 87.9328 -25.85 - 35 194.61 674 5 1 -45.1458 85.7365 -54.45 - 35 107.239 1328 5 0 -45.0065 85.7527 -55.85 - 35 78.6444 691 4 1 -41.6649 87.5385 -84.45 - 35 32.5542 692 4 1 -41.65 87.6248 -84.7264 - 35 85.3686 1339 4 0 -41.5481 87.9592 -85.85 - 35 32.478 1340 4 0 -41.5217 88.0501 -86.1459 - 35 108.754 705 3 1 -39.0079 96.0333 -114.45 - 35 128.622 1380 3 0 -39.166 96.2244 -115.85 - 35 184.24 691 2 1 -41.789 100.539 -144.45 - 35 121.26 1401 2 0 -41.8856 100.542 -145.85 - 35 168.877 682 1 1 -43.5338 101.13 -174.45 - 35 37.5912 1404 1 0 -43.4498 101.147 -175.85 - 35 62.6738 1405 1 0 -43.4413 101.15 -175.988 - 35 125.551 692 0 1 -41.5362 102.309 -204.45 - 35 115.87 1412 0 0 -41.5249 102.553 -205.85 - 35 139.14 703 7 1 -39.25 89.9144 5.46894 - 35 111.743 702 7 1 -39.45 89.9645 5.51858 - 35 38.5643 700 6 1 -39.9843 90.176 -24.45 - 35 85.3833 1348 6 0 -40.3629 89.8499 -25.9823 - 35 84.2106 667 5 1 -46.4883 83.9226 -54.45 - 35 46.4913 666 5 1 -46.65 83.9487 -54.7055 - 35 194.915 1320 5 0 -47.3819 84.0671 -55.8501 - 35 84.2843 559 4 1 -68.0603 85.0498 -84.4501 - 35 27.083 558 4 1 -68.25 85.0338 -84.7476 - 35 123.721 1324 4 0 -68.9419 84.9659 -85.85 - 35 157.423 460 3 1 -87.8839 81.7906 -114.45 - 35 80.0443 1306 3 0 -88.4481 81.3315 -115.85 - 35 49.081 1305 3 0 -88.559 81.25 -116.099 - 35 162.673 1229 3 0 -113.426 65.9218 -116.25 - 35 31.9603 1228 3 0 -113.561 65.8499 -115.961 - 35 26.0934 330 3 1 -114.121 65.5687 -114.85 - 35 170.522 329 3 1 -114.15 65.5552 -114.791 - 35 110.316 1221 4 0 -107.854 64.3793 -86.25 - 35 127.893 363 4 1 -107.544 64.2738 -84.85 - 35 104.952 1337 5 0 -101.626 87.5165 -56.25 - 35 91.909 1338 5 0 -101.621 87.65 -56.1079 - 35 15.3425 1339 5 0 -101.658 87.85 -55.9002 - 35 220.526 391 5 1 -101.873 88.7482 -54.85 - 35 91.6276 390 5 1 -101.95 88.9809 -54.6122 - 35 5.57628 392 5 1 -101.747 89.4431 -54.45 - 35 110.419 1681 5 0 -52.2082 156.377 -56.25 - 35 79.0435 1662 5 0 -8.61408 152.611 -56.25 - 35 87.886 1445 4 0 -109.054 109.244 -86.25 - 35 290.107 1446 4 0 -109.132 109.35 -86.1421 - 35 159.885 1447 4 0 -109.298 109.55 -85.9406 - 35 122.658 1448 4 0 -109.486 109.75 -85.8998 - 35 44.096 1449 4 0 -109.647 109.95 -85.8731 - 35 136.181 330 4 1 -113.958 115.699 -84.85 - 35 78.1865 329 4 1 -114.15 115.933 -84.8054 - 35 86.8395 328 4 1 -114.35 116.116 -84.7269 - 35 96.7272 327 4 1 -114.55 116.312 -84.6548 - 35 84.1972 326 4 1 -114.75 116.565 -84.572 - 35 99.505 325 4 1 -114.95 116.839 -84.492 - 35 58.5221 324 4 1 -115.207 117.138 -84.45 - 35 65.5699 323 4 1 -115.35 117.233 -84.4912 - 35 58.6878 322 4 1 -115.55 117.37 -84.5405 - 35 63.4935 321 4 1 -115.75 117.509 -84.5757 - 35 79.0046 320 4 1 -115.95 117.643 -84.612 - 35 74.1473 319 4 1 -116.15 117.794 -84.6677 - 35 84.6627 318 4 1 -116.351 117.951 -84.7377 - 35 59.0743 317 4 1 -116.55 118.104 -84.789 - 35 4.04733 1500 4 0 -119.227 120.343 -85.8502 - 35 118.03 1501 4 0 -119.236 120.35 -85.8536 - 35 135.804 1502 4 0 -119.481 120.55 -85.9472 - 35 117.21 1503 4 0 -119.705 120.75 -85.9707 - 35 77.9515 1504 4 0 -119.913 120.95 -85.9717 - 35 73.9088 1505 4 0 -120.106 121.151 -85.9539 - 35 99.221 1506 4 0 -120.303 121.35 -85.9763 - 35 99.7489 1507 4 0 -120.508 121.55 -86.0174 - 35 91.9248 1508 4 0 -120.733 121.75 -86.0719 - 35 157.344 1509 4 0 -120.985 121.95 -86.1447 - 35 266.925 27 3 1 -174.555 160.268 -114.45 - 35 103.479 1700 3 0 -175.034 160.251 -115.85 - 35 15.7691 313 4 1 -117.35 118.666 -84.8277 - 35 234.903 1351 2 0 -39.2523 90.4926 -145.85 - 35 119.225 1352 1 0 -39.3159 90.6193 -175.85 - 35 122.485 703 0 1 -39.3797 90.7149 -204.45 - 35 131.826 1352 0 0 -39.3913 90.7268 -205.85 - 35 24.0352 539 0 1 -72.0974 34.395 -204.45 - 35 192.354 540 0 1 -72.0495 34.4058 -204.484 - 35 32.2368 520 0 1 -75.9782 10.4331 -204.85 - 35 37.3846 1350 4 0 -39.1334 90.15 -86.2435 - 35 77.9335 705 5 1 -39.05 90.0494 -54.4911 - 35 273.813 707 5 1 -38.65 89.9839 -54.5325 - 35 14.8547 708 5 1 -38.4499 89.9695 -54.4545 - 35 181.09 703 4 1 -39.3039 89.5854 -84.45 - 35 134.275 1347 4 0 -39.31 89.5774 -85.85 - 35 180.527 1346 3 0 -39.4449 89.4405 -115.85 - 35 111.76 701 2 1 -39.7877 89.5625 -144.45 - 35 292.569 1347 2 0 -39.8147 89.556 -145.85 - 35 221.204 698 1 1 -40.2837 89.4193 -174.45 - 35 120.031 1346 1 0 -40.2981 89.4164 -175.85 - 35 120.654 696 0 1 -40.685 89.3574 -204.45 - 35 123.251 1346 0 0 -40.7035 89.3698 -205.85 - 35 0.77128 1350 2 0 -39.5578 90.15 -145.999 - 35 192.57 707 2 1 -38.4821 89.829 -144.85 - 35 60.7193 708 2 1 -38.45 89.8211 -144.819 - 35 127.192 706 2 1 -38.65 89.9437 -144.725 - 35 22.4922 705 2 1 -38.8502 90.0285 -144.775 - 35 151.983 1203 6 0 -30.8326 60.7482 -26.2499 - 35 160.438 1202 6 0 -30.9963 60.65 -26.0817 - 35 136.143 1201 6 0 -31.3375 60.45 -26.0824 - 35 82.877 1200 6 0 -31.6632 60.25 -25.9738 - 35 64.3414 1199 6 0 -31.7878 60.0498 -25.9304 - 35 2.62614 1198 6 0 -31.8781 59.85 -25.8539 - 35 71.3072 741 6 1 -31.6835 57.4635 -24.85 - 35 102.629 742 6 1 -31.6499 57.2879 -24.717 - 35 23.4906 727 6 1 -34.45 55.1643 -24.8475 -Number of digits in this event: 104 -Using G4ParticleGun... -Particle energy: 9.95626 LIN +Number of tracker hits in this event: 181 + 35 102.591 690 11 1 -41.918 -62.7275 125.55 + 35 115.451 586 11 0 -41.9186 -62.7283 124.15 + 35 148.366 690 10 1 -41.9305 -62.7547 95.55 + 35 146.484 586 10 0 -41.9266 -62.7529 94.15 + 35 122.144 691 9 1 -41.8373 -62.726 65.55 + 35 281.355 586 9 0 -41.8353 -62.7269 64.15 + 35 242.788 691 8 1 -41.7724 -62.7547 35.55 + 35 519.777 586 8 0 -41.7708 -62.7517 34.15 + 35 112.349 691 7 1 -41.7382 -62.6865 5.55 + 35 137.14 586 7 0 -41.7364 -62.6852 4.15 + 35 121.21 691 6 1 -41.7066 -62.6784 -24.45 + 35 120.523 586 6 0 -41.7035 -62.6799 -25.85 + 35 403.648 692 5 1 -41.6379 -62.7302 -54.45 + 35 330.646 586 5 0 -41.6373 -62.7306 -55.85 + 35 106.848 691 4 1 -41.6759 -62.6759 -84.45 + 35 122.24 586 4 0 -41.6808 -62.6748 -85.85 + 35 111.807 691 3 1 -41.7863 -62.657 -114.45 + 35 137.43 586 3 0 -41.7874 -62.6564 -115.85 + 35 419.256 691 2 1 -41.8048 -62.6372 -144.45 + 35 156.557 587 2 0 -41.8055 -62.64 -145.85 + 35 104.128 691 1 1 -41.8235 -62.6961 -174.45 + 35 126.215 586 1 0 -41.8186 -62.6972 -175.85 + 35 151.25 691 0 1 -41.6931 -62.7225 -204.45 + 35 171.704 586 0 0 -41.6849 -62.7313 -205.85 + 35 80.4789 643 0 0 -124.266 -51.3852 -206.25 + 35 156.554 642 0 0 -124.467 -51.45 -206.101 + 35 207.636 690 2 1 -41.85 -62.655 -144.653 + 35 253.312 690 8 1 -41.9921 -62.8279 35.55 + 35 111.654 689 8 1 -42.05 -62.8335 35.506 + 35 67.5857 688 8 1 -42.25 -62.871 35.3328 + 35 103.77 687 8 1 -42.45 -62.8684 35.2364 + 35 120.566 686 8 1 -42.65 -62.8758 35.2596 + 35 86.4579 685 8 1 -42.85 -62.6696 35.2209 + 35 57.6556 595 8 0 -44.3945 -60.9581 34.1499 + 35 82.6411 596 8 0 -44.4162 -60.85 34.0544 + 35 168.509 597 8 0 -44.4348 -60.65 34.0922 + 35 106.096 679 8 1 -44.153 -60.7495 35.15 + 35 39.9131 700 4 1 -39.8567 -65.1338 -84.45 + 35 117.146 701 4 1 -39.85 -65.2334 -84.5811 + 35 65.6996 568 4 0 -39.8265 -66.3005 -85.85 + 35 88.7336 567 4 0 -39.8284 -66.45 -86.0412 + 35 115.516 714 3 1 -37.0827 -88.4791 -114.45 + 35 27.3812 715 3 1 -37.05 -88.5716 -114.756 + 35 4.77953 456 3 0 -36.8899 -88.8447 -115.85 + 35 103.021 455 3 0 -36.8867 -88.85 -115.871 + 35 227.145 739 2 1 -32.1477 -89.3435 -144.45 + 35 0.0882949 451 2 0 -31.9796 -89.8497 -145.851 + 35 215.879 450 2 0 -31.9794 -89.8501 -145.852 + 35 62.4915 787 1 1 -22.5784 -96.7018 -174.45 + 35 144.017 788 1 1 -22.45 -96.7626 -174.598 + 35 217.84 415 1 0 -21.4712 -97.0817 -175.85 + 35 32.8711 414 1 0 -21.1981 -97.15 -176.16 + 35 31.0859 916 0 1 3.38253 -103.678 -204.45 + 35 62.1168 917 0 1 3.45 -103.643 -204.497 + 35 78.8418 918 0 1 3.65038 -103.569 -204.638 + 35 8.56097 919 0 1 3.85 -103.495 -204.833 + 35 93.2158 385 0 0 4.74381 -103.072 -205.85 + 35 67.5351 386 0 0 4.88327 -102.95 -206.061 + 35 208.257 738 2 1 -32.2502 -89.2224 -144.547 + 35 103.549 587 5 0 -41.5757 -62.5035 -55.8501 + 35 91.685 694 4 1 -41.0761 -62.1002 -84.45 + 35 9.51126 695 4 1 -41.05 -62.0946 -84.8097 + 35 99.6846 589 4 0 -40.9824 -62.081 -85.85 + 35 112.458 704 3 1 -39.1098 -61.8563 -114.45 + 35 127.264 590 3 0 -38.9461 -61.8593 -115.85 + 35 46.3672 725 2 1 -34.871 -62.1536 -144.45 + 35 76.045 726 2 1 -34.85 -62.1579 -144.576 + 35 115.506 589 2 0 -34.624 -62.2033 -145.85 + 35 114.321 753 1 1 -29.3468 -63.0762 -174.45 + 35 118.196 584 1 0 -29.1402 -63.1048 -175.85 + 35 216.994 776 0 1 -24.7876 -63.7321 -204.45 + 35 444.652 581 0 0 -24.4803 -63.7184 -205.85 + 35 221.853 584 0 0 -24.7721 -63.1618 -205.85 + 35 39.8586 636 0 0 -27.6917 -52.6535 -206.25 + 35 161.182 637 0 0 -27.6922 -52.65 -206.239 + 35 287.254 763 0 1 -27.3455 -52.7197 -204.85 + 35 438.479 764 0 1 -27.2497 -52.6906 -204.616 + 35 113.94 765 0 1 -27.05 -52.6593 -204.461 + 35 51.4904 635 0 0 -27.6655 -52.85 -205.896 + 35 61.2811 758 0 1 -28.2693 -54.1001 -204.85 + 35 12.4105 759 0 1 -28.2496 -54.2642 -204.848 + 35 282.972 622 0 0 -22.376 -55.4821 -205.85 + 35 0.133147 627 0 0 -29.9898 -54.5554 -205.85 + 35 366.632 690 9 1 -41.9202 -62.7805 65.55 + 35 126.557 587 9 0 -42.1502 -62.5477 64.15 + 35 174.292 658 8 1 -48.2668 -57.1613 35.5495 + 35 191.8 614 8 0 -48.3907 -57.2159 34.15 + 35 173.445 649 7 1 -50.1231 -56.5954 5.54957 + 35 170.474 616 7 0 -50.308 -56.726 4.14981 + 35 11.1744 632 6 1 -53.6314 -58.9561 -24.45 + 35 107.719 631 6 1 -53.65 -58.9662 -24.4958 + 35 122.489 604 6 0 -54.1061 -59.1688 -25.85 + 35 48.3798 581 5 1 -63.7763 -64.2233 -54.45 + 35 76.416 580 5 1 -63.85 -64.2325 -54.6071 + 35 121.621 578 5 0 -64.4451 -64.2595 -55.85 + 35 138.596 505 4 1 -78.9593 -64.8084 -84.4505 + 35 151.03 573 4 0 -79.2355 -65.3199 -85.85 + 35 21.9264 572 4 0 -79.2908 -65.45 -86.1679 + 35 132.039 484 3 1 -83.0852 -77.7721 -114.45 + 35 51.5727 508 3 0 -83.205 -78.3685 -115.85 + 35 46.4069 507 3 0 -83.2212 -78.45 -116.05 + 35 124.96 469 2 1 -86.1646 -88.1531 -144.45 + 35 94.3411 453 2 0 -85.9736 -89.2603 -145.85 + 35 62.8837 452 2 0 -85.9419 -89.45 -146.08 + 35 184.962 489 1 1 -82.1088 -114.702 -174.45 + 35 49.5014 322 1 0 -82.0029 -115.676 -175.85 + 35 131 321 1 0 -81.9959 -115.75 -175.96 + 35 11.8511 320 1 0 -81.9729 -115.95 -176.214 + 35 122.297 506 0 1 -78.73 -139.547 -204.45 + 35 129.078 201 0 0 -78.7902 -139.803 -205.85 + 35 112.517 184 0 0 -89.5375 -143.158 -206.249 + 35 161.9 185 0 0 -89.5187 -143.15 -206.161 + 35 15.1575 454 0 1 -89.07 -143.241 -204.85 + 35 157.813 455 0 1 -89.05 -143.244 -204.813 + 35 57.5065 456 0 1 -88.8497 -143.223 -204.591 + 35 351.984 457 0 1 -88.6087 -143.228 -204.45 + 35 83.0524 458 0 1 -88.45 -143.342 -204.693 + 35 140.603 459 0 1 -88.25 -143.498 -204.733 + 35 63.0732 460 0 1 -88.0499 -143.592 -204.757 + 35 57.3964 461 0 1 -87.85 -143.574 -204.709 + 35 69.5988 462 0 1 -87.65 -143.489 -204.677 + 35 271.682 463 0 1 -87.45 -143.435 -204.63 + 35 154.163 464 0 1 -87.25 -143.442 -204.532 + 35 191.367 507 0 1 -78.5813 -139.13 -204.45 + 35 27.8785 508 0 1 -78.45 -139.602 -204.801 + 35 121.207 194 0 0 -77.4133 -141.162 -205.85 + 35 83.1661 193 0 0 -77.2711 -141.35 -205.974 + 35 69.3636 192 0 0 -77.1052 -141.55 -206.068 + 35 134.945 191 0 0 -76.9315 -141.75 -206.14 + 35 19.8027 190 0 0 -76.7371 -141.95 -206.222 + 35 61.0724 1 0 0 -11.452 -179.875 -206.25 + 35 195.286 0 0 0 -11.2681 -179.95 -206.148 + 35 123.666 617 7 0 -50.2287 -56.65 3.9377 + 35 261.244 618 7 0 -50.0599 -56.45 3.8643 + 35 193.878 690 7 1 -41.9194 -62.8541 5.55 + 35 131.227 585 7 0 -41.9185 -62.8597 4.15 + 35 149.937 690 6 1 -41.8849 -62.9733 -24.45 + 35 121.125 585 6 0 -41.8801 -62.9835 -25.85 + 35 100.558 691 5 1 -41.7903 -63.2084 -54.45 + 35 133.986 584 5 0 -41.7825 -63.2224 -55.85 + 35 100.846 692 4 1 -41.6158 -63.507 -84.45 + 35 138.885 582 4 0 -41.6037 -63.5237 -85.85 + 35 129.538 693 3 1 -41.3752 -63.8501 -114.45 + 35 129.588 580 3 0 -41.3639 -63.8586 -115.85 + 35 136.499 694 2 1 -41.1608 -63.9871 -144.45 + 35 171.173 580 2 0 -41.1553 -63.9944 -145.85 + 35 290.072 694 1 1 -41.0513 -64.1429 -174.45 + 35 135.092 695 1 1 -41.05 -64.1442 -174.61 + 35 215.416 579 1 0 -41.0394 -64.1545 -175.85 + 35 123.986 696 0 1 -40.8322 -64.3801 -204.45 + 35 130.963 578 0 0 -40.8236 -64.3899 -205.85 + 35 109.232 581 2 0 -41.9793 -63.7739 -145.85 + 35 51.844 672 1 1 -45.4692 -71.863 -174.45 + 35 80.3559 671 1 1 -45.6507 -71.8515 -174.6 + 35 30.5818 670 1 1 -45.85 -71.7762 -174.774 + 35 122.381 542 1 0 -46.9654 -71.5186 -175.85 + 35 36.6367 543 1 0 -47.2799 -71.4499 -176.16 + 35 79.118 504 0 1 -79.0926 -62.2943 -204.45 + 35 109.845 503 0 1 -79.25 -62.4583 -204.593 + 35 37.6548 580 0 0 -79.9963 -63.8501 -206.123 + 35 163.456 583 2 0 -41.7101 -63.3827 -145.85 + 35 103.478 594 1 0 -41.0359 -61.1054 -175.85 + 35 81.4099 710 0 1 -37.9351 -58.4239 -204.45 + 35 95.9726 711 0 1 -37.85 -58.1996 -204.619 + 35 57.9048 616 0 0 -37.1033 -56.8446 -205.85 + 35 69.7996 617 0 0 -37.0019 -56.65 -206.027 + 35 15.9994 618 0 0 -36.9149 -56.4494 -206.199 + 35 115.665 696 1 1 -40.8498 -61.2648 -174.564 + 35 72.6635 697 1 1 -40.6499 -61.4164 -174.559 + 35 70.9946 698 1 1 -40.4499 -61.5337 -174.778 + 35 86.8205 699 1 1 -40.25 -61.7206 -174.77 + 35 53.7399 700 1 1 -40.05 -61.8702 -174.796 + 35 66.8265 701 1 1 -39.8495 -61.9225 -174.801 + 35 182.033 702 1 1 -39.65 -62.0685 -174.815 + 35 64.8904 703 1 1 -39.45 -62.1653 -174.776 + 35 80.7689 358 2 0 -33.3387 -108.427 -146.25 + 35 248.875 592 8 0 -42.7505 -61.6008 34.15 + 35 302.202 535 7 1 -72.8761 -86.5868 5.5499 + 35 223.074 524 9 0 -31.0822 -75.0973 63.75 + 35 222.642 756 9 1 -28.8201 -74.7418 65.15 + 35 153.232 757 9 1 -28.65 -74.6572 65.5019 +Number of digits in this event: 89 +Using G4ParticleGun... +Particle energy: 5.19147 LIN Particle: e- Event: 36 -Number of tracker hits in this event: 103 - 36 124.818 542 10 1 -71.4534 75.7532 95.55 - 36 119.293 1278 10 0 -71.4528 75.7532 94.15 - 36 149.289 543 9 1 -71.4407 75.7502 65.55 - 36 161.988 1278 9 0 -71.4392 75.7502 64.15 - 36 118.594 543 8 1 -71.4046 75.7485 35.55 - 36 101.074 1278 8 0 -71.4024 75.7493 34.15 - 36 383.392 543 7 1 -71.3564 75.7569 5.55 - 36 511.204 1278 7 0 -71.354 75.7579 4.15 - 36 140.316 543 6 1 -71.3061 75.7762 -24.45 - 36 232.783 1278 6 0 -71.3029 75.7772 -25.85 - 36 142.451 544 5 1 -71.239 75.7959 -54.45 - 36 187.162 1278 5 0 -71.2357 75.7965 -55.85 - 36 126.448 544 4 1 -71.1717 75.8118 -84.45 - 36 124.791 1278 4 0 -71.1687 75.8126 -85.85 - 36 124.204 544 3 1 -71.1041 75.8267 -114.45 - 36 105.294 1278 3 0 -71.1001 75.8275 -115.85 - 36 112.407 545 2 1 -71.0215 75.8441 -144.45 - 36 113.577 1278 2 0 -71.0176 75.8448 -145.85 - 36 92.6727 545 1 1 -70.9391 75.8588 -174.45 - 36 123.657 1279 1 0 -70.9358 75.8594 -175.85 - 36 165.116 545 0 1 -70.8701 75.8733 -204.45 - 36 105.237 1279 0 0 -70.8684 75.8747 -205.85 - 36 293.942 1770 0 0 -141.114 174.15 -205.999 - 36 144.51 813 3 0 -82.191 -17.3177 -116.25 - 36 51.6274 1762 0 0 -47.2342 172.56 -206.25 - 36 71.7696 1763 0 0 -47.2687 172.75 -206.054 - 36 310.992 662 0 1 -47.4781 173.631 -204.85 - 36 138.983 663 0 1 -47.4499 173.857 -204.698 - 36 71.2445 664 0 1 -47.25 173.958 -204.806 - 36 169.423 665 0 1 -47.05 174.091 -204.839 - 36 144.699 666 0 1 -46.85 174.365 -204.687 - 36 226.197 667 0 1 -46.6499 174.336 -204.766 - 36 13.4223 724 0 1 -35.1224 98.4131 -204.85 - 36 219.768 991 10 0 -99.7447 18.3068 93.7504 - 36 208.536 407 10 1 -98.6781 18.7512 95.1502 - 36 21.341 68 4 1 -166.449 35.1518 -84.85 - 36 255.74 541 6 1 -71.6703 75.7603 -24.45 - 36 111.122 538 5 1 -72.2515 75.1789 -54.45 - 36 105.654 1275 5 0 -72.2698 75.1544 -55.85 - 36 137.106 536 4 1 -72.741 74.6521 -84.45 - 36 334.405 1272 4 0 -72.739 74.5919 -85.85 - 36 119.132 537 3 1 -72.5995 73.4266 -114.45 - 36 134.171 1266 3 0 -72.5889 73.3693 -115.85 - 36 101.346 538 2 1 -72.3333 72.2877 -144.45 - 36 119.205 1260 2 0 -72.3124 72.2378 -145.85 - 36 147.293 541 1 1 -71.7657 71.1722 -174.45 - 36 125.758 1255 1 0 -71.7367 71.1508 -175.85 - 36 159.529 543 0 1 -71.3756 70.7138 -204.45 - 36 122.959 1253 0 0 -71.3265 70.6978 -205.85 - 36 100.63 535 4 1 -72.85 74.6179 -84.5752 - 36 185.267 534 4 1 -73.05 74.543 -84.7105 - 36 151.476 533 4 1 -73.25 74.5822 -84.6917 - 36 291.258 532 4 1 -73.4502 74.3339 -84.5627 - 36 124.386 1277 6 0 -71.8195 75.5118 -25.85 - 36 206.574 529 5 1 -74.1329 76.0458 -54.45 - 36 102.326 1280 5 0 -74.2722 76.0665 -55.85 - 36 87.5705 514 4 1 -77.2368 76.514 -84.45 - 36 164.935 513 4 1 -77.25 76.5269 -84.5997 - 36 170.211 1282 4 0 -77.3626 76.6315 -85.85 - 36 34.9339 1283 4 0 -77.3827 76.65 -86.073 - 36 26.7061 501 3 1 -79.8422 78.8684 -114.45 - 36 238.965 500 3 1 -79.85 78.8749 -114.542 - 36 129.945 1294 3 0 -79.9605 78.961 -115.85 - 36 236.172 487 2 1 -82.5039 80.8538 -144.45 - 36 181.353 1304 2 0 -82.601 80.9307 -145.85 - 36 96.4723 477 1 1 -84.4975 82.4969 -174.45 - 36 107.457 1312 1 0 -84.5561 82.5375 -175.85 - 36 156.219 470 0 1 -85.8805 83.3676 -204.45 - 36 125.203 1316 0 0 -85.991 83.4171 -205.85 - 36 20.1812 854 3 1 -9.14188 58.9045 -114.85 - 36 27.1276 1201 3 0 -7.15266 60.4196 -115.85 - 36 94.8167 1202 3 0 -7.12919 60.4501 -115.858 - 36 63.7098 499 3 1 -80.05 78.8718 -114.647 - 36 12.6149 498 3 1 -80.2503 78.8417 -114.8 - 36 119.923 1293 3 0 -81.0092 78.7276 -115.85 - 36 9.51781 1300 3 0 -100.729 80.0559 -116.25 - 36 117.07 1299 3 0 -100.733 80.05 -116.216 - 36 150.776 396 3 1 -100.897 79.38 -114.85 - 36 16.137 127 1 1 -154.625 88.8316 -174.85 - 36 26.1959 458 0 1 -88.4338 83.4754 -204.45 - 36 102.184 457 0 1 -88.45 83.5499 -204.549 - 36 77.0012 1322 0 0 -88.5695 84.4614 -205.85 - 36 54.1919 1323 0 0 -88.6034 84.65 -206.094 - 36 197.518 112 11 1 -157.644 158.439 125.15 - 36 64.2244 496 3 1 -80.679 77.3181 -114.45 - 36 33.5329 497 3 1 -80.65 77.3736 -114.711 - 36 17.3083 1287 3 0 -80.5344 77.6319 -115.85 - 36 128.258 1288 3 0 -80.5265 77.65 -115.927 - 36 166.546 511 2 1 -77.7992 83.6605 -144.45 - 36 14.3119 1320 2 0 -77.4676 84.2286 -145.85 - 36 109.5 1321 2 0 -77.4546 84.25 -145.902 - 36 93.8725 560 1 1 -67.9157 96.1922 -174.45 - 36 122.053 561 1 1 -67.85 96.301 -174.611 - 36 16.2641 1384 1 0 -67.3791 97.1234 -175.85 - 36 110.234 1385 1 0 -67.3609 97.15 -175.893 - 36 4.22104 1386 1 0 -67.2113 97.3501 -176.236 - 36 60.1102 614 0 1 -57.0853 111.529 -204.45 - 36 118.987 615 0 1 -57.05 111.576 -204.539 - 36 8.36265 1460 0 0 -56.2415 112.332 -205.85 - 36 160.666 1461 0 0 -56.2229 112.35 -205.88 - 36 25.2722 1462 0 0 -55.9599 112.55 -206.181 - 36 232.444 1290 4 0 -85.6941 78.1534 -86.2499 - 36 9.76479 1289 4 0 -85.791 78.05 -86.0756 -Number of digits in this event: 54 +Number of tracker hits in this event: 33 + 36 120.485 1088 11 1 37.748 -45.0203 125.55 + 36 104.973 675 11 0 37.7479 -45.0211 124.15 + 36 139.247 1088 10 1 37.7449 -45.0283 95.55 + 36 131.011 675 10 0 37.7445 -45.0282 94.15 + 36 141.872 1088 9 1 37.7316 -45.0237 65.55 + 36 148.341 675 9 0 37.7321 -45.0222 64.15 + 36 336.664 1088 8 1 37.7413 -45.0008 35.55 + 36 139.788 675 8 0 37.7401 -44.9993 34.15 + 36 166.884 1088 7 1 37.7174 -44.9684 5.55 + 36 114.618 675 7 0 37.7173 -44.9667 4.15 + 36 104.581 1088 6 1 37.7118 -44.9309 -24.45 + 36 100.351 675 6 0 37.7112 -44.9294 -25.85 + 36 115.199 1088 5 1 37.6917 -44.8998 -54.45 + 36 148.733 675 5 0 37.6898 -44.8968 -55.85 + 36 119.296 1087 4 1 37.6468 -44.8368 -84.45 + 36 127.396 676 4 0 37.6441 -44.8337 -85.85 + 36 121.686 1087 3 1 37.5874 -44.7811 -114.45 + 36 116.123 676 3 0 37.5859 -44.777 -115.85 + 36 109.383 1087 2 1 37.5525 -44.6884 -144.45 + 36 107.1 676 2 0 37.5503 -44.6844 -145.85 + 36 160.559 1087 1 1 37.5102 -44.6091 -174.45 + 36 110.039 677 1 0 37.5084 -44.6069 -175.85 + 36 321.019 1087 0 1 37.4743 -44.5591 -204.45 + 36 115.396 677 0 0 37.4729 -44.5588 -205.85 + 36 147.199 673 4 1 -45.292 -95.9452 -84.85 + 36 143.494 672 4 1 -45.45 -96.1829 -84.4636 + 36 145.215 671 4 1 -45.65 -96.1518 -84.6864 + 36 123.897 670 4 1 -45.85 -96.2881 -84.7532 + 36 345.844 676 0 0 37.589 -44.7207 -205.85 + 36 6.46984 1011 0 1 22.45 -70.933 -204.752 + 36 240.065 769 0 0 47.4842 -26.1777 -206.25 + 36 4.04088 1135 0 1 47.2251 -25.9844 -204.85 + 36 59.5031 766 0 0 46.7597 -26.7233 -205.85 +Number of digits in this event: 21 Using G4ParticleGun... -Particle energy: 9.94035 LIN +Particle energy: 6.04788 LIN Particle: e- Event: 37 -Number of tracker hits in this event: 32 - 37 112.041 308 8 1 -118.466 66.7312 35.55 - 37 133.319 1233 8 0 -118.464 66.7326 34.15 - 37 187.677 308 7 1 -118.428 66.7846 5.55 - 37 103.329 1233 7 0 -118.415 66.7893 4.15 - 37 203.464 310 6 1 -118.089 66.8839 -24.45 - 37 106.544 1234 6 0 -118.073 66.8947 -25.85 - 37 115.654 312 5 1 -117.747 67.0779 -54.45 - 37 128.295 1235 5 0 -117.722 67.0871 -55.85 - 37 105.433 314 4 1 -117.22 67.32 -84.45 - 37 210.11 1236 4 0 -117.202 67.3375 -85.85 - 37 146.947 316 3 1 -116.798 67.7474 -114.45 - 37 111.238 1238 3 0 -116.765 67.7695 -115.85 - 37 154.462 320 2 1 -116.085 68.2458 -144.45 - 37 125.841 1241 2 0 -116.041 68.2745 -145.85 - 37 120.982 324 1 1 -115.161 68.8808 -174.45 - 37 108.905 1244 1 0 -115.124 68.9125 -175.85 - 37 114.519 328 0 1 -114.413 69.5151 -204.45 - 37 163.14 1247 0 0 -114.365 69.5284 -205.85 - 37 81.8073 879 2 1 -4.16635 25.582 -144.45 - 37 89.3495 878 2 1 -4.25 25.5112 -144.592 - 37 212.079 1029 2 0 -4.77092 25.8799 -145.85 - 37 35.3922 444 2 0 5.77496 -91.2197 -146.25 - 37 106.038 443 2 0 5.80964 -91.35 -146.222 - 37 65.753 442 2 0 5.84419 -91.5503 -146.21 - 37 53.6318 441 2 0 5.79861 -91.7501 -146.197 - 37 244.806 168 2 0 103.588 -146.39 -146.25 - 37 140.134 169 2 0 103.727 -146.35 -146.136 - 37 356.187 167 2 0 104.044 -146.551 -145.923 - 37 68.2705 1197 0 0 -170.945 59.5706 -206.25 - 37 92.3352 1196 0 0 -171.073 59.45 -206.16 - 37 274.75 1135 0 0 -161.348 47.0826 -206.25 - 37 121.193 1235 4 0 -117.179 67.25 -86.1655 -Number of digits in this event: 19 +Number of tracker hits in this event: 21 + 37 119.505 1210 8 1 62.1012 -125.617 35.55 + 37 109.254 272 8 0 62.1008 -125.618 34.15 + 37 130.193 1210 7 1 62.0924 -125.641 5.55 + 37 185.533 272 7 0 62.0934 -125.642 4.15 + 37 109.685 1210 6 1 62.1196 -125.653 -24.45 + 37 136.464 272 6 0 62.1206 -125.653 -25.85 + 37 106.706 1210 5 1 62.1402 -125.658 -54.45 + 37 125.072 272 5 0 62.142 -125.66 -55.85 + 37 136.434 1210 4 1 62.1804 -125.689 -84.45 + 37 221.268 272 4 0 62.1829 -125.69 -85.85 + 37 107.591 1210 3 1 62.2384 -125.709 -114.45 + 37 130.694 272 3 0 62.2397 -125.709 -115.85 + 37 103.977 1211 2 1 62.2592 -125.715 -144.45 + 37 128.226 272 2 0 62.258 -125.715 -145.85 + 37 177.684 1210 1 1 62.235 -125.73 -174.45 + 37 132.674 272 1 0 62.2345 -125.73 -175.85 + 37 119.893 1210 0 1 62.2228 -125.707 -204.45 + 37 249.555 272 0 0 62.2228 -125.707 -205.85 + 37 211.713 1593 9 1 138.858 -136.688 65.15 + 37 277.355 271 0 0 62.2868 -125.75 -206.179 + 37 158.435 271 2 0 62.2302 -125.75 -145.945 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 9.55309 LIN +Particle energy: 6.95207 LIN Particle: e- Event: 38 -Number of tracker hits in this event: 232 - 38 127.234 574 11 1 -65.0814 22.944 125.55 - 38 117.846 1014 11 0 -65.0814 22.9441 124.15 - 38 368.768 574 10 1 -65.0818 22.949 95.55 - 38 417.314 1014 10 0 -65.082 22.9496 94.15 - 38 132.964 574 9 1 -65.0831 22.9672 65.55 - 38 118.221 1014 9 0 -65.0829 22.9677 64.15 - 38 129.632 574 8 1 -65.0798 22.9791 35.55 - 38 246.672 1014 8 0 -65.0797 22.9798 34.15 - 38 212.881 574 7 1 -65.0749 22.9956 5.55 - 38 132.546 1014 7 0 -65.075 22.9965 4.15 - 38 559.289 574 6 1 -65.0763 23.016 -24.45 - 38 860.851 1014 6 0 -65.0764 23.0179 -25.85 - 38 260.561 574 5 1 -65.0797 23.0569 -54.45 - 38 224.761 1015 5 0 -65.0796 23.0594 -55.85 - 38 416.083 574 4 1 -65.0741 23.113 -84.45 - 38 200.984 1015 4 0 -65.0728 23.1148 -85.85 - 38 226.891 575 3 1 -65.0489 23.1508 -114.45 - 38 440.566 1015 3 0 -65.0471 23.1537 -115.85 - 38 135.169 575 2 1 -65.0094 23.2168 -144.45 - 38 449.378 1015 2 0 -65.0059 23.2199 -145.85 - 38 219.566 575 1 1 -64.932 23.2837 -174.45 - 38 222.98 1016 1 0 -64.929 23.2867 -175.85 - 38 387.483 575 0 1 -64.8711 23.344 -204.45 - 38 526.54 1016 0 0 -64.8667 23.3468 -205.85 - 38 138.546 1110 2 0 -90.8813 42.0917 -146.25 - 38 3.73508 396 2 1 -100.773 40.1171 -144.85 - 38 1.11074 1100 2 0 -99.9626 40.107 -145.85 - 38 224.848 1322 3 1 84.6436 0.580688 -114.45 - 38 175.74 1323 3 1 84.6502 0.589011 -114.455 - 38 29.2193 917 3 0 87.0814 3.60685 -115.85 - 38 74.567 918 3 0 87.1355 3.65 -115.877 - 38 99.6109 919 3 0 87.206 3.85033 -116.04 - 38 99.777 993 3 0 13.0053 18.8255 -116.25 - 38 116.742 994 3 0 12.7565 18.85 -116.156 - 38 293.068 995 3 0 12.5489 19.05 -116.154 - 38 406.9 574 0 1 -65.05 23.223 -204.604 - 38 75.9792 573 0 1 -65.2505 23.2944 -204.476 - 38 175.6 576 0 1 -64.7737 23.4867 -204.45 - 38 106.808 577 0 1 -64.65 23.5404 -204.586 - 38 31.6355 1015 0 0 -63.7727 23.25 -206.191 - 38 442.137 574 3 1 -65.05 23.1778 -114.62 - 38 291.184 572 2 1 -65.5897 23.3252 -144.45 - 38 97.5902 582 1 1 -63.5225 20.4638 -174.45 - 38 129.707 1001 1 0 -63.4344 20.4234 -175.85 - 38 475.154 594 0 1 -61.1595 19.75 -204.451 - 38 316.397 998 0 0 -61.0254 19.6937 -205.85 - 38 5.74693 593 0 1 -61.2503 19.7907 -204.752 - 38 118.994 573 2 1 -65.2721 23.0213 -144.45 - 38 105.085 1014 2 0 -65.2595 23.0337 -145.85 - 38 115.516 1017 6 0 -65.4532 23.487 -25.8506 - 38 26.5397 643 6 0 -66.0891 -51.4174 -26.2498 - 38 59.914 642 6 0 -66.0859 -51.4502 -26.2401 - 38 45.0097 641 6 0 -66.0695 -51.6503 -26.1911 - 38 74.4634 640 6 0 -66.0519 -51.85 -26.173 - 38 42.3682 639 6 0 -65.9997 -52.05 -26.1428 - 38 82.8335 638 6 0 -65.9177 -52.2503 -26.1015 - 38 61.4324 637 6 0 -65.8438 -52.45 -26.0496 - 38 54.8805 636 6 0 -65.772 -52.65 -26.028 - 38 60.2057 635 6 0 -65.7078 -52.85 -26.0217 - 38 64.0218 634 6 0 -65.6331 -53.05 -25.9939 - 38 71.2458 633 6 0 -65.5598 -53.2504 -25.9345 - 38 1.67821 632 6 0 -65.5008 -53.45 -25.8524 - 38 323.043 575 6 1 -65.0328 -55.3427 -24.85 - 38 54.6649 555 7 0 -67.3821 -68.9431 3.75 - 38 172.876 554 7 0 -67.4071 -69.0501 3.95471 - 38 66.7384 562 7 1 -67.4811 -69.6542 5.15 - 38 38.5699 563 7 1 -67.45 -69.7323 5.42336 - 38 14.9851 299 8 1 -120.15 -148.041 35.4809 - 38 191.306 607 2 1 -58.6179 19.6082 -144.45 - 38 307.29 998 2 0 -58.372 19.7759 -145.85 - 38 67.1497 636 1 1 -52.6992 22.8959 -174.451 - 38 49.1451 637 1 1 -52.65 22.8702 -174.686 - 38 136.307 1013 1 0 -52.3793 22.7743 -175.85 - 38 127.522 670 0 1 -46.038 20.2004 -204.451 - 38 126.926 999 0 0 -45.4625 19.9826 -205.85 - 38 296.152 606 2 1 -58.6501 19.6016 -144.47 - 38 14.9114 605 2 1 -58.8502 19.6637 -144.785 - 38 20.707 997 2 0 -59.415 19.6263 -145.85 - 38 112.41 1016 4 0 -65.0567 23.3872 -85.85 - 38 167.152 1017 3 0 -65.0831 23.5073 -115.85 - 38 102.139 1021 2 0 -65.603 24.4302 -145.85 - 38 137.278 568 1 1 -66.2854 25.1575 -174.45 - 38 178.258 1025 1 0 -66.3143 25.202 -175.85 - 38 131.945 565 0 1 -66.9415 26.1719 -204.45 - 38 106.235 1030 0 0 -66.9329 26.21 -205.85 - 38 223.072 1042 2 0 -54.3179 28.4954 -146.25 - 38 7.02429 1041 2 0 -54.3427 28.45 -146.101 - 38 93.1602 574 2 1 -65.134 23.0477 -144.45 - 38 192.334 627 5 1 -54.6174 24.7803 -54.45 - 38 124.103 1025 5 0 -54.1977 25.1414 -55.85 - 38 7.38285 1026 5 0 -54.0793 25.25 -56.2243 - 38 7.65665 676 4 1 -44.6687 34.2367 -84.4501 - 38 70.8619 677 4 1 -44.65 34.2435 -84.4593 - 38 54.3605 678 4 1 -44.45 34.3213 -84.5579 - 38 50.1611 679 4 1 -44.25 34.405 -84.6609 - 38 44.5326 680 4 1 -44.0498 34.504 -84.7626 - 38 71.376 1077 4 0 -42.1062 35.5225 -85.85 - 38 127.587 1078 4 0 -41.8897 35.65 -85.9861 - 38 6.04101 1079 4 0 -41.5751 35.85 -86.2334 - 38 23.6681 818 4 0 7.83494 -16.35 -86.25 - 38 49.5465 817 4 0 7.84175 -16.4508 -86.2126 - 38 80.0809 816 4 0 7.85163 -16.65 -86.1243 - 38 14.7212 815 4 0 7.84242 -16.8502 -85.9094 - 38 120.961 939 4 1 7.99425 -17.0454 -84.8498 - 38 24.0407 1020 5 0 35.495 24.1969 -56.25 - 38 7.1723 1099 2 0 -57.2505 39.9854 -145.85 - 38 131.463 571 5 1 -65.8266 22.6007 -54.45 - 38 128.339 1013 5 0 -65.5902 22.7654 -55.85 - 38 80.1798 598 4 1 -60.3912 25.0702 -84.45 - 38 24.2198 597 4 1 -60.45 25.0013 -84.7468 - 38 88.26 1023 4 0 -60.6825 24.7213 -85.85 - 38 31.9227 1022 4 0 -60.75 24.65 -86.1387 - 38 127.211 557 3 1 -68.6106 17.6036 -114.45 - 38 127.975 556 3 1 -68.65 17.5767 -114.548 - 38 22.8746 986 3 0 -69.0859 17.2625 -115.85 - 38 231.205 985 3 0 -69.1047 17.25 -115.905 - 38 18.0437 501 2 1 -79.7745 11.4404 -144.45 - 38 73.8467 500 2 1 -79.8501 11.4831 -144.489 - 38 102.424 499 2 1 -80.05 11.6022 -144.601 - 38 63.2109 498 2 1 -80.25 11.7322 -144.724 - 38 59.4429 963 2 0 -81.5675 12.7181 -145.85 - 38 119.159 964 2 0 -81.729 12.85 -145.987 - 38 34.5431 965 2 0 -81.9655 13.05 -146.177 - 38 60.4366 314 1 1 -117.254 44.7673 -174.45 - 38 62.2612 315 1 1 -117.15 44.8706 -174.544 - 38 84.582 316 1 1 -116.95 45.0366 -174.617 - 38 263.152 317 1 1 -116.75 45.2306 -174.678 - 38 112.359 318 1 1 -116.55 45.6418 -174.776 - 38 66.7754 1141 1 0 -115.698 48.2871 -175.85 - 38 82.0078 1142 1 0 -115.565 48.45 -175.995 - 38 271.106 611 0 1 -57.85 19.7878 -204.803 - 38 2.58986 1034 6 0 -79.743 26.9074 -26.25 - 38 562.193 575 4 1 -65.0349 22.9358 -84.4506 - 38 114.425 1013 4 0 -65.1533 22.7033 -85.85 - 38 53.4482 1012 4 0 -65.1838 22.6499 -86.1736 - 38 137.592 984 3 0 -68.8785 17.05 -116.229 - 38 225.099 523 2 1 -75.3472 14.8501 -144.45 - 38 150.902 974 2 0 -75.6938 14.8609 -145.85 - 38 140.695 483 1 1 -83.3264 14.4103 -174.45 - 38 125.54 971 1 0 -83.5458 14.3406 -175.85 - 38 112.997 438 0 1 -92.4164 11.1301 -204.45 - 38 5.3913 437 0 1 -92.55 11.1434 -204.832 - 38 121.521 955 0 0 -92.8553 11.2018 -205.85 - 38 74.9721 856 3 0 -83.8509 -8.74453 -116.25 - 38 272.366 855 3 0 -83.9428 -8.85 -116.117 - 38 149.45 1014 4 0 -65.0826 22.8627 -85.85 - 38 63.2751 570 3 1 -65.9609 22.11 -114.45 - 38 60.0269 569 3 1 -66.05 22.1325 -114.673 - 38 139.717 1010 3 0 -66.463 22.2216 -115.85 - 38 235.016 528 2 1 -74.3454 23.8448 -144.45 - 38 35.9283 1016 2 0 -74.5906 23.2993 -145.85 - 38 92.4286 484 1 1 -83.1105 11.85 -174.45 - 38 51.4865 956 1 0 -83.8685 11.3109 -175.85 - 38 176.552 955 1 0 -83.954 11.25 -176.007 - 38 39.8868 400 0 1 -100.105 3.02764 -204.45 - 38 82.6699 399 0 1 -100.15 3.01515 -204.588 - 38 180.472 914 0 0 -100.612 2.89742 -205.85 - 38 145.247 576 9 1 -64.7347 23.9145 65.5497 - 38 154.005 1019 9 0 -64.6989 23.8798 64.15 - 38 110.78 589 8 1 -62.1822 22.9232 35.5484 - 38 152.426 614 7 1 -57.2239 23.0826 5.54975 - 38 176.18 1015 7 0 -57.1375 23.2156 4.15 - 38 108.093 629 6 1 -54.1861 25.4578 -24.4504 - 38 38.5844 630 6 1 -54.0499 25.4959 -24.7304 - 38 74.0064 1027 6 0 -53.4914 25.6243 -25.85 - 38 55.3581 1028 6 0 -53.374 25.65 -26.0866 - 38 93.4712 702 5 1 -39.6003 28.8357 -54.45 - 38 21.5551 703 5 1 -39.4499 28.8656 -54.7722 - 38 152.63 1044 5 0 -38.9525 28.9698 -55.8503 - 38 62.504 771 4 1 -25.7177 31.8703 -84.45 - 38 116.745 772 4 1 -25.65 31.9335 -84.5701 - 38 24.5787 1062 4 0 -24.8849 32.6143 -85.85 - 38 164.998 1063 4 0 -24.8454 32.65 -85.9162 - 38 8.13251 857 3 1 -8.47239 47.3256 -114.45 - 38 85.2183 858 3 1 -8.44959 47.3358 -114.476 - 38 82.8756 859 3 1 -8.24965 47.4292 -114.682 - 38 0.00921887 1140 3 0 -7.15477 48.25 -115.85 - 38 111.756 1141 3 0 -7.15475 48.25 -115.85 - 38 48.3611 1142 3 0 -6.90561 48.45 -116.129 - 38 47.7006 975 2 1 15.1496 68.486 -144.45 - 38 123.203 976 2 1 15.25 68.5768 -144.545 - 38 35.7444 977 2 1 15.4507 68.7554 -144.751 - 38 54.0137 1247 2 0 16.4097 69.5599 -145.85 - 38 98.9583 1248 2 0 16.5163 69.65 -145.969 - 38 16.6864 1249 2 0 16.7585 69.8501 -146.226 - 38 5.44034 1119 1 1 44.0378 91.7965 -174.45 - 38 66.6939 1120 1 1 44.05 91.8026 -174.452 - 38 56.1227 1121 1 1 44.2501 91.9142 -174.494 - 38 72.8081 1122 1 1 44.45 92.0315 -174.543 - 38 60.0668 1123 1 1 44.6503 92.1337 -174.596 - 38 250.28 1124 1 1 44.8504 92.2375 -174.652 - 38 57.7147 1125 1 1 45.05 92.3675 -174.712 - 38 36.4953 1126 1 1 45.25 92.4868 -174.799 - 38 64.2369 1370 1 0 48.1153 94.2995 -175.85 - 38 101.004 1371 1 0 48.1931 94.35 -175.88 - 38 140.363 1372 1 0 48.5396 94.55 -175.991 - 38 127.092 1373 1 0 48.9064 94.75 -176.102 - 38 97.9904 1374 1 0 49.2223 94.95 -176.214 - 38 183.291 1439 0 1 107.958 124.396 -204.45 - 38 24.9023 1440 0 1 108.15 124.524 -204.786 - 38 112.392 1524 0 0 108.6 124.966 -205.85 - 38 16.515 1525 0 0 108.715 125.15 -206.214 - 38 52.2962 1172 1 0 73.6534 54.4951 -176.25 - 38 36.0386 1066 0 1 33.3402 91.4422 -204.45 - 38 111.793 1067 0 1 33.45 91.5652 -204.683 - 38 317.059 573 9 1 -65.2698 21.4516 65.55 - 38 118.54 1006 9 0 -65.3156 21.3468 64.15 - 38 144.543 569 8 1 -66.218 19.2321 35.55 - 38 105.114 994 8 0 -66.3088 19.0059 34.15 - 38 293.35 557 7 1 -68.5332 14.2257 5.55 - 38 110.246 969 7 0 -68.6559 13.9966 4.15 - 38 114.837 544 6 1 -71.1182 9.10159 -24.45 - 38 15.057 944 6 0 -71.1459 8.86122 -25.85 - 38 82.9658 943 6 0 -71.1469 8.85 -25.9147 - 38 146.479 541 5 1 -71.7545 3.84178 -54.45 - 38 46.8657 918 5 0 -71.8291 3.66935 -55.85 - 38 166.78 917 5 0 -71.8375 3.65 -56.0098 - 38 122.756 533 4 1 -73.3326 0.203334 -84.45 - 38 117.696 528 3 1 -74.3374 -4.02084 -114.451 - 38 43.8524 879 3 0 -74.388 -4.22515 -115.851 - 38 95.458 878 3 0 -74.3942 -4.25 -116.025 - 38 127.152 856 2 0 -75.4251 -8.69529 -145.85 - 38 117.035 502 1 1 -79.5866 -14.4014 -174.45 - 38 210.673 826 1 0 -79.6784 -14.6679 -175.85 - 38 253.183 495 0 1 -80.9937 -20.1947 -204.45 - 38 60.9417 798 0 0 -81.1227 -20.4102 -205.85 - 38 38.9943 797 0 0 -81.146 -20.45 -206.117 - 38 50.3851 558 7 1 -68.45 13.8327 5.47024 - 38 41.6324 1008 9 0 -65.23 21.7917 64.15 - 38 83.6073 1009 9 0 -65.2428 21.85 64.0626 - 38 209.598 1010 9 0 -65.3005 22.05 63.9853 - 38 309.915 1011 9 0 -65.2448 22.25 63.8325 -Number of digits in this event: 95 -Using G4ParticleGun... -Particle energy: 8.82611 LIN +Number of tracker hits in this event: 22 + 38 141.76 569 10 1 -66.1815 83.4667 95.55 + 38 159.137 1317 10 0 -66.1823 83.4652 94.15 + 38 136.05 569 9 1 -66.1954 83.4334 65.55 + 38 148.675 1316 9 0 -66.1956 83.4315 64.15 + 38 136.158 569 8 1 -66.2006 83.3939 35.55 + 38 128.869 1316 8 0 -66.1993 83.3928 34.15 + 38 103.163 569 7 1 -66.1714 83.3748 5.55 + 38 110.447 1316 7 0 -66.1705 83.3734 4.15 + 38 112.019 569 6 1 -66.1495 83.3461 -24.45 + 38 209.409 1316 6 0 -66.1491 83.3454 -25.85 + 38 109.15 569 5 1 -66.1338 83.3278 -54.45 + 38 149.526 1316 5 0 -66.1351 83.3252 -55.85 + 38 100.579 569 4 1 -66.1588 83.2785 -84.45 + 38 186.007 1316 4 0 -66.1602 83.2779 -85.85 + 38 367.246 569 3 1 -66.1958 83.2648 -114.45 + 38 142.521 1316 3 0 -66.1962 83.2648 -115.85 + 38 128.538 569 2 1 -66.2069 83.2653 -144.45 + 38 120.344 1316 2 0 -66.2088 83.2684 -145.85 + 38 126.016 569 1 1 -66.2451 83.3377 -174.45 + 38 97.5111 1316 1 0 -66.2457 83.3386 -175.85 + 38 149.312 568 0 1 -66.2576 83.3546 -204.45 + 38 140.356 1316 0 0 -66.2584 83.354 -205.85 +Number of digits in this event: 18 +Using G4ParticleGun... +Particle energy: 7.07117 LIN Particle: e- Event: 39 -Number of tracker hits in this event: 34 - 39 163.948 512 10 1 -77.565 65.3333 95.55 - 39 111.515 1226 10 0 -77.5642 65.3332 94.15 - 39 127.969 512 9 1 -77.5427 65.3318 65.55 - 39 177.385 1226 9 0 -77.542 65.3322 64.15 - 39 195.725 512 8 1 -77.5275 65.3437 35.55 - 39 159.486 1226 8 0 -77.5258 65.3448 34.15 - 39 222.817 512 7 1 -77.4944 65.3678 5.55 - 39 97.6659 1226 7 0 -77.494 65.3693 4.15 - 39 162.924 512 6 1 -77.4849 65.3981 -24.45 - 39 195.677 1226 6 0 -77.4842 65.3992 -25.85 - 39 101.027 512 5 1 -77.4702 65.4191 -54.45 - 39 180.417 1226 5 0 -77.4693 65.4196 -55.85 - 39 112.464 512 4 1 -77.4535 65.4335 -84.45 - 39 110.931 1226 4 0 -77.4529 65.4335 -85.85 - 39 206.575 513 3 1 -77.4391 65.4305 -114.45 - 39 124.639 1226 3 0 -77.4382 65.4309 -115.85 - 39 187.028 513 2 1 -77.4179 65.4337 -144.45 - 39 110.592 1226 2 0 -77.4167 65.4331 -145.85 - 39 117.36 513 1 1 -77.3936 65.4193 -174.45 - 39 121.812 1226 1 0 -77.3922 65.4197 -175.85 - 39 172.664 513 0 1 -77.3679 65.4295 -204.45 - 39 118.634 1226 0 0 -77.3664 65.4302 -205.85 - 39 113.584 1440 11 1 108.15 41.9161 125.43 - 39 113.393 1439 11 1 108.15 41.9629 125.467 - 39 251.576 1441 11 1 108.35 41.8533 125.34 - 39 40.7338 514 0 1 -77.1566 65.4581 -204.45 - 39 87.4971 515 0 1 -77.05 65.4576 -204.497 - 39 73.0535 516 0 1 -76.85 65.4187 -204.545 - 39 422.186 517 0 1 -76.6495 65.3664 -204.634 - 39 19.8887 518 0 1 -76.45 65.2657 -204.467 - 39 4.62932 1598 0 0 -67.6178 139.95 -205.964 - 39 96.0361 511 6 1 -77.65 65.3591 -24.5353 - 39 79.4226 510 6 1 -77.8507 65.3814 -24.7135 - 39 102.375 1225 6 0 -78.6611 65.25 -26.1128 -Number of digits in this event: 19 -Using G4ParticleGun... -Particle energy: 5.0024 LIN +Number of tracker hits in this event: 200 + 39 131.094 1515 9 1 123.152 43.4255 65.55 + 39 106.109 1116 9 0 123.152 43.4254 64.15 + 39 226.299 1514 8 1 123.145 43.419 35.55 + 39 114.046 1116 8 0 123.145 43.4174 34.15 + 39 103.459 1514 7 1 123.137 43.3823 5.55 + 39 163.176 1116 7 0 123.135 43.3804 4.15 + 39 140.968 1514 6 1 123.109 43.3439 -24.45 + 39 161.147 1116 6 0 123.108 43.344 -25.85 + 39 113.05 1514 5 1 123.077 43.3467 -54.45 + 39 119.634 1116 5 0 123.078 43.3455 -55.85 + 39 423.389 1514 4 1 123.103 43.3196 -84.45 + 39 304.652 1116 4 0 123.102 43.3193 -85.85 + 39 505.307 1514 3 1 123.099 43.3101 -114.45 + 39 624.677 1116 3 0 123.1 43.3102 -115.85 + 39 130.579 1514 2 1 123.117 43.3138 -144.45 + 39 281.322 1116 2 0 123.117 43.3138 -145.85 + 39 99.6216 1514 1 1 123.118 43.3125 -174.45 + 39 196.362 1116 1 0 123.12 43.3123 -175.85 + 39 261.889 1515 0 1 123.16 43.3084 -204.45 + 39 364.556 1116 0 0 123.162 43.308 -205.85 + 39 18.9906 1516 0 1 123.55 99.3736 -204.729 + 39 17.3652 1446 7 0 122.685 109.35 3.87591 + 39 46.0137 184 4 0 -176.246 -143.163 -86.25 + 39 118.302 183 4 0 -176.458 -143.35 -86.0705 + 39 284.246 1513 0 1 122.879 43.3454 -204.45 + 39 63.93 1115 0 0 122.926 43.25 -206.019 + 39 99.6594 1513 2 1 122.774 43.3066 -144.45 + 39 119.138 1511 1 1 122.437 43.3982 -174.45 + 39 119.052 1506 0 1 121.478 43.9504 -204.45 + 39 123.59 1119 0 0 121.431 43.9707 -205.85 + 39 136.213 1516 2 1 123.513 42.5029 -144.45 + 39 152.998 1111 2 0 123.263 42.4181 -145.85 + 39 175.192 1489 1 1 118.14 40.4654 -174.45 + 39 126.11 1103 1 0 117.763 40.7156 -175.85 + 39 125.116 1444 0 1 109.057 45.7172 -204.45 + 39 144.377 1128 0 0 108.81 45.8083 -205.85 + 39 301.919 1521 0 1 124.378 40.8173 -204.45 + 39 134.822 1103 0 0 124.278 40.7405 -205.851 + 39 60.4714 659 10 0 70.85 -48.1465 93.75 + 39 114.521 658 10 0 70.6782 -48.25 93.8914 + 39 35.0154 1243 10 1 68.7588 -48.6653 95.15 + 39 70.231 1242 10 1 68.6499 -48.6763 95.2103 + 39 226.159 1241 10 1 68.4499 -48.8033 95.3073 + 39 121.363 1240 10 1 68.25 -48.8722 95.2928 + 39 91.5372 1239 10 1 68.05 -48.8019 95.2231 + 39 97.1135 1238 10 1 67.85 -48.73 95.2245 + 39 5.70329 668 10 0 66.5637 -46.269 94.15 + 39 124.249 669 10 0 66.5536 -46.25 94.1415 + 39 76.5561 670 10 0 66.2104 -46.0498 94.0133 + 39 30.3238 671 10 0 66.1272 -45.85 94.1359 + 39 198.995 1235 10 1 67.2013 -43.3094 95.15 + 39 131.713 1234 10 1 67.0497 -43.266 95.3917 + 39 96.9382 777 11 0 87.2769 -24.5354 123.75 + 39 12.3023 778 11 0 87.3388 -24.45 123.779 + 39 423.246 613 10 0 77.2888 -57.4045 93.75 + 39 82.819 1102 0 0 124.867 40.5071 -205.85 + 39 41.8791 1101 0 0 124.975 40.45 -206.094 + 39 38.608 1095 3 0 125.057 39.139 -115.85 + 39 59.6313 1094 3 0 125.12 39.0486 -115.881 + 39 68.3534 1093 3 0 125.234 38.85 -115.93 + 39 89.5456 1092 3 0 125.419 38.65 -115.902 + 39 80.9506 1091 3 0 125.628 38.45 -115.92 + 39 80.5811 1090 3 0 125.684 38.2499 -116.057 + 39 16.2702 1114 4 0 122.845 42.8672 -85.85 + 39 114.17 1113 4 0 122.834 42.85 -85.9098 + 39 156.76 1487 3 1 117.56 34.9635 -114.45 + 39 139.401 1073 3 0 117.728 34.8293 -115.851 + 39 216.181 1502 2 1 120.67 33.5028 -144.45 + 39 5.27177 1503 2 1 120.75 33.4481 -144.822 + 39 66.8568 1066 2 0 120.975 33.2881 -145.851 + 39 50.2534 1065 2 0 121.023 33.25 -146.077 + 39 77.5388 1530 1 1 126.274 28.6811 -174.45 + 39 66.416 1531 1 1 126.35 28.6279 -174.702 + 39 105.569 1041 1 0 126.699 28.4371 -175.85 + 39 152.266 1586 0 1 137.398 25.4124 -204.45 + 39 53.963 1587 0 1 137.55 25.496 -204.714 + 39 137.973 1029 0 0 138.26 25.8605 -205.85 + 39 91.8043 1559 0 1 132.072 26.8109 -204.45 + 39 72.2953 1501 2 1 120.55 33.4805 -144.494 + 39 63.8788 1500 2 1 120.35 33.3253 -144.586 + 39 56.143 1499 2 1 120.15 33.2335 -144.603 + 39 46.0143 1498 2 1 119.95 33.1711 -144.597 + 39 128.58 1497 2 1 119.75 33.0984 -144.592 + 39 71.5045 1496 2 1 119.55 33.0293 -144.613 + 39 62.8754 1495 2 1 119.35 32.9655 -144.66 + 39 66.315 1494 2 1 119.15 32.9065 -144.687 + 39 60.0896 1493 2 1 118.95 32.899 -144.683 + 39 92.0362 1492 2 1 118.75 32.8771 -144.712 + 39 53.0512 1491 2 1 118.549 32.8764 -144.717 + 39 63.1863 1490 2 1 118.349 32.9151 -144.713 + 39 51.4525 1489 2 1 118.15 33.0113 -144.794 + 39 248.044 1488 2 1 117.95 33.0937 -144.794 + 39 48.7731 1487 2 1 117.75 33.1637 -144.736 + 39 79.4513 1486 2 1 117.55 33.2119 -144.721 + 39 83.7918 1485 2 1 117.35 33.3731 -144.683 + 39 228.08 1484 2 1 117.15 33.5192 -144.62 + 39 113.215 1502 3 1 120.666 43.5822 -114.45 + 39 146.103 1117 3 0 120.531 43.551 -115.85 + 39 86.9801 1114 2 0 117.745 42.8564 -145.85 + 39 90.8331 1113 2 0 117.74 42.85 -146.041 + 39 123.433 1485 1 1 117.263 41.8193 -174.45 + 39 154.688 1108 1 0 117.321 41.8214 -175.85 + 39 118.498 1491 0 1 118.539 42.5219 -204.45 + 39 104.416 1112 0 0 118.569 42.5419 -205.85 + 39 86.0665 1512 4 1 122.748 43.8649 -84.45 + 39 45.3699 1511 4 1 122.55 43.8223 -84.7161 + 39 215.748 1120 4 0 121.554 44.094 -85.8501 + 39 21.883 963 4 0 78.9365 12.6983 -86.25 + 39 93.2977 962 4 0 78.8987 12.6499 -86.2195 + 39 55.6218 961 4 0 78.8016 12.45 -86.1421 + 39 58.6444 960 4 0 78.7132 12.25 -86.0954 + 39 52.7979 959 4 0 78.6286 12.05 -86.0395 + 39 81.9444 958 4 0 78.5736 11.85 -86.0339 + 39 60.4075 957 4 0 78.4759 11.65 -86.0376 + 39 47.0656 956 4 0 78.3712 11.4498 -86.0584 + 39 59.001 955 4 0 78.2974 11.2496 -86.1094 + 39 18.6966 954 4 0 78.2222 11.05 -86.2004 + 39 202.402 714 4 0 55.443 -37.1777 -86.2497 + 39 75.5015 713 4 0 55.2808 -37.25 -86.0152 + 39 4.21081 1172 4 1 54.4549 -36.7571 -84.85 + 39 102.598 1171 4 1 54.45 -36.7532 -84.8417 + 39 323.808 1170 4 1 54.25 -36.6163 -84.6071 + 39 372.557 1169 4 1 54.0499 -36.4554 -84.5119 + 39 25.2911 1168 4 1 53.8495 -36.4204 -84.4716 + 39 157.774 1515 8 1 123.156 43.5031 35.5498 + 39 101.185 1119 8 0 123.22 43.9408 34.15 + 39 122.45 1515 7 1 123.165 50.1273 5.55 + 39 87.742 1516 7 1 123.35 50.0055 5.35715 + 39 13.5238 1146 7 0 124.358 49.2727 4.15 + 39 168.104 1145 7 0 124.387 49.25 4.11358 + 39 6.29664 1144 7 0 124.635 49.05 3.76485 + 39 28.2519 1631 6 1 146.424 31.8899 -24.45 + 39 43.4155 1632 6 1 146.55 31.9029 -24.4829 + 39 59.5518 1633 6 1 146.75 31.9383 -24.538 + 39 63.6831 1634 6 1 146.95 31.9754 -24.6049 + 39 56.8426 1635 6 1 147.15 32.0107 -24.6718 + 39 55.3216 1636 6 1 147.35 32.0271 -24.7317 + 39 46.3401 1637 6 1 147.55 32.0373 -24.7908 + 39 48.3079 1060 6 0 150.547 32.2386 -25.85 + 39 216.768 1061 6 0 150.743 32.25 -25.9213 + 39 102.987 1391 0 1 98.485 113.217 -204.45 + 39 14.8523 1465 0 0 98.6042 113.342 -205.85 + 39 112.76 1466 0 0 98.6115 113.35 -205.908 + 39 179.985 1117 8 0 123.109 43.4766 34.1499 + 39 108.792 1512 7 1 122.58 44.3206 5.54991 + 39 120.134 1121 7 0 122.616 44.3098 4.15 + 39 113.637 1513 6 1 122.856 44.8959 -24.4511 + 39 111.659 1124 6 0 122.889 44.9403 -25.8501 + 39 96.1649 1517 5 1 123.673 46.1299 -54.45 + 39 137.047 1130 5 0 123.705 46.1834 -55.85 + 39 134.367 1520 4 1 124.21 47.7494 -84.45 + 39 122.118 1138 4 0 124.392 47.7119 -85.8502 + 39 128.993 1540 3 1 128.227 46.8959 -114.45 + 39 130.782 1133 3 0 128.367 46.7847 -115.85 + 39 132.983 1555 2 1 131.211 44.5798 -144.45 + 39 172.792 1122 2 0 131.393 44.5766 -145.85 + 39 25.3548 1575 1 1 135.333 44.6106 -174.45 + 39 96.9359 1576 1 1 135.35 44.6246 -174.53 + 39 131.536 1124 1 0 135.631 44.8792 -175.85 + 39 105.159 1607 0 1 141.576 50.5318 -204.45 + 39 86.1754 1153 0 0 141.828 50.8059 -205.85 + 39 50.5655 1154 0 0 141.869 50.8501 -206.082 + 39 267.51 1532 1 1 126.583 52.4358 -174.45 + 39 2.82435 1533 1 1 126.75 52.6262 -174.837 + 39 27.0749 1166 1 0 127.555 53.3907 -175.851 + 39 64.4762 1167 1 0 127.618 53.45 -175.922 + 39 52.4869 1168 1 0 127.781 53.6502 -176.061 + 39 70.9732 1169 1 0 127.863 53.85 -176.115 + 39 55.5301 1170 1 0 127.958 54.0506 -176.147 + 39 56.5611 1171 1 0 128.044 54.2502 -176.17 + 39 61.6798 1172 1 0 128.129 54.4508 -176.176 + 39 55.9041 1173 1 0 128.206 54.65 -176.201 + 39 6.05907 1174 1 0 128.262 54.85 -176.237 + 39 140.981 1519 5 1 124.05 41.4987 -54.4504 + 39 245.864 1107 5 0 124.166 41.5719 -55.85 + 39 112.999 1529 4 1 126.074 44.4579 -84.45 + 39 187.063 1122 4 0 126.283 44.5324 -85.85 + 39 123.726 1551 3 1 130.463 45.5511 -114.45 + 39 131.529 1127 3 0 130.639 45.5704 -115.85 + 39 126.445 1566 2 1 133.479 46.3695 -144.45 + 39 148.588 1129 2 0 133.676 46.0189 -145.85 + 39 67.5478 1586 1 1 137.517 38.3077 -174.45 + 39 70.7757 1587 1 1 137.55 38.2527 -174.632 + 39 138.669 1088 1 0 137.789 37.848 -175.85 + 39 448.105 1611 0 1 142.445 29.4375 -204.45 + 39 275.841 1045 0 0 142.68 29.2028 -205.85 + 39 321.603 773 1 0 135.027 -25.25 -176.102 + 39 170.719 734 1 0 70.7947 -33.1754 -176.25 + 39 345.64 1610 0 1 142.35 29.1714 -204.72 + 39 151.766 1609 0 1 142.15 28.5462 -204.73 + 39 60.7899 1539 2 1 128.133 39.4435 -144.85 + 39 63.7288 1538 2 1 127.95 39.3579 -144.773 + 39 68.9759 1537 2 1 127.75 39.3703 -144.79 + 39 184.655 1093 2 0 126.026 38.7385 -145.85 + 39 153.674 1094 2 0 125.865 38.85 -146.014 + 39 33.998 1584 1 1 136.95 -14.6692 -174.509 + 39 119.096 1188 6 0 148.175 57.7153 -26.25 + 39 173.808 1643 6 1 148.871 58.1864 -24.85 + 39 134.725 1644 6 1 148.95 58.2731 -24.6469 + 39 150.615 1190 6 0 148.458 58.1701 -25.8506 +Number of digits in this event: 82 +Using G4ParticleGun... +Particle energy: 3.79265 LIN Particle: e- Event: 40 -Number of tracker hits in this event: 42 - 40 111.977 1459 9 1 112.095 41.1461 65.55 - 40 138.053 1105 9 0 112.096 41.1456 64.15 - 40 205.107 1459 8 1 112.124 41.1397 35.55 - 40 98.6441 1105 8 0 112.125 41.1391 34.15 - 40 166.381 1459 7 1 112.137 41.1243 5.55 - 40 109.958 1105 7 0 112.137 41.124 4.15 - 40 98.6951 1459 6 1 112.13 41.1124 -24.45 - 40 218.602 1105 6 0 112.127 41.11 -25.85 - 40 130.991 1459 5 1 112.072 41.0568 -54.45 - 40 121.822 1105 5 0 112.07 41.0559 -55.85 - 40 122.233 1459 4 1 112.038 41.0342 -84.45 - 40 118.238 1104 4 0 112.034 41.0323 -85.85 - 40 109.311 1459 3 1 111.954 40.9953 -114.45 - 40 103.482 1104 3 0 111.951 40.9926 -115.85 - 40 150.809 1458 2 1 111.884 40.9501 -144.45 - 40 110.153 1104 2 0 111.882 40.9526 -145.85 - 40 112.7 1458 1 1 111.827 41.0083 -174.45 - 40 190.7 1104 1 0 111.824 41.0111 -175.85 - 40 155.793 1457 0 1 111.744 41.0798 -204.45 - 40 105.265 1105 0 0 111.74 41.084 -205.85 - 40 122.139 141 6 0 -130.157 -151.8 -26.2499 - 40 25.4357 140 6 0 -130.501 -151.95 -25.9131 - 40 57.4766 242 6 1 -131.568 -152.464 -24.85 - 40 65.7473 241 6 1 -131.75 -152.561 -24.7393 - 40 121.437 240 6 1 -131.95 -152.682 -24.7488 - 40 71.9667 239 6 1 -132.15 -152.83 -24.7889 - 40 154.905 238 6 1 -132.35 -152.943 -24.8114 - 40 65.5406 237 6 1 -132.55 -153.068 -24.7767 - 40 54.0012 236 6 1 -132.75 -153.134 -24.7607 - 40 57.3341 235 6 1 -132.95 -153.157 -24.7696 - 40 68.7171 234 6 1 -133.15 -153.098 -24.8067 - 40 40.2313 233 6 1 -133.35 -153.029 -24.8449 - 40 17.3542 150 6 0 -138.106 -150.008 -25.85 - 40 119.114 151 6 0 -138.166 -149.95 -25.8677 - 40 98.3577 152 6 0 -138.478 -149.75 -26.0926 - 40 113.289 1451 0 1 110.453 71.9653 -204.85 - 40 161.663 1452 0 1 110.55 72.1987 -204.479 - 40 143.258 1452 5 1 110.658 2.45325 -54.45 - 40 78.0013 1460 7 1 112.15 41.1369 5.19714 - 40 138.379 1104 7 0 112.025 40.9809 4.15 - 40 11.995 1462 7 1 112.559 41.6734 5.15012 - 40 20.6865 1109 7 0 113.062 41.9613 4.14999 -Number of digits in this event: 19 +Number of tracker hits in this event: 29 + 40 141.178 332 10 0 24.1081 -113.562 94.15 + 40 150.336 1020 9 1 24.0939 -113.554 65.55 + 40 165.61 332 9 0 24.0937 -113.554 64.15 + 40 172.674 1020 8 1 24.0852 -113.53 35.55 + 40 89.7954 333 8 0 24.0841 -113.526 34.15 + 40 125.09 1020 7 1 24.062 -113.461 5.55 + 40 117.556 333 7 0 24.0631 -113.458 4.15 + 40 141.038 1020 6 1 24.0524 -113.397 -24.45 + 40 208.341 333 6 0 24.0507 -113.395 -25.85 + 40 255.477 1019 5 1 24.0213 -113.365 -54.45 + 40 116.912 333 5 0 24.0322 -113.392 -55.85 + 40 155.045 1020 4 1 24.2405 -113.92 -84.45 + 40 221.313 330 4 0 24.2648 -113.962 -85.85 + 40 101.52 1024 3 1 24.8559 -114.694 -114.45 + 40 36.6494 327 3 0 24.8605 -114.746 -115.85 + 40 166.53 326 3 0 24.8609 -114.75 -115.943 + 40 138.631 1024 2 1 24.9483 -115.84 -144.45 + 40 139.263 321 2 0 24.9819 -115.902 -145.85 + 40 104.636 1027 1 1 25.4558 -117.143 -174.45 + 40 123.645 314 1 0 25.4724 -117.189 -175.85 + 40 150.778 1029 0 1 25.868 -117.913 -204.45 + 40 147.426 311 0 0 25.8923 -117.92 -205.85 + 40 169.999 1023 3 1 24.8498 -114.692 -114.51 + 40 43.3935 331 3 0 23.0925 -113.782 -115.85 + 40 217.214 332 3 0 23.0296 -113.75 -115.923 + 40 72.6904 333 3 0 23.2042 -113.55 -115.872 + 40 57.2444 331 4 0 24.1622 -113.95 -86.0653 + 40 423.414 1020 5 1 24.0713 -113.443 -54.4501 + 40 89.8848 1021 5 1 24.25 -113.323 -54.588 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 1.48097 LIN +Particle energy: 4.0051 LIN Particle: e- Event: 41 -Number of tracker hits in this event: 34 - 41 120.778 1398 9 1 99.9027 -62.3636 65.55 - 41 133.34 588 9 0 99.8995 -62.3555 64.15 - 41 130.065 1398 8 1 99.8399 -62.1827 35.55 - 41 179.576 589 8 0 99.8304 -62.176 34.15 - 41 111.898 1397 7 1 99.6099 -62.0393 5.55 - 41 100.492 590 7 0 99.5993 -62.0337 4.15 - 41 144.567 1396 6 1 99.405 -61.9192 -24.45 - 41 261.114 590 6 0 99.3941 -61.9137 -25.85 - 41 187.184 1394 5 1 99.1432 -61.8113 -54.45 - 41 145.577 591 5 0 99.133 -61.8089 -55.85 - 41 112.181 1393 4 1 98.934 -61.7561 -84.45 - 41 120.168 591 4 0 98.9168 -61.7596 -85.85 - 41 156.815 1392 3 1 98.5901 -61.8487 -114.45 - 41 195.044 590 3 0 98.5819 -61.8526 -115.85 - 41 128.026 1391 2 1 98.4196 -61.949 -144.45 - 41 104.092 590 2 0 98.4123 -61.9577 -145.85 - 41 409.27 1390 1 1 98.2887 -62.1653 -174.45 - 41 315.589 589 1 0 98.2863 -62.1711 -175.85 - 41 117.669 1390 0 1 98.2479 -62.2794 -204.45 - 41 108.001 588 0 0 98.2475 -62.2856 -205.85 - 41 23.2678 36 8 0 92.6665 -172.75 33.8585 - 41 72.9069 1359 8 1 92.0884 -174.019 35.15 - 41 127.298 1398 0 1 99.8373 -63.0378 -204.45 - 41 14.4499 584 0 0 99.8975 -63.2435 -205.85 - 41 114.74 583 0 0 99.8995 -63.25 -205.892 - 41 141.805 592 1 0 98.0268 -61.5906 -175.85 - 41 10.6429 593 1 0 97.9466 -61.45 -176.236 - 41 130.427 1361 0 1 92.4555 -49.4864 -204.45 - 41 54.1175 654 0 0 92.5258 -49.0921 -205.85 - 41 58.5878 655 0 0 92.5167 -49.05 -206.033 - 41 103.132 677 8 0 78.4246 -44.6047 33.75 - 41 131.669 678 8 0 78.2759 -44.45 33.991 - 41 40.1692 679 8 0 78.4498 -44.25 34.0949 - 41 341.051 1305 8 1 81.1671 -41.648 35.1501 -Number of digits in this event: 20 +Number of tracker hits in this event: 88 + 41 160.859 568 10 1 -66.2853 -69.2564 95.55 + 41 129.732 553 10 0 -66.286 -69.256 94.15 + 41 499.791 568 9 1 -66.2993 -69.2478 65.55 + 41 248.022 554 9 0 -66.3015 -69.2478 64.15 + 41 166.294 568 8 1 -66.3535 -69.2565 35.55 + 41 107.872 553 8 0 -66.3575 -69.2564 34.15 + 41 130.446 568 7 1 -66.4419 -69.2532 5.55 + 41 145.659 553 7 0 -66.4443 -69.2551 4.15 + 41 173.886 567 6 1 -66.4855 -69.2845 -24.45 + 41 184.005 553 6 0 -66.4874 -69.287 -25.85 + 41 169.394 567 5 1 -66.5168 -69.3472 -54.45 + 41 141.885 553 5 0 -66.5189 -69.3492 -55.85 + 41 117.858 567 4 1 -66.5538 -69.3836 -84.45 + 41 138.348 553 4 0 -66.5545 -69.3844 -85.85 + 41 154.925 567 3 1 -66.5741 -69.4067 -114.45 + 41 199.597 553 3 0 -66.5733 -69.4074 -115.85 + 41 200.272 567 2 1 -66.5617 -69.4201 -144.45 + 41 157.277 553 2 0 -66.5603 -69.4238 -145.85 + 41 98.5286 567 1 1 -66.5264 -69.5021 -174.45 + 41 103.34 552 1 0 -66.523 -69.5061 -175.85 + 41 157.019 567 0 1 -66.4628 -69.5831 -204.45 + 41 108.106 552 0 0 -66.4599 -69.5864 -205.85 + 41 94.3424 370 4 1 -106.109 148.708 -84.85 + 41 169.396 612 9 0 -112.09 -57.5602 63.75 + 41 26.7385 566 5 1 -66.65 -69.3169 -54.7724 + 41 167.599 557 5 0 -66.4082 -68.6108 -55.85 + 41 398.514 556 5 0 -66.3568 -68.6501 -55.9958 + 41 138.542 539 6 0 -65.934 -72.184 -26.25 + 41 134.649 570 6 1 -65.9129 -71.6091 -24.8498 + 41 79.9417 569 6 1 -66.0504 -71.4844 -24.6677 + 41 158.882 568 6 1 -66.25 -71.3197 -24.7167 + 41 189.321 545 6 0 -67.2453 -70.981 -25.85 + 41 260.743 511 6 0 -114.306 -77.6836 -26.25 + 41 35.0552 554 7 0 -66.4567 -69.25 3.77365 + 41 24.5802 894 7 0 -97.1179 -1.18826 3.75 + 41 90.7256 796 7 0 -84.0315 -20.7693 3.75 + 41 49.5631 553 9 0 -66.2027 -69.4249 64.15 + 41 66.6538 552 9 0 -66.1886 -69.45 63.9595 + 41 167.608 579 8 1 -64.1778 -72.0263 35.5498 + 41 320.793 578 8 1 -64.2504 -72.038 35.4108 + 41 77.0954 539 8 0 -64.6236 -72.0581 34.15 + 41 62.226 540 8 0 -64.6992 -72.05 33.916 + 41 34.7004 527 7 1 -74.5718 -71.0204 5.54991 + 41 114.901 526 7 1 -74.65 -70.995 5.44333 + 41 148.957 546 7 0 -75.412 -70.7461 4.15 + 41 6.52677 547 7 0 -75.623 -70.65 3.76492 + 41 32.9039 444 6 1 -91.2852 -61.8184 -24.45 + 41 105.402 443 6 1 -91.35 -61.8522 -24.5546 + 41 42.727 589 6 0 -92.043 -62.2151 -25.85 + 41 124.026 588 6 0 -92.1063 -62.25 -25.9653 + 41 11.0201 362 5 1 -107.558 -70.7546 -54.45 + 41 105.93 363 5 1 -107.55 -70.7514 -54.4956 + 41 132.38 547 5 0 -107.28 -70.6323 -55.8506 + 41 75.3893 386 4 1 -102.821 -70.5785 -84.4502 + 41 53.8669 385 4 1 -102.95 -70.6151 -84.7092 + 41 66.2597 545 4 0 -103.92 -70.8717 -85.85 + 41 102.109 546 4 0 -104.15 -70.85 -86.0236 + 41 11.2537 201 4 0 -12.4688 -139.75 -86.0998 + 41 16.4652 554 3 0 55.5598 -69.25 -116.002 + 41 241.674 200 4 0 -12.207 -139.95 -86.0263 + 41 120.529 560 8 0 -63.7689 -67.8991 34.149 + 41 177.36 626 7 1 -54.7392 -64.9513 5.55 + 41 172.565 574 7 0 -54.4402 -65.0954 4.15 + 41 40.7155 662 6 1 -47.5189 -68.2427 -24.4501 + 41 78.9245 663 6 1 -47.45 -68.2722 -24.6096 + 41 123.133 557 6 0 -46.8949 -68.4908 -25.8501 + 41 115.579 734 5 1 -33.1914 -74.1973 -54.45 + 41 112.313 530 5 0 -32.7919 -73.9367 -55.8503 + 41 24.3686 531 5 0 -32.6869 -73.85 -56.1915 + 41 122.394 786 4 1 -22.6786 -64.185 -84.4504 + 41 29.6488 582 4 0 -22.6376 -63.4911 -85.85 + 41 87.7752 583 4 0 -22.6375 -63.45 -85.9441 + 41 31.9889 791 3 1 -21.7314 -54.9999 -114.45 + 41 52.7554 790 3 1 -21.85 -55.0437 -114.502 + 41 98.6501 789 3 1 -22.05 -55.1094 -114.606 + 41 65.2063 788 3 1 -22.2502 -55.1687 -114.703 + 41 158.706 787 3 1 -22.45 -55.2408 -114.781 + 41 171.807 619 3 0 -25.2619 -56.0733 -115.85 + 41 157.825 618 3 0 -25.8399 -56.2501 -116.048 + 41 22.9417 617 3 0 -26.3223 -56.45 -116.226 + 41 23.5202 787 4 1 -22.65 -64.038 -84.7551 + 41 119.837 578 4 0 -22.1874 -64.2523 -85.85 + 41 37.8316 577 4 0 -22.1747 -64.4501 -86.1602 + 41 5.289 536 4 0 -35.7448 -72.6539 -86.25 + 41 228.049 537 4 0 -35.7544 -72.65 -86.2289 + 41 150.348 716 4 1 -36.6886 -72.086 -84.85 + 41 336.879 717 4 1 -36.65 -72.017 -84.6767 + 41 94.9708 567 9 1 -66.45 -69.1809 65.4457 +Number of digits in this event: 44 Using G4ParticleGun... -Particle energy: 6.04765 LIN +Particle energy: 7.86424 LIN Particle: e- Event: 42 -Number of tracker hits in this event: 79 - 42 111.537 1481 9 1 116.517 54.5953 65.55 - 42 166.571 1172 9 0 116.517 54.5953 64.15 - 42 98.1348 1481 8 1 116.499 54.5905 35.55 - 42 128.605 1172 8 0 116.496 54.5905 34.15 - 42 159.448 1481 7 1 116.423 54.5975 5.55 - 42 134.004 1172 7 0 116.419 54.5986 4.15 - 42 117.938 1480 6 1 116.323 54.6149 -24.45 - 42 91.3325 1172 6 0 116.322 54.6192 -25.85 - 42 108.269 1480 5 1 116.291 54.7111 -54.45 - 42 111.998 1173 5 0 116.29 54.7167 -55.85 - 42 229.055 1480 4 1 116.248 54.8353 -84.45 - 42 329.601 1173 4 0 116.244 54.841 -85.85 - 42 155.114 1480 3 1 116.183 54.9504 -114.45 - 42 207.013 1174 3 0 116.182 54.9575 -115.85 - 42 612.051 1480 2 1 116.158 55.1016 -144.45 - 42 566.629 1175 2 0 116.158 55.108 -145.85 - 42 272.513 1480 1 1 116.169 55.2186 -174.45 - 42 293.404 1175 1 0 116.17 55.2266 -175.85 - 42 131.668 1480 0 1 116.162 55.3718 -204.45 - 42 371.62 1176 0 0 116.161 55.3774 -205.85 - 42 153.546 1503 0 1 120.783 42.3405 -204.45 - 42 267.504 1502 0 1 120.75 42.409 -204.565 - 42 110.681 1469 1 1 114.094 55.7228 -174.45 - 42 173.732 1178 1 0 113.977 55.7823 -175.85 - 42 124.474 1458 0 1 111.886 57.2006 -204.45 - 42 128.012 1183 0 0 111.837 56.7877 -205.85 - 42 63.5825 273 1 1 -125.35 25.5037 -174.481 - 42 147.118 1176 1 0 116.323 55.2507 -175.85 - 42 129.65 1481 0 1 116.472 55.3936 -204.45 - 42 9.98981 944 0 0 149.496 9.05 -206.142 - 42 190.91 943 0 0 149.636 8.85 -205.944 - 42 314.268 1479 4 1 116.15 54.4748 -84.6781 - 42 34.3555 1168 4 0 115.82 53.7034 -85.85 - 42 95.1103 1167 4 0 115.804 53.65 -85.9551 - 42 144.995 1479 3 1 116.103 54.6424 -114.45 - 42 286.349 1172 3 0 116.105 54.6407 -115.85 - 42 116.255 1172 2 0 116.195 54.5744 -145.85 - 42 146.269 1481 1 1 116.509 54.2026 -174.45 - 42 106.177 1170 1 0 116.526 54.194 -175.85 - 42 141.386 1483 0 1 116.922 54.024 -204.45 - 42 149.57 1169 0 0 116.961 54.03 -205.85 - 42 254.382 1482 1 1 116.55 54.2294 -174.521 - 42 1.80802 1168 1 0 117.226 53.6541 -175.85 - 42 120.721 1167 1 0 117.23 53.65 -175.859 - 42 15.8329 1166 1 0 117.299 53.45 -176.221 - 42 43.7155 860 1 0 121.933 -7.91402 -176.25 - 42 102.632 859 1 0 121.897 -8.05005 -176.178 - 42 53.7115 858 1 0 121.854 -8.25 -176.118 - 42 103.425 857 1 0 121.932 -8.45 -176.129 - 42 152.103 856 1 0 122.08 -8.65 -175.979 - 42 109.833 855 1 0 122.256 -8.85 -176.132 - 42 95.7174 1479 1 1 116.15 54.7998 -174.543 - 42 160.091 1172 1 0 115.643 54.5446 -175.85 - 42 106.339 1421 0 1 104.474 47.9083 -204.45 - 42 130.772 1137 0 0 104.208 47.5602 -205.85 - 42 161.205 1478 3 1 115.909 54.6636 -114.45 - 42 185.496 1173 3 0 115.902 54.6701 -115.85 - 42 140.668 1477 2 1 115.747 54.8407 -144.45 - 42 374.419 1174 2 0 115.749 54.8567 -145.85 - 42 164.902 1478 1 1 115.775 55.1565 -174.45 - 42 135.402 1477 0 1 115.711 55.3857 -204.45 - 42 103.857 1171 3 0 116.931 54.3857 -115.85 - 42 246.518 1479 2 1 116.065 54.6061 -144.451 - 42 393.145 1446 1 1 109.405 64.4555 -174.451 - 42 26.8975 1445 1 1 109.35 64.6077 -174.772 - 42 92.5171 1225 1 0 109.118 65.0958 -175.851 - 42 26.9465 1226 1 0 109.059 65.25 -176.154 - 42 49.435 1425 0 1 105.253 79.1584 -204.45 - 42 317.919 1424 0 1 105.15 79.2629 -204.55 - 42 84.3157 1423 0 1 104.95 79.3363 -204.617 - 42 53.4484 1308 0 0 104.321 81.7143 -205.85 - 42 304.328 1309 0 0 104.259 81.85 -205.873 - 42 172.583 1310 0 0 103.959 82.05 -206.084 - 42 39.0964 1416 0 1 103.49 85.8156 -204.85 - 42 94.5204 1173 9 0 116.563 54.65 64.0923 - 42 11.9463 1488 9 1 117.847 55.2756 65.15 - 42 45.0489 1185 9 0 117.982 57.1976 64.15 - 42 111.33 1489 9 1 118.094 56.4125 65.1502 - 42 93.8882 1481 5 1 116.526 54.6163 -54.45 -Number of digits in this event: 46 +Number of tracker hits in this event: 131 + 42 116.355 420 10 1 -96.0071 -39.476 95.55 + 42 116.231 702 10 0 -96.0079 -39.477 94.15 + 42 136.069 420 9 1 -96.0244 -39.5002 65.55 + 42 159.095 702 9 0 -96.0247 -39.502 64.15 + 42 116.103 420 8 1 -96.028 -39.5386 35.55 + 42 127.369 702 8 0 -96.0274 -39.5408 34.15 + 42 333.549 420 7 1 -96.018 -39.5871 5.55 + 42 377.68 702 7 0 -96.0207 -39.592 4.15 + 42 422.387 420 6 1 -96.0917 -39.6803 -24.45 + 42 452.528 701 6 0 -96.093 -39.6891 -25.85 + 42 317.399 420 5 1 -96.1279 -39.8802 -54.45 + 42 256.957 700 5 0 -96.1324 -39.8897 -55.85 + 42 276.039 419 4 1 -96.2311 -40.0839 -84.45 + 42 115.518 699 4 0 -96.2387 -40.0935 -85.85 + 42 93.8568 418 3 1 -96.3968 -40.2776 -114.45 + 42 122.855 698 3 0 -96.4122 -40.2817 -115.85 + 42 111.314 417 2 1 -96.7264 -40.3631 -144.45 + 42 169.07 698 2 0 -96.7413 -40.3616 -145.85 + 42 142.998 415 1 1 -97.0424 -40.3342 -174.45 + 42 236.74 698 1 0 -97.0517 -40.3306 -175.85 + 42 267.498 414 0 1 -97.2339 -40.2389 -204.45 + 42 282.714 699 0 0 -97.2553 -40.2364 -205.85 + 42 9.52906 1039 9 0 -154.465 27.8656 63.75 + 42 91.1598 413 0 1 -97.35 -40.378 -204.525 + 42 202.617 412 0 1 -97.5501 -40.4958 -204.666 + 42 50.2497 411 0 1 -97.75 -40.5867 -204.776 + 42 8.81777 410 0 1 -97.95 -40.672 -204.843 + 42 26.1915 694 0 0 -100.012 -41.2234 -205.85 + 42 143.132 693 0 0 -100.107 -41.2503 -205.895 + 42 178.064 692 0 0 -100.605 -41.4502 -206.137 + 42 154.139 714 4 0 -146.416 -37.0759 -86.25 + 42 138.869 419 6 1 -96.15 -39.6174 -24.6264 + 42 195.094 700 6 0 -97.7758 -39.8766 -25.85 + 42 110.827 699 6 0 -98.2205 -40.0506 -26.066 + 42 79.4565 698 6 0 -98.5569 -40.25 -26.1265 + 42 56.0689 697 6 0 -98.7165 -40.45 -26.2057 + 42 100.225 537 2 1 -72.65 -99.4339 -144.732 + 42 107.242 416 7 1 -96.8998 -41.5981 5.55 + 42 185.304 417 7 1 -96.75 -41.5885 5.3931 + 42 221.448 418 7 1 -96.55 -41.4708 5.38403 + 42 169.165 419 7 1 -96.35 -41.4158 5.37629 + 42 155.577 703 6 0 -96.0704 -39.3787 -25.85 + 42 276.902 704 5 0 -96.0492 -39.1264 -55.85 + 42 206.007 705 4 0 -96.3206 -39.026 -85.85 + 42 150.387 417 3 1 -96.6396 -38.8836 -114.45 + 42 109.004 705 3 0 -96.6721 -38.888 -115.85 + 42 130.173 414 2 1 -97.2832 -39.0027 -144.45 + 42 112.155 705 2 0 -97.287 -38.9997 -145.85 + 42 239.247 414 1 1 -97.3311 -39.0888 -174.45 + 42 131.733 704 1 0 -97.3507 -39.1024 -175.85 + 42 144.922 703 0 0 -97.7733 -39.4476 -205.85 + 42 102.648 702 0 0 -97.777 -39.45 -205.936 + 42 439.932 421 5 1 -95.9289 -39.8246 -54.45 + 42 243.809 701 5 0 -95.9284 -39.8311 -55.85 + 42 254.89 421 4 1 -95.9184 -39.9719 -84.45 + 42 148.655 700 4 0 -95.916 -39.9797 -85.85 + 42 205.797 421 3 1 -95.8574 -40.1095 -114.45 + 42 155.355 699 3 0 -95.8526 -40.1154 -115.85 + 42 105.617 422 2 1 -95.7366 -40.2324 -144.45 + 42 122.365 699 2 0 -95.7337 -40.2403 -145.85 + 42 185.632 422 1 1 -95.6744 -40.3992 -174.45 + 42 196.15 423 0 1 -95.5016 -40.6042 -204.45 + 42 111.545 697 0 0 -95.4951 -40.6161 -205.85 + 42 37.3973 795 3 1 -20.85 -17.203 -114.77 + 42 163.585 532 6 0 -159.491 -73.5424 -26.2499 + 42 227.312 749 0 0 -79.9005 -30.2287 -206.25 + 42 127.461 420 4 1 -96.1223 -40.2246 -84.45 + 42 179.571 698 4 0 -96.094 -40.258 -85.85 + 42 107.605 424 3 1 -95.2754 -41.0069 -114.45 + 42 132.405 694 3 0 -95.2036 -41.1006 -115.85 + 42 116.897 432 2 1 -93.715 -43.0628 -144.45 + 42 236.477 684 2 0 -93.6325 -43.152 -145.85 + 42 179.058 441 1 1 -91.8527 -44.8639 -174.45 + 42 113.336 675 1 0 -91.7612 -44.8992 -175.85 + 42 111.429 671 0 0 -90.0276 -45.6789 -205.85 + 42 76.4392 681 4 0 -96.161 -43.8265 -85.85 + 42 35.8346 680 4 0 -96.2198 -43.85 -86.1199 + 42 52.8375 784 4 0 -113.737 -23.1411 -86.2497 + 42 108.873 785 4 0 -113.793 -23.05 -86.1262 + 42 104.133 328 4 1 -114.396 -22.2166 -84.85 + 42 27.2303 327 4 1 -114.55 -22.0118 -84.5308 + 42 51.7099 1000 5 0 -140.798 20.141 -56.25 + 42 91.7362 1001 5 0 -140.87 20.25 -56.1698 + 42 76.1099 1002 5 0 -141.025 20.4503 -55.9971 + 42 39.0714 190 5 1 -142.084 21.7668 -54.8495 + 42 110.303 189 5 1 -142.15 21.8495 -54.7764 + 42 56.0467 188 5 1 -142.35 22.075 -54.5621 + 42 50.3303 1165 6 0 -150.309 53.1047 -26.25 + 42 67.8391 1166 6 0 -150.34 53.25 -26.1197 + 42 39.0169 1167 6 0 -150.385 53.45 -25.9483 + 42 213.039 146 6 1 -150.792 54.78 -24.8499 + 42 140.063 145 6 1 -150.95 55.1763 -24.5237 + 42 82.8699 1078 7 0 -150.519 35.8106 3.75018 + 42 156.414 1077 7 0 -150.512 35.65 3.94675 + 42 13.9381 1076 7 0 -150.484 35.4495 4.11874 + 42 135.248 148 7 1 -150.388 34.3312 5.15 + 42 26.9613 149 7 1 -150.35 33.8942 5.49765 + 42 148.972 150 7 1 -150.062 33.6011 5.55 + 42 223.277 1066 7 0 -150.042 33.3573 4.15 + 42 325.652 174 6 1 -145.253 25.8701 -24.4501 + 42 14.6416 175 6 1 -145.15 25.1733 -24.8275 + 42 199.814 1023 6 0 -144.729 24.7769 -25.85 + 42 55.4623 1440 6 0 -160.763 108.173 -26.2498 + 42 64.6808 1441 6 0 -160.797 108.35 -26.2107 + 42 97.7515 1442 6 0 -160.818 108.551 -26.197 + 42 226.636 1443 6 0 -160.754 108.75 -26.0825 + 42 37.1714 1067 7 0 -149.51 33.5275 4.15 + 42 139.962 796 5 0 -102.355 -20.8422 -56.25 + 42 122.938 795 5 0 -102.301 -20.85 -56.1526 + 42 108.435 388 5 1 -102.461 -22.5702 -54.85 + 42 79.2018 387 5 1 -102.55 -22.814 -54.7485 + 42 231.368 786 5 0 -102.687 -22.8467 -55.8504 + 42 24.6395 112 5 1 -157.55 130.88 -54.8311 + 42 94.4448 111 5 1 -157.75 131.323 -54.7185 + 42 326.878 110 5 1 -157.95 131.477 -54.7306 + 42 66.1597 109 5 1 -158.15 131.794 -54.4834 + 42 75.0829 675 4 0 -96.6933 -44.8636 -85.85 + 42 87.9793 674 4 0 -96.793 -45.05 -85.92 + 42 173.664 673 4 0 -96.884 -45.25 -85.8552 + 42 200.418 412 4 1 -97.7055 -47.4967 -84.85 + 42 39.2974 660 4 0 -96.466 -47.9146 -85.85 + 42 14.9341 415 4 1 -97.1446 -47.2485 -84.85 + 42 315.799 420 2 1 -96.1277 -39.4384 -144.45 + 42 215.175 703 2 0 -96.1472 -39.4125 -145.85 + 42 193.051 417 1 1 -96.6223 -38.8784 -174.45 + 42 114.337 706 1 0 -96.6295 -38.8389 -175.85 + 42 128.632 416 0 1 -96.8276 -37.9317 -204.45 + 42 133.891 710 0 0 -96.8752 -37.9237 -205.85 + 42 122.854 419 1 1 -96.23 -39.4733 -174.45 + 42 153.885 702 1 0 -96.233 -39.4715 -175.85 + 42 120.543 419 0 1 -96.3068 -39.4423 -204.45 +Number of digits in this event: 75 Using G4ParticleGun... -Particle energy: 1.01868 LIN +Particle energy: 1.73634 LIN Particle: e- Event: 43 -Number of tracker hits in this event: 135 - 43 164.694 1459 9 1 112.058 67.9063 65.55 - 43 120.841 1239 9 0 112.058 67.9076 64.15 - 43 419.431 1459 8 1 112.055 67.9618 35.55 - 43 153.23 1239 8 0 112.06 67.984 34.15 - 43 140.307 1459 7 1 112.111 68.4616 5.55 - 43 125.591 1242 7 0 112.106 68.4917 4.15 - 43 111.213 1459 6 1 111.956 69.1105 -24.45 - 43 106.497 1245 6 0 111.944 69.1452 -25.85 - 43 117.609 1457 5 1 111.63 69.8468 -54.45 - 43 150.251 1249 5 0 111.603 69.8968 -55.85 - 43 113.965 1454 4 1 111.031 70.8601 -84.45 - 43 138.769 1254 4 0 111.016 70.8993 -85.85 - 43 121.849 1452 3 1 110.656 71.7747 -114.45 - 43 128.3 1258 3 0 110.652 71.8064 -115.85 - 43 102.157 1451 2 1 110.524 72.3932 -144.45 - 43 41.5642 1261 2 0 110.53 72.4438 -145.85 - 43 87.1781 1262 2 0 110.531 72.45 -146.016 - 43 141.62 1452 1 1 110.646 73.5581 -174.45 - 43 41.3182 1267 1 0 110.632 73.6388 -175.85 - 43 74.3311 1268 1 0 110.63 73.65 -176.045 - 43 491.698 1451 0 1 110.446 75.313 -204.45 - 43 253.166 1276 0 0 110.404 75.374 -205.85 - 43 104.444 1458 6 1 111.94 69.1249 -24.4502 - 43 63.5438 1457 6 1 111.75 69.0578 -24.6799 - 43 195.656 1239 6 0 110.457 68.0073 -25.85 - 43 175.993 1238 6 0 110.296 67.8497 -25.9906 - 43 105.33 1237 6 0 110.142 67.65 -26.1639 - 43 118.96 853 6 0 106.463 -9.35353 -26.2498 - 43 64.1782 1430 6 1 106.171 -9.21619 -24.8499 - 43 322.217 1429 6 1 106.15 -9.31542 -24.6707 - 43 181.454 1428 6 1 105.95 -9.98437 -24.5378 - 43 269.921 1457 2 1 111.746 68.2559 -144.45 - 43 158.069 1241 2 0 111.748 68.2887 -145.85 - 43 103.281 1457 1 1 111.681 68.8483 -174.45 - 43 119.202 1244 1 0 111.689 68.8508 -175.85 - 43 125.562 1458 0 1 111.894 68.6457 -204.45 - 43 206.195 1242 0 0 111.883 68.585 -205.85 - 43 151.531 1243 0 0 111.98 68.65 -206.044 - 43 154.483 1240 2 0 111.737 68.2466 -145.85 - 43 132.126 1456 1 1 111.525 68.0543 -174.45 - 43 145.386 1239 1 0 111.526 68.0352 -175.85 - 43 113.665 1456 0 1 111.542 67.5712 -204.45 - 43 104.66 1237 0 0 111.542 67.5511 -205.85 - 43 63.9484 1458 5 1 111.936 68.1161 -54.45 - 43 115.8 1240 5 0 111.948 68.135 -55.85 - 43 123.766 1458 4 1 111.823 69.7977 -84.4507 - 43 29.6515 1248 4 0 111.635 69.8457 -85.85 - 43 108.392 1249 4 0 111.621 69.85 -85.9644 - 43 117.941 1426 3 1 105.465 71.6106 -114.451 - 43 110.997 1257 3 0 105.073 71.5249 -115.85 - 43 171.979 1381 2 1 96.4952 70.0446 -144.45 - 43 155.52 1249 2 0 96.0206 69.9062 -145.85 - 43 97.6087 1330 1 1 86.1476 67.3761 -174.45 - 43 114.64 1329 1 1 86.0498 67.3651 -174.711 - 43 120.659 1236 1 0 85.6351 67.3296 -175.85 - 43 24.9181 1268 0 1 73.6764 67.2977 -204.451 - 43 145.598 1267 0 1 73.65 67.2998 -204.5 - 43 122.456 1236 0 0 72.9134 67.3625 -205.85 - 43 307.095 1237 8 0 112.217 67.6132 34.15 - 43 43.2615 1470 7 1 114.32 60.7702 5.55 - 43 58.2223 1471 7 1 114.35 60.7687 5.3981 - 43 191.792 1203 7 0 114.634 60.8414 4.15 - 43 76.2498 1482 6 1 116.678 58.1619 -24.4502 - 43 68.0344 1483 6 1 116.75 58.2808 -24.6431 - 43 27.8477 1194 6 0 117.237 58.9871 -25.85 - 43 90.7633 1195 6 0 117.276 59.05 -25.9598 - 43 38.5041 1547 5 1 129.651 75.214 -54.45 - 43 73.2508 1548 5 1 129.75 75.3259 -54.5375 - 43 96.7524 1549 5 1 129.95 75.5469 -54.6951 - 43 72.8999 1285 5 0 131.151 77.0774 -55.85 - 43 157.401 1286 5 0 131.281 77.2501 -55.9891 - 43 14.7499 1287 5 0 131.478 77.4502 -56.2123 - 43 6.52605 1683 4 1 156.758 99.7563 -84.45 - 43 121.304 1682 4 1 156.75 99.7808 -84.4792 - 43 135.252 1401 4 0 156.464 100.488 -85.85 - 43 86.2612 1402 4 0 156.432 100.55 -85.9849 - 43 5.61893 1636 3 1 147.375 115.481 -114.45 - 43 118.073 1635 3 1 147.35 115.487 -114.475 - 43 67.1074 1634 3 1 147.15 115.544 -114.641 - 43 43.6617 1633 3 1 146.95 115.638 -114.787 - 43 33.9882 1480 3 0 145.429 116.307 -115.851 - 43 206.27 1481 3 0 145.33 116.35 -115.918 - 43 109.887 1431 2 1 106.403 126.229 -144.45 - 43 133.077 1529 2 0 106.906 126.033 -145.85 - 43 230.53 1560 1 1 132.174 130.252 -174.45 - 43 70.5512 1548 1 0 132.139 129.949 -175.851 - 43 285.776 1549 1 0 132.134 129.95 -175.975 - 43 12.2509 1635 1 0 83.0679 147.322 -176.25 - 43 100.843 1636 1 0 83.0716 147.351 -176.227 - 43 128.591 1637 1 0 83.0521 147.55 -176.02 - 43 434.732 1315 1 1 83.116 148.033 -174.85 - 43 104.758 1240 8 0 111.937 68.158 34.15 - 43 114.496 1443 7 1 108.837 72.6592 5.54981 - 43 36.0606 1442 7 1 108.75 72.6339 5.27726 - 43 61.5016 1262 7 0 108.392 72.4811 4.14996 - 43 43.6716 1261 7 0 108.32 72.45 3.91673 - 43 208.823 1392 6 1 98.7201 68.4813 -24.45 - 43 100.795 1361 5 1 92.5348 55.142 -54.45 - 43 56.78 1360 5 1 92.35 54.9669 -54.7314 - 43 20.0994 1171 5 0 91.619 54.2798 -55.85 - 43 155.422 1170 5 0 91.5879 54.25 -55.8966 - 43 24.8624 1169 5 0 91.3848 54.0498 -56.1961 - 43 181.995 1262 4 1 72.6125 34.5854 -84.45 - 43 1.09065 1067 4 0 72.0989 33.4537 -85.8502 - 43 103.067 1066 4 0 72.0972 33.45 -85.8547 - 43 47.139 1065 4 0 72.0075 33.2493 -86.0977 - 43 206.433 1212 3 1 62.612 9.67459 -114.45 - 43 58.8659 940 3 0 62.0138 8.17672 -115.85 - 43 68.5732 939 3 0 61.9612 8.04984 -115.97 - 43 34.2604 938 3 0 61.882 7.85 -116.147 - 43 191.49 1156 2 1 51.2773 -22.0354 -144.45 - 43 46.3615 782 2 0 51.2794 -23.5101 -145.85 - 43 69.5193 781 2 0 51.2761 -23.65 -145.98 - 43 40.7367 780 2 0 51.2622 -23.85 -146.17 - 43 46.9909 1133 1 1 46.8373 -51.6678 -174.45 - 43 552.06 1134 1 1 46.85 -51.7744 -174.503 - 43 78.697 622 1 0 47.0153 -55.5031 -175.85 - 43 51.951 621 1 0 47.0183 -55.65 -175.905 - 43 72.7995 620 1 0 47.0308 -55.85 -175.972 - 43 63.1984 619 1 0 47.0439 -56.05 -176.031 - 43 59.3361 618 1 0 47.0579 -56.2501 -176.089 - 43 41.4664 617 1 0 47.0664 -56.45 -176.14 - 43 146.749 616 1 0 47.0778 -56.65 -176.175 - 43 61.8779 615 1 0 47.0939 -56.85 -176.206 - 43 10.8021 614 1 0 47.1067 -57.05 -176.241 - 43 64.0512 1391 6 1 98.55 68.4094 -24.7086 - 43 31.2666 1390 6 1 98.35 68.374 -24.8016 - 43 94.5876 1236 6 0 95.4701 67.45 -26.0029 - 43 332.977 1235 6 0 95.3671 67.25 -26.0904 - 43 355.354 1234 6 0 95.2629 67.05 -26.0946 - 43 3.71033 1357 6 1 91.6015 75.2571 -24.85 - 43 43.1961 1288 6 0 90.2532 77.7682 -25.85 - 43 54.8049 1289 6 0 90.2002 77.85 -25.8947 - 43 73.8086 1290 6 0 90.1897 78.0501 -25.9992 - 43 38.6055 1291 6 0 90.1768 78.25 -26.122 -Number of digits in this event: 54 -Using G4ParticleGun... -Particle energy: 3.8372 LIN +Number of tracker hits in this event: 116 + 43 116.323 692 11 1 -41.4562 -63.4527 125.55 + 43 379.603 582 11 0 -41.4584 -63.454 124.15 + 43 161.952 692 10 1 -41.4837 -63.4696 95.55 + 43 105.999 582 10 0 -41.4772 -63.473 94.15 + 43 123.525 693 9 1 -41.3484 -63.5579 65.55 + 43 192.541 582 9 0 -41.3461 -63.5585 64.15 + 43 444.515 693 8 1 -41.2871 -63.584 35.55 + 43 240.362 582 8 0 -41.2877 -63.5869 34.15 + 43 151.021 693 7 1 -41.2707 -63.6497 5.55 + 43 139.54 581 7 0 -41.2689 -63.6543 4.15 + 43 184.851 694 6 1 -41.2418 -63.7335 -24.45 + 43 129.607 581 6 0 -41.2425 -63.7409 -25.85 + 43 116.976 693 5 1 -41.2758 -63.9031 -54.45 + 43 140.932 580 5 0 -41.2697 -63.8931 -55.85 + 43 148.793 694 4 1 -41.1095 -63.6804 -84.45 + 43 117.661 581 4 0 -41.1166 -63.6687 -85.85 + 43 125.124 693 3 1 -41.2819 -63.4074 -114.45 + 43 141.258 583 3 0 -41.3002 -63.4051 -115.85 + 43 119.459 692 2 1 -41.612 -63.3855 -144.45 + 43 152.696 583 2 0 -41.6273 -63.3957 -145.85 + 43 114.587 690 1 1 -41.8904 -63.5851 -174.45 + 43 123.844 582 1 0 -41.9173 -63.5929 -175.85 + 43 127.859 687 0 1 -42.5088 -63.7816 -204.45 + 43 115.348 581 0 0 -42.5759 -63.7605 -205.85 + 43 53.5792 720 1 0 -97.1044 -36.0367 -176.25 + 43 322.021 721 1 0 -97.1306 -35.85 -176.114 + 43 244.469 722 1 0 -97.0413 -35.65 -176.038 + 43 131.434 723 1 0 -96.9258 -35.4498 -175.956 + 43 27.2267 724 1 0 -96.8098 -35.25 -175.879 + 43 37.81 422 1 1 -95.6051 -33.5826 -174.85 + 43 85.3215 423 1 1 -95.55 -33.4501 -174.812 + 43 74.7459 424 1 1 -95.3495 -33.3346 -174.712 + 43 67.6754 425 1 1 -95.15 -33.2893 -174.57 + 43 347.549 694 7 1 -41.25 -63.6504 5.21317 + 43 149.492 585 7 0 -40.3608 -63.0308 4.15 + 43 93.5989 1063 7 0 -66.4444 32.778 3.75004 + 43 241.146 1064 7 0 -66.426 32.85 3.93894 + 43 287.899 583 10 0 -42.1097 -63.4023 94.15 + 43 48.6742 585 10 0 -52.6104 -63.0383 93.75 + 43 93.5391 584 10 0 -52.5208 -63.05 93.8761 + 43 18.9109 637 10 1 -52.6346 -63.7352 95.15 + 43 100.172 636 10 1 -52.6501 -63.7414 95.2141 + 43 123.015 635 10 1 -52.85 -63.7881 95.3335 + 43 304.548 634 10 1 -53.05 -63.6652 95.2904 + 43 97.6812 581 8 0 -41.3873 -63.6955 34.15 + 43 147.275 570 7 0 -41.1547 -65.9912 4.15 + 43 362.821 692 6 1 -41.639 -66.5901 -24.45 + 43 113.85 563 6 0 -41.3552 -67.3234 -25.8502 + 43 79.6162 562 6 0 -41.3007 -67.4501 -26.0938 + 43 274.77 729 5 1 -34.0553 -81.8188 -54.45 + 43 64.2172 488 5 0 -34.0375 -82.3533 -55.8505 + 43 53.0149 487 5 0 -34.0247 -82.4501 -56.0946 + 43 123.994 739 4 1 -32.2342 -93.3212 -84.4502 + 43 0.960083 431 4 0 -32.2127 -93.9479 -85.85 + 43 148.941 430 4 0 -32.2126 -93.95 -85.8547 + 43 201.309 740 3 1 -31.9282 -107.446 -114.45 + 43 112.611 360 3 0 -32.0872 -108.003 -115.85 + 43 2.62169 359 3 0 -32.1316 -108.15 -116.239 + 43 134.621 722 2 1 -35.5758 -118.608 -144.45 + 43 119.752 305 2 0 -35.386 -119.013 -145.85 + 43 97.6041 742 1 1 -31.5831 -127.359 -174.45 + 43 131.571 262 1 0 -31.4538 -127.602 -175.85 + 43 157.285 757 0 1 -28.4592 -132.053 -204.45 + 43 114.008 236 0 0 -28.5002 -132.794 -205.85 + 43 278.541 235 0 0 -28.5077 -132.95 -206.145 + 43 279.263 234 0 0 -28.0405 -133.15 -206.142 + 43 172.172 233 0 0 -27.6638 -133.35 -206.11 + 43 10.248 140 0 0 -52.061 -152.009 -206.25 + 43 2.10588 730 5 1 -34.0476 -81.8139 -54.45 + 43 164.473 728 5 1 -34.2504 -81.9633 -54.6275 + 43 89.3484 727 5 1 -34.45 -82.2368 -54.6854 + 43 65.9765 485 5 0 -34.091 -82.9299 -55.8501 + 43 245.389 484 5 0 -34.0431 -83.05 -55.9569 + 43 213.566 691 6 1 -41.65 -66.677 -24.6268 + 43 151.616 561 6 0 -42.5143 -67.65 -25.9001 + 43 116.356 692 8 1 -41.45 -63.5675 35.2806 + 43 77.76 580 8 0 -41.4658 -63.9474 34.15 + 43 326.89 579 8 0 -41.4052 -64.0501 33.9634 + 43 111.984 691 7 1 -41.7056 -63.3769 5.54967 + 43 120.137 583 7 0 -41.6482 -63.3762 4.15 + 43 44.9555 697 6 1 -40.49 -63.0038 -24.4501 + 43 106.058 698 6 1 -40.45 -62.9827 -24.514 + 43 191.264 588 6 0 -39.6798 -62.4462 -25.85 + 43 6.37006 589 6 0 -39.5104 -62.25 -26.2201 + 43 154.068 759 5 1 -28.0945 -42.8297 -54.45 + 43 377.656 758 5 1 -28.2502 -42.6585 -54.788 + 43 65.3581 757 5 1 -28.45 -42.4896 -54.8084 + 43 151.578 797 2 1 -20.5588 -57.1909 -144.45 + 43 73.7409 614 2 0 -20.3698 -57.0733 -145.85 + 43 38.139 615 2 0 -20.3418 -57.05 -146.095 + 43 125.573 811 1 1 -17.7052 -54.0578 -174.45 + 43 101.335 630 1 0 -17.5432 -54.0357 -175.85 + 43 121.354 825 0 1 -14.8635 -53.5444 -204.45 + 43 119.152 631 0 0 -15.0175 -53.6543 -205.85 + 43 113.401 796 2 1 -20.65 -57.1601 -144.554 + 43 42.4782 620 2 0 -21.4665 -55.9621 -145.85 + 43 83.3249 621 2 0 -21.5336 -55.8498 -145.969 + 43 33.3313 622 2 0 -21.6605 -55.65 -146.175 + 43 144.353 628 0 0 -11.4383 -54.3549 -206.25 + 43 37.1604 846 0 1 -10.7015 -54.1457 -204.85 + 43 91.0429 847 0 1 -10.65 -54.1344 -204.729 + 43 181.833 692 1 0 15.4496 -41.6273 -176.25 + 43 384.298 693 1 0 15.651 -41.45 -176.092 + 43 48.3714 1247 1 1 69.5246 -35.5165 -174.85 + 43 111.505 1248 1 1 69.65 -35.5211 -174.685 + 43 114.278 1249 1 1 69.85 -35.5432 -174.667 + 43 58.1772 1250 1 1 70.0501 -35.4438 -174.675 + 43 61.2362 1251 1 1 70.25 -35.3409 -174.59 + 43 75.1834 1252 1 1 70.45 -35.2905 -174.554 + 43 63.2925 1253 1 1 70.65 -35.2519 -174.479 + 43 82.9241 1254 1 1 70.85 -35.2682 -174.56 + 43 297.088 1255 1 1 71.0501 -35.3476 -174.644 + 43 0.587362 711 1 0 68.7102 -37.8484 -175.85 + 43 118.84 710 1 0 68.709 -37.85 -175.851 + 43 170.345 709 1 0 68.6858 -38.0502 -175.962 + 43 70.9687 581 11 0 -41.1519 -63.65 123.799 +Number of digits in this event: 58 +Using G4ParticleGun... +Particle energy: 1.46913 LIN Particle: e- Event: 44 -Number of tracker hits in this event: 61 - 44 144.199 1278 10 1 75.8061 -55.592 95.55 - 44 164.327 622 10 0 75.8086 -55.5939 94.15 - 44 195.251 1279 9 1 75.857 -55.6381 65.55 - 44 108.376 622 9 0 75.8541 -55.6402 64.15 - 44 155.757 1278 8 1 75.7948 -55.6819 35.55 - 44 135.874 621 8 0 75.7911 -55.6824 34.15 - 44 117.455 1278 7 1 75.7083 -55.6918 5.55 - 44 228.723 621 7 0 75.7034 -55.6917 4.15 - 44 229.26 1277 6 1 75.5826 -55.6975 -24.45 - 44 228.021 621 6 0 75.5745 -55.7022 -25.85 - 44 118.036 1276 5 1 75.3718 -55.7197 -54.45 - 44 143.708 621 5 0 75.3598 -55.7227 -55.85 - 44 120.875 1275 4 1 75.1089 -55.7855 -84.45 - 44 206.103 621 4 0 75.1013 -55.7858 -85.85 - 44 146.79 1274 3 1 74.9529 -55.7822 -114.45 - 44 111.362 621 3 0 74.943 -55.7863 -115.85 - 44 298.236 1273 2 1 74.7663 -55.8619 -144.45 - 44 170.893 620 2 0 74.7567 -55.8689 -145.85 - 44 252.835 1272 1 1 74.5472 -56.0203 -174.45 - 44 141.866 620 1 0 74.5271 -56.0206 -175.85 - 44 132.562 1270 0 1 74.1104 -56.0473 -204.45 - 44 254.944 619 0 0 74.0835 -56.0589 -205.85 - 44 18.4529 618 0 0 74.3089 -56.25 -205.896 - 44 0.728587 1268 0 1 73.6513 -56.6388 -204.85 - 44 60.8937 1267 0 1 73.65 -56.6396 -204.848 - 44 71.5482 616 0 0 72.7768 -56.7511 -205.85 - 44 62.1475 1260 0 1 72.2353 -56.381 -204.85 - 44 69.7588 622 6 0 75.7696 -55.481 -25.85 - 44 47.5982 623 6 0 75.7962 -55.45 -26.0675 - 44 70.1513 1297 5 1 79.5643 -51.5324 -54.45 - 44 55.4915 1298 5 1 79.6502 -51.5147 -54.6661 - 44 155.124 643 5 0 80.143 -51.4168 -55.85 - 44 114.956 1357 4 1 91.5902 -49.7234 -84.4502 - 44 30.337 1358 4 1 91.75 -49.6955 -84.7422 - 44 214.572 652 4 0 92.3596 -49.5825 -85.8502 - 44 78.4614 1438 3 1 107.809 -46.1218 -114.45 - 44 56.1058 1439 3 1 107.95 -46.104 -114.742 - 44 122.979 670 3 0 108.483 -46.0368 -115.85 - 44 67.0228 1507 2 1 121.623 -44.1543 -144.45 - 44 54.2024 1508 2 1 121.75 -44.1319 -144.687 - 44 130.212 680 2 0 122.364 -44.0091 -145.85 - 44 14.3952 1578 1 1 135.927 -40.3324 -174.45 - 44 131.676 1579 1 1 135.95 -40.3261 -174.498 - 44 361.707 699 1 0 136.688 -40.1165 -175.85 - 44 4.99896 1658 0 1 151.936 -36.6175 -204.45 - 44 97.5251 1659 0 1 151.95 -36.6081 -204.469 - 44 76.8647 1660 0 1 152.15 -36.4774 -204.75 - 44 140.818 720 0 0 152.972 -36.0354 -205.85 - 44 49.3403 698 1 0 137.042 -40.25 -176.047 - 44 107.078 1278 5 1 75.7945 -55.6764 -54.45 - 44 84.8288 1277 5 1 75.65 -55.4968 -54.6693 - 44 38.475 628 5 0 75.2462 -54.3229 -55.85 - 44 252.492 629 5 0 75.2268 -54.25 -55.9457 - 44 53.5608 630 5 0 74.9577 -54.05 -56.2251 - 44 133.458 1098 5 0 85.9167 39.6719 -56.25 - 44 59.5663 1329 5 1 85.9467 39.7584 -54.85 - 44 150.366 1330 5 1 86.0502 39.7299 -54.6402 - 44 188.845 1331 5 1 86.25 39.7032 -54.4959 - 44 112.337 1279 10 1 75.85 -55.5524 95.3899 - 44 163.599 1280 10 1 76.0503 -55.3805 95.2953 - 44 91.3425 1281 10 1 76.25 -55.4727 95.3705 -Number of digits in this event: 33 +Number of tracker hits in this event: 109 + 44 120.235 1172 9 1 54.5569 -107.346 65.55 + 44 121.473 364 9 0 54.5589 -107.343 64.15 + 44 106.691 1172 8 1 54.5895 -107.266 35.55 + 44 149.233 364 8 0 54.5916 -107.262 34.15 + 44 120.568 1172 7 1 54.6352 -107.201 5.55 + 44 110.858 364 7 0 54.6524 -107.204 4.15 + 44 109.59 1174 6 1 54.9729 -107.288 -24.45 + 44 144.873 364 6 0 54.9734 -107.286 -25.85 + 44 142.647 1174 5 1 54.8838 -107.254 -54.45 + 44 117.624 364 5 0 54.8802 -107.243 -55.85 + 44 218.6 1174 4 1 54.9055 -106.761 -84.45 + 44 104.251 367 4 0 54.9138 -106.723 -85.85 + 44 121.663 1174 3 1 54.9523 -105.926 -114.45 + 44 139.456 371 3 0 54.946 -105.881 -115.85 + 44 219.698 1174 2 1 54.9003 -105.038 -144.45 + 44 29.8896 375 2 0 54.9227 -104.958 -145.85 + 44 68.7355 376 2 0 54.9249 -104.95 -145.985 + 44 367.371 1176 1 1 55.3688 -103.44 -174.45 + 44 251.745 383 1 0 55.3813 -103.382 -175.85 + 44 359.862 1178 0 1 55.7556 -102.313 -204.45 + 44 290.677 389 0 0 55.7726 -102.244 -205.85 + 44 155.886 384 1 0 55.3873 -103.35 -176.078 + 44 64.9372 968 2 1 13.7242 -100.308 -144.85 + 44 319.094 1172 2 1 54.5746 -106.196 -144.45 + 44 325.946 369 2 0 54.6263 -106.153 -145.85 + 44 117.918 370 2 0 54.6298 -106.15 -145.943 + 44 146.561 1177 1 1 55.5184 -105.597 -174.45 + 44 88.6842 373 1 0 55.5245 -105.538 -175.85 + 44 112.635 1175 0 1 55.0915 -104.029 -204.45 + 44 110.229 380 0 0 54.9788 -103.983 -205.85 + 44 120.844 372 1 0 55.4357 -105.722 -175.85 + 44 108.753 376 0 0 55.796 -104.865 -205.85 + 44 172.38 1173 4 1 54.8271 -106.996 -84.45 + 44 133.831 366 4 0 55.0882 -106.807 -85.85 + 44 99.3127 1200 3 1 60.107 -102.821 -114.45 + 44 113.119 1201 3 1 60.2505 -102.882 -114.664 + 44 139.087 384 3 0 61.0993 -103.216 -115.85 + 44 41.7301 1303 2 1 80.7555 -109.707 -144.45 + 44 86.193 1304 2 1 80.85 -109.716 -144.547 + 44 43.9472 1305 2 1 81.05 -109.74 -144.769 + 44 193.876 351 2 0 82.0991 -109.869 -145.85 + 44 148.009 1469 1 1 114.116 -108.145 -174.45 + 44 45.847 358 1 0 113.445 -108.496 -175.85 + 44 105.998 357 1 0 113.348 -108.55 -176.027 + 44 41.3053 1501 2 1 120.35 113.89 -144.686 + 44 227.156 1500 2 1 120.35 113.973 -144.747 + 44 112.007 369 4 0 55.1023 -106.195 -85.85 + 44 173.381 368 4 0 55.1336 -106.35 -85.9267 + 44 282.751 1172 3 1 54.6245 -106.935 -114.45 + 44 108.428 365 3 0 54.635 -106.951 -115.85 + 44 106.447 364 2 0 54.8862 -107.289 -145.85 + 44 234.604 1174 1 1 54.9128 -107.626 -174.45 + 44 122.108 362 1 0 54.9424 -107.663 -175.85 + 44 118.405 1176 0 1 55.3238 -108.5 -204.45 + 44 248.426 358 0 0 55.347 -108.51 -205.85 + 44 120.273 366 3 0 54.6092 -106.916 -115.85 + 44 134.812 1171 2 1 54.2674 -106.549 -144.45 + 44 136.564 368 2 0 54.2563 -106.548 -145.85 + 44 394.556 1169 1 1 54.0112 -106.571 -174.45 + 44 414.895 367 1 0 53.982 -106.582 -175.85 + 44 295.246 1166 0 1 53.3396 -106.849 -204.45 + 44 146.01 366 0 0 53.3064 -106.861 -205.85 + 44 252.147 369 0 0 56.0849 -106.157 -205.85 + 44 58.1868 304 1 0 60.7004 -119.31 -176.25 + 44 88.0842 303 1 0 60.7076 -119.35 -176.143 + 44 113.07 1204 1 1 60.8526 -119.85 -174.85 + 44 172.835 279 2 0 77.1228 -124.197 -146.25 + 44 27.7737 1290 2 1 78.1738 -124.362 -144.85 + 44 113.612 1291 2 1 78.25 -124.379 -144.751 + 44 20.0746 1292 2 1 78.45 -124.398 -144.517 + 44 161.691 1172 4 1 54.6164 -107.194 -84.45 + 44 470.176 364 4 0 54.9779 -107.179 -85.85 + 44 154.022 1212 3 1 62.5158 -107.704 -114.451 + 44 78.5895 1213 3 1 62.65 -107.347 -114.709 + 44 94.7097 374 3 0 63.1871 -105.337 -115.85 + 44 80.7813 375 3 0 63.2455 -105.15 -115.96 + 44 68.0325 376 3 0 63.3275 -104.949 -116.096 + 44 2.28079 377 3 0 63.4372 -104.75 -116.243 + 44 87.7251 1322 2 1 84.5038 -68.2063 -144.45 + 44 98.3639 1323 2 1 84.65 -68.0382 -144.679 + 44 80.8334 565 2 0 85.636 -67.0114 -145.85 + 44 178.34 566 2 0 85.8027 -66.85 -146.02 + 44 18.7185 567 2 0 86.0565 -66.65 -146.209 + 44 158.049 1585 1 1 137.236 -40.3119 -174.45 + 44 41.9921 1584 1 1 137.15 -40.0114 -174.78 + 44 16.0334 703 1 0 136.999 -39.2732 -175.85 + 44 80.2633 704 1 0 136.994 -39.2499 -175.883 + 44 71.3439 705 1 0 136.976 -39.05 -176.122 + 44 110.529 1578 0 1 135.759 -19.379 -204.45 + 44 283.782 804 0 0 135.75 -19.0977 -205.85 + 44 26.1466 805 0 0 135.744 -19.0499 -206.128 + 44 91.569 1597 0 1 139.699 -19.1155 -204.85 + 44 350.944 1598 0 1 139.75 -19.1103 -204.54 + 44 68.2138 1599 0 1 139.95 -18.3845 -204.776 + 44 48.1414 816 0 0 142.475 -16.7592 -205.85 + 44 32.5418 817 0 0 142.594 -16.6499 -205.879 + 44 46.2693 1625 0 1 145.285 -12.8474 -204.85 + 44 184.455 1626 0 1 145.35 -12.7613 -204.839 + 44 98.4094 1627 0 1 145.55 -12.5543 -204.801 + 44 154.882 1628 0 1 145.75 -12.4404 -204.67 + 44 268.598 1629 0 1 145.95 -12.3834 -204.497 + 44 68.0554 778 1 0 132.65 -24.3891 -176.25 + 44 105.773 1171 3 1 54.4174 -106.757 -114.45 + 44 150.458 367 3 0 54.329 -106.734 -115.85 + 44 74.558 1163 2 1 52.6678 -106.28 -144.45 + 44 38.1229 1162 2 1 52.65 -106.271 -144.702 + 44 119.586 1153 1 1 50.846 -106.074 -174.45 + 44 159.32 370 1 0 50.7378 -106.111 -175.85 + 44 149.956 1141 0 1 48.4151 -106.221 -204.45 +Number of digits in this event: 55 Using G4ParticleGun... -Particle energy: 5.52424 LIN +Particle energy: 6.33779 LIN Particle: e- Event: 45 -Number of tracker hits in this event: 55 - 45 112.982 1456 10 1 111.53 -27.6829 95.55 - 45 143.732 761 10 0 111.531 -27.6823 94.15 - 45 117.153 1456 9 1 111.534 -27.672 65.55 - 45 111.751 761 9 0 111.533 -27.6707 64.15 - 45 91.9652 1456 8 1 111.524 -27.6446 35.55 - 45 131.381 762 8 0 111.525 -27.6421 34.15 - 45 122.741 1456 7 1 111.537 -27.5918 5.55 - 45 172.734 762 7 0 111.539 -27.5894 4.15 - 45 186.801 1457 6 1 111.578 -27.5356 -24.45 - 45 266.202 762 6 0 111.579 -27.5329 -25.85 - 45 139.557 1457 5 1 111.602 -27.4772 -54.45 - 45 514.203 762 5 0 111.602 -27.4742 -55.85 - 45 134.522 1457 4 1 111.611 -27.4152 -84.45 - 45 206.703 763 4 0 111.611 -27.4128 -85.85 - 45 103.12 1457 3 1 111.612 -27.3678 -114.45 - 45 107.081 763 3 0 111.611 -27.3652 -115.85 - 45 359.023 1457 2 1 111.59 -27.3178 -144.45 - 45 128.054 763 2 0 111.589 -27.3147 -145.85 - 45 107.117 1457 1 1 111.562 -27.2523 -174.45 - 45 139.276 764 1 0 111.561 -27.2478 -175.85 - 45 115.061 1456 0 1 111.54 -27.156 -204.45 - 45 160.682 764 0 0 111.541 -27.1492 -205.85 - 45 0.822038 605 1 0 148.625 -58.8898 -176.25 - 45 104.266 1449 5 1 110.129 -50.4965 -54.85 - 45 232.919 1448 5 1 109.95 -50.7445 -54.5755 - 45 241.643 1456 5 1 111.498 -27.4247 -54.45 - 45 160.407 1482 4 1 116.746 -32.4935 -84.45 - 45 131.771 736 4 0 116.689 -32.762 -85.8501 - 45 114.602 1471 3 1 114.365 -37.1067 -114.45 - 45 2.49336 712 3 0 114.328 -37.6468 -115.85 - 45 115.988 711 3 0 114.328 -37.65 -115.858 - 45 130.643 1459 2 1 112.118 -47.2055 -144.451 - 45 3.79858 1460 2 1 112.15 -47.2359 -144.848 - 45 78.8641 663 2 0 112.364 -47.2692 -145.85 - 45 62.4416 664 2 0 112.438 -47.25 -146.135 - 45 100.499 1507 1 1 121.623 -43.1531 -174.45 - 45 0.830899 686 1 0 121.816 -42.6582 -175.85 - 45 180.733 763 5 0 111.449 -27.4047 -55.8505 - 45 132.252 1451 4 1 110.351 -26.5336 -84.45 - 45 136.374 767 4 0 110.456 -26.5313 -85.85 - 45 115.501 1459 3 1 112.061 -26.0335 -114.45 - 45 98.7435 770 3 0 112.19 -25.929 -115.85 - 45 125.535 1474 2 1 115.077 -23.8814 -144.45 - 45 86.96 786 2 0 115.205 -22.7985 -145.85 - 45 93.5645 787 2 0 115.22 -22.6499 -146.046 - 45 191.465 1494 1 1 119.054 -1.32497 -174.45 - 45 13.6651 899 1 0 118.985 -0.0858835 -175.85 - 45 86.0027 900 1 0 118.978 0.0502563 -176.006 - 45 1.75583 901 1 0 118.958 0.25 -176.242 - 45 234.814 1480 0 1 116.259 24.1088 -204.45 - 45 43.0625 1026 0 0 116.534 25.3605 -205.85 - 45 108.094 1027 0 0 116.553 25.45 -205.949 - 45 36.7573 1028 0 0 116.584 25.65 -206.162 - 45 272.986 1189 1 0 128.101 57.8624 -176.25 - 45 130.841 1188 1 0 127.94 57.85 -176.09 -Number of digits in this event: 28 +Number of tracker hits in this event: 60 + 45 129.044 572 8 1 -65.5772 -122.87 35.55 + 45 201.998 286 8 0 -65.5769 -122.87 34.15 + 45 97.4405 572 7 1 -65.565 -122.864 5.55 + 45 133.594 286 7 0 -65.5633 -122.864 4.15 + 45 390.625 572 6 1 -65.5262 -122.85 -24.45 + 45 347.653 286 6 0 -65.5261 -122.85 -25.85 + 45 195.348 572 5 1 -65.521 -122.848 -54.45 + 45 145.978 286 5 0 -65.5223 -122.848 -55.85 + 45 140.756 572 4 1 -65.5468 -122.837 -84.45 + 45 229.586 286 4 0 -65.5479 -122.836 -85.85 + 45 116.766 572 3 1 -65.5675 -122.826 -114.45 + 45 212.411 286 3 0 -65.5677 -122.826 -115.85 + 45 195.135 572 2 1 -65.5726 -122.813 -144.45 + 45 122.313 286 2 0 -65.5713 -122.813 -145.85 + 45 599.676 572 1 1 -65.5335 -122.805 -174.45 + 45 363.185 286 1 0 -65.5309 -122.808 -175.85 + 45 270.935 572 0 1 -65.4755 -122.86 -204.45 + 45 267.694 286 0 0 -65.47 -122.862 -205.85 + 45 32.8577 427 0 0 -14.1277 -94.6099 -206.25 + 45 355.239 571 2 1 -65.65 -122.683 -144.714 + 45 211.043 1325 0 1 85.05 15.6763 -204.772 + 45 440.209 287 8 0 -65.5799 -122.75 33.8262 + 45 109.855 573 0 1 -65.2553 -123.065 -204.45 + 45 294.012 285 0 0 -65.2472 -123.069 -205.85 + 45 193.419 571 5 1 -65.8223 -122.29 -54.45 + 45 242.633 289 5 0 -65.8125 -122.25 -55.85 + 45 147.644 571 4 1 -65.7567 -121.459 -84.45 + 45 119.205 293 4 0 -65.7715 -121.456 -85.85 + 45 354.177 569 3 1 -66.0619 -121.294 -114.45 + 45 139.416 294 3 0 -66.0407 -121.306 -115.85 + 45 123.752 292 2 0 -65.7203 -121.626 -145.85 + 45 115.06 569 1 1 -66.2077 -121.892 -174.45 + 45 121.641 291 1 0 -66.282 -121.94 -175.85 + 45 25.9725 290 1 0 -66.2965 -121.95 -176.129 + 45 154.473 562 0 1 -67.5917 -123.034 -204.45 + 45 2.43528 583 1 0 -92.0581 -63.2599 -176.25 + 45 89.0186 584 1 0 -92.0632 -63.25 -176.243 + 45 104.504 585 1 0 -92.0599 -63.05 -176.07 + 45 66.7851 586 1 0 -91.9393 -62.8499 -175.957 + 45 37.7371 587 1 0 -91.779 -62.65 -175.875 + 45 11.308 452 1 1 -89.475 -59.8637 -174.85 + 45 73.803 453 1 1 -89.45 -59.8296 -174.835 + 45 80.1647 454 1 1 -89.25 -59.6665 -174.777 + 45 69.2095 455 1 1 -89.05 -59.6077 -174.761 + 45 112.034 456 1 1 -88.85 -59.4871 -174.711 + 45 109.683 457 1 1 -88.65 -59.252 -174.662 + 45 165.539 618 1 0 -89.2275 -56.2853 -175.85 + 45 71.5523 619 1 0 -89.2413 -56.2494 -175.863 + 45 167.354 451 1 1 -89.6588 -55.7844 -174.85 + 45 122.631 569 5 1 -66.0537 -122.609 -54.45 + 45 144.378 287 5 0 -66.0661 -122.622 -55.85 + 45 108.796 568 4 1 -66.2612 -122.853 -84.45 + 45 141.779 287 3 0 -66.1234 -122.576 -115.85 + 45 130.209 567 2 1 -66.6385 -123.08 -144.45 + 45 122.138 285 2 0 -66.6825 -123.13 -145.85 + 45 120.025 562 1 1 -67.5235 -123.961 -174.45 + 45 112.919 281 1 0 -67.5453 -123.931 -175.85 + 45 136.489 561 0 1 -67.7089 -123.416 -204.45 + 45 114.292 283 0 0 -67.7123 -123.381 -205.85 + 45 173.13 570 3 1 -66.0499 -122.638 -114.661 +Number of digits in this event: 40 Using G4ParticleGun... -Particle energy: 2.9101 LIN +Particle energy: 3.32745 LIN Particle: e- Event: 46 -Number of tracker hits in this event: 30 - 46 208.86 351 9 1 -109.798 67.7058 65.55 - 46 117.744 1238 9 0 -109.799 67.705 64.15 - 46 217.809 351 8 1 -109.818 67.6914 35.55 - 46 198.734 1238 8 0 -109.817 67.6933 34.15 - 46 107.583 351 7 1 -109.814 67.7348 5.55 - 46 147.904 1238 7 0 -109.813 67.7366 4.15 - 46 119.537 351 6 1 -109.786 67.8057 -24.45 - 46 147.911 1238 6 0 -109.784 67.8101 -25.85 - 46 127.951 351 5 1 -109.773 67.899 -54.45 - 46 115.932 1239 5 0 -109.773 67.9006 -55.85 - 46 127.555 351 4 1 -109.764 67.9378 -84.45 - 46 96.4746 1239 4 0 -109.761 67.9379 -85.85 - 46 120.404 352 3 1 -109.715 67.9309 -114.45 - 46 101.456 1239 3 0 -109.713 67.9303 -115.85 - 46 108.805 352 2 1 -109.677 67.92 -144.45 - 46 177.317 1239 2 0 -109.672 67.9242 -145.85 - 46 160.453 352 1 1 -109.563 67.9969 -174.45 - 46 595.113 1239 1 0 -109.555 67.9985 -175.85 - 46 129.894 353 0 1 -109.364 68.02 -204.45 - 46 125.945 1239 0 0 -109.348 68.0178 -205.85 - 46 201.668 1574 10 1 134.95 -33.2939 95.4007 - 46 448.274 296 0 1 -120.841 -8.38948 -204.45 - 46 235.13 351 1 1 -109.904 68.0451 -174.45 - 46 116.281 352 0 1 -109.587 67.5052 -204.45 - 46 107.007 1237 0 0 -109.563 67.4863 -205.85 - 46 8.33026 1241 0 0 -16.2419 68.45 -206.056 - 46 189.095 1242 0 0 -16.1907 68.45 -205.99 - 46 183.409 821 0 1 -15.7522 68.1314 -204.85 - 46 108.784 365 0 1 -107.098 66.4727 -204.45 - 46 206.858 1231 0 0 -107.055 66.3659 -205.85 -Number of digits in this event: 21 +Number of tracker hits in this event: 46 + 46 127.461 428 10 1 -94.3544 -55.1079 95.55 + 46 112.962 624 10 0 -94.3529 -55.1027 94.15 + 46 134.087 429 9 1 -94.3228 -54.9959 65.55 + 46 236.115 625 9 0 -94.3219 -54.9916 64.15 + 46 108.303 429 8 1 -94.304 -54.9129 35.55 + 46 174.522 625 8 0 -94.2863 -54.8972 34.15 + 46 119.146 431 7 1 -93.883 -54.567 5.55 + 46 131.423 627 7 0 -93.8277 -54.5214 4.15 + 46 127.129 437 6 1 -92.633 -53.6101 -24.45 + 46 124.546 632 6 0 -92.5504 -53.5776 -25.85 + 46 125.377 446 5 1 -90.9143 -52.9234 -54.45 + 46 120.316 635 5 0 -90.8251 -52.9091 -55.85 + 46 188.015 455 4 1 -89.0056 -52.7348 -84.45 + 46 154.523 636 4 0 -88.8929 -52.7328 -85.85 + 46 134.782 467 3 1 -86.5222 -52.8237 -114.45 + 46 135.821 636 3 0 -86.3935 -52.8101 -115.85 + 46 120.235 479 2 1 -84.1097 -52.7623 -144.45 + 46 162.525 636 2 0 -83.9947 -52.7539 -145.85 + 46 147.156 491 1 1 -81.7425 -52.4043 -174.45 + 46 132.161 638 1 0 -81.6727 -52.4086 -175.85 + 46 114.136 499 0 1 -80.1739 -52.5591 -204.45 + 46 156.086 637 0 0 -80.1268 -52.5216 -205.85 + 46 91.2032 453 4 1 -89.2606 -52.1153 -84.45 + 46 312.723 1316 2 0 -49.7928 83.25 -145.982 + 46 118.77 1317 2 0 -49.7557 83.45 -146.091 + 46 92.2221 635 4 0 -89.469 -52.85 -85.9689 + 46 235.363 430 2 1 -93.9888 -54.2321 -144.451 + 46 100.928 628 2 0 -93.9907 -54.2663 -145.85 + 46 112.759 433 1 1 -93.3675 -57.5434 -174.45 + 46 130.548 612 1 0 -93.3521 -57.5052 -175.85 + 46 40.5926 440 0 1 -92.081 -58.5249 -204.45 + 46 81.3602 439 0 1 -92.15 -58.6016 -204.514 + 46 87.4719 438 0 1 -92.35 -58.8523 -204.705 + 46 23.1806 598 0 0 -93.5531 -60.3978 -205.85 + 46 79.6322 597 0 0 -93.5951 -60.4501 -205.888 + 46 227.701 596 0 0 -93.7765 -60.6503 -206.057 + 46 18.6232 595 0 0 -93.9453 -60.8501 -206.209 + 46 118.986 629 2 0 -93.9473 -54.205 -145.85 + 46 126.035 438 1 1 -92.5258 -53.3989 -174.45 + 46 227.521 633 1 0 -92.4007 -53.3838 -175.85 + 46 44.5338 452 0 1 -89.4823 -52.666 -204.45 + 46 80.3375 453 0 1 -89.4499 -52.6883 -204.594 + 46 122.152 635 0 0 -89.2253 -52.8565 -205.85 + 46 0.69111 518 2 1 -76.282 -35.0519 -144.45 + 46 79.5708 309 8 0 93.9128 -118.306 33.75 + 46 311.354 308 8 0 93.96 -118.35 33.8783 +Number of digits in this event: 28 Using G4ParticleGun... -Particle energy: 4.83524 LIN +Particle energy: 5.12243 LIN Particle: e- Event: 47 -Number of tracker hits in this event: 175 - 47 133.193 1128 11 1 45.8071 20.5159 125.55 - 47 113.225 1002 11 0 45.8064 20.5157 124.15 - 47 155.463 1128 10 1 45.7927 20.5116 95.55 - 47 117.518 1002 10 0 45.7932 20.5099 94.15 - 47 128.844 1128 9 1 45.8015 20.4736 65.55 - 47 112.723 1002 9 0 45.8024 20.4714 64.15 - 47 129.614 1128 8 1 45.8168 20.4233 35.55 - 47 325.506 1002 8 0 45.7614 20.4918 34.1499 - 47 243.774 1123 7 1 44.768 21.7331 5.55 - 47 113.798 1008 7 0 44.7517 21.7826 4.14979 - 47 348.839 1122 6 1 44.5313 22.5835 -24.45 - 47 103.436 1012 6 0 44.5282 22.5805 -25.85 - 47 274.666 1122 5 1 44.5179 22.6402 -54.45 - 47 103.07 1013 5 0 44.5285 22.6655 -55.8503 - 47 114.955 1123 4 1 44.7161 23.237 -84.45 - 47 106.67 1015 4 0 44.6633 23.2347 -85.8502 - 47 149.828 1118 3 1 43.7559 23.1149 -114.45 - 47 137.288 1014 3 0 43.8259 23.0486 -115.85 - 47 112.05 1125 2 1 45.0965 21.3224 -144.45 - 47 157.491 1005 2 0 45.1103 21.2135 -145.85 - 47 138.787 1125 1 1 45.1996 18.5594 -174.45 - 47 149.656 991 1 0 45.3251 18.3855 -175.85 - 47 136.426 1139 0 1 47.8681 14.6868 -204.45 - 47 104.991 971 0 0 47.8915 14.3237 -205.85 - 47 43.0165 970 0 0 47.897 14.25 -206.137 - 47 87.9933 958 3 0 -10.0793 11.7756 -116.25 - 47 163.296 1012 5 0 44.5279 22.65 -56.1077 - 47 159.242 1005 7 0 45.8918 21.1476 4.15 - 47 70.6562 1317 3 0 33.3256 83.4754 -116.25 - 47 78.3436 1082 1 1 36.4612 30.1981 -174.45 - 47 43.0693 1081 1 1 36.45 30.1528 -174.516 - 47 129.551 1047 1 0 36.7959 29.5989 -175.85 - 47 24.3458 1046 1 0 36.8473 29.4499 -176.162 - 47 100.467 962 1 0 50.9368 12.6258 -176.25 - 47 59.1589 961 1 0 50.9094 12.45 -175.957 - 47 104.486 1153 1 1 50.7919 9.97363 -174.85 - 47 95.7288 1152 1 1 50.65 9.64216 -174.755 - 47 95.1997 1151 1 1 50.4493 9.4974 -174.772 - 47 21.9537 931 1 0 49.2986 6.33513 -175.85 - 47 61.1067 930 1 0 49.2716 6.25 -175.868 - 47 81.4429 929 1 0 49.3055 6.04993 -175.946 - 47 118.556 928 1 0 49.3553 5.85 -176.002 - 47 78.2792 927 1 0 49.5827 5.65 -175.943 - 47 135.285 926 1 0 49.6027 5.45 -176.005 - 47 132.46 822 1 0 25.1419 -15.4867 -176.25 - 47 250.561 1064 1 0 77.2108 32.8794 -176.25 - 47 265.615 1128 7 1 45.828 20.4015 5.5496 - 47 332.348 1001 7 0 45.7768 20.3004 4.15 - 47 119.877 986 6 0 44.4816 17.4352 -25.85 - 47 59.6026 1121 5 1 44.4105 12.5166 -54.45 - 47 104.137 959 5 0 44.6616 11.9703 -55.85 - 47 47.6646 958 5 0 44.7058 11.85 -56.1344 - 47 103.502 1140 4 1 48.0942 -0.470845 -84.45 - 47 117.427 896 4 0 48.4114 -0.68809 -85.85 - 47 82.0659 1177 3 1 55.5789 -4.08725 -114.45 - 47 23.1491 1178 3 1 55.6501 -4.1521 -114.742 - 47 15.9065 878 3 0 55.8776 -4.4314 -115.85 - 47 102.051 877 3 0 55.8915 -4.45 -115.926 - 47 78.0977 1208 2 1 61.7064 -10.7004 -144.45 - 47 108.848 1209 2 1 61.8501 -10.663 -144.701 - 47 174.027 848 2 0 62.6591 -10.4331 -145.85 - 47 5.20421 1318 1 1 83.8262 -4.18172 -174.45 - 47 61.1669 1319 1 1 83.85 -4.19196 -174.455 - 47 56.1493 1320 1 1 84.05 -4.28254 -174.451 - 47 52.0296 1321 1 1 84.25 -4.37458 -174.471 - 47 70.1039 1322 1 1 84.45 -4.40812 -174.468 - 47 54.5892 1323 1 1 84.6502 -4.35713 -174.494 - 47 69.9807 1324 1 1 84.8502 -4.30794 -174.521 - 47 51.8105 1325 1 1 85.0501 -4.2958 -174.578 - 47 107.518 1326 1 1 85.25 -4.30506 -174.636 - 47 45.0127 1327 1 1 85.45 -4.32504 -174.718 - 47 118.237 1328 1 1 85.6505 -4.34191 -174.791 - 47 158.854 877 1 0 87.9379 -4.50501 -175.85 - 47 56.1853 1336 1 1 87.25 -4.08966 -174.743 - 47 20.4289 892 1 0 87.9756 -1.49777 -175.85 - 47 215.085 893 1 0 87.9804 -1.45 -175.852 - 47 229.412 1063 2 1 32.7692 -5.40593 -144.45 - 47 140.971 1062 2 1 32.65 -5.41872 -144.541 - 47 109.749 1129 6 1 46.0345 20.8984 -24.45 - 47 128.597 1004 6 0 46.0663 20.9726 -25.85 - 47 205.484 1133 5 1 46.745 22.3384 -54.45 - 47 115.045 1011 5 0 46.7966 22.3524 -55.85 - 47 116.781 1139 4 1 47.9506 22.6165 -84.45 - 47 134.234 1012 4 0 48.0089 22.5949 -85.85 - 47 157.084 1146 3 1 49.4054 22.0659 -114.45 - 47 99.2386 1009 3 0 49.5153 22.0451 -115.85 - 47 118.054 1158 2 1 51.7919 21.8776 -144.45 - 47 166.815 1009 2 0 51.965 21.8783 -145.85 - 47 232.832 1178 1 1 55.6934 21.8131 -174.45 - 47 114.206 1008 1 0 55.9129 21.8099 -175.85 - 47 163.157 1201 0 1 60.2787 21.7091 -204.45 - 47 159.061 1007 0 0 60.4618 21.6426 -205.85 - 47 182.524 983 9 0 92.8368 16.7942 63.75 - 47 101.963 985 3 0 162.098 17.0812 -116.25 - 47 143.881 984 3 0 162.353 17.05 -116.221 - 47 356.632 1129 7 1 45.8501 20.4197 5.32798 - 47 100.775 1138 3 1 47.6874 88.7559 -114.45 - 47 324.423 1139 3 1 47.85 89.1112 -114.752 - 47 164.144 1000 10 0 43.5288 20.2198 94.15 - 47 94.7574 1002 7 0 45.8275 20.4803 4.14989 - 47 111.829 1131 6 1 46.4288 22.6156 -24.45 - 47 135.387 1014 6 0 46.153 22.8976 -25.85 - 47 43.3839 1101 5 1 40.3019 30.3201 -54.45 - 47 91.6316 1100 5 1 40.25 30.3442 -54.5419 - 47 145.742 1053 5 0 39.4973 30.6691 -55.85 - 47 151.054 1016 4 1 23.4196 38.7716 -84.4503 - 47 154.129 1094 4 0 22.8814 38.9949 -85.85 - 47 54.8874 963 3 1 12.7648 41.4969 -114.45 - 47 67.4034 962 3 1 12.6498 41.4589 -114.644 - 47 131.323 1106 3 0 11.9604 41.3136 -115.851 - 47 42.7752 864 2 1 -7.17078 38.5758 -144.45 - 47 69.6062 863 2 1 -7.25 38.5697 -144.576 - 47 133.974 1092 2 0 -7.96843 38.4738 -145.85 - 47 307.868 787 1 1 -22.5814 39.0995 -174.45 - 47 17.1626 1081 1 0 -22.5426 36.3035 -175.85 - 47 66.7571 1080 1 0 -22.5441 36.2496 -175.882 - 47 54.0308 1079 1 0 -22.5781 36.05 -176.002 - 47 69.4691 1078 1 0 -22.6211 35.85 -176.118 - 47 59.3848 1077 1 0 -22.7059 35.65 -176.205 - 47 248.951 922 1 0 -30.7616 4.56411 -176.25 - 47 189.805 1128 6 1 45.8408 20.3477 -24.45 - 47 357.683 1001 6 0 45.8335 20.3497 -25.85 - 47 99.8518 1127 5 1 45.4705 20.5549 -54.45 - 47 67.2845 1126 5 1 45.45 20.5686 -54.6945 - 47 144.362 1002 5 0 45.3467 20.6291 -55.85 - 47 6.68723 1115 4 1 43.0527 21.9685 -84.45 - 47 95.3764 1114 4 1 43.05 21.9692 -84.4695 - 47 249.512 1009 4 0 42.8683 22.003 -85.85 - 47 127.706 1095 3 1 39.2071 22.4693 -114.45 - 47 325.664 1012 3 0 39.0771 22.5571 -115.85 - 47 134.06 1081 2 1 36.3746 24.1894 -144.45 - 47 137.599 1021 2 0 36.3047 24.3913 -145.85 - 47 133.73 1073 1 1 34.6817 27.9048 -174.45 - 47 124.671 1039 1 0 34.7831 27.9964 -175.85 - 47 207.353 1082 0 1 36.6258 28.7784 -204.45 - 47 174.267 1043 0 0 36.4586 28.7918 -205.85 - 47 25.4602 41 1 1 -171.848 -114.422 -174.45 - 47 151.437 42 1 1 -171.749 -114.378 -174.477 - 47 50.8168 43 1 1 -171.537 -114.222 -174.45 - 47 10.8003 333 1 0 -171.862 -113.359 -175.85 - 47 131.495 334 1 0 -171.865 -113.35 -175.863 - 47 90.9452 335 1 0 -171.863 -113.15 -176.111 - 47 61.1968 336 1 0 -171.992 -112.95 -176.16 - 47 19.8241 530 2 0 -164.712 -73.9002 -146.25 - 47 101.317 531 2 0 -164.693 -73.85 -146.196 - 47 87.0078 532 2 0 -164.676 -73.65 -146 - 47 10.0839 533 2 0 -164.723 -73.45 -145.862 - 47 75.0343 65 2 1 -166.97 -70.4239 -144.85 - 47 25.3964 64 2 1 -167.15 -70.2926 -144.848 - 47 117.825 549 2 0 -170.342 -70.2099 -145.85 - 47 400.05 41 2 1 -171.85 -69.682 -144.85 - 47 14.9959 1000 6 0 45.9314 20.25 -25.999 - 47 142.913 1115 3 1 43.0733 22.3562 -114.45 - 47 86.0993 1114 3 1 43.05 22.3516 -114.487 - 47 14.9452 1113 3 1 42.85 22.3068 -114.807 - 47 126.973 1010 3 0 42.2208 22.2043 -115.85 - 47 11.6076 1021 2 1 24.2667 20.8586 -144.45 - 47 104.187 1020 2 1 24.2499 20.8528 -144.484 - 47 128.402 1002 2 0 23.5688 20.6419 -145.85 - 47 161.698 951 1 1 10.408 17.3387 -174.45 - 47 27.1826 950 1 1 10.25 17.3067 -174.764 - 47 132.43 986 1 0 9.7313 17.3251 -175.85 - 47 120.159 871 0 1 -5.67053 17.0438 -204.45 - 47 93.1706 984 0 0 -5.92133 16.899 -205.851 - 47 290.851 952 1 1 10.47 17.3764 -174.45 - 47 111.424 1126 2 1 45.3011 24.5454 -144.45 - 47 89.3326 1024 2 0 45.4411 24.9722 -145.85 - 47 44.486 1025 2 0 45.4675 25.0501 -146.102 - 47 77.9476 1141 1 1 48.3799 33.9236 -174.45 - 47 74.1583 1142 1 1 48.45 33.9709 -174.667 - 47 30.9607 1070 1 0 48.8668 34.2234 -175.85 - 47 84.5228 1071 1 0 48.9142 34.25 -175.977 - 47 269.343 1204 0 1 60.8829 40.0284 -204.45 - 47 142.438 1099 0 0 61.2743 40.0217 -205.85 - 47 83.8621 1203 0 1 60.85 40.1339 -204.731 -Number of digits in this event: 75 +Number of tracker hits in this event: 83 + 47 121.09 832 10 1 -13.5461 -98.4381 95.55 + 47 107.802 408 10 0 -13.5463 -98.4393 94.15 + 47 133.807 832 9 1 -13.5462 -98.4682 65.55 + 47 143.045 408 9 0 -13.5455 -98.4715 64.15 + 47 122.078 832 8 1 -13.5263 -98.5301 35.55 + 47 103.036 408 8 0 -13.5254 -98.5333 34.15 + 47 112.411 832 7 1 -13.5099 -98.5995 5.55 + 47 240.178 407 7 0 -13.5081 -98.601 4.15 + 47 108.35 832 6 1 -13.4666 -98.63 -24.45 + 47 149.084 407 6 0 -13.4641 -98.6342 -25.85 + 47 104.788 833 5 1 -13.4132 -98.7204 -54.45 + 47 279.543 407 5 0 -13.4107 -98.7229 -55.85 + 47 131.606 833 4 1 -13.3608 -98.7775 -84.45 + 47 148.887 406 4 0 -13.3583 -98.7818 -85.85 + 47 395.686 833 3 1 -13.3092 -98.8638 -114.45 + 47 101.859 406 3 0 -13.307 -98.868 -115.85 + 47 386.113 833 2 1 -13.2609 -98.9593 -144.45 + 47 301.196 405 2 0 -13.2585 -98.9639 -145.85 + 47 155.242 834 1 1 -13.1972 -99.0545 -174.45 + 47 99.5027 405 1 0 -13.1934 -99.0583 -175.85 + 47 192.406 834 0 1 -13.1084 -99.1369 -204.45 + 47 119.323 405 0 0 -13.1005 -99.1382 -205.85 + 47 46.3005 352 2 0 112.027 -109.683 -146.25 + 47 83.2437 479 2 0 133.046 -84.122 -146.25 + 47 229.2 404 2 0 -13.6064 -99.15 -146.168 + 47 267.686 832 5 1 -13.5302 -98.4737 -54.45 + 47 130.809 408 5 0 -13.5448 -98.4702 -55.85 + 47 104.801 830 4 1 -13.9849 -98.5788 -84.45 + 47 189.322 407 4 0 -13.9678 -98.5649 -85.85 + 47 116.489 832 3 1 -13.6384 -98.1225 -114.45 + 47 155.061 410 3 0 -13.6349 -98.1409 -115.85 + 47 137.913 832 2 1 -13.6398 -98.2933 -144.45 + 47 102.477 409 2 0 -13.6544 -98.2409 -145.851 + 47 122.925 829 1 1 -14.1063 -97.3342 -174.45 + 47 153.867 414 1 0 -14.2341 -97.2858 -175.85 + 47 35.9208 815 0 1 -17.0237 -95.8385 -204.45 + 47 102.21 814 0 1 -17.0501 -95.8303 -204.598 + 47 174.234 421 0 0 -17.2766 -95.7689 -205.85 + 47 1.99002 422 0 0 -17.3477 -95.75 -206.242 + 47 117.248 808 4 1 -18.2635 -99.9504 -84.45 + 47 207.643 402 4 0 -18.5609 -99.7001 -85.85 + 47 20.5827 777 3 1 -24.6241 -95.5464 -114.45 + 47 141.851 776 3 1 -24.65 -95.5366 -114.508 + 47 39.1467 424 3 0 -25.2069 -95.3375 -115.85 + 47 103.997 423 3 0 -25.2499 -95.35 -115.954 + 47 47.4703 422 3 0 -25.3244 -95.55 -116.174 + 47 72.0335 725 2 1 -34.9151 -123.805 -144.45 + 47 212.546 726 2 1 -34.85 -123.994 -144.574 + 47 33.0499 271 2 0 -34.2825 -125.87 -145.85 + 47 76.6844 270 2 0 -34.2588 -125.95 -145.905 + 47 67.3298 269 2 0 -34.1981 -126.15 -146.039 + 47 42.0251 268 2 0 -34.1414 -126.35 -146.167 + 47 191.104 407 2 0 -13.3815 -98.7463 -145.85 + 47 34.1905 835 1 1 -12.8525 -98.6858 -174.45 + 47 222.51 836 1 1 -12.85 -98.6858 -174.558 + 47 142.898 407 1 0 -12.8174 -98.6856 -175.85 + 47 100.089 839 0 1 -12.1674 -98.7396 -204.45 + 47 131.111 406 0 0 -12.1392 -98.7628 -205.85 + 47 37.7166 408 2 0 -13.3553 -98.55 -146.135 + 47 105.838 429 1 0 -12.7653 -94.2948 -175.85 + 47 33.8314 835 0 1 -13.0263 -86.9908 -204.451 + 47 44.8976 466 0 0 -13.3156 -86.6896 -205.85 + 47 77.338 467 0 0 -13.3552 -86.65 -206.024 + 47 249.851 407 3 0 -13.3874 -98.5582 -115.85 + 47 116.769 842 2 1 -11.5507 -99.0559 -144.45 + 47 13.834 843 2 1 -11.45 -99.0348 -144.814 + 47 125.707 406 2 0 -11.1526 -98.9441 -145.85 + 47 111.732 886 1 1 -2.7411 -95.1522 -174.45 + 47 30.2352 427 1 0 -2.6198 -94.6025 -175.85 + 47 90.2151 428 1 0 -2.60714 -94.55 -175.978 + 47 208.275 908 0 1 1.71753 -82.8845 -204.45 + 47 13.3411 492 0 0 1.70744 -81.5036 -205.85 + 47 122.88 493 0 0 1.70733 -81.4496 -205.906 + 47 51.9512 494 0 0 1.70869 -81.25 -206.109 + 47 93.5137 489 0 0 1.41999 -82.16 -205.85 + 47 32.5771 490 0 0 1.3523 -82.0498 -206.119 + 47 8.49145 333 1 0 -112.257 -113.35 -176.166 + 47 114.195 840 2 1 -11.9799 -99.6537 -144.45 + 47 125.862 402 2 0 -11.9393 -99.7172 -145.85 + 47 104.852 849 1 1 -10.1617 -101.691 -174.451 + 47 150.8 391 1 0 -10.1566 -101.784 -175.85 + 47 114.779 850 0 1 -9.92585 -103.876 -204.45 + 47 173.032 380 0 0 -9.83987 -103.992 -205.85 +Number of digits in this event: 39 Using G4ParticleGun... -Particle energy: 7.62321 LIN +Particle energy: 8.5119 LIN Particle: e- Event: 48 -Number of tracker hits in this event: 45 - 48 115.927 287 9 1 -122.578 -1.18278 65.55 - 48 118.317 894 9 0 -122.578 -1.18275 64.15 - 48 101.641 287 8 1 -122.585 -1.18203 35.55 - 48 132.779 894 8 0 -122.598 -1.18226 34.15 - 48 136.736 286 7 1 -122.948 -1.2045 5.55 - 48 244.657 285 7 1 -122.95 -1.20468 5.48415 - 48 266.317 894 7 0 -122.981 -1.2075 4.15 - 48 104.39 282 6 1 -123.665 -1.24982 -24.45 - 48 134.57 893 6 0 -123.683 -1.26152 -25.85 - 48 94.9087 280 5 1 -124.064 -1.49194 -54.45 - 48 138.096 892 5 0 -124.096 -1.50264 -55.85 - 48 84.504 277 4 1 -124.741 -1.79353 -84.45 - 48 32.1801 276 4 1 -124.75 -1.79559 -84.7412 - 48 166.237 891 4 0 -124.782 -1.80532 -85.85 - 48 98.5328 272 3 1 -125.565 -2.07691 -114.45 - 48 91.1791 889 3 0 -125.608 -2.08132 -115.85 - 48 180.894 267 2 1 -126.574 -2.13387 -144.45 - 48 160.972 889 2 0 -126.611 -2.13007 -145.85 - 48 121.595 263 1 1 -127.383 -2.05261 -174.45 - 48 137.78 890 1 0 -127.421 -2.04275 -175.85 - 48 107.325 259 0 1 -128.254 -1.8568 -204.45 - 48 149.739 890 0 0 -128.281 -1.85422 -205.85 - 48 37.675 926 0 0 -124.062 5.36473 -206.25 - 48 345.359 927 0 0 -124.066 5.45003 -206.117 - 48 9.72367 288 0 1 -122.378 5.59773 -204.85 - 48 163.05 289 0 1 -122.35 5.60317 -204.834 - 48 65.7094 290 0 1 -122.15 5.56601 -204.755 - 48 138.38 296 0 1 -120.859 4.7017 -204.85 - 48 97.9456 293 6 1 -121.468 -0.585195 -24.45 - 48 173.925 897 6 0 -121.432 -0.554067 -25.85 - 48 219.889 297 5 1 -120.684 0.266295 -54.45 - 48 108.586 901 5 0 -120.694 0.296764 -55.85 - 48 45.7325 296 4 1 -120.756 0.993315 -84.45 - 48 60.4343 297 4 1 -120.75 0.996653 -84.6366 - 48 182.937 904 4 0 -120.708 1.01696 -85.85 - 48 115.083 303 3 1 -119.526 1.58156 -114.45 - 48 75.2374 907 3 0 -119.458 1.64104 -115.85 - 48 57.1262 908 3 0 -119.448 1.65 -116.044 - 48 119.663 310 2 1 -118.131 2.81081 -144.45 - 48 134.487 914 2 0 -118.078 2.85123 -145.85 - 48 133.202 315 1 1 -117.095 3.74661 -174.45 - 48 112.76 918 1 0 -117.028 3.77939 -175.85 - 48 121.412 322 0 1 -115.683 4.52315 -204.45 - 48 109.964 922 0 0 -115.594 4.53916 -205.85 - 48 58.9996 198 6 0 -89.9865 -140.55 -26.1236 -Number of digits in this event: 23 +Number of tracker hits in this event: 54 + 48 108.91 1566 9 0 23.8732 133.496 64.1006 + 48 115.846 1019 8 1 23.8692 133.499 35.55 + 48 127.781 1566 8 0 23.8698 133.499 34.15 + 48 122.938 1019 7 1 23.8804 133.501 5.55 + 48 200.971 1566 7 0 23.8813 133.501 4.15 + 48 118.563 1019 6 1 23.9011 133.496 -24.45 + 48 116.642 1566 6 0 23.9023 133.495 -25.85 + 48 131.507 1019 5 1 23.934 133.471 -54.45 + 48 130.494 1566 5 0 23.9351 133.47 -55.85 + 48 134.411 1019 4 1 23.9575 133.454 -84.45 + 48 105.809 1566 4 0 23.957 133.45 -85.85 + 48 140.008 1019 3 1 23.9401 133.355 -114.45 + 48 144.901 1565 3 0 23.9389 133.349 -115.85 + 48 117.007 1019 2 1 23.9154 133.224 -144.45 + 48 126.26 1565 2 0 23.9164 133.221 -145.85 + 48 202.614 1019 1 1 23.9425 133.165 -174.45 + 48 186.546 1565 1 0 23.9436 133.157 -175.85 + 48 120.762 1019 0 1 23.9683 132.991 -204.45 + 48 261.917 1564 0 0 23.9706 132.982 -205.85 + 48 82.8423 766 5 1 -26.6874 119.384 -54.85 + 48 238.025 1020 1 1 24.0589 133.362 -174.45 + 48 227.471 1566 1 0 24.0681 133.357 -175.85 + 48 238.441 1020 0 1 24.1245 133.119 -204.45 + 48 193.345 1566 0 0 24.1879 133.388 -205.85 + 48 173.667 813 8 0 -143.994 -17.3112 33.7501 + 48 130.161 725 2 1 -35.0486 60.3319 -144.45 + 48 34.5768 1206 2 0 -35.1019 61.3717 -145.85 + 48 90.2075 1207 2 0 -35.1046 61.45 -145.938 + 48 46.2327 1208 2 0 -35.0637 61.65 -146.156 + 48 43.3191 1475 2 0 -53.9028 115.319 -146.25 + 48 143.746 1476 2 0 -53.9812 115.35 -146.179 + 48 110.809 629 2 1 -54.242 115.292 -144.85 + 48 108.707 628 2 1 -54.25 115.336 -144.506 + 48 20.0395 1483 2 0 -53.9738 116.91 -145.85 + 48 64.8408 1484 2 0 -53.9645 116.95 -145.881 + 48 52.2648 1485 2 0 -53.9434 117.15 -146.022 + 48 68.3176 1486 2 0 -53.9399 117.35 -146.093 + 48 53.6054 1487 2 0 -53.9776 117.55 -146.157 + 48 59.3101 1488 2 0 -54.0927 117.75 -146.197 + 48 174.716 1489 2 0 -54.168 117.95 -146.243 + 48 103.399 1490 2 0 -54.4221 118.15 -146.156 + 48 71.8538 1491 2 0 -54.6759 118.35 -146.097 + 48 112.5 1492 2 0 -54.7524 118.551 -146.12 + 48 73.6774 1493 2 0 -54.7913 118.75 -146.09 + 48 584.738 1494 2 0 -54.859 118.95 -146.081 + 48 47.6936 1495 2 0 -54.8638 119.15 -146.204 + 48 46.4575 1039 2 0 39.0415 27.9901 -146.25 + 48 69.5082 1155 2 0 21.1115 51.0743 -146.25 + 48 73.5945 918 2 1 3.74472 160.22 -144.85 + 48 167.293 782 5 0 -114.725 -23.5011 -56.2499 + 48 153.158 781 5 0 -114.719 -23.6501 -56.0898 + 48 289.116 780 5 0 -114.924 -23.85 -56.0095 + 48 63.6704 1244 0 1 68.9334 108.308 -204.85 + 48 272.694 1245 0 1 69.0501 108.289 -204.709 +Number of digits in this event: 28 Using G4ParticleGun... -Particle energy: 9.07688 LIN +Particle energy: 2.12993 LIN Particle: e- Event: 49 -Number of tracker hits in this event: 66 - 49 169.936 1071 10 1 34.3649 -93.6191 95.55 - 49 106.83 432 10 0 34.3629 -93.619 94.15 - 49 115.539 1071 9 1 34.3211 -93.6154 65.55 - 49 129.478 432 9 0 34.3194 -93.615 64.15 - 49 137.353 1071 8 1 34.2856 -93.6 35.55 - 49 113.33 432 8 0 34.285 -93.5988 34.15 - 49 112.423 1071 7 1 34.2697 -93.5728 5.55 - 49 135.635 432 7 0 34.2688 -93.5716 4.15 - 49 136.636 1070 6 1 34.2472 -93.5476 -24.45 - 49 102.972 433 6 0 34.2447 -93.5473 -25.85 - 49 131.679 1070 5 1 34.1937 -93.5396 -54.45 - 49 118.842 433 5 0 34.1908 -93.5384 -55.85 - 49 392.275 1070 4 1 34.1306 -93.5149 -84.45 - 49 144.093 433 4 0 34.1276 -93.5127 -85.85 - 49 133.105 1070 3 1 34.0643 -93.4685 -114.45 - 49 340.789 433 3 0 34.0612 -93.4651 -115.85 - 49 345.849 1069 2 1 33.9957 -93.3962 -144.45 - 49 113.4 433 2 0 33.9919 -93.3922 -145.85 - 49 263.26 1069 1 1 33.9168 -93.3141 -174.45 - 49 138.142 434 1 0 33.9141 -93.3094 -175.85 - 49 160.307 1069 0 1 33.8543 -93.2101 -204.45 - 49 150.182 434 0 0 33.8503 -93.2037 -205.85 - 49 272.597 432 4 0 34.2289 -93.5849 -85.85 - 49 180.553 1074 3 1 34.9176 -95.1681 -114.45 - 49 260.83 424 3 0 34.9597 -95.2508 -115.85 - 49 111.632 1079 2 1 36.0072 -97.1028 -144.45 - 49 1.47253 1080 2 1 36.05 -97.1214 -144.838 - 49 107.862 414 2 0 36.1562 -97.1644 -145.85 - 49 141.406 1095 1 1 39.0613 -98.2998 -174.45 - 49 103.647 408 1 0 39.2161 -98.3767 -175.85 - 49 146.026 1111 0 1 42.4105 -99.8393 -204.45 - 49 17.0222 1112 0 1 42.45 -99.8367 -204.793 - 49 103.242 401 0 0 42.5704 -99.822 -205.85 - 49 398.348 1073 3 1 34.8499 -95.1613 -114.598 - 49 118.515 424 2 0 33.9542 -95.1719 -145.85 - 49 45.1664 425 2 0 33.9446 -95.15 -146.142 - 49 120.302 1067 1 1 33.4553 -93.0252 -174.45 - 49 121.299 435 1 0 33.5136 -92.9682 -175.85 - 49 178.075 1073 0 1 34.6548 -92.0914 -204.45 - 49 42.4794 439 0 0 35.1527 -92.3241 -205.851 - 49 180.116 438 0 0 35.2013 -92.35 -205.99 - 49 234.608 383 0 0 27.2755 -103.408 -206.25 - 49 115.804 382 0 0 27.1011 -103.55 -206.034 - 49 42.9328 1029 0 1 25.9562 -104.489 -204.85 - 49 95.9362 1028 0 1 25.85 -104.563 -204.747 - 49 74.825 1027 0 1 25.6499 -104.713 -204.549 - 49 105.07 673 1 0 112.447 -45.4303 -176.25 - 49 208.702 674 1 0 112.833 -45.2497 -176.153 - 49 76.5152 675 1 0 113.291 -45.0497 -176.029 - 49 138.756 676 1 0 113.531 -44.85 -176.002 - 49 104.166 677 1 0 113.756 -44.65 -175.932 - 49 183.412 1476 1 1 115.422 -42.5618 -174.85 - 49 105.024 1475 1 1 115.35 -42.1068 -174.61 - 49 1.9202 1474 1 1 115.15 -41.8286 -174.459 - 49 130.289 1036 0 1 27.2836 -102.673 -204.85 - 49 221.985 461 5 0 32.5371 -87.7715 -56.25 - 49 204.936 1064 5 1 33.0086 -87.3307 -54.85 - 49 215.77 1065 5 1 33.05 -87.2654 -54.6302 - 49 47.6729 366 6 1 -106.75 -56.195 -24.7304 - 49 116.494 1070 0 1 34.0502 -93.4846 -204.56 - 49 126.368 435 0 0 34.2837 -93.0588 -205.85 - 49 45.7703 436 0 0 34.3615 -92.95 -206.131 - 49 122.945 1070 1 1 34.1318 -93.5276 -174.45 - 49 108.466 433 1 0 34.0918 -93.4928 -175.85 - 49 126.4 1066 0 1 33.3039 -93.4842 -204.45 - 49 88.0854 433 0 0 33.6821 -93.3697 -205.85 -Number of digits in this event: 39 +Number of tracker hits in this event: 65 + 49 149.819 324 8 0 89.6951 -115.248 34.15 + 49 133.794 1348 7 1 89.694 -115.238 5.55 + 49 143.246 324 7 0 89.6887 -115.237 4.15 + 49 412.765 1347 6 1 89.5657 -115.213 -24.45 + 49 382.734 324 6 0 89.5605 -115.213 -25.85 + 49 119.897 1347 5 1 89.4617 -115.212 -54.45 + 49 350.455 324 5 0 89.4552 -115.217 -55.85 + 49 111.249 1346 4 1 89.3292 -115.328 -84.45 + 49 121.016 324 4 0 89.3206 -115.337 -85.85 + 49 153.235 1345 3 1 89.1304 -115.493 -114.45 + 49 147.971 323 3 0 89.1245 -115.503 -115.85 + 49 109.435 1344 2 1 89.0047 -115.701 -144.45 + 49 153.698 322 2 0 88.9958 -115.716 -145.85 + 49 121.846 1343 1 1 88.8051 -116.025 -174.45 + 49 166.103 320 1 0 88.7909 -116.04 -175.85 + 49 115.187 1342 0 1 88.5048 -116.345 -204.45 + 49 132.304 318 0 0 88.4873 -116.361 -205.85 + 49 6.26824 209 9 0 -50.0601 -138.28 63.75 + 49 7.10512 325 9 0 -73.0264 -115.096 63.75 + 49 33.504 801 9 0 -83.6312 -19.6612 63.75 + 49 167.759 1195 3 1 59.2469 -101.384 -114.85 + 49 79.8262 1196 3 1 59.25 -101.334 -114.624 + 49 139.971 1352 5 1 90.5912 -118.092 -54.45 + 49 24.8959 307 5 0 91.1158 -118.724 -55.85 + 49 182.883 306 5 0 91.1424 -118.75 -55.9133 + 49 63.1343 1425 4 1 105.187 -129.888 -84.45 + 49 69.1335 1426 4 1 105.35 -129.815 -84.5674 + 49 58.9789 1427 4 1 105.55 -129.729 -84.6904 + 49 81.5436 1428 4 1 105.75 -129.659 -84.7736 + 49 20.9804 258 4 0 108.226 -128.391 -85.8501 + 49 151.14 259 4 0 108.302 -128.35 -85.8804 + 49 127.763 260 4 0 108.647 -128.15 -86.0299 + 49 243.684 475 4 0 144.04 -85.0245 -86.2498 + 49 116.512 476 4 0 143.953 -84.85 -85.9052 + 49 16.7859 1616 4 1 143.38 -84.0997 -84.85 + 49 156.055 1615 4 1 143.35 -84.0524 -84.7883 + 49 224.192 1617 4 1 143.559 -83.9928 -84.45 + 49 136.419 1618 4 1 143.75 -84.2494 -84.5965 + 49 138.432 1619 4 1 143.95 -84.3756 -84.683 + 49 32.6916 1613 4 1 142.902 -85.4092 -84.85 + 49 50.4213 468 4 0 142.39 -86.2765 -85.85 + 49 137.228 1345 5 1 89.2288 -115.629 -54.45 + 49 186.507 322 5 0 89.1989 -115.667 -55.85 + 49 128.411 1342 4 1 88.5885 -116.421 -84.45 + 49 135.824 318 4 0 88.6065 -116.487 -85.85 + 49 171.25 1344 3 1 88.9029 -117.968 -114.45 + 49 110.744 310 3 0 88.9246 -118.034 -115.85 + 49 28.6473 1346 2 1 89.4442 -119.454 -144.45 + 49 118.998 1347 2 1 89.45 -119.46 -144.577 + 49 132.039 303 2 0 89.5108 -119.518 -145.85 + 49 131.471 1353 1 1 90.8927 -120.809 -174.45 + 49 110.004 296 1 0 90.943 -120.839 -175.85 + 49 117.859 1359 0 1 92.111 -121.122 -204.45 + 49 137.313 294 0 0 92.1587 -121.173 -205.85 + 49 154.775 1331 1 1 86.4242 -118.733 -174.451 + 49 303.137 1332 1 1 86.45 -118.739 -174.495 + 49 172.294 303 1 0 86.5877 -119.507 -175.85 + 49 177.697 302 1 0 86.5862 -119.55 -175.913 + 49 14.587 301 1 0 86.5414 -119.75 -176.207 + 49 458.899 243 1 0 68.0161 -131.437 -176.25 + 49 100.374 242 1 0 67.2556 -131.55 -176.184 + 49 98.8588 241 1 0 67.3469 -131.75 -176.181 + 49 140.997 240 1 0 67.3476 -131.95 -176.133 + 49 68.1952 85 1 0 61.7657 -163.111 -176.25 + 49 45.0589 304 1 0 86.0618 -119.275 -175.85 +Number of digits in this event: 40 Using G4ParticleGun... -Particle energy: 5.51247 LIN +Particle energy: 4.57633 LIN Particle: e- Event: 50 -Number of tracker hits in this event: 54 - 50 388.708 321 9 1 -115.844 -65.1618 65.55 - 50 119.505 574 9 0 -115.843 -65.1594 64.15 - 50 99.4826 321 8 1 -115.827 -65.1116 35.55 - 50 140.554 574 8 0 -115.828 -65.1092 34.15 - 50 237.032 321 7 1 -115.859 -65.063 5.55 - 50 121.843 574 7 0 -115.863 -65.0619 4.15 - 50 142.219 321 6 1 -115.937 -65.0384 -24.45 - 50 150.072 575 6 0 -115.94 -65.0368 -25.85 - 50 156.128 320 5 1 -116.012 -65.0056 -54.45 - 50 110.9 575 5 0 -116.015 -65.0038 -55.85 - 50 131.964 320 4 1 -116.092 -64.9666 -84.45 - 50 121.929 575 4 0 -116.097 -64.9639 -85.85 - 50 97.0231 319 3 1 -116.192 -64.9097 -114.45 - 50 233.61 575 3 0 -116.198 -64.9044 -115.85 - 50 176.71 319 2 1 -116.314 -64.7933 -144.45 - 50 103.883 576 2 0 -116.318 -64.7874 -145.85 - 50 99.7294 318 1 1 -116.41 -64.6685 -174.45 - 50 95.5885 576 1 0 -116.414 -64.6642 -175.85 - 50 316.627 318 0 1 -116.502 -64.5798 -204.45 - 50 117.25 577 0 0 -116.504 -64.5758 -205.85 - 50 46.0615 850 5 0 -80.6077 -9.91669 -56.2494 - 50 106.619 851 5 0 -80.6696 -9.85 -56.1083 - 50 41.6766 494 5 1 -81.2038 -9.04805 -54.85 - 50 88.4995 493 5 1 -81.2502 -8.99372 -54.7677 - 50 116.493 492 5 1 -81.4501 -8.86086 -54.5624 - 50 74.4263 491 5 1 -81.65 -8.76887 -54.4605 - 50 129.797 490 5 1 -81.8501 -8.65655 -54.4827 - 50 96.8546 489 5 1 -82.0502 -8.56835 -54.4549 - 50 421.171 488 5 1 -82.25 -8.48234 -54.4868 - 50 99.4734 317 0 1 -116.672 -64.4141 -204.45 - 50 24.0733 316 0 1 -116.75 -64.5894 -204.755 - 50 119.368 575 0 0 -116.959 -64.8997 -205.85 - 50 469.737 318 2 1 -116.419 -64.6667 -144.45 - 50 521.627 317 2 1 -116.55 -64.6322 -144.607 - 50 247.23 316 2 1 -116.75 -65.3171 -144.647 - 50 183.203 565 2 0 -116.276 -66.8632 -145.85 - 50 58.789 330 2 1 -114.068 -67.5936 -144.85 - 50 271.409 331 2 1 -113.95 -67.6972 -144.709 - 50 14.9808 332 2 1 -113.75 -67.7029 -144.714 - 50 48.7414 564 2 0 -115.08 -67.2356 -145.85 - 50 121.654 563 2 0 -115.19 -67.25 -145.89 - 50 1.60553 326 2 1 -114.754 -66.7644 -144.85 - 50 169.703 327 2 1 -114.75 -66.7628 -144.846 - 50 113.31 578 2 0 -118.128 -64.3844 -145.85 - 50 198.024 574 6 0 -115.945 -65.0501 -25.9651 - 50 106.198 322 7 1 -115.75 -64.9955 5.40852 - 50 87.7843 579 7 0 -115.313 -64.2126 4.15 - 50 55.7553 580 7 0 -115.282 -64.0494 3.89831 - 50 81.2872 320 9 1 -115.95 -64.7131 65.42 - 50 59.7241 319 9 1 -116.15 -64.5735 65.2273 - 50 122.583 583 9 0 -118.543 -63.3969 64.1497 - 50 53.178 293 9 1 -121.399 -63.4728 65.15 - 50 83.7208 292 9 1 -121.551 -63.4759 65.2232 - 50 308.199 584 9 0 -122.349 -63.2326 64.1496 -Number of digits in this event: 25 +Number of tracker hits in this event: 22 + 50 135.93 650 8 1 -49.9536 126.356 35.55 + 50 107.091 1531 8 0 -49.9531 126.357 34.15 + 50 128.963 650 7 1 -49.9469 126.355 5.55 + 50 110.024 1531 7 0 -49.9467 126.356 4.15 + 50 163.047 650 6 1 -49.9437 126.364 -24.45 + 50 109.979 1531 6 0 -49.9432 126.366 -25.85 + 50 116.248 650 5 1 -49.9274 126.421 -54.45 + 50 110.773 1531 5 0 -49.9281 126.422 -55.85 + 50 150.744 650 4 1 -49.9393 126.46 -84.45 + 50 141.061 1531 4 0 -49.941 126.462 -85.85 + 50 121.767 650 3 1 -49.9773 126.504 -114.45 + 50 115.053 1531 3 0 -49.9792 126.505 -115.85 + 50 100.138 650 2 1 -50.0142 126.537 -144.45 + 50 131.108 1531 2 0 -50.0156 126.539 -145.85 + 50 117.132 650 1 1 -50.0399 126.593 -174.45 + 50 117.923 1532 1 0 -50.039 126.596 -175.85 + 50 137.695 650 0 1 -50.018 126.639 -204.45 + 50 114.69 1532 0 0 -50.0172 126.641 -205.85 + 50 91.1654 1126 0 0 61.3393 45.25 -206.11 + 50 59.6267 1707 4 0 24.9602 161.55 -86.1152 + 50 437.209 649 1 1 -50.05 126.595 -174.499 + 50 303.987 648 1 1 -50.25 126.241 -174.731 +Number of digits in this event: 12 Using G4ParticleGun... -Particle energy: 9.78436 LIN +Particle energy: 5.19752 LIN Particle: e- Event: 51 -Number of tracker hits in this event: 23 - 51 143.812 427 10 1 -94.7072 -0.923866 95.55 - 51 146.855 895 10 0 -94.7072 -0.922811 94.15 - 51 106.481 427 9 1 -94.7123 -0.900364 65.55 - 51 133.525 895 9 0 -94.7129 -0.898906 64.15 - 51 119.097 427 8 1 -94.7261 -0.869965 35.55 - 51 175.102 895 8 0 -94.727 -0.869032 34.15 - 51 109.794 427 7 1 -94.7455 -0.846402 5.55 - 51 114.062 896 7 0 -94.7465 -0.845334 4.15 - 51 118.363 426 6 1 -94.7657 -0.82152 -24.45 - 51 151.798 896 6 0 -94.7664 -0.820396 -25.85 - 51 113.226 426 5 1 -94.7817 -0.799092 -54.45 - 51 158.02 896 5 0 -94.7821 -0.797223 -55.85 - 51 181.912 426 4 1 -94.7906 -0.75529 -84.45 - 51 148.972 896 4 0 -94.7907 -0.75318 -85.85 - 51 111.265 426 3 1 -94.7935 -0.707783 -114.45 - 51 106.845 896 3 0 -94.7934 -0.705545 -115.85 - 51 114.341 426 2 1 -94.7953 -0.663279 -144.45 - 51 127.727 896 2 0 -94.796 -0.662478 -145.85 - 51 99.6921 426 1 1 -94.8098 -0.645694 -174.45 - 51 180.679 897 1 0 -94.8102 -0.646581 -175.85 - 51 107.311 426 0 1 -94.8179 -0.661574 -204.45 - 51 103.514 896 0 0 -94.8191 -0.661943 -205.85 - 51 114.29 1074 3 0 -88.6452 34.9486 -116.25 -Number of digits in this event: 12 +Number of tracker hits in this event: 63 + 51 175.395 1036 10 1 27.4267 104.092 95.55 + 51 95.4343 1419 10 0 27.4255 104.091 94.15 + 51 136.167 1036 9 1 27.3989 104.071 65.55 + 51 98.7866 1419 9 0 27.3967 104.07 64.15 + 51 143.704 1036 8 1 27.3571 104.06 35.55 + 51 165.154 1419 8 0 27.3565 104.06 34.15 + 51 98.5517 1036 7 1 27.3373 104.055 5.55 + 51 119.607 1419 7 0 27.3375 104.055 4.15 + 51 146.723 1036 6 1 27.3326 104.053 -24.45 + 51 136.131 1419 6 0 27.3321 104.054 -25.85 + 51 300.228 1036 5 1 27.3253 104.08 -54.45 + 51 160.446 1419 5 0 27.3254 104.08 -55.85 + 51 214.885 1036 4 1 27.3289 104.071 -84.45 + 51 115.733 1419 4 0 27.3301 104.072 -85.85 + 51 338.566 1036 3 1 27.3609 104.092 -114.45 + 51 124.439 1419 3 0 27.363 104.092 -115.85 + 51 112.015 1036 2 1 27.4145 104.102 -144.45 + 51 109.824 1419 2 0 27.4173 104.103 -145.85 + 51 172.871 1037 1 1 27.4735 104.135 -174.45 + 51 92.1884 1419 1 0 27.4768 104.136 -175.85 + 51 119.539 1037 0 1 27.5414 104.136 -204.45 + 51 108.236 1419 0 0 27.5432 104.138 -205.85 + 51 129.491 1533 12 0 -118.256 126.904 153.75 + 51 88.5498 1037 5 1 27.45 104.336 -54.7632 + 51 0.395777 1422 5 0 28.8674 104.716 -55.85 + 51 47.2615 1056 5 1 31.4155 101.779 -54.85 + 51 147.98 1035 2 1 27.2265 103.915 -144.45 + 51 191.323 1418 2 0 26.9363 103.905 -145.85 + 51 189.272 1505 2 0 38.9849 121.239 -146.25 + 51 0.567406 1103 2 1 40.8472 120.038 -144.85 + 51 300.153 1104 2 1 40.85 120.035 -144.848 + 51 85.4651 1105 2 1 41.0504 119.801 -144.729 + 51 1.12058 1487 2 0 40.904 117.556 -145.85 + 51 126.643 1486 2 0 40.9036 117.55 -145.853 + 51 81.5207 1485 2 0 40.9093 117.35 -146.007 + 51 61.6716 1491 2 0 41.4232 118.439 -146.25 + 51 59.6026 1492 2 0 41.3925 118.55 -146.055 + 51 112.952 1109 2 1 41.9069 119.373 -144.85 + 51 64.1657 1110 2 1 42.05 119.679 -144.543 + 51 136.788 1111 2 1 42.25 119.79 -144.513 + 51 97.6225 1496 2 0 42.5761 119.48 -145.85 + 51 46.247 1495 2 0 42.658 119.35 -146.179 + 51 76.4236 1506 2 0 39.0624 121.35 -146.069 + 51 222.296 1418 3 0 27.2587 103.886 -115.85 + 51 149.722 1038 2 1 27.6753 103.651 -144.45 + 51 176.533 1417 2 0 27.6556 103.646 -145.85 + 51 93.1782 1035 1 1 27.243 103.661 -174.45 + 51 135.128 1417 1 0 27.2207 103.632 -175.85 + 51 135.947 1033 0 1 26.8048 102.947 -204.45 + 51 127.309 1413 0 0 26.8128 102.928 -205.85 + 51 84.7118 1042 0 1 28.4525 103.187 -204.45 + 51 211.364 1041 0 1 28.45 103.187 -204.484 + 51 116.729 1415 0 0 28.3443 103.168 -205.851 + 51 136.631 1412 0 0 28.169 102.707 -205.85 + 51 0.884888 1035 3 1 27.2499 103.894 -114.45 + 51 141.239 1039 2 1 28.0017 103.241 -144.45 + 51 146.159 1415 2 0 27.9723 103.193 -145.85 + 51 117.214 1038 1 1 27.6602 102.109 -174.45 + 51 155.51 1409 1 0 27.7164 102.038 -175.85 + 51 159.186 1040 0 1 28.1424 100.86 -204.45 + 51 271.253 1403 0 0 28.1855 100.769 -205.85 + 51 38.0956 1402 0 0 28.1945 100.75 -206.138 + 51 198.623 1043 0 1 28.65 100.673 -204.824 +Number of digits in this event: 35 Using G4ParticleGun... -Particle energy: 3.53729 LIN +Particle energy: 1.63948 LIN Particle: e- Event: 52 -Number of tracker hits in this event: 161 - 52 171.429 1124 11 1 44.8699 -8.84358 125.55 - 52 112.753 856 11 0 44.8706 -8.84132 124.15 - 52 119.781 1124 10 1 44.894 -8.79959 95.55 - 52 132.895 856 10 0 44.8951 -8.79552 94.15 - 52 133.029 1124 9 1 44.9162 -8.71564 65.55 - 52 157.438 856 9 0 44.9189 -8.71092 64.15 - 52 124.139 1124 8 1 44.9734 -8.6189 35.55 - 52 114.123 857 8 0 44.9751 -8.61314 34.15 - 52 386.312 1124 7 1 45.0134 -8.50869 5.55 - 52 379.341 857 7 0 45.0147 -8.50474 4.15 - 52 112.177 1124 6 1 45.0401 -8.42443 -24.45 - 52 104.825 858 6 0 45.0416 -8.42688 -25.85 - 52 960.022 1125 5 1 45.106 -8.48472 -54.45 - 52 117.037 857 5 0 45.1104 -8.48933 -55.85 - 52 106.421 1125 4 1 45.1738 -8.54323 -84.45 - 52 468.925 857 4 0 45.1821 -8.54466 -85.85 - 52 120.912 1126 3 1 45.3464 -8.55601 -114.45 - 52 212.824 857 3 0 45.3461 -8.55308 -115.85 - 52 202.262 1126 2 1 45.3209 -8.46236 -144.45 - 52 310.06 857 2 0 45.3184 -8.45868 -145.85 - 52 239.252 1125 1 1 45.2416 -8.38571 -174.45 - 52 126.62 858 1 0 45.2311 -8.3913 -175.85 - 52 589.132 1124 0 1 45.0033 -8.55006 -204.45 - 52 118.994 857 0 0 44.982 -8.55098 -205.85 - 52 237.698 1126 0 1 45.3379 -8.2867 -204.45 - 52 221.042 858 0 0 45.2769 -8.30946 -205.85 - 52 293.614 1002 2 0 -24.4771 20.5426 -146.25 - 52 574.117 1125 3 1 45.1418 -8.2969 -114.45 - 52 226.12 858 3 0 45.013 -8.33769 -115.85 - 52 117.687 1112 2 1 42.5795 -9.23825 -144.45 - 52 133.353 852 2 0 42.5004 -9.47042 -145.85 - 52 161.787 1110 1 1 42.1555 -14.9599 -174.45 - 52 106.644 824 1 0 42.3851 -15.149 -175.85 - 52 405.883 1134 0 1 46.9443 -18.4948 -204.45 - 52 93.2861 1135 0 1 47.05 -18.5095 -204.57 - 52 5.39123 1136 0 1 47.25 -18.5292 -204.837 - 52 246.223 807 0 0 47.9726 -18.612 -205.85 - 52 823.202 1124 2 1 44.9688 -8.19369 -144.45 - 52 107.468 859 2 0 44.9559 -8.21529 -145.85 - 52 137.746 1122 1 1 44.6152 -8.67066 -174.45 - 52 298.42 856 1 0 44.6293 -8.68248 -175.85 - 52 119.324 855 0 0 45.042 -8.87753 -205.85 - 52 233.121 859 3 0 45.0822 -8.07733 -115.85 - 52 452.631 860 2 0 44.908 -7.92191 -145.85 - 52 98.7492 1124 1 1 45.0378 -7.80674 -174.45 - 52 104.891 861 1 0 45.0339 -7.78924 -175.85 - 52 136.9 863 0 0 44.9454 -7.42538 -205.85 - 52 276.531 1123 1 1 44.7482 -8.82353 -174.451 - 52 128.753 1115 0 1 43.128 -7.30768 -204.45 - 52 155.272 864 0 0 43.0536 -7.18633 -205.85 - 52 28.0211 1125 2 1 45.05 -8.13263 -144.762 - 52 356.198 856 2 0 45.505 -8.65 -145.962 - 52 163.712 1172 1 1 54.5662 -22.9297 -174.45 - 52 45.283 786 1 0 54.7486 -22.6876 -175.85 - 52 69.4094 787 1 0 54.7739 -22.65 -176.036 - 52 117.051 1185 0 1 57.1237 -17.2616 -204.45 - 52 165.442 817 0 0 56.9566 -16.6113 -205.85 - 52 7.53417 818 0 0 56.9399 -16.45 -206.216 - 52 180.522 1152 2 1 50.4764 -6.4864 -144.45 - 52 106.004 868 2 0 50.4633 -6.28525 -145.85 - 52 52.9279 869 2 0 50.461 -6.24995 -146.081 - 52 139.708 1150 1 1 50.2069 -2.28697 -174.45 - 52 55.0006 892 1 0 49.6796 -1.54081 -175.85 - 52 120.238 893 1 0 49.6152 -1.45 -176.026 - 52 29.5921 1110 0 1 42.1078 15.6438 -204.45 - 52 130.571 1109 0 1 42.05 15.6945 -204.558 - 52 176.416 981 0 0 40.8112 16.3336 -205.85 - 52 312.692 982 0 0 40.6026 16.4501 -206.036 - 52 186.992 1008 0 0 30.4801 21.6915 -206.25 - 52 3.27735 1035 0 1 27.0588 20.4925 -204.85 - 52 117.992 1034 0 1 27.0499 20.4888 -204.847 - 52 207.48 1033 0 1 26.85 20.4763 -204.778 - 52 69.4368 1032 0 1 26.65 20.5276 -204.7 - 52 60.5796 1031 0 1 26.45 20.5957 -204.492 - 52 65.3559 1030 0 1 26.2496 20.5866 -204.505 - 52 97.8372 1029 0 1 26.0497 20.5775 -204.547 - 52 194.5 998 0 0 25.4845 19.812 -205.85 - 52 396.672 1036 0 0 -16.9677 27.3174 -206.25 - 52 80.2911 1037 0 0 -16.7452 27.45 -206.051 - 52 148.345 1002 0 0 26.4156 20.5272 -205.85 - 52 131.016 1125 6 1 45.183 -8.50414 -24.45 - 52 341.036 857 6 0 45.184 -8.51579 -25.85 - 52 138.364 856 5 0 45.1644 -8.8246 -55.85 - 52 406.57 1124 4 1 44.9565 -9.68816 -84.45 - 52 141.508 851 4 0 44.941 -9.73884 -85.85 - 52 125.241 1122 3 1 44.5873 -10.8158 -114.45 - 52 137.998 845 3 0 44.5665 -10.8711 -115.85 - 52 109.86 1120 2 1 44.1288 -12.0728 -144.45 - 52 108.558 839 2 0 44.1198 -12.1505 -145.85 - 52 126.839 1119 1 1 43.8724 -13.6422 -174.45 - 52 145.995 831 1 0 43.8661 -13.7064 -175.85 - 52 130.38 1118 0 1 43.7152 -15.0541 -204.45 - 52 196.547 824 0 0 43.6993 -15.1194 -205.85 - 52 291.29 856 0 0 47.0589 -8.76932 -205.85 - 52 141.605 1117 6 1 43.613 -8.48517 -24.45 - 52 121.522 1106 5 1 41.2565 -11.0015 -54.45 - 52 110.81 846 5 0 41.4332 -10.8356 -55.85 - 52 187.962 1120 4 1 44.0583 -7.73341 -84.45 - 52 153.473 860 4 0 44.2151 -7.89125 -85.85 - 52 119.811 1135 3 1 47.2403 -9.98028 -114.45 - 52 144.178 849 3 0 47.2638 -10.1271 -115.85 - 52 129.09 1142 2 1 48.5984 -13.35 -144.45 - 52 112.958 832 2 0 48.4437 -13.4537 -145.85 - 52 66.3728 1128 1 1 45.667 -14.4308 -174.45 - 52 45.2003 1127 1 1 45.65 -14.4919 -174.665 - 52 81.0444 826 1 0 45.5472 -14.7861 -175.85 - 52 52.8955 825 1 0 45.5225 -14.85 -176.109 - 52 137.568 1116 0 1 43.4133 -22.4226 -204.45 - 52 129.357 786 0 0 43.3392 -22.6801 -205.85 - 52 191.048 1115 5 1 43.1329 -8.36361 -54.45 - 52 68.792 867 5 0 42.8894 -6.64679 -55.85 - 52 43.4197 868 5 0 42.8757 -6.44994 -55.9015 - 52 202.095 1113 5 1 42.6764 -5.97783 -54.8498 - 52 60.8672 1114 5 1 42.85 -5.97944 -54.7006 - 52 126.794 858 5 0 45.2088 -8.32283 -55.85 - 52 181.675 1141 4 1 48.3242 -8.76527 -84.45 - 52 88.6891 1167 3 1 53.5937 -3.65519 -114.45 - 52 38.4618 1168 3 1 53.65 -3.60826 -114.685 - 52 95.395 883 3 0 53.8731 -3.33262 -115.85 - 52 11.0682 884 3 0 53.9442 -3.25 -116.215 - 52 75.3618 1196 2 1 59.264 3.19247 -144.45 - 52 56.5857 1195 2 1 59.2499 3.21975 -144.645 - 52 111.426 916 2 0 59.1615 3.39441 -145.85 - 52 6.13543 917 2 0 59.1395 3.45 -146.223 - 52 144.924 1185 1 1 57.1031 7.34703 -174.451 - 52 94.598 937 1 0 57.2266 7.59134 -175.85 - 52 41.4457 938 1 0 57.2579 7.65001 -176.16 - 52 113.133 1200 0 1 60.0892 12.9611 -204.45 - 52 112.195 963 0 0 60.3416 12.8081 -205.851 - 52 519.409 1126 5 1 45.2502 -7.96165 -54.5023 - 52 12.4469 889 5 0 47.3707 -2.09126 -55.85 - 52 67.4763 890 5 0 47.3916 -2.05 -55.8591 - 52 76.395 891 5 0 47.4914 -1.85 -55.9535 - 52 80.6304 892 5 0 47.6495 -1.65 -56.1076 - 52 88.9198 904 5 0 85.2554 0.858686 -56.25 - 52 27.8554 903 5 0 85.3483 0.85 -55.9428 - 52 16.0831 1328 5 1 85.8254 0.712675 -54.85 - 52 116.532 1329 5 1 85.85 0.708023 -54.8064 - 52 152.315 871 5 0 44.5136 -5.78126 -55.85 - 52 191.094 870 5 0 44.1902 -5.85 -56.0047 - 52 99.7702 849 10 0 44.7941 -10.1274 94.15 - 52 30.8978 1122 10 1 44.4608 -10.7541 95.15 - 52 24.7139 846 10 0 44.4522 -10.6621 94.15 - 52 61.1731 1119 10 1 43.914 -11.646 95.15 - 52 115.438 1127 3 1 45.5123 -9.07496 -114.45 - 52 121.204 854 3 0 45.5484 -9.06484 -115.85 - 52 150.41 1131 2 1 46.4155 -8.82077 -144.45 - 52 106.7 1134 1 1 47.0185 -8.92775 -174.45 - 52 239.529 855 1 0 47.0101 -8.98722 -175.85 - 52 142.033 850 0 0 46.8786 -10.0149 -205.85 - 52 72.0124 1094 1 1 38.9108 -18.8839 -174.45 - 52 98.116 1124 3 1 44.8693 -8.54464 -114.45 - 52 0.107565 1128 0 1 45.85 -9.21085 -204.45 - 52 121.947 1129 0 1 45.85 -9.21086 -204.452 - 52 180.569 854 0 0 45.8778 -9.2164 -205.85 - 52 3.94294 853 0 0 45.9134 -9.25 -206.245 - 52 120.441 566 0 0 80.1589 -66.7079 -206.25 - 52 60.6344 565 0 0 79.999 -66.8509 -206.004 - 52 102.428 564 0 0 79.9805 -67.05 -206.004 - 52 183.853 1296 0 1 79.3952 -66.8695 -204.85 - 52 70.1765 1295 0 1 79.25 -66.901 -204.797 -Number of digits in this event: 87 -Using G4ParticleGun... -Particle energy: 7.936 LIN +Number of tracker hits in this event: 27 + 52 105.33 354 9 1 -109.221 -43.598 65.55 + 52 168.219 682 9 0 -109.222 -43.6024 64.15 + 52 139.136 354 8 1 -109.22 -43.683 35.55 + 52 177.888 681 8 0 -109.221 -43.6881 34.15 + 52 145.55 354 7 1 -109.245 -43.7986 5.55 + 52 160.266 681 7 0 -109.247 -43.8018 4.15 + 52 125.719 354 6 1 -109.286 -43.867 -24.45 + 52 138.43 680 6 0 -109.288 -43.877 -25.85 + 52 132.69 354 5 1 -109.333 -44.0613 -54.45 + 52 277.75 679 5 0 -109.337 -44.0703 -55.85 + 52 301.434 353 4 1 -109.413 -44.2683 -84.45 + 52 137.226 678 4 0 -109.417 -44.2721 -85.85 + 52 111.78 353 3 1 -109.515 -44.3772 -114.45 + 52 120.129 678 3 0 -109.523 -44.3838 -115.85 + 52 85.8941 352 2 1 -109.663 -44.5355 -144.45 + 52 120.912 677 2 0 -109.681 -44.5435 -145.85 + 52 151.466 350 1 1 -110.043 -44.7192 -174.45 + 52 143.59 676 1 0 -110.065 -44.727 -175.85 + 52 140.779 348 0 1 -110.512 -44.9255 -204.45 + 52 102.035 675 0 0 -110.539 -44.9326 -205.85 + 52 112.366 904 4 0 -94.8155 0.918782 -86.25 + 52 118.049 430 4 1 -94.1098 0.735972 -84.85 + 52 11.0493 431 4 1 -93.95 0.665118 -84.5001 + 52 247.658 352 4 1 -109.55 -44.1689 -84.4783 + 52 181.883 1191 6 0 -12.9936 58.25 -26.1967 + 52 7.85818 976 0 0 -113.042 15.425 -205.85 + 52 51.6248 333 0 1 -113.49 15.2833 -204.85 +Number of digits in this event: 21 +Using G4ParticleGun... +Particle energy: 6.89964 LIN Particle: e- Event: 53 -Number of tracker hits in this event: 73 - 53 101.825 325 9 1 -114.994 -22.8742 65.55 - 53 108.154 785 9 0 -114.993 -22.8736 64.15 - 53 109.504 325 8 1 -114.974 -22.867 35.55 - 53 159.651 785 8 0 -114.973 -22.8668 34.15 - 53 154.718 325 7 1 -114.963 -22.8598 5.55 - 53 158.356 785 7 0 -114.963 -22.861 4.15 - 53 117.186 325 6 1 -114.958 -22.8921 -24.45 - 53 137.396 785 6 0 -114.957 -22.8942 -25.85 - 53 246.777 326 5 1 -114.941 -22.9404 -54.45 - 53 347.446 785 5 0 -114.94 -22.9421 -55.85 - 53 109.102 326 4 1 -114.929 -22.9714 -84.45 - 53 130.487 785 4 0 -114.928 -22.9725 -85.85 - 53 128.817 326 3 1 -114.904 -22.9939 -114.45 - 53 115.154 785 3 0 -114.903 -22.9949 -115.85 - 53 568.614 326 2 1 -114.882 -23.0164 -144.45 - 53 127.11 785 2 0 -114.88 -23.0182 -145.85 - 53 288.15 326 1 1 -114.838 -23.057 -174.45 - 53 354.633 784 1 0 -114.836 -23.0599 -175.85 - 53 776.695 326 0 1 -114.797 -23.1174 -204.45 - 53 527.677 784 0 0 -114.793 -23.119 -205.85 - 53 136.898 319 1 0 -135.501 -116.228 -176.25 - 53 71.0619 318 1 0 -135.856 -116.35 -176.01 - 53 209.17 218 1 1 -136.549 -116.22 -174.85 - 53 145.439 217 1 1 -136.55 -116.219 -174.847 - 53 136.397 219 1 1 -136.35 -116.17 -174.553 - 53 54.4479 423 0 1 -95.5445 -96.419 -204.85 - 53 7.96568 1113 1 0 -116.985 42.6789 -176.25 - 53 99.3278 1560 1 0 -97.8546 132.241 -176.25 - 53 202.249 1561 1 0 -97.8681 132.35 -176.173 - 53 68.8046 787 2 0 -114.774 -22.4954 -145.85 - 53 107.915 788 2 0 -114.77 -22.45 -145.969 - 53 366.926 824 2 0 -162.698 -15.1196 -146.25 - 53 146.121 86 2 1 -162.841 -15.0119 -144.85 - 53 73.364 87 2 1 -162.75 -14.9943 -144.606 - 53 99.6206 825 2 0 -162.993 -15.05 -145.947 - 53 705.798 325 5 1 -114.95 -22.9433 -54.6138 - 53 215.994 784 2 0 -114.815 -23.1993 -145.85 - 53 119.404 328 1 1 -114.363 -24.8115 -174.451 - 53 114.998 776 1 0 -114.573 -24.6879 -175.85 - 53 97.9709 301 0 1 -119.916 -22.9529 -204.45 - 53 84.4869 300 0 1 -119.95 -22.8437 -204.648 - 53 102.839 789 0 0 -120.211 -22.2199 -205.85 - 53 4.02262 790 0 0 -120.293 -22.05 -206.231 - 53 86.6303 474 1 1 -85.2204 -90.3974 -174.85 - 53 29.784 444 1 0 -86.6091 -91.1601 -175.85 - 53 127.671 475 1 1 -85.05 -90.6191 -174.547 - 53 120.573 939 0 0 -65.3375 7.85343 -206.25 - 53 32.3179 938 0 0 -65.2527 7.84982 -206.199 - 53 103.028 786 5 0 -115.193 -22.6848 -55.85 - 53 23.1919 787 5 0 -115.249 -22.65 -56.1567 - 53 110.404 302 4 1 -119.721 -19.7025 -84.45 - 53 24.205 301 4 1 -119.75 -19.5671 -84.7628 - 53 14.4139 804 4 0 -119.864 -19.0692 -85.85 - 53 139.463 805 4 0 -119.869 -19.05 -85.891 - 53 65.5463 292 3 1 -121.675 -4.84947 -114.45 - 53 54.641 291 3 1 -121.75 -4.81573 -114.671 - 53 15.9048 876 3 0 -122.186 -4.65543 -115.85 - 53 174.368 877 3 0 -122.202 -4.65 -115.892 - 53 71.0045 235 2 1 -132.99 -2.07451 -144.45 - 53 46.3804 234 2 1 -133.15 -2.00679 -144.707 - 53 132.655 892 2 0 -133.887 -1.64996 -145.85 - 53 17.1953 127 1 1 -154.704 11.088 -174.451 - 53 95.112 126 1 1 -154.75 11.1018 -174.5 - 53 45.7654 125 1 1 -154.95 11.1757 -174.721 - 53 129.65 957 1 0 -155.964 11.5647 -175.85 - 53 46.8115 958 1 0 -156.228 11.6501 -176.118 - 53 118.652 318 4 1 -116.497 -24.344 -84.45 - 53 38.6503 777 4 0 -116.247 -24.6174 -85.85 - 53 55.7078 776 4 0 -116.217 -24.65 -86.0206 - 53 1.98407 362 3 1 -107.556 -35.3015 -114.45 - 53 114.302 363 3 1 -107.55 -35.3033 -114.461 - 53 121.313 722 3 0 -106.865 -35.5182 -115.85 - 53 109.515 468 4 1 -86.3172 104.189 -84.4501 -Number of digits in this event: 32 -Using G4ParticleGun... -Particle energy: 6.13851 LIN +Number of tracker hits in this event: 153 + 53 134.708 620 11 1 -56.0255 -34.0112 125.55 + 53 138.062 730 11 0 -56.0263 -34.0105 124.15 + 53 123.383 620 10 1 -56.0396 -33.9926 95.55 + 53 107.394 730 10 0 -56.041 -33.993 94.15 + 53 123.747 619 9 1 -56.0736 -34.0024 65.55 + 53 114.557 730 9 0 -56.0744 -34.0027 64.15 + 53 635.895 619 8 1 -56.0892 -34.0107 35.55 + 53 483.438 730 8 0 -56.0894 -34.0104 34.15 + 53 467.673 619 7 1 -56.0816 -33.998 5.55 + 53 272.133 730 7 0 -56.0825 -33.9946 4.15 + 53 98.4535 619 6 1 -56.1112 -33.9332 -24.45 + 53 117.57 730 6 0 -56.111 -33.9324 -25.85 + 53 90.5584 619 5 1 -56.0857 -33.921 -54.45 + 53 245.34 730 5 0 -56.0885 -33.9189 -55.85 + 53 449.143 619 4 1 -56.1555 -33.8784 -84.45 + 53 105.609 730 4 0 -56.1588 -33.8709 -85.85 + 53 110.354 618 3 1 -56.2609 -33.7233 -114.45 + 53 118.754 731 3 0 -56.265 -33.7174 -115.85 + 53 373.139 618 2 1 -56.3564 -33.5915 -144.45 + 53 150.211 732 2 0 -56.3627 -33.5839 -145.85 + 53 225.801 617 1 1 -56.481 -33.4147 -174.45 + 53 257.806 733 1 0 -56.4858 -33.4078 -175.85 + 53 129.851 617 0 1 -56.5766 -33.2762 -204.45 + 53 143.814 733 0 0 -56.5698 -33.259 -205.85 + 53 190.378 575 4 1 -64.9912 -111.745 -84.85 + 53 302.396 577 4 1 -64.484 -111.492 -84.45 + 53 82.7471 574 4 1 -65.05 -111.977 -84.845 + 53 343.345 725 2 0 -55.8146 -34.9367 -145.85 + 53 77.7835 724 2 0 -55.7762 -35.05 -145.953 + 53 48.7672 723 2 0 -55.7294 -35.2502 -146.111 + 53 53.2794 650 1 1 -50.0054 -64.7845 -174.45 + 53 530.656 649 1 1 -50.05 -64.8621 -174.459 + 53 220.521 618 1 1 -56.4143 -33.4554 -174.451 + 53 17.2796 619 1 1 -56.25 -33.5222 -174.784 + 53 95.468 732 1 0 -55.6995 -33.5593 -175.85 + 53 36.0124 894 1 0 1.73548 -1.09614 -176.25 + 53 208.053 895 1 0 1.80614 -1.05 -176.209 + 53 178.367 896 1 0 2.12722 -0.849832 -176.015 + 53 67.6555 917 1 1 3.4883 0.391167 -174.85 + 53 96.758 918 1 1 3.65 0.52107 -174.69 + 53 31.8163 920 1 1 4.14711 0.635568 -174.45 + 53 63.1492 921 1 1 4.25 0.587501 -174.522 + 53 407.919 922 1 1 4.45 0.498201 -174.653 + 53 11.0417 923 1 1 4.65 0.355819 -174.833 + 53 153.992 898 1 0 6.47934 -0.369287 -175.85 + 53 256.37 897 1 0 6.63264 -0.450091 -175.923 + 53 93.4977 605 0 1 -58.9498 -33.9729 -204.45 + 53 111.82 604 0 1 -59.05 -34.0821 -204.567 + 53 5.85732 724 0 0 -59.5125 -35.2388 -205.85 + 53 75.8521 723 0 0 -59.5171 -35.25 -205.863 + 53 88.8252 722 0 0 -59.6015 -35.4502 -206.105 + 53 32.1533 1262 3 1 72.5242 -7.33516 -114.85 + 53 22.4904 1263 3 1 72.65 -7.2451 -114.525 + 53 189.63 618 7 1 -56.2501 -34.1727 5.32266 + 53 0.649828 617 7 1 -56.4503 -34.2532 5.15185 + 53 164.477 725 7 0 -57.5317 -34.8687 4.15 + 53 21.0707 724 7 0 -57.8934 -35.05 3.8219 + 53 126.314 645 7 0 -68.6277 -50.9086 3.75079 + 53 33.5859 646 7 0 -68.6312 -50.85 4.08311 + 53 52.3404 552 7 1 -69.5438 -50.8915 5.15 + 53 126.917 551 7 1 -69.65 -50.9385 5.26774 + 53 64.0261 550 7 1 -69.85 -51.0348 5.33712 + 53 65.5619 549 7 1 -70.05 -51.0093 5.40924 + 53 274.559 548 7 1 -70.2501 -50.9938 5.43522 + 53 384.629 618 6 1 -56.3135 -34.1255 -24.45 + 53 103.477 729 6 0 -56.3234 -34.1478 -25.85 + 53 461.027 617 5 1 -56.5148 -34.6048 -54.45 + 53 184.284 727 5 0 -56.5302 -34.6213 -55.85 + 53 202.24 616 4 1 -56.8127 -34.939 -84.45 + 53 238.346 725 4 0 -56.8136 -34.9488 -85.85 + 53 171.978 616 3 1 -56.8321 -35.1756 -114.45 + 53 140.989 724 3 0 -56.826 -35.1716 -115.85 + 53 123.025 616 2 1 -56.7026 -35.023 -144.45 + 53 111.07 727 1 0 -56.4109 -34.6265 -175.85 + 53 157.844 618 0 1 -56.4126 -34.1098 -204.45 + 53 112.054 729 0 0 -56.4144 -34.0825 -205.85 + 53 265.402 731 7 0 -56.1129 -33.8235 4.15 + 53 232.384 731 6 0 -56.3059 -33.7486 -25.85 + 53 124.579 736 5 0 -56.5401 -32.6952 -55.85 + 53 105.084 743 4 0 -56.1005 -31.297 -85.85 + 53 262.479 615 3 1 -56.8758 -30.5144 -114.45 + 53 109.008 747 3 0 -56.9026 -30.5073 -115.85 + 53 108.983 611 2 1 -57.6728 -30.3452 -144.45 + 53 316.753 748 2 0 -57.7202 -30.3545 -145.85 + 53 113.412 606 1 1 -58.7404 -30.6393 -174.45 + 53 117.803 746 1 0 -58.8221 -30.6867 -175.85 + 53 180.552 598 0 1 -60.3888 -31.7513 -204.45 + 53 114.273 741 0 0 -60.4744 -31.7978 -205.85 + 53 47.2367 1445 9 0 135.311 109.268 63.75 + 53 324.655 1446 9 0 135.295 109.35 63.87 + 53 43.9245 656 0 0 -43.3173 -48.7616 -206.25 + 53 115.165 655 0 0 -43.2107 -48.85 -206.13 + 53 22.1108 654 0 0 -42.992 -49.05 -205.871 + 53 134.07 689 0 1 -42.2081 -49.8135 -204.85 + 53 94.4208 690 0 1 -42.05 -49.978 -204.65 + 53 150.544 615 1 0 -29.5596 -56.876 -176.25 + 53 123.234 755 1 1 -29.0014 -57.1966 -174.85 + 53 2.28743 756 1 1 -28.85 -57.2827 -174.458 + 53 44.6489 478 2 0 -15.1396 -84.3657 -146.25 + 53 81.1018 477 2 0 -15.0985 -84.4501 -146.162 + 53 39.2498 476 2 0 -15.0035 -84.65 -145.952 + 53 143.814 827 2 1 -14.5726 -85.6579 -144.85 + 53 32.9336 828 2 1 -14.45 -85.9704 -144.52 + 53 59.66 386 3 0 -10.4472 -102.853 -116.25 + 53 82.5695 385 3 0 -10.4273 -102.95 -116.089 + 53 130.4 849 3 1 -10.2349 -103.695 -114.848 + 53 83.6871 224 4 0 7.58679 -135.151 -86.2494 + 53 83.2873 223 4 0 7.70253 -135.35 -86.0658 + 53 40.7526 222 4 0 7.82 -135.55 -85.9099 + 53 103.734 944 4 1 8.88262 -137.313 -84.85 + 53 242.366 945 4 1 9.05007 -137.629 -84.6551 + 53 1.40669 736 0 0 -60.9899 -32.7244 -205.85 + 53 62.6368 620 8 1 -56.05 -34.0094 35.3192 + 53 108.919 729 8 0 -56.028 -34.053 34.15 + 53 239.569 621 7 1 -55.846 -35.2324 5.55 + 53 225.231 722 7 0 -55.6148 -35.4996 4.15 + 53 130.096 646 6 1 -50.7059 -40.8959 -24.45 + 53 144.74 695 6 0 -50.6848 -40.8919 -25.85 + 53 114.811 651 5 1 -49.7436 -40.2613 -54.45 + 53 112.188 698 5 0 -49.722 -40.267 -55.8503 + 53 156.227 651 4 1 -49.6902 -40.2047 -84.4503 + 53 107.316 699 4 0 -49.6788 -40.222 -85.85 + 53 132.141 647 3 1 -50.5049 -41.2136 -114.45 + 53 34.9761 648 3 1 -50.45 -41.1727 -114.779 + 53 120.584 695 3 0 -50.2364 -41.0285 -115.85 + 53 151.316 678 2 1 -44.4394 -37.8002 -144.45 + 53 143.602 711 2 0 -44.1386 -37.8207 -145.85 + 53 80.9451 712 1 1 -37.486 -39.0562 -174.45 + 53 77.4634 713 1 1 -37.45 -39.0956 -174.671 + 53 119.681 703 1 0 -37.2692 -39.3147 -175.85 + 53 89.2103 739 0 1 -32.1094 -43.7557 -204.45 + 53 24.9923 740 0 1 -32.05 -43.7856 -204.789 + 53 113.156 680 0 0 -31.8689 -43.8552 -205.85 + 53 336.678 571 0 1 -65.6726 -39.3226 -204.45 + 53 408.487 572 0 1 -65.6499 -39.3004 -204.511 + 53 4.83994 703 0 0 -65.7042 -39.4482 -205.851 + 53 118.784 702 0 0 -65.7048 -39.45 -205.87 + 53 203.483 615 4 1 -56.8961 -34.3319 -84.45 + 53 106.079 728 4 0 -56.8904 -34.3567 -85.85 + 53 120.067 726 3 0 -56.8748 -34.8234 -115.85 + 53 18.3226 614 2 1 -57.2469 -34.7086 -144.45 + 53 110.821 613 2 1 -57.25 -34.7072 -144.513 + 53 134.738 726 2 0 -57.3185 -34.6704 -145.85 + 53 119.663 605 1 1 -58.8718 -33.8662 -174.45 + 53 139.424 730 1 0 -59.0051 -33.8604 -175.85 + 53 233.458 592 0 1 -61.5745 -33.7429 -204.45 + 53 309.813 731 0 0 -61.7417 -33.718 -205.85 + 53 38.5789 729 3 0 -51.3831 -34.2262 -115.85 + 53 71.3581 656 3 1 -48.8128 -32.2804 -114.85 + 53 334.421 657 3 1 -48.65 -32.2597 -114.75 + 53 126.7 724 4 0 -56.6327 -35.0502 -86.0898 + 53 105.698 723 4 0 -56.4838 -35.2501 -86.2083 + 53 209.624 722 4 0 -56.3304 -35.4501 -86.1437 +Number of digits in this event: 76 +Using G4ParticleGun... +Particle energy: 4.5571 LIN Particle: e- Event: 54 -Number of tracker hits in this event: 38 - 54 117.862 954 8 1 10.9102 -139.424 35.55 - 54 105.394 203 8 0 10.9098 -139.425 34.15 - 54 154.877 954 7 1 10.9025 -139.44 5.55 - 54 122.151 203 7 0 10.9022 -139.439 4.15 - 54 111.384 954 6 1 10.9006 -139.427 -24.45 - 54 184.236 203 6 0 10.9014 -139.413 -25.85 - 54 128.778 954 5 1 10.9201 -139.136 -54.45 - 54 165.677 205 5 0 10.9203 -139.121 -55.85 - 54 219.461 954 4 1 10.9125 -138.812 -84.45 - 54 105.119 206 4 0 10.9193 -138.795 -85.85 - 54 104.119 955 3 1 11.0793 -138.432 -114.45 - 54 117.804 208 3 0 11.0855 -138.411 -115.85 - 54 131.517 955 2 1 11.1853 -137.989 -144.45 - 54 129.075 210 2 0 11.187 -137.965 -145.85 - 54 123.917 955 1 1 11.2091 -137.505 -174.45 - 54 97.1532 213 1 0 11.2137 -137.488 -175.85 - 54 208.063 955 0 1 11.1227 -137.191 -204.45 - 54 126.469 214 0 0 11.0969 -137.183 -205.85 - 54 12.0321 529 4 0 126.434 -74.0544 -86.25 - 54 406.107 530 4 0 126.41 -74.05 -86.2352 - 54 110.009 531 4 0 126.56 -73.85 -85.992 - 54 52.2988 955 4 1 11.05 -138.959 -84.7509 - 54 115.22 201 4 0 11.3755 -139.775 -85.85 - 54 78.8672 200 4 0 11.4591 -139.95 -86.1503 - 54 20.8546 201 5 0 8.30109 -139.77 -56.25 - 54 31.4634 202 5 0 8.28873 -139.75 -56.2422 - 54 136.19 824 6 0 -18.2935 -15.1154 -26.25 - 54 236.876 808 6 1 -18.3855 -15.239 -24.8499 - 54 39.7205 1045 2 1 29.1066 -135.271 -144.85 - 54 119.477 216 2 0 22.3513 -136.863 -146.25 - 54 187.681 1013 2 1 22.7466 -136.739 -144.85 - 54 35.3852 1014 2 1 22.85 -136.78 -144.471 - 54 164.348 1015 2 1 23.05 -136.899 -144.527 - 54 127.97 213 2 0 23.0125 -137.465 -145.85 - 54 127.958 954 1 1 10.9118 -139.449 -174.45 - 54 100.21 203 1 0 10.9416 -139.461 -175.85 - 54 127.964 957 0 1 11.5924 -139.657 -204.45 - 54 151.331 202 0 0 11.5233 -139.655 -205.85 -Number of digits in this event: 24 -Using G4ParticleGun... -Particle energy: 9.20364 LIN +Number of tracker hits in this event: 39 + 54 110.997 330 7 1 -113.959 -95.0888 5.55 + 54 132.282 425 7 0 -113.959 -95.09 4.15 + 54 113.429 330 6 1 -113.965 -95.1146 -24.45 + 54 130.315 425 6 0 -113.964 -95.1144 -25.85 + 54 219.06 330 5 1 -113.952 -95.11 -54.45 + 54 452.418 425 5 0 -113.948 -95.1109 -55.85 + 54 134.941 331 4 1 -113.886 -95.1492 -84.45 + 54 122.488 425 4 0 -113.884 -95.149 -85.85 + 54 98.6531 331 3 1 -113.827 -95.1235 -114.45 + 54 114.749 425 3 0 -113.824 -95.1196 -115.85 + 54 110.048 332 2 1 -113.704 -94.975 -144.45 + 54 116.627 425 2 0 -113.695 -94.9655 -145.85 + 54 366.037 333 1 1 -113.505 -94.7779 -174.45 + 54 136.325 426 1 0 -113.5 -94.7679 -175.85 + 54 135.069 333 0 1 -113.4 -94.5696 -204.45 + 54 143.544 427 0 0 -113.394 -94.5589 -205.85 + 54 19.9746 332 1 1 -113.55 -94.4895 -174.48 + 54 98.4481 323 4 1 -115.428 -93.0058 -84.45 + 54 124.461 435 4 0 -115.491 -93.0171 -85.8506 + 54 189.593 325 1 1 -114.982 -85.9031 -174.45 + 54 47.7669 326 1 1 -114.95 -85.8755 -174.674 + 54 170.027 471 1 0 -114.802 -85.701 -175.851 + 54 97.5206 472 1 0 -114.748 -85.65 -176.225 + 54 131.558 347 0 1 -110.695 -81.8896 -204.45 + 54 111.234 491 0 0 -110.804 -81.7091 -205.85 + 54 14.3331 372 0 1 -105.745 -74.6965 -204.45 + 54 91.8782 371 0 1 -105.75 -74.6826 -204.505 + 54 21.6534 528 0 0 -105.618 -74.2928 -205.85 + 54 116.317 529 0 0 -105.608 -74.25 -205.942 + 54 6.9629 530 0 0 -105.573 -74.05 -206.23 + 54 228.302 331 5 1 -113.934 -95.0558 -54.4501 + 54 163.222 426 5 0 -113.628 -94.95 -56.009 + 54 64.555 357 4 1 -108.608 -93.1555 -84.4509 + 54 193.803 358 4 1 -108.55 -93.1671 -84.5767 + 54 81.1135 359 4 1 -108.35 -93.2132 -84.7806 + 54 26.7181 360 4 1 -108.15 -93.2804 -84.8188 + 54 99.9214 430 4 0 -105.663 -94.0652 -85.85 + 54 148.804 429 4 0 -105.412 -94.15 -85.9533 + 54 113.297 428 4 0 -104.992 -94.35 -86.0914 +Number of digits in this event: 20 +Using G4ParticleGun... +Particle energy: 7.54735 LIN Particle: e- Event: 55 -Number of tracker hits in this event: 149 - 55 446.733 1093 11 1 38.6734 5.58773 125.55 - 55 470.514 927 11 0 38.6746 5.5875 124.15 - 55 111.86 1093 10 1 38.7025 5.58776 95.55 - 55 122.538 927 10 0 38.7057 5.58697 94.15 - 55 374.459 1093 9 1 38.7748 5.56769 65.55 - 55 117.178 927 9 0 38.7795 5.56075 64.15 - 55 97.5897 1094 8 1 38.8638 5.41426 35.55 - 55 114.614 926 8 0 38.8669 5.40224 34.15 - 55 251.71 1094 7 1 38.9405 5.15614 5.55 - 55 136.173 925 7 0 38.9451 5.1486 4.15 - 55 113.71 1094 6 1 39.047 5.00624 -24.45 - 55 107.443 924 6 0 39.0527 5.0061 -25.85 - 55 118.345 1095 5 1 39.1731 4.99449 -54.45 - 55 118.081 924 5 0 39.176 4.99726 -55.85 - 55 102.578 1095 4 1 39.1822 5.05526 -84.45 - 55 241.014 925 4 0 39.1814 5.05272 -85.85 - 55 121.198 1095 3 1 39.157 4.995 -114.45 - 55 127.496 924 3 0 39.1527 4.99211 -115.85 - 55 132.446 1095 2 1 39.0664 4.92671 -144.45 - 55 122.725 924 2 0 39.056 4.92322 -145.85 - 55 108.568 1093 1 1 38.8418 4.84454 -174.45 - 55 141.536 923 1 0 38.835 4.84003 -175.85 - 55 134.048 1093 0 1 38.6803 4.75481 -204.45 - 55 130.564 923 0 0 38.6801 4.75256 -205.85 - 55 49.2964 985 5 0 -45.5926 17.2428 -56.25 - 55 99.8098 904 5 0 22.2258 0.858936 -56.25 - 55 116.98 903 5 0 22.3082 0.85 -56.1597 - 55 0.770023 1450 0 1 110.15 0.628268 -204.703 - 55 158.776 926 7 0 38.8852 5.42007 4.14984 - 55 127.624 1095 6 1 39.1033 3.05926 -24.45 - 55 10.285 914 6 0 39.1278 2.85554 -25.85 - 55 173.91 913 6 0 39.1287 2.84986 -25.8881 - 55 105.182 1099 5 1 40.0405 -1.09126 -54.45 - 55 198.244 892 5 0 40.0492 -1.57934 -55.85 - 55 56.8819 891 5 0 40.0526 -1.65 -56.0532 - 55 173.15 1100 4 1 40.2129 -11.81 -84.45 - 55 86.2491 838 4 0 40.0939 -12.3479 -85.8503 - 55 36.2647 837 4 0 40.0712 -12.4502 -86.1223 - 55 133.011 1086 3 1 37.3858 -22.8009 -114.45 - 55 143.259 784 3 0 37.0896 -23.1094 -115.85 - 55 288.335 1057 2 1 31.6011 -29.8499 -144.45 - 55 120.737 749 2 0 31.5449 -30.1452 -145.85 - 55 115.962 1055 1 1 31.2011 -35.323 -174.45 - 55 61.2688 722 1 0 31.3209 -35.608 -175.85 - 55 38.7727 721 1 0 31.3396 -35.65 -176.07 - 55 414.59 1066 0 1 33.3493 -40.2852 -204.45 - 55 37.4298 697 0 0 33.3412 -40.6226 -205.85 - 55 180.982 696 0 0 33.3414 -40.65 -205.962 - 55 191.976 1065 0 1 33.25 -40.4418 -204.543 - 55 147.36 1364 5 1 92.95 -174.223 -54.7783 - 55 89.1757 1093 7 1 38.7453 5.6142 5.55 - 55 295.882 1092 7 1 38.65 5.61858 5.45689 - 55 38.1307 1091 7 1 38.45 5.63004 5.25034 - 55 101.864 930 7 0 38.5148 6.17041 4.15 - 55 132.302 1092 10 1 38.6409 5.71518 95.55 - 55 114.341 928 10 0 38.6389 5.72157 94.15 - 55 127.007 1092 9 1 38.6122 5.83932 65.55 - 55 114.323 928 9 0 38.6132 5.84438 64.15 - 55 122.808 1092 8 1 38.6314 5.95117 35.55 - 55 263.623 929 8 0 38.631 5.95571 34.15 - 55 104.38 929 7 0 38.6116 6.03524 4.15 - 55 167.513 1092 6 1 38.5428 6.03975 -24.45 - 55 129.673 929 6 0 38.5431 6.03726 -25.85 - 55 99.2355 1092 5 1 38.5649 5.97882 -54.45 - 55 119.519 929 5 0 38.5704 5.97747 -55.85 - 55 130.555 1093 4 1 38.6619 5.93938 -84.45 - 55 144.53 929 4 0 38.6684 5.93834 -85.85 - 55 132.726 1093 3 1 38.7921 5.91569 -114.45 - 55 110.036 929 3 0 38.7953 5.91607 -115.85 - 55 101.381 1094 2 1 38.8565 5.93122 -144.45 - 55 178.991 929 2 0 38.8586 5.92899 -145.85 - 55 156.564 1094 1 1 38.908 5.88802 -174.45 - 55 126.938 929 1 0 38.9087 5.88634 -175.85 - 55 501.851 1094 0 1 38.8909 5.85257 -204.45 - 55 115.167 929 0 0 38.8919 5.85169 -205.85 - 55 168.871 930 0 0 38.9686 6.18445 -205.85 - 55 0.922653 931 0 0 38.9713 6.25 -206.245 - 55 114.628 1095 0 1 39.05 5.26617 -204.687 - 55 10.6902 914 0 0 39.1325 2.90367 -205.85 - 55 86.1913 913 0 0 39.1333 2.85 -205.877 - 55 73.9983 912 0 0 39.1524 2.65 -206.001 - 55 15.1068 911 0 0 39.1823 2.45 -206.193 - 55 24.2453 779 0 0 47.3315 -24.2018 -206.25 - 55 66.8012 778 0 0 47.3615 -24.2501 -206.194 - 55 73.1436 777 0 0 47.4488 -24.45 -206.023 - 55 49.061 776 0 0 47.5143 -24.65 -205.921 - 55 5.1479 775 0 0 47.6017 -24.8503 -205.86 - 55 364.234 1144 0 1 48.8679 -27.0941 -204.85 - 55 357.528 1145 0 1 49.2218 -28.0995 -204.45 - 55 125.2 1146 0 1 49.25 -28.1058 -204.508 - 55 450.511 757 0 0 48.9295 -28.6386 -205.85 - 55 75.2503 756 0 0 48.9155 -28.65 -205.903 - 55 194.958 758 0 0 48.5767 -28.45 -206.174 - 55 63.4414 1090 0 1 38.0692 2.16685 -204.85 - 55 89.4366 1089 0 1 38.0498 2.16242 -204.797 - 55 161.747 1100 10 1 40.1241 4.85231 95.55 - 55 125.816 923 10 0 40.1884 4.82224 94.15 - 55 36.0767 1106 9 1 41.4457 4.24938 65.55 - 55 66.6504 1107 9 1 41.45 4.24723 65.4211 - 55 116.897 920 9 0 41.5005 4.22409 64.15 - 55 128.952 1112 8 1 42.4716 3.72238 35.55 - 55 112.497 918 8 0 42.5056 3.70036 34.15 - 55 136.533 1116 7 1 43.258 3.18022 5.55 - 55 130.568 915 7 0 43.2992 3.17762 4.15 - 55 101.16 1120 6 1 44.1118 3.12804 -24.45 - 55 177.088 915 6 0 44.1192 3.17447 -25.85 - 55 113.624 1122 5 1 44.5824 4.14622 -54.45 - 55 232.275 920 5 0 44.6129 4.18836 -55.85 - 55 108.356 1126 4 1 45.2608 5.01066 -84.45 - 55 353.548 1130 3 1 46.1284 7.08413 -114.45 - 55 166.561 935 3 0 46.2202 7.15868 -115.85 - 55 156.083 1145 2 1 49.2283 9.79724 -144.45 - 55 163.859 949 2 0 49.2825 9.88867 -145.85 - 55 116.087 1147 1 1 49.6035 11.9084 -174.45 - 55 50.5176 959 1 0 49.5008 11.8573 -175.85 - 55 87.447 958 1 0 49.4908 11.85 -175.979 - 55 125.814 1133 0 1 46.8016 10.1015 -204.45 - 55 16.4612 1132 0 1 46.65 10.1096 -204.819 - 55 107.658 950 0 0 46.1712 10.1231 -205.85 - 55 2.49822 936 3 0 46.1714 7.26657 -115.85 - 55 118.134 934 3 0 46.5916 6.94424 -115.851 - 55 37.5123 1219 3 0 176.395 63.989 -116.25 - 55 110.292 1220 3 0 176.513 64.0502 -116.201 - 55 66.5322 1221 3 0 176.529 64.25 -115.978 - 55 166.581 1222 3 0 176.509 64.45 -115.963 - 55 209.371 1780 3 1 176.202 65.089 -114.85 - 55 39.4279 1781 3 1 176.35 64.9334 -114.693 - 55 208.682 964 0 0 49.071 12.9979 -205.85 - 55 77.6159 596 5 0 173.147 -60.7392 -56.25 - 55 234.592 1132 4 1 46.5284 1.26339 -84.45 - 55 183.648 906 4 0 46.4695 1.28122 -85.8507 - 55 112.962 1139 3 1 47.8841 3.52307 -114.45 - 55 87.635 916 3 0 48.3411 3.43747 -115.85 - 55 46.7178 917 3 0 48.4392 3.45 -116.136 - 55 93.4059 1175 2 1 55.1493 7.32361 -144.45 - 55 81.2349 937 2 0 55.5098 7.59079 -145.85 - 55 53.7276 938 2 0 55.5906 7.65002 -146.103 - 55 159.601 903 4 0 46.5172 0.841379 -85.85 - 55 112.407 1137 3 1 47.5583 -9.76902 -114.45 - 55 46.373 1136 3 1 47.4499 -10.0536 -114.737 - 55 67.878 845 3 0 46.9256 -10.9368 -115.85 - 55 102.799 844 3 0 46.8427 -11.05 -115.988 - 55 9.39929 843 3 0 46.6758 -11.25 -116.232 - 55 65.0667 643 3 0 21.5228 -51.3254 -116.249 - 55 81.3 642 3 0 21.4532 -51.4501 -116.072 - 55 28.806 641 3 0 21.3653 -51.65 -115.877 - 55 96.7426 1000 3 1 20.2414 -53.8746 -114.85 - 55 74.5051 999 3 1 20.05 -54.0622 -114.707 - 55 35.9315 998 3 1 19.85 -54.1561 -114.541 -Number of digits in this event: 68 -Using G4ParticleGun... -Particle energy: 6.09523 LIN +Number of tracker hits in this event: 119 + 55 133.402 607 11 1 -58.6025 45.1968 125.55 + 55 243.908 1125 11 0 -58.6026 45.1968 124.15 + 55 101.509 607 10 1 -58.6037 45.1978 95.55 + 55 118.62 1125 10 0 -58.604 45.1977 94.15 + 55 156.699 607 9 1 -58.6141 45.1976 65.55 + 55 182.768 1125 9 0 -58.6155 45.199 64.15 + 55 121.899 607 8 1 -58.6391 45.2249 35.55 + 55 111.65 1125 8 0 -58.6378 45.2263 34.15 + 55 151.938 607 7 1 -58.6137 45.256 5.55 + 55 119.039 1126 7 0 -58.6129 45.2569 4.15 + 55 161.084 607 6 1 -58.5965 45.2699 -24.45 + 55 186.353 1126 6 0 -58.5959 45.2715 -25.85 + 55 105.518 607 5 1 -58.5812 45.3012 -54.45 + 55 120.61 1126 5 0 -58.5806 45.3027 -55.85 + 55 355.622 607 4 1 -58.567 45.3341 -84.45 + 55 314.654 1126 4 0 -58.5656 45.3356 -85.85 + 55 332.241 607 3 1 -58.5369 45.3653 -114.45 + 55 110.729 1126 3 0 -58.5353 45.3671 -115.85 + 55 148.029 607 2 1 -58.5028 45.401 -144.45 + 55 111.156 1126 2 0 -58.5019 45.404 -145.85 + 55 96.5683 607 1 1 -58.4802 45.4661 -174.45 + 55 136.055 1127 1 0 -58.4797 45.4686 -175.85 + 55 99.3637 607 0 1 -58.4663 45.5133 -204.45 + 55 97.9853 1127 0 0 -58.4652 45.5161 -205.85 + 55 52.4713 921 2 0 29.3729 4.39672 -146.25 + 55 262.115 1110 2 0 21.7568 42.2418 -146.25 + 55 227.159 1004 2 1 20.9566 42.2974 -144.85 + 55 83.9538 1005 2 1 21.05 42.5303 -144.502 + 55 110.035 1006 2 1 21.25 42.5224 -144.5 + 55 161.684 1007 2 1 21.4501 42.5408 -144.532 + 55 23.3941 1132 5 1 46.45 153.056 -54.7744 + 55 6.85394 152 7 1 -149.727 -31.3004 5.15 + 55 81.4549 1124 3 0 -58.7851 45.0097 -115.85 + 55 205.626 1123 3 0 -58.8919 44.85 -116.164 + 55 27.241 562 2 1 -67.5714 30.6258 -144.45 + 55 82.1954 561 2 1 -67.65 30.5932 -144.538 + 55 48.8778 560 2 1 -67.85 30.5453 -144.725 + 55 224.109 1050 2 0 -69.0573 30.2153 -145.85 + 55 7.78776 408 1 1 -98.5395 17.0281 -174.45 + 55 96.4734 407 1 1 -98.55 17.0165 -174.464 + 55 44.6063 406 1 1 -98.75 16.824 -174.755 + 55 20.7326 981 1 0 -99.3826 16.2805 -175.851 + 55 167.158 980 1 0 -99.42 16.25 -175.908 + 55 142.21 288 0 1 -122.511 -1.33625 -204.45 + 55 7.19129 289 0 1 -122.35 -1.73376 -204.82 + 55 48.8965 886 0 0 -121.864 -2.81616 -205.85 + 55 77.1867 885 0 0 -121.848 -2.85 -205.882 + 55 62.8758 884 0 0 -121.775 -3.05018 -206.052 + 55 51.1562 883 0 0 -121.692 -3.25 -206.194 + 55 90.0307 608 3 1 -58.45 45.4747 -114.541 + 55 51.7019 609 3 1 -58.25 45.6613 -114.77 + 55 42.7839 1132 3 0 -57.2547 46.5676 -115.85 + 55 72.3164 1133 3 0 -57.1718 46.65 -115.944 + 55 53.7799 1134 3 0 -57.0349 46.85 -116.12 + 55 4.00273 1387 3 0 -23.5131 97.7387 -116.25 + 55 207.68 1388 3 0 -23.5053 97.75 -116.234 + 55 27.5619 1389 3 0 -23.3635 97.95 -115.926 + 55 25.6645 784 3 1 -23.0852 98.6355 -114.85 + 55 118.021 785 3 1 -23.05 98.6981 -114.761 + 55 192.928 1409 4 0 -49.1835 102.094 -86.25 + 55 73.79 646 4 1 -50.8303 102.266 -84.85 + 55 170.026 645 4 1 -50.85 102.271 -84.8333 + 55 131.562 644 4 1 -51.0502 102.31 -84.6679 + 55 60.9096 647 4 1 -50.6499 102.377 -84.7115 + 55 33.4585 648 4 1 -50.45 102.478 -84.8054 + 55 197.109 1413 4 0 -49.0566 102.793 -85.8501 + 55 50.5058 1268 4 0 -19.2657 73.7965 -86.2499 + 55 64.8002 1267 4 0 -19.2809 73.65 -86.1169 + 55 78.4486 1266 4 0 -19.339 73.45 -85.9837 + 55 35.5666 1265 4 0 -19.4236 73.25 -85.8741 + 55 130.31 804 4 1 -19.0969 68.7769 -84.8499 + 55 41.1063 805 4 1 -19.05 68.3759 -84.7907 + 55 128.303 1238 4 0 -19.1921 67.7675 -85.85 + 55 115.979 1125 4 0 -58.4781 45.174 -85.85 + 55 149.148 617 3 1 -56.6217 42.2598 -114.45 + 55 48.6748 1110 3 0 -56.5093 42.0746 -115.85 + 55 122.08 1109 3 0 -56.4952 42.05 -116.022 + 55 118.407 629 2 1 -54.0973 38.0514 -144.45 + 55 170.677 1089 2 0 -54.0301 37.9148 -145.85 + 55 150.177 637 1 1 -52.512 34.7217 -174.45 + 55 36.0798 1072 1 0 -52.4636 34.4721 -175.851 + 55 91.4799 1071 1 0 -52.4601 34.45 -175.969 + 55 135.816 625 0 1 -54.8994 31.9538 -204.45 + 55 48.0081 1058 0 0 -55.1035 31.6811 -205.85 + 55 128.217 1057 0 0 -55.1285 31.65 -206.022 + 55 21.6416 1074 1 0 -52.0113 35.0309 -175.85 + 55 108.187 1075 1 0 -51.9834 35.05 -175.912 + 55 3.99195 1034 1 0 -35.9095 26.8648 -176.25 + 55 69.8961 1033 1 0 -35.9145 26.85 -176.237 + 55 56.3958 1032 1 0 -36.0065 26.6499 -176.12 + 55 69.0461 1031 1 0 -36.0537 26.45 -176.035 + 55 64.9224 1030 1 0 -36.013 26.25 -175.943 + 55 96.0009 1029 1 0 -35.8482 26.05 -175.887 + 55 3.48275 1028 1 0 -35.7389 25.85 -175.855 + 55 76.601 731 1 1 -33.814 22.9328 -174.85 + 55 83.906 1003 1 0 -34.8434 20.8036 -175.85 + 55 70.1566 1002 1 0 -34.8342 20.6496 -175.96 + 55 75.0551 1001 1 0 -34.8277 20.45 -176.073 + 55 84.4229 1000 1 0 -34.817 20.25 -176.162 + 55 77.1541 999 1 0 -34.7587 20.05 -176.088 + 55 89.0589 998 1 0 -34.8556 19.85 -176.104 + 55 183.968 971 1 0 -54.069 14.304 -176.25 + 55 115.098 970 1 0 -54.217 14.2499 -176.094 + 55 128.49 602 3 1 -59.4909 44.7264 -114.45 + 55 217.038 600 2 1 -59.9695 45.0103 -144.45 + 55 114.509 1125 2 0 -60.0254 45.1175 -145.85 + 55 144.5 595 1 1 -61.0254 47.2965 -174.45 + 55 108.715 1136 1 0 -61.0165 47.4171 -175.85 + 55 7.95428 1137 1 0 -61.0145 47.45 -176.229 + 55 219.466 595 0 1 -60.9542 49.572 -204.45 + 55 82.3275 1147 0 0 -61.0031 49.6425 -205.85 + 55 70.2305 1148 0 0 -61.0083 49.65 -205.996 + 55 157.092 599 2 1 -60.0504 45.0049 -144.607 + 55 86.0321 598 2 1 -60.25 45.0066 -144.666 + 55 158.479 1126 9 0 -58.5874 45.25 63.9954 + 55 58.5409 606 9 1 -58.6501 45.2345 65.3893 + 55 121.398 1127 9 0 -59.0628 45.4597 64.15 + 55 19.7409 1128 9 0 -59.0324 45.65 63.7819 + 55 160.057 1124 11 0 -59.4919 44.8835 124.15 +Number of digits in this event: 45 +Using G4ParticleGun... +Particle energy: 1.93115 LIN Particle: e- Event: 56 -Number of tracker hits in this event: 130 - 56 68.8494 223 8 0 -54.713 -135.466 33.9932 - 56 90.6623 626 7 1 -54.7152 -135.465 5.55 - 56 137.77 223 7 0 -54.7162 -135.464 4.15 - 56 157.469 626 6 1 -54.7294 -135.445 -24.45 - 56 169.376 223 6 0 -54.7294 -135.445 -25.85 - 56 119.637 626 5 1 -54.7306 -135.438 -54.45 - 56 116.713 223 5 0 -54.7301 -135.438 -55.85 - 56 211.503 626 4 1 -54.7139 -135.431 -84.45 - 56 186.962 223 4 0 -54.7139 -135.43 -85.85 - 56 257.332 626 3 1 -54.7132 -135.426 -114.45 - 56 141.297 223 3 0 -54.7127 -135.426 -115.85 - 56 138.746 626 2 1 -54.7032 -135.419 -144.45 - 56 155.122 223 2 0 -54.7024 -135.42 -145.85 - 56 127.957 626 1 1 -54.6874 -135.445 -174.45 - 56 486.521 223 1 0 -54.688 -135.447 -175.85 - 56 217.151 626 0 1 -54.7044 -135.468 -204.45 - 56 116.112 223 0 0 -54.7062 -135.469 -205.85 - 56 50.9728 220 4 1 -136.129 -45.096 -84.4503 - 56 46.7512 221 4 1 -135.949 -45.1056 -84.5128 - 56 31.0416 300 1 1 -119.95 -125.603 -174.756 - 56 85.123 222 1 0 -54.7506 -135.55 -176.039 - 56 69.2154 625 3 1 -55.0147 -135.687 -114.45 - 56 105.443 624 3 1 -55.05 -135.653 -114.486 - 56 73.6807 623 3 1 -55.2501 -135.466 -114.693 - 56 38.8859 622 3 1 -55.45 -135.424 -114.793 - 56 165.435 230 3 0 -58.4439 -134.113 -115.85 - 56 13.1461 231 3 0 -58.8431 -133.95 -115.883 - 56 98.5429 602 3 1 -59.4649 -133.592 -114.85 - 56 182.764 601 3 1 -59.65 -133.424 -114.659 - 56 16.9401 600 3 1 -59.85 -133.132 -114.518 - 56 29.8577 627 3 1 -54.65 -135.363 -114.756 - 56 101.452 224 3 0 -54.4536 -135.21 -115.85 - 56 5.47261 225 3 0 -54.3815 -135.15 -116.23 - 56 388.964 653 2 1 -49.4353 -130.419 -144.45 - 56 268.455 250 2 0 -48.98 -130.135 -145.85 - 56 135.235 707 1 1 -38.5727 -123.172 -174.45 - 56 111.043 286 1 0 -38.2291 -122.884 -175.85 - 56 121.161 731 0 1 -33.8311 -118.138 -204.45 - 56 122.103 310 0 0 -33.4244 -118.109 -205.85 - 56 133.001 652 2 1 -49.4503 -130.456 -144.476 - 56 19.2582 651 2 1 -49.65 -130.719 -144.802 - 56 123.263 244 2 0 -50.546 -131.277 -145.85 - 56 22.7114 243 2 0 -50.7542 -131.35 -146.167 - 56 123.519 251 2 0 -49.3092 -129.922 -145.85 - 56 188.546 678 1 1 -44.3731 -117.321 -174.45 - 56 36.2768 679 1 1 -44.25 -116.886 -174.763 - 56 22.7972 325 1 0 -43.7662 -115.023 -175.85 - 56 89.1161 326 1 0 -43.7479 -114.95 -175.891 - 56 72.7265 327 1 0 -43.6703 -114.75 -176.007 - 56 69.522 328 1 0 -43.5759 -114.549 -176.117 - 56 85.3514 329 1 0 -43.4861 -114.35 -176.205 - 56 121.433 829 0 1 -14.1824 -59.4628 -204.45 - 56 25.9717 597 0 0 -13.6865 -60.5661 -205.85 - 56 83.9603 596 0 0 -13.6599 -60.65 -205.933 - 56 36.464 595 0 0 -13.5812 -60.8503 -206.147 - 56 81.0459 490 0 0 0.121197 -81.9483 -206.25 - 56 88.9266 489 0 0 0.224287 -82.05 -206.069 - 56 53.7686 905 0 1 1.14863 -82.7139 -204.85 - 56 79.043 906 0 1 1.25 -82.8015 -204.701 - 56 84.2678 566 1 0 -22.3398 -66.7491 -176.25 - 56 106.874 567 1 0 -22.5531 -66.65 -176.07 - 56 11.8162 781 1 1 -23.8148 -66.5272 -174.85 - 56 65.2019 780 1 1 -23.8505 -66.5231 -174.82 - 56 90.0195 779 1 1 -24.05 -66.5167 -174.655 - 56 122.998 778 1 1 -24.25 -66.5871 -174.454 - 56 92.9443 572 1 0 -24.9081 -65.6158 -175.85 - 56 64.6011 573 1 0 -24.9629 -65.4499 -175.993 - 56 90.2692 574 1 0 -25.057 -65.25 -176.086 - 56 64.4879 575 1 0 -25.2403 -65.0499 -176.183 - 56 21.2055 1046 1 0 9.43037 29.3991 -176.25 - 56 153.342 1047 1 0 9.4665 29.45 -176.192 - 56 215.113 953 1 1 10.8194 30.3095 -174.85 - 56 79.4719 954 1 1 10.8501 30.329 -174.833 - 56 111.528 931 0 0 35.4541 6.33176 -206.25 - 56 112.273 932 0 0 35.7915 6.45005 -206.04 - 56 100.351 1093 0 1 38.6727 6.57898 -204.85 - 56 62.722 1094 0 1 38.8503 6.54974 -204.767 - 56 74.6333 1095 0 1 39.05 6.55215 -204.83 - 56 69.9301 1096 0 1 39.25 6.51679 -204.801 - 56 67.163 1097 0 1 39.45 6.45097 -204.702 - 56 122.73 1098 0 1 39.65 6.35284 -204.584 - 56 8.3249 350 2 0 -44.9526 -109.996 -146.25 - 56 48.6962 227 0 0 -54.2548 -134.714 -205.85 - 56 181.608 625 4 1 -54.85 -135.532 -84.6678 - 56 225.956 220 4 0 -55.4158 -135.958 -85.85 - 56 25.9927 537 3 1 -72.5985 -148.896 -114.45 - 56 167.887 536 3 1 -72.65 -148.928 -114.53 - 56 1.57972 535 3 1 -72.85 -149.042 -114.842 - 56 136.753 153 3 0 -73.5195 -149.377 -115.85 - 56 5.14969 555 3 0 -81.0467 -68.8719 -116.25 - 56 71.1479 556 3 0 -81.0442 -68.8493 -116.243 - 56 77.4637 557 3 0 -81.0154 -68.65 -116.188 - 56 62.3378 558 3 0 -80.9891 -68.45 -116.159 - 56 64.4264 559 3 0 -80.9688 -68.25 -116.137 - 56 62.483 560 3 0 -80.939 -68.05 -116.156 - 56 43.1323 561 3 0 -80.8809 -67.85 -116.195 - 56 17.0515 562 3 0 -80.8377 -67.65 -116.234 - 56 129.81 612 2 1 -57.6349 51.837 -144.45 - 56 96.5305 1154 2 0 -57.5025 50.9727 -145.85 - 56 77.7304 1153 2 0 -57.4609 50.8497 -146.045 - 56 183.039 595 1 1 -60.85 34.8992 -174.782 - 56 98.3082 643 1 1 -51.2953 92.0192 -174.45 - 56 69.6566 642 1 1 -51.45 92.0569 -174.616 - 56 249.516 641 1 1 -51.65 92.0701 -174.649 - 56 3.90037 442 2 1 -91.7289 -158.545 -144.45 - 56 85.1286 441 2 1 -91.75 -158.54 -144.46 - 56 160.164 440 2 1 -91.9501 -158.514 -144.581 - 56 109.174 439 2 1 -92.15 -158.499 -144.458 - 56 85.5955 714 5 0 5.62067 -37.2059 -56.2499 - 56 112.689 715 5 0 5.76893 -37.0499 -56.0924 - 56 63.5034 716 5 0 5.8875 -36.85 -55.9288 - 56 73.8912 717 5 0 5.87793 -36.65 -55.9606 - 56 74.8382 718 5 0 5.85559 -36.4494 -56 - 56 106.534 719 5 0 5.81673 -36.25 -56.0842 - 56 103.174 960 5 0 64.5534 12.1636 -56.2496 - 56 96.1965 961 5 0 64.7759 12.25 -55.9757 - 56 17.3232 962 5 0 64.8007 12.45 -55.8746 - 56 7.70182 1219 5 1 63.8595 14.3412 -54.85 - 56 37.6256 1218 5 1 63.85 14.3518 -54.8465 - 56 266.427 979 5 0 66.2655 15.9539 -55.85 - 56 114.414 233 3 0 -54.4524 -133.49 -115.85 - 56 228.575 163 3 0 -37.4533 -147.436 -116.25 - 56 14.0894 716 3 1 -36.6774 -147.946 -114.85 - 56 105.116 717 3 1 -36.65 -147.972 -114.788 - 56 25.8093 648 2 1 -50.25 -134.357 -144.635 - 56 281.337 625 1 1 -54.9081 -135.365 -174.452 - 56 190.511 624 0 1 -55.2443 -135.381 -204.45 - 56 114.184 623 0 1 -55.25 -135.376 -204.643 - 56 131.625 224 0 0 -55.2809 -135.346 -205.85 - 56 122.061 222 0 0 -55.2956 -135.574 -205.85 -Number of digits in this event: 44 +Number of tracker hits in this event: 26 + 56 144.659 1018 11 1 23.8349 -78.2864 125.55 + 56 103.976 508 11 0 23.8328 -78.2868 124.15 + 56 209.635 1018 10 1 23.7818 -78.2818 95.55 + 56 99.8987 508 10 0 23.7801 -78.2785 94.15 + 56 273.592 1018 9 1 23.748 -78.2155 65.55 + 56 155.215 509 9 0 23.7468 -78.2141 64.15 + 56 122.976 1018 8 1 23.7275 -78.1975 35.55 + 56 100.867 509 8 0 23.7245 -78.1986 34.15 + 56 137.158 1018 7 1 23.6658 -78.2073 5.55 + 56 115.705 509 7 0 23.6642 -78.2092 4.15 + 56 224.242 1017 6 1 23.6375 -78.2358 -24.45 + 56 139.935 509 6 0 23.6288 -78.2381 -25.85 + 56 112.867 1016 5 1 23.4372 -78.291 -54.45 + 56 113.76 508 5 0 23.4323 -78.2938 -55.85 + 56 126.032 1016 4 1 23.325 -78.3502 -84.45 + 56 111.254 508 4 0 23.3144 -78.3713 -85.85 + 56 168.162 1015 3 1 23.0671 -78.8045 -114.45 + 56 139.829 505 3 0 23.0601 -78.8633 -115.85 + 56 103.534 1013 2 1 22.8486 -80.0583 -144.45 + 56 120.069 499 2 0 22.8453 -80.1098 -145.85 + 56 114.876 1013 1 1 22.7731 -81.1578 -174.45 + 56 172.647 494 1 0 22.776 -81.1849 -175.85 + 56 142.158 1013 0 1 22.795 -81.7578 -204.45 + 56 117.478 491 0 0 22.7758 -81.7867 -205.85 + 56 113.852 888 1 0 66.7137 -2.45 -176.234 + 56 52.0427 1019 9 1 23.85 -78.1065 65.5068 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 2.14956 LIN +Particle energy: 9.1339 LIN Particle: e- Event: 57 -Number of tracker hits in this event: 35 - 57 106.74 492 11 1 -81.5755 2.61023 125.55 - 57 163.507 912 11 0 -81.5741 2.61054 124.15 - 57 130.121 492 10 1 -81.5534 2.61666 95.55 - 57 99.787 912 10 0 -81.5524 2.61413 94.15 - 57 104.746 492 9 1 -81.5551 2.56892 65.55 - 57 115.903 912 9 0 -81.5508 2.56682 64.15 - 57 135.86 492 8 1 -81.4712 2.54471 35.55 - 57 150.745 912 8 0 -81.4637 2.54431 34.15 - 57 119.158 493 7 1 -81.3072 2.55238 5.55 - 57 129.147 912 7 0 -81.2974 2.55406 4.15 - 57 247.99 494 6 1 -81.1143 2.59596 -24.45 - 57 160.853 912 6 0 -81.1096 2.59863 -25.85 - 57 164.652 495 5 1 -81.0074 2.64297 -54.45 - 57 145.012 912 5 0 -81.0036 2.63857 -55.85 - 57 96.0685 495 4 1 -80.9174 2.5496 -84.45 - 57 152.806 912 4 0 -80.9143 2.54608 -85.85 - 57 329.581 496 3 1 -80.8273 2.41686 -114.45 - 57 118.152 911 3 0 -80.8373 2.39518 -115.85 - 57 98.5147 494 2 1 -81.0711 1.96039 -144.45 - 57 138.861 909 2 0 -81.1092 1.91845 -145.85 - 57 107.84 489 1 1 -82.1647 0.920668 -174.45 - 57 139.4 904 1 0 -82.216 0.87317 -175.85 - 57 130.236 484 0 1 -83.2241 -0.0597214 -204.45 - 57 227.324 899 0 0 -83.2909 -0.0930807 -205.85 - 57 89.794 493 6 1 -81.25 2.88002 -24.6733 - 57 69.2464 921 6 0 -81.3695 4.27457 -25.85 - 57 72.5845 922 6 0 -81.3401 4.45035 -25.995 - 57 59.8082 923 6 0 -81.3619 4.65 -26.0417 - 57 175.682 924 6 0 -81.4513 4.85 -25.957 - 57 55.7306 487 6 1 -82.4929 6.78484 -24.8499 - 57 88.3351 486 6 1 -82.65 6.89891 -24.7795 - 57 465.324 485 6 1 -82.85 7.06757 -24.7376 - 57 43.8166 1129 2 1 45.85 -100.519 -144.827 - 57 55.1805 396 2 0 46.6588 -100.823 -145.85 - 57 204.837 397 2 0 46.7152 -100.75 -145.936 -Number of digits in this event: 19 +Number of tracker hits in this event: 29 + 57 110.129 1403 10 1 100.859 -54.7746 95.55 + 57 101.379 626 10 0 100.859 -54.7749 94.15 + 57 246.445 1403 9 1 100.858 -54.7847 65.55 + 57 104.211 626 9 0 100.858 -54.7862 64.15 + 57 224.128 1403 8 1 100.854 -54.8138 35.55 + 57 113.481 626 8 0 100.853 -54.8157 34.15 + 57 163.727 1403 7 1 100.842 -54.8504 5.55 + 57 156.993 625 7 0 100.842 -54.8522 4.15 + 57 139.297 1403 6 1 100.84 -54.8886 -24.45 + 57 110.454 625 6 0 100.839 -54.8903 -25.85 + 57 194.576 1403 5 1 100.819 -54.9277 -54.45 + 57 118.093 625 5 0 100.818 -54.9289 -55.85 + 57 316.034 1403 4 1 100.804 -54.9548 -84.45 + 57 334.35 625 4 0 100.803 -54.9561 -85.85 + 57 98.9543 1403 3 1 100.774 -54.9809 -114.45 + 57 130.45 625 3 0 100.772 -54.9839 -115.85 + 57 123.032 1402 2 1 100.729 -55.0439 -144.45 + 57 133.777 625 2 0 100.727 -55.0472 -145.85 + 57 147.245 1402 1 1 100.684 -55.1113 -174.45 + 57 133.573 624 1 0 100.682 -55.1158 -175.85 + 57 171.619 1402 0 1 100.633 -55.2048 -204.45 + 57 112.842 624 0 0 100.632 -55.2096 -205.85 + 57 175.585 1280 1 1 76.2203 -61.5611 -174.85 + 57 153.253 1281 1 1 76.25 -61.5335 -174.646 + 57 46.5338 614 2 0 105.846 -57.1316 -146.25 + 57 328.694 626 4 0 100.674 -54.85 -86.1173 + 57 245.436 624 4 0 100.604 -55.05 -86.2237 + 57 267.888 1402 5 1 100.75 -54.8861 -54.5336 + 57 195.532 631 5 0 101.663 -53.8326 -55.8502 +Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 4.36941 LIN +Particle energy: 2.38631 LIN Particle: e- Event: 58 -Number of tracker hits in this event: 98 - 58 96.6775 308 9 1 -118.55 58.8915 65.55 - 58 108.901 1194 9 0 -118.549 58.8926 64.15 - 58 128.011 308 8 1 -118.526 58.9175 35.55 - 58 129.89 1194 8 0 -118.523 58.9188 34.15 - 58 369.811 308 7 1 -118.469 58.9374 5.55 - 58 350.886 1194 7 0 -118.467 58.936 4.15 - 58 114.683 308 6 1 -118.428 58.9102 -24.45 - 58 328.757 1194 6 0 -118.425 58.9109 -25.85 - 58 141.41 308 5 1 -118.359 58.9348 -54.45 - 58 198.576 1194 5 0 -118.355 58.9342 -55.85 - 58 393.567 309 4 1 -118.264 58.9271 -84.45 - 58 270.218 1194 4 0 -118.259 58.9244 -85.85 - 58 201.144 310 3 1 -118.137 58.8652 -114.45 - 58 116.51 1194 3 0 -118.131 58.8596 -115.85 - 58 174.639 310 2 1 -118.002 58.7397 -144.45 - 58 166.594 1193 2 0 -117.994 58.7347 -145.85 - 58 118.976 311 1 1 -117.833 58.6361 -174.45 - 58 251.643 1192 1 0 -117.826 58.6292 -175.85 - 58 145.672 312 0 1 -117.673 58.4832 -204.45 - 58 155.235 1192 0 0 -117.669 58.4774 -205.85 - 58 163.502 104 0 1 -159.23 85.2634 -204.85 - 58 215.652 230 5 1 -134.079 37.0792 -54.45 - 58 35.8669 732 1 1 -33.65 58.7551 -174.748 - 58 25.0115 309 1 1 -118.164 58.6623 -174.45 - 58 94.1233 310 1 1 -118.15 58.6452 -174.541 - 58 143.552 1193 1 0 -117.134 58.7538 -175.85 - 58 354.159 1191 1 0 -116.531 58.45 -176.15 - 58 215.675 319 3 1 -116.325 59.2109 -114.45 - 58 114.263 1195 3 0 -115.938 59.2348 -115.85 - 58 106.145 352 2 1 -109.725 58.5238 -144.45 - 58 94.7428 1192 2 0 -109.557 58.6076 -145.85 - 58 149.636 361 1 1 -107.889 60.9384 -174.45 - 58 107.337 1200 1 0 -107.382 60.2062 -175.85 - 58 26.0549 1199 1 0 -107.261 60.05 -176.154 - 58 67.221 418 0 1 -96.526 46.3442 -204.45 - 58 89.1522 419 0 1 -96.35 46.2678 -204.609 - 58 15.9871 420 0 1 -96.15 46.1667 -204.803 - 58 134.602 1127 0 0 -95.0132 45.593 -205.85 - 58 71.139 1126 0 0 -94.7248 45.45 -206.113 - 58 27.4259 1380 5 0 -108.321 96.2685 -56.25 - 58 50.5003 1381 5 0 -108.307 96.35 -56.1936 - 58 104.918 1382 5 0 -108.252 96.55 -56.0801 - 58 9.28895 364 5 1 -107.172 96.3975 -54.85 - 58 88.0263 365 5 1 -107.15 96.3897 -54.8288 - 58 310.671 366 5 1 -106.95 96.1847 -54.6393 - 58 6.68354 1377 5 0 -106.833 95.5616 -55.85 - 58 69.635 1376 5 0 -106.828 95.5499 -55.878 - 58 109.43 1375 5 0 -106.826 95.35 -55.9774 - 58 93.2426 1374 5 0 -106.7 95.15 -56.1095 - 58 44.5289 1373 5 0 -106.733 94.95 -56.1876 - 58 107.698 303 6 1 -119.545 58.946 -24.45 - 58 11.3047 302 6 1 -119.55 58.9426 -24.8029 - 58 157.983 299 5 1 -120.225 59.1137 -54.45 - 58 90.765 1193 5 0 -120.11 58.85 -55.9438 - 58 109.674 1167 4 0 -118.266 53.597 -85.8508 - 58 113.593 305 3 1 -119.137 49.6974 -114.45 - 58 34.4903 1148 3 0 -118.819 49.8439 -115.85 - 58 275.724 1149 3 0 -118.804 49.85 -115.911 - 58 197.47 340 2 1 -112.106 51.177 -144.45 - 58 0.723813 341 2 1 -111.95 51.2038 -144.845 - 58 492.451 1156 2 0 -111.488 51.2671 -145.85 - 58 118.608 402 1 1 -99.6788 53.217 -174.45 - 58 383.434 1165 1 0 -99.3127 53.1676 -175.85 - 58 142.887 437 0 1 -92.7244 51.8139 -204.45 - 58 88.3221 1157 0 0 -92.3109 51.5106 -205.85 - 58 30.7221 1156 0 0 -92.2253 51.45 -206.135 - 58 221.754 1173 1 0 -55.0619 54.7109 -176.25 - 58 18.2726 629 1 1 -54.1288 54.0719 -174.85 - 58 154.525 1157 1 0 -52.435 51.5939 -175.85 - 58 207.769 1195 6 0 -119.661 59.05 -25.9998 - 58 107.994 1195 7 0 -118.459 59.0978 4.15 - 58 185.115 301 6 1 -119.826 61.2115 -24.45 - 58 118.201 1203 6 0 -119.716 60.7814 -25.85 - 58 304.824 320 5 1 -116.024 52.6413 -54.45 - 58 69.5182 1160 5 0 -115.839 52.1123 -55.85 - 58 89.2871 1159 5 0 -115.818 52.05 -56.0192 - 58 155.748 349 4 1 -110.349 42.0435 -84.4503 - 58 89.1399 1104 4 0 -110.076 41.0299 -85.85 - 58 57.4066 1103 4 0 -110.032 40.85 -86.0738 - 58 264.622 385 3 1 -103.088 18.1149 -114.45 - 58 58.482 986 3 0 -102.947 17.3596 -115.85 - 58 98.3446 985 3 0 -102.926 17.25 -116.046 - 58 35.2121 397 2 1 -100.62 2.10285 -144.45 - 58 106.256 398 2 1 -100.55 2.05862 -144.563 - 58 53.1117 908 2 0 -99.8704 1.68423 -145.85 - 58 85.5448 907 2 0 -99.7996 1.64993 -145.99 - 58 137.247 474 1 1 -85.2093 -6.09511 -174.45 - 58 96.6756 475 1 1 -85.05 -6.04529 -174.609 - 58 15.4041 476 1 1 -84.85 -5.98005 -174.804 - 58 198.551 872 1 0 -83.857 -5.64047 -175.85 - 58 45.1964 604 0 1 -59.1284 6.68592 -204.45 - 58 92.1806 605 0 1 -59.05 6.7429 -204.547 - 58 28.0978 606 0 1 -58.85 6.86941 -204.771 - 58 116.384 937 0 0 -57.7878 7.47916 -205.85 - 58 75.9301 938 0 0 -57.5525 7.65025 -206.091 - 58 122.893 473 1 1 -85.25 -5.92059 -174.751 - 58 222.609 472 1 1 -85.45 -6.09514 -174.679 - 58 72.2379 471 1 1 -85.65 -6.16256 -174.701 -Number of digits in this event: 43 -Using G4ParticleGun... -Particle energy: 5.12325 LIN +Number of tracker hits in this event: 124 + 58 126.615 1141 11 1 48.3517 35.5291 125.55 + 58 159.434 1077 11 0 48.3487 35.5296 124.15 + 58 410.31 1141 10 1 48.2751 35.5353 95.55 + 58 652.817 1077 10 0 48.2716 35.5339 94.15 + 58 203.611 1140 9 1 48.1811 35.4889 65.55 + 58 106.434 1077 9 0 48.1751 35.4902 64.15 + 58 99.9158 1139 8 1 48.0429 35.5083 35.55 + 58 115.389 1077 8 0 48.0355 35.5141 34.15 + 58 133.588 1139 7 1 47.8636 35.6533 5.55 + 58 192.555 1078 7 0 47.8553 35.6586 4.15 + 58 164.973 1138 6 1 47.6766 35.78 -24.45 + 58 142.294 1078 6 0 47.6696 35.7815 -25.85 + 58 150.444 1137 5 1 47.4692 35.7533 -54.45 + 58 127.781 1078 5 0 47.4612 35.753 -55.85 + 58 124.184 1136 4 1 47.2956 35.7675 -84.45 + 58 124.766 1078 4 0 47.2851 35.7708 -85.85 + 58 301.821 1135 3 1 47.0674 35.8079 -114.45 + 58 114.109 1078 3 0 47.0542 35.8095 -115.85 + 58 156.188 1133 2 1 46.8086 35.8375 -144.45 + 58 57.4796 1078 2 0 46.8127 35.8484 -145.85 + 58 65.41 1079 2 0 46.8133 35.85 -146.052 + 58 275.809 1134 1 1 46.8899 36.0613 -174.45 + 58 160.609 1080 1 0 46.8888 36.0685 -175.85 + 58 195.087 1133 0 1 46.7631 36.3378 -204.45 + 58 133.767 1081 0 0 46.7587 36.3341 -205.85 + 58 75.8403 1132 0 1 46.6498 36.321 -204.585 + 58 82.5914 1131 0 1 46.45 36.2761 -204.721 + 58 33.2143 1130 0 1 46.2499 36.2473 -204.804 + 58 41.8774 1084 0 0 42.8843 36.9484 -205.85 + 58 64.4593 1091 0 1 38.369 37.3091 -204.85 + 58 219.074 1099 0 0 34.6663 39.8962 -205.85 + 58 111.067 1100 0 0 34.2976 40.0502 -206.019 + 58 83.341 1101 0 0 34.2146 40.2503 -206.128 + 58 12.4533 1102 0 0 34.0611 40.45 -206.228 + 58 48.7528 1254 0 0 -0.276041 70.8889 -206.25 + 58 70.89 1276 0 0 -79.5739 75.3193 -206.25 + 58 88.4566 1141 9 1 48.3826 35.4147 65.55 + 58 49.3762 1142 9 1 48.45 35.476 65.3004 + 58 238.354 1078 9 0 48.7427 35.7098 64.15 + 58 97.7036 1180 8 1 56.2141 41.6687 35.5493 + 58 137.491 1179 8 1 56.05 41.8936 35.3946 + 58 248.166 1178 8 1 55.85 42.1513 35.242 + 58 1.49166 1140 8 0 51.4789 48.241 34.15 + 58 67.5355 1141 8 0 51.4725 48.25 34.1481 + 58 72.4044 1142 8 0 51.3434 48.45 34.1023 + 58 59.9745 1143 8 0 51.2226 48.6502 34.0767 + 58 88.6973 1144 8 0 51.1084 48.85 34.0577 + 58 99.3376 1145 8 0 50.9902 49.05 34.0431 + 58 80.5978 1146 8 0 50.8557 49.25 34.0282 + 58 61.1545 1147 8 0 50.7225 49.45 34.0317 + 58 74.6361 1148 8 0 50.6039 49.6501 34.0312 + 58 61.2273 1149 8 0 50.4776 49.85 34.0326 + 58 58.9916 1150 8 0 50.3963 50.05 34.0039 + 58 81.1058 1151 8 0 50.3262 50.25 33.9381 + 58 59.079 1152 8 0 50.2996 50.4501 33.862 + 58 6.63789 1153 8 0 50.2724 50.65 33.7591 + 58 47.8054 1704 8 0 77.2846 161.024 33.75 + 58 93.6125 1705 8 0 77.3265 161.15 33.8207 + 58 65.4068 1706 8 0 77.3872 161.35 33.9068 + 58 63.1225 1707 8 0 77.4946 161.55 33.9892 + 58 38.2219 1708 8 0 77.6201 161.75 34.1051 + 58 36.0627 1294 8 1 78.9585 163.063 35.15 + 58 143.664 1295 8 1 79.05 163.146 35.2121 + 58 71.3709 1296 8 1 79.2502 163.323 35.2916 + 58 151.637 1297 8 1 79.45 163.437 35.3717 + 58 120.696 1298 8 1 79.65 163.546 35.4639 + 58 150.918 1300 8 1 80.1159 163.728 35.55 + 58 97.9713 1299 8 1 80.05 164.172 35.3827 + 58 102.857 1079 9 0 48.7478 35.85 64.0355 + 58 84.4188 1143 9 1 48.709 35.3797 65.55 + 58 105.085 1076 9 0 48.5878 35.3254 64.1499 + 58 234.871 1131 8 1 46.4048 33.807 35.5498 + 58 116.413 1068 8 0 46.1552 33.7401 34.15 + 58 138.646 1106 7 1 41.3848 32.6769 5.54991 + 58 110.882 1062 7 0 40.9588 32.5669 4.15 + 58 66.6551 1066 6 1 33.3269 28.7363 -24.45 + 58 66.625 1065 6 1 33.25 28.6754 -24.646 + 58 32.9944 1041 6 0 32.7993 28.2838 -25.85 + 58 130.973 1040 6 0 32.7611 28.25 -25.9534 + 58 38.2813 1008 5 1 21.7014 18.7207 -54.45 + 58 91.1327 1007 5 1 21.65 18.6827 -54.5658 + 58 175.137 991 5 0 21.0678 18.2997 -55.85 + 58 71.3455 990 5 0 20.9939 18.25 -56.013 + 58 1.24625 941 4 1 8.25297 9.26652 -84.45 + 58 101.824 940 4 1 8.25 9.26392 -84.4587 + 58 125.653 943 4 0 7.76256 8.83853 -85.85 + 58 80.8557 886 3 1 -2.76687 0.983029 -114.451 + 58 387.686 885 3 1 -2.85 0.925946 -114.638 + 58 162.534 902 3 0 -3.34015 0.599651 -115.85 + 58 112.119 828 2 1 -14.3599 -7.61658 -144.45 + 58 66.7964 827 2 1 -14.45 -7.71022 -144.702 + 58 213.367 859 2 0 -14.8512 -8.13393 -145.85 + 58 25.9495 858 2 0 -14.9619 -8.25 -146.171 + 58 132.066 778 1 1 -24.3404 -18.751 -174.45 + 58 20.1932 777 1 1 -24.4501 -18.8297 -174.801 + 58 150.283 804 1 0 -24.7829 -19.0736 -175.85 + 58 67.5325 727 0 1 -34.5915 -25.6744 -204.451 + 58 98.2487 726 0 1 -34.65 -25.7088 -204.579 + 58 57.5948 770 0 0 -35.2367 -26.0156 -205.85 + 58 202.82 769 0 0 -35.305 -26.05 -206.001 + 58 178.433 1109 6 0 13.005 41.9721 -26.25 + 58 63.0925 1108 6 0 12.866 41.8499 -26.0068 + 58 199.663 961 6 1 12.4018 42.4212 -24.8499 + 58 52.9498 1007 1 0 -9.33219 21.5854 -175.85 + 58 277.929 1140 2 1 48.1707 35.4465 -144.45 + 58 114.322 1077 2 0 48.1555 35.4559 -145.85 + 58 153.657 1139 1 1 48.0425 35.7699 -174.45 + 58 76.3383 1140 1 1 48.05 35.7665 -174.569 + 58 193.573 1078 1 0 48.1619 35.714 -175.85 + 58 123.93 1159 0 1 51.9384 34.0643 -204.45 + 58 114.812 1071 0 0 51.6431 34.3999 -205.85 + 58 119.15 1072 0 0 51.5926 34.45 -206.069 + 58 132.606 1081 1 0 33.0532 36.25 -176.128 + 58 92.1 1063 1 1 32.7069 36.7723 -174.85 + 58 202.177 1062 1 1 32.65 36.8117 -174.698 + 58 102.586 1061 1 1 32.45 37.0191 -174.752 + 58 242.065 1060 1 1 32.25 36.9466 -174.811 + 58 229.525 1059 1 1 32.05 36.9337 -174.659 + 58 137.698 1076 2 0 48.1577 35.4453 -145.85 + 58 287.265 1076 1 0 47.9855 35.432 -175.85 + 58 0.656599 1077 1 0 47.9807 35.45 -176.247 + 58 107.302 1138 0 1 47.6715 36.7832 -204.45 + 58 136.681 1083 0 0 47.6651 36.7908 -205.85 + 58 256.981 1206 7 0 -106.712 61.3578 3.75004 +Number of digits in this event: 55 +Using G4ParticleGun... +Particle energy: 2.43132 LIN Particle: e- Event: 59 -Number of tracker hits in this event: 115 - 59 415.591 620 10 1 -55.8596 -95.2839 95.55 - 59 104.845 424 10 0 -55.8611 -95.2846 94.15 - 59 171.552 620 9 1 -55.8854 -95.3058 65.55 - 59 130.314 424 9 0 -55.885 -95.3069 64.15 - 59 139.635 620 8 1 -55.8831 -95.332 35.55 - 59 106.017 424 8 0 -55.8831 -95.3342 34.15 - 59 93.7117 620 7 1 -55.8808 -95.3818 5.55 - 59 146.071 423 7 0 -55.8821 -95.3865 4.15 - 59 334.379 620 6 1 -55.9086 -95.4853 -24.45 - 59 172.797 423 6 0 -55.9097 -95.4907 -25.85 - 59 143.874 620 5 1 -55.9366 -95.602 -54.45 - 59 95.2954 422 5 0 -55.937 -95.6093 -55.85 - 59 196.911 620 4 1 -55.9474 -95.7635 -84.45 - 59 123.132 421 4 0 -55.9479 -95.7716 -85.85 - 59 128.358 620 3 1 -55.9513 -95.9404 -114.45 - 59 206.262 421 3 0 -55.9515 -95.9469 -115.85 - 59 262.839 620 2 1 -55.9557 -96.0803 -144.45 - 59 152.1 420 2 0 -55.9576 -96.0863 -145.85 - 59 133.312 620 1 1 -55.9998 -96.2035 -174.45 - 59 104.603 419 1 0 -56.0021 -96.2108 -175.85 - 59 124.234 620 0 1 -56.0446 -96.359 -204.45 - 59 120.15 418 0 0 -56.0485 -96.3649 -205.85 - 59 64.7513 621 2 1 -55.85 -96.026 -144.687 - 59 136.125 422 2 0 -55.2834 -95.7378 -145.85 - 59 79.6579 668 1 1 -46.3575 -91.8322 -174.45 - 59 139.727 669 1 1 -46.25 -92.1263 -174.508 - 59 116.071 670 1 1 -46.05 -92.5252 -174.582 - 59 141.425 671 1 1 -45.85 -92.9119 -174.69 - 59 110.807 672 1 1 -45.65 -93.1095 -174.755 - 59 73.8248 673 1 1 -45.45 -93.2682 -174.772 - 59 86.8756 674 1 1 -45.25 -93.4648 -174.774 - 59 73.3009 675 1 1 -45.05 -93.6457 -174.777 - 59 71.0938 676 1 1 -44.85 -93.7797 -174.767 - 59 63.872 677 1 1 -44.6497 -93.8868 -174.742 - 59 56.5752 678 1 1 -44.45 -93.988 -174.693 - 59 50.3672 679 1 1 -44.2495 -94.072 -174.653 - 59 223.21 680 1 1 -44.05 -94.1587 -174.624 - 59 124.505 681 1 1 -43.85 -94.2712 -174.589 - 59 59.1139 682 1 1 -43.65 -94.3889 -174.557 - 59 57.4286 683 1 1 -43.45 -94.484 -174.543 - 59 45.7034 684 1 1 -43.25 -94.5645 -174.527 - 59 52.8442 685 1 1 -43.05 -94.6234 -174.49 - 59 98.754 433 8 0 -56.2454 -93.4737 34.15 - 59 50.1867 434 8 0 -56.2709 -93.35 34.0855 - 59 74.1332 626 8 1 -54.7682 -92.2376 35.15 - 59 115.178 437 8 0 -53.7247 -92.5954 34.15 - 59 277.323 619 4 1 -56.1699 -95.3838 -84.45 - 59 139.761 423 4 0 -56.2258 -95.4105 -85.85 - 59 149.472 612 3 1 -57.5725 -96.3867 -114.45 - 59 108.88 418 3 0 -57.7366 -96.4375 -115.85 - 59 103.873 592 2 1 -61.4749 -97.2755 -144.45 - 59 114.293 414 2 0 -61.766 -97.2369 -145.85 - 59 7.40826 565 1 1 -67.0449 -96.4874 -174.45 - 59 129.189 564 1 1 -67.05 -96.4871 -174.478 - 59 137.235 418 1 0 -67.2983 -96.4863 -175.85 - 59 113.606 539 0 1 -72.0616 -95.8643 -204.451 - 59 103.327 421 0 0 -72.3186 -95.9156 -205.85 - 59 75.4159 611 3 1 -57.6501 -96.5941 -114.474 - 59 88.9779 610 3 1 -57.85 -96.6138 -114.673 - 59 186.834 609 3 1 -58.0501 -96.6316 -114.751 - 59 74.0872 608 3 1 -58.2503 -96.4877 -114.476 - 59 89.8202 607 3 1 -58.45 -96.4227 -114.53 - 59 208.561 606 3 1 -58.65 -96.4707 -114.545 - 59 66.6642 426 4 0 -56.2866 -94.8235 -85.85 - 59 100.015 427 4 0 -56.296 -94.75 -86.0523 - 59 114.738 613 3 1 -57.357 -84.1744 -114.45 - 59 105.564 480 3 0 -57.1285 -83.9975 -115.85 - 59 167.114 641 2 1 -51.8166 -80.9497 -144.45 - 59 22.6171 499 2 0 -51.4545 -80.0791 -145.85 - 59 384.606 500 2 0 -51.4425 -80.05 -145.899 - 59 127.609 695 1 1 -40.9857 -63.395 -174.45 - 59 99.1257 584 1 0 -40.6009 -63.1762 -175.85 - 59 16.1607 757 0 1 -28.4732 -57.1895 -204.45 - 59 113.973 758 0 1 -28.45 -57.1787 -204.512 - 59 49.561 615 0 0 -27.8118 -56.8779 -205.85 - 59 79.861 616 0 0 -27.7462 -56.85 -205.982 - 59 73.0361 652 0 0 -28.1752 -49.511 -206.25 - 59 91.9033 653 0 0 -28.251 -49.45 -206.061 - 59 122.813 756 0 1 -28.8287 -48.8134 -204.849 - 59 106.504 755 0 1 -28.85 -48.7899 -204.808 - 59 100.715 753 0 1 -29.2914 -48.487 -204.45 - 59 120.188 752 0 1 -29.45 -48.2495 -204.633 - 59 20.4859 751 0 1 -29.65 -47.9798 -204.805 - 59 8.32353 665 0 0 -30.5864 -46.8748 -205.85 - 59 63.1756 666 0 0 -30.6059 -46.8497 -205.873 - 59 120.211 667 0 0 -30.728 -46.65 -206.041 - 59 133.841 672 0 0 -17.9682 -45.5996 -206.25 - 59 46.7111 673 0 0 -17.6183 -45.45 -205.944 - 59 15.4907 833 0 1 -13.3057 -45.4538 -204.85 - 59 65.1555 834 0 1 -13.25 -45.451 -204.837 - 59 54.5722 835 0 1 -13.0496 -45.408 -204.77 - 59 61.8583 836 0 1 -12.85 -45.4423 -204.71 - 59 86.3382 837 0 1 -12.65 -45.5061 -204.642 - 59 62.3131 838 0 1 -12.4497 -45.5754 -204.538 - 59 259.832 619 6 1 -56.05 -95.1719 -24.6852 - 59 215.392 427 6 0 -56.5339 -94.746 -25.85 - 59 132.864 530 5 1 -73.8694 -83.3921 -54.4501 - 59 98.2847 485 5 0 -74.1174 -83.0353 -55.85 - 59 68.5529 428 6 0 -56.6966 -94.55 -26.218 - 59 89.3889 422 6 0 -56.0904 -95.55 -25.9988 - 59 123.717 607 5 1 -58.489 -99.6405 -54.4506 - 59 98.8271 401 5 0 -58.6773 -99.8108 -55.85 - 59 3.73486 584 4 1 -63.247 -106.658 -84.45 - 59 128.821 583 4 1 -63.25 -106.664 -84.4629 - 59 10.36 364 4 0 -63.5601 -107.328 -85.85 - 59 161.782 363 4 0 -63.5702 -107.35 -85.8971 - 59 66.4225 556 3 1 -68.7381 -123.825 -114.45 - 59 142.597 555 3 1 -68.85 -123.968 -114.537 - 59 85.1261 554 3 1 -69.05 -124.265 -114.722 - 59 20.0679 270 3 0 -70.2753 -126.088 -115.85 - 59 104.938 269 3 0 -70.3172 -126.15 -115.889 - 59 91.6029 268 3 0 -70.4527 -126.35 -116.019 - 59 57.0755 267 3 0 -70.589 -126.55 -116.144 - 59 204.809 390 2 1 -102.046 -173.236 -144.45 - 59 2.51352 506 4 0 -31.0667 -78.8278 -86.25 -Number of digits in this event: 47 +Number of tracker hits in this event: 45 + 59 139.516 1218 11 1 63.8478 -2.16181 125.55 + 59 136.874 889 11 0 63.85 -2.1649 124.15 + 59 212.162 1219 10 1 63.9045 -2.22581 95.55 + 59 112.434 889 10 0 63.9075 -2.22615 94.15 + 59 146.511 1219 9 1 63.9744 -2.2294 65.55 + 59 159.721 889 9 0 63.9774 -2.23044 64.15 + 59 186.934 1219 8 1 64.0345 -2.23166 35.55 + 59 335.739 889 8 0 64.0344 -2.23084 34.15 + 59 110.007 1219 7 1 64.0232 -2.21778 5.55 + 59 106.462 889 7 0 64.0217 -2.22101 4.15 + 59 307.343 1219 6 1 63.9798 -2.29949 -24.45 + 59 110.288 888 6 0 63.9761 -2.30434 -25.85 + 59 116.044 1219 5 1 63.9045 -2.40646 -54.45 + 59 113.958 888 5 0 63.9004 -2.41003 -55.85 + 59 107.727 1218 4 1 63.8305 -2.48047 -84.45 + 59 160.262 887 4 0 63.8279 -2.48568 -85.85 + 59 108.032 1218 3 1 63.7686 -2.58869 -114.45 + 59 126.946 887 3 0 63.7692 -2.59279 -115.85 + 59 137.89 1218 2 1 63.7936 -2.68782 -144.45 + 59 123.236 886 2 0 63.7972 -2.69476 -145.85 + 59 139.027 1219 1 1 63.8829 -2.83691 -174.45 + 59 109.674 886 1 0 63.8902 -2.84492 -175.85 + 59 107.192 1219 0 1 64.04 -2.99613 -204.45 + 59 136.828 885 0 0 64.0472 -3.00329 -205.85 + 59 34.3834 886 10 0 64.3029 -2.67168 94.15 + 59 88.869 1215 10 1 63.1412 -2.44344 95.15 + 59 256.971 1218 8 1 63.7336 -1.93625 35.55 + 59 143.842 890 8 0 64.3841 -1.99416 34.15 + 59 90.1514 692 8 0 81.5121 -41.4871 33.75 + 59 325.462 691 8 0 81.5438 -41.65 33.9245 + 59 19.3497 1217 8 1 63.65 -2.25634 35.2252 + 59 43.842 1142 7 1 48.5005 -0.99384 5.55 + 59 195.463 1141 7 1 48.4499 -0.960243 5.47048 + 59 89.1555 897 7 0 47.6717 -0.530275 4.15 + 59 41.4417 898 7 0 47.5272 -0.449892 3.90985 + 59 49.5927 883 7 1 -3.32149 -0.0883531 5.15 + 59 143.819 882 7 1 -3.45 -0.0840983 5.27846 + 59 190.699 881 7 1 -3.65005 -0.0670183 5.44292 + 59 409.498 971 8 0 -42.2619 14.3456 33.7502 + 59 63.6378 678 8 1 -44.286 13.7587 35.1501 + 59 101.836 677 8 1 -44.45 13.6844 35.3027 + 59 68.8145 676 8 1 -44.65 13.6441 35.4336 + 59 16.3305 675 8 1 -44.85 13.6318 35.5098 + 59 67.3081 684 8 1 -43.1611 14.3315 35.1503 + 59 68.1701 683 8 1 -43.25 14.3655 35.3481 +Number of digits in this event: 22 Using G4ParticleGun... -Particle energy: 8.10897 LIN +Particle energy: 8.60419 LIN Particle: e- Event: 60 -Number of tracker hits in this event: 97 - 60 112.898 947 11 1 9.52541 -78.356 125.55 - 60 96.4268 508 11 0 9.52492 -78.3565 124.15 - 60 119.949 947 10 1 9.51657 -78.3681 95.55 - 60 118.57 508 10 0 9.51586 -78.3685 94.15 - 60 145.225 947 9 1 9.50278 -78.3772 65.55 - 60 111.167 508 9 0 9.50345 -78.3773 64.15 - 60 113.545 947 8 1 9.51443 -78.3819 35.55 - 60 158.139 508 8 0 9.5146 -78.3832 34.15 - 60 378.336 947 7 1 9.52031 -78.4029 5.55 - 60 473.549 508 7 0 9.51918 -78.4033 4.15 - 60 332.799 947 6 1 9.49584 -78.406 -24.45 - 60 366.919 508 6 0 9.49693 -78.4055 -25.85 - 60 387.648 947 5 1 9.51598 -78.4045 -54.45 - 60 507.763 508 5 0 9.51597 -78.4019 -55.85 - 60 137.387 947 4 1 9.51763 -78.3333 -84.45 - 60 260.844 508 4 0 9.51513 -78.3296 -85.85 - 60 128.994 947 3 1 9.47281 -78.2533 -114.45 - 60 163.912 509 3 0 9.47304 -78.2497 -115.85 - 60 109.118 947 2 1 9.4823 -78.1647 -144.45 - 60 118.706 509 2 0 9.48652 -78.1585 -145.85 - 60 111.125 947 1 1 9.57684 -78.0322 -174.45 - 60 261.025 510 1 0 9.58149 -78.0275 -175.85 - 60 103.791 948 0 1 9.66071 -77.943 -204.45 - 60 138.923 510 0 0 9.65342 -77.9405 -205.85 - 60 267.263 762 6 0 -113.454 -27.5983 -26.25 - 60 165.933 763 6 0 -113.347 -27.45 -26.1242 - 60 211.671 1273 4 0 80.5415 74.6515 -86.25 - 60 155.981 948 4 1 9.67861 -78.0249 -84.45 - 60 350.886 510 4 0 9.7006 -77.9943 -85.85 - 60 111.229 950 3 1 10.1384 -77.4304 -114.45 - 60 213.755 513 3 0 10.17 -77.4315 -115.85 - 60 199.928 953 2 1 10.723 -77.4633 -144.45 - 60 108.418 513 2 0 10.7439 -77.445 -145.85 - 60 305.554 955 1 1 11.2315 -77.1393 -174.45 - 60 262.528 514 1 0 11.2548 -77.1573 -175.85 - 60 143.388 958 0 1 11.8118 -77.6225 -204.45 - 60 119.15 512 0 0 11.8114 -77.6218 -205.85 - 60 267.465 512 1 0 10.5848 -77.5601 -175.85 - 60 102.495 513 1 0 10.1695 -77.45 -176.11 - 60 140.238 515 1 0 9.71732 -77.05 -176.074 - 60 202.725 516 1 0 9.62581 -76.8498 -176.034 - 60 70.0206 555 2 0 88.9813 -69.0426 -146.25 - 60 87.0992 554 2 0 89.1823 -69.0501 -146.155 - 60 71.0084 553 2 0 89.2062 -69.25 -145.983 - 60 34.1956 552 2 0 89.1339 -69.45 -145.877 - 60 65.8987 1340 2 1 88.088 -70.6011 -144.85 - 60 333.877 1339 2 1 88.0499 -70.6381 -144.808 - 60 128.457 1338 2 1 87.8499 -70.8042 -144.76 - 60 15.0228 547 2 0 88.6213 -70.65 -146.14 - 60 12.5974 557 4 0 7.9105 -68.4697 -86.25 - 60 103.766 558 4 0 7.89812 -68.45 -86.2021 - 60 168.696 559 4 0 7.82419 -68.25 -86.0452 - 60 68.2586 560 4 0 7.88698 -68.05 -85.9238 - 60 167.756 943 4 1 8.65983 -68.4547 -84.8497 - 60 100.001 944 4 1 8.98088 -78.3539 -84.45 - 60 123.428 940 3 1 8.10481 -76.988 -114.45 - 60 167.388 515 3 0 8.03115 -76.9136 -115.85 - 60 119.256 932 2 1 6.63947 -75.4693 -144.45 - 60 349.95 523 2 0 6.61548 -75.3289 -145.85 - 60 128.114 930 1 1 6.17559 -72.6197 -174.45 - 60 167.866 538 1 0 6.12171 -72.4026 -175.85 - 60 113.262 923 0 1 4.75558 -68.2197 -204.45 - 60 250.035 560 0 0 4.63646 -68.0002 -205.85 - 60 83.3654 933 2 1 6.65 -75.4347 -144.458 - 60 70.8454 934 2 1 6.85 -75.4227 -144.756 - 60 128.733 524 2 0 7.91624 -75.2499 -146.079 - 60 88.1124 574 2 0 45.1745 -65.0833 -146.25 - 60 83.7508 573 2 0 45.3194 -65.2501 -145.993 - 60 244.198 1128 2 1 45.6939 -66.3204 -144.85 - 60 73.3438 1129 2 1 45.8504 -66.8043 -144.503 - 60 118.219 946 5 1 9.36617 -78.2622 -54.45 - 60 104.836 509 5 0 9.35653 -78.2479 -55.85 - 60 102.591 945 4 1 9.14453 -77.9187 -84.45 - 60 170.812 944 3 1 8.9406 -77.5134 -114.45 - 60 227.068 512 3 0 8.92261 -77.4923 -115.85 - 60 143.364 942 2 1 8.53804 -77.0625 -144.45 - 60 195.544 515 2 0 8.51923 -77.0395 -145.85 - 60 126.922 940 1 1 8.15005 -76.5744 -174.45 - 60 206.165 517 1 0 8.13778 -76.5637 -175.85 - 60 170.277 939 0 1 7.86586 -76.3536 -204.45 - 60 142.4 518 0 0 7.8972 -76.3518 -205.85 - 60 61.4405 939 1 1 7.86192 -77.9657 -174.85 - 60 108.239 948 5 1 9.67549 -78.3892 -54.45 - 60 153.559 939 4 1 7.94648 -77.8911 -84.45 - 60 154.451 931 3 1 6.38324 -77.5329 -114.45 - 60 146.347 919 2 1 3.96239 -78.6853 -144.45 - 60 228.092 506 2 0 3.94974 -78.7117 -145.851 - 60 112.279 921 1 1 4.44444 -79.5066 -174.45 - 60 50.2426 502 1 0 4.34178 -79.633 -175.85 - 60 73.2456 501 1 0 4.32808 -79.65 -176.035 - 60 31.4401 909 0 1 1.86488 -82.2926 -204.45 - 60 84.4285 908 0 1 1.85 -82.3052 -204.576 - 60 92.8702 488 0 0 1.70234 -82.4317 -205.85 - 60 103.569 487 0 0 1.67937 -82.45 -206.038 - 60 78.6478 591 0 0 117.626 -61.7627 -206.25 - 60 226.33 1496 0 1 119.498 -62.5831 -204.85 - 60 28.0514 1497 0 1 119.55 -62.5829 -204.809 -Number of digits in this event: 55 +Number of tracker hits in this event: 34 + 60 105.653 1307 9 1 81.4829 -94.1201 65.55 + 60 102.736 430 9 0 81.4831 -94.1197 64.15 + 60 118.536 1307 8 1 81.4901 -94.117 35.55 + 60 121.071 430 8 0 81.4907 -94.1164 34.15 + 60 146.837 1307 7 1 81.4982 -94.104 5.55 + 60 105.717 430 7 0 81.4984 -94.1038 4.15 + 60 157.367 1307 6 1 81.5044 -94.0932 -24.45 + 60 108.32 430 6 0 81.5045 -94.0933 -25.85 + 60 334.621 1307 5 1 81.5051 -94.0988 -54.45 + 60 207.961 430 5 0 81.5073 -94.0988 -55.85 + 60 117.123 1307 4 1 81.5705 -94.0826 -84.45 + 60 125.274 430 4 0 81.5726 -94.082 -85.85 + 60 166.875 1307 3 1 81.6043 -94.0648 -114.45 + 60 228.798 430 3 0 81.7018 -94.0525 -115.85 + 60 115.316 1320 2 1 84.1135 -93.8183 -144.45 + 60 139.188 431 2 0 84.1796 -93.8148 -145.85 + 60 145.11 1327 1 1 85.5333 -93.9628 -174.45 + 60 154.983 431 1 0 85.4149 -93.9266 -175.85 + 60 109.242 1315 0 1 83.1912 -93.8908 -204.45 + 60 121.931 431 0 0 83.1512 -93.9171 -205.85 + 60 95.2829 1306 3 1 81.45 -94.0129 -114.568 + 60 98.9869 429 3 0 80.9416 -94.15 -115.966 + 60 12.3441 1521 1 1 124.35 -136.478 -174.758 + 60 267.08 1307 2 1 81.502 -94.1597 -144.45 + 60 298.176 429 2 0 81.5061 -94.1556 -145.85 + 60 90.2583 1307 1 1 81.5968 -94.0762 -174.45 + 60 117.511 430 1 0 81.6009 -94.074 -175.85 + 60 116.259 1308 0 1 81.6844 -94.028 -204.45 + 60 224.573 430 0 0 81.6875 -94.0261 -205.85 + 60 75.3711 1456 0 1 111.504 -50.7118 -204.45 + 60 116.758 1306 1 1 81.329 -94.4208 -174.45 + 60 109.77 428 1 0 81.3199 -94.4341 -175.85 + 60 104.797 1305 0 1 81.1418 -94.6982 -204.45 + 60 113.815 427 0 0 81.1331 -94.7072 -205.85 +Number of digits in this event: 18 Using G4ParticleGun... -Particle energy: 9.48931 LIN +Particle energy: 1.45441 LIN Particle: e- Event: 61 -Number of tracker hits in this event: 32 - 61 138.61 643 10 1 -51.3117 92.6987 95.55 - 61 161.896 1362 10 0 -51.3117 92.698 94.15 - 61 192.089 643 9 1 -51.3131 92.6845 65.55 - 61 157.681 1362 9 0 -51.3131 92.6839 64.15 - 61 118.99 643 8 1 -51.3109 92.675 35.55 - 61 115.608 1362 8 0 -51.3108 92.6745 34.15 - 61 115.266 643 7 1 -51.3129 92.6617 5.55 - 61 107.954 1362 7 0 -51.3148 92.6554 4.15 - 61 116.471 643 6 1 -51.3496 92.531 -24.45 - 61 110.509 1361 6 0 -51.3516 92.5254 -25.85 - 61 140.286 643 5 1 -51.3921 92.4067 -54.45 - 61 262.088 1361 5 0 -51.3947 92.4002 -55.85 - 61 149.832 642 4 1 -51.4507 92.2719 -84.45 - 61 141.243 1360 4 0 -51.4535 92.2646 -85.85 - 61 114.995 642 3 1 -51.5177 92.114 -114.45 - 61 107.776 1359 3 0 -51.5175 92.1038 -115.85 - 61 117.085 642 2 1 -51.5078 91.8975 -144.45 - 61 126.589 1358 2 0 -51.5056 91.8881 -145.85 - 61 120.678 642 1 1 -51.4692 91.6999 -174.45 - 61 106.983 1357 1 0 -51.4683 91.6894 -175.85 - 61 122.498 643 0 1 -51.442 91.4802 -204.45 - 61 104.147 1356 0 0 -51.4405 91.4709 -205.85 - 61 18.2223 1586 0 0 21.4004 137.35 -205.879 - 61 63.5377 1252 3 0 -3.55911 70.65 -116.198 - 61 58.6883 1167 0 0 -66.9347 53.541 -206.25 - 61 71.9979 1166 0 0 -67.0363 53.45 -206.034 - 61 159.072 565 0 1 -67.0215 53.1178 -204.85 - 61 107.706 564 0 1 -67.0503 53.1219 -204.734 - 61 148.394 1168 0 0 -67.4615 53.8229 -205.85 - 61 182.959 1169 0 0 -67.4809 53.85 -205.903 - 61 142.692 559 0 1 -68.1215 53.7876 -204.85 - 61 107.546 1351 9 0 -98.119 90.3944 63.75 -Number of digits in this event: 17 +Number of tracker hits in this event: 28 + 61 106.418 548 10 1 -70.3961 -55.109 95.55 + 61 147.723 624 10 0 -70.3967 -55.1118 94.15 + 61 119.126 548 9 1 -70.4232 -55.157 65.55 + 61 119.996 624 9 0 -70.4174 -55.16 64.15 + 61 141.281 548 8 1 -70.3046 -55.2418 35.55 + 61 157.947 624 8 0 -70.3027 -55.2456 34.15 + 61 150.989 548 7 1 -70.2748 -55.337 5.55 + 61 95.4823 623 7 0 -70.256 -55.3469 4.15 + 61 122.133 551 6 1 -69.8203 -55.6573 -24.45 + 61 126.676 621 6 0 -69.8368 -55.6912 -25.85 + 61 106.582 548 5 1 -70.2867 -56.2969 -54.45 + 61 146.537 618 5 0 -70.3625 -56.3539 -55.85 + 61 131.143 540 4 1 -72.005 -57.5602 -84.45 + 61 90.6715 612 4 0 -72.149 -57.6402 -85.85 + 61 59.8395 611 4 0 -72.1667 -57.65 -86.0218 + 61 447.736 525 3 1 -74.9163 -59.5494 -114.45 + 61 115.735 602 3 0 -75.0351 -59.6317 -115.85 + 61 41.5335 601 3 0 -75.0613 -59.65 -116.162 + 61 142.65 511 2 1 -77.6911 -61.2391 -144.45 + 61 103.925 593 2 0 -77.8401 -61.3085 -145.85 + 61 11.317 496 1 1 -80.8475 -62.4809 -174.45 + 61 83.4153 495 1 1 -80.85 -62.4818 -174.493 + 61 125.537 587 1 0 -80.9318 -62.5024 -175.85 + 61 126.499 486 0 1 -82.7393 -63.0131 -204.45 + 61 2.31147 585 0 0 -82.7678 -63.0496 -205.85 + 61 90.3003 584 0 0 -82.7681 -63.05 -205.864 + 61 58.721 621 0 0 -69.7196 -55.7973 -206.142 + 61 88.2695 546 8 1 -70.65 -55.3832 35.4894 +Number of digits in this event: 13 Using G4ParticleGun... -Particle energy: 5.21344 LIN +Particle energy: 6.09137 LIN Particle: e- Event: 62 -Number of tracker hits in this event: 73 - 62 117.275 1042 11 1 28.6221 20.3743 125.55 - 62 132.271 1001 11 0 28.6238 20.3744 124.15 - 62 103.184 1043 10 1 28.6554 20.3753 95.55 - 62 124.538 1001 10 0 28.6565 20.3754 94.15 - 62 117.671 1043 9 1 28.6738 20.3748 65.55 - 62 113.93 1001 9 0 28.6641 20.3952 64.15 - 62 93.7582 1042 8 1 28.5016 20.8306 35.55 - 62 111.644 1003 8 0 28.4828 20.8458 34.15 - 62 12.6854 1004 8 0 28.4785 20.85 33.8028 - 62 132.715 1040 7 1 28.1116 21.1956 5.55 - 62 118.508 1005 7 0 28.1005 21.2351 4.15 - 62 117.827 1038 6 1 27.8062 22.1376 -24.45 - 62 240.133 1010 6 0 27.8242 22.1712 -25.85 - 62 191.547 1040 5 1 28.1091 22.8383 -54.45 - 62 124.103 1014 5 0 28.1134 22.8645 -55.85 - 62 120.886 1041 4 1 28.3421 23.2951 -84.45 - 62 149.423 1016 4 0 28.3804 23.3088 -85.85 - 62 197.04 1045 3 1 29.2002 23.5226 -114.45 - 62 120.594 1017 3 0 29.2191 23.5142 -115.85 - 62 143.633 1047 2 1 29.589 23.1093 -144.45 - 62 130.83 1015 2 0 29.6148 23.0802 -145.85 - 62 220.86 1050 1 1 30.0997 22.5803 -174.45 - 62 174.332 1012 1 0 30.1377 22.5575 -175.85 - 62 262.75 1054 0 1 30.9016 22.0666 -204.45 - 62 151.292 1009 0 0 30.9601 21.9712 -205.85 - 62 250.474 1044 4 1 28.9017 20.3992 -84.45 - 62 285.157 1001 4 0 28.9001 20.3987 -85.85 - 62 538.585 1044 3 1 28.8594 20.4089 -114.45 - 62 441.456 1001 3 0 28.8565 20.4049 -115.85 - 62 110.021 1043 2 1 28.8326 20.3522 -144.45 - 62 216.27 1001 2 0 28.8375 20.3515 -145.85 - 62 120.734 1044 1 1 28.9585 20.3282 -174.45 - 62 127.817 1001 1 0 28.9071 20.3079 -175.85 - 62 100.801 1039 0 1 27.8716 19.8427 -204.45 - 62 131.336 998 0 0 27.8216 19.807 -205.85 - 62 51.0212 215 7 0 -100.543 -137.132 3.7501 - 62 9.52321 1452 2 1 110.55 -94.7115 -144.484 - 62 55.0708 212 3 1 -137.633 -41.1678 -114.85 - 62 193.96 1002 3 0 29.0304 20.5195 -115.85 - 62 135.796 1045 2 1 29.1647 20.6917 -144.45 - 62 157.117 1003 2 0 29.1748 20.6989 -145.85 - 62 427.664 1046 1 1 29.3814 20.8395 -174.45 - 62 102.526 1004 1 0 29.3869 20.8503 -175.85 - 62 102.165 1047 0 1 29.51 21.074 -204.45 - 62 423.606 1005 0 0 29.516 21.0832 -205.85 - 62 16.4249 673 8 0 68.0215 -45.3829 33.75 - 62 235.97 672 8 0 68.0643 -45.45 33.9939 - 62 75.8078 1053 1 0 44.3355 30.6954 -176.25 - 62 114.487 1054 1 0 44.46 30.85 -176.01 - 62 71.4738 1123 1 1 44.7845 32.1387 -174.85 - 62 181.452 1124 1 1 44.85 32.3579 -174.711 - 62 33.6634 1125 1 1 45.05 32.5313 -174.482 - 62 113.001 1045 1 1 29.25 20.9752 -174.847 - 62 206.586 1005 1 0 29.1222 21.1824 -175.85 - 62 208.27 1030 0 0 30.9855 26.0616 -205.85 - 62 107.216 1044 2 1 29.011 20.3869 -144.45 - 62 289.536 1002 1 0 29.1037 20.4929 -175.85 - 62 112.095 1045 0 1 29.2118 20.5812 -204.45 - 62 340.91 1002 0 0 29.2161 20.5837 -205.85 - 62 82.2124 1097 9 1 39.5185 -30.1848 65.15 - 62 111.99 936 2 0 -67.2889 7.37917 -146.25 - 62 113.039 1006 2 0 -54.17 21.3364 -146.25 - 62 125.755 1046 2 1 29.4277 19.7526 -144.45 - 62 130.792 998 2 0 29.5053 19.7703 -145.85 - 62 125.111 1056 1 1 31.2924 20.4639 -174.45 - 62 117.668 1068 0 1 33.7664 21.1362 -204.45 - 62 182.497 1004 0 0 33.7966 21.0377 -205.85 - 62 31.5057 1013 0 0 40.3542 22.6872 -206.25 - 62 10.4148 1156 0 0 45.9804 51.3591 -206.25 - 62 13.3953 1358 0 0 103.28 91.9369 -206.25 - 62 89.627 1359 0 0 103.289 91.95 -206.234 - 62 125.461 1117 1 1 43.5212 -0.0598007 -174.85 - 62 142.585 1116 1 1 43.45 -0.153265 -174.638 -Number of digits in this event: 44 +Number of tracker hits in this event: 61 + 62 112.094 593 10 1 -61.2947 -78.5647 95.55 + 62 169.912 507 10 0 -61.2937 -78.5643 94.15 + 62 127.391 593 9 1 -61.2704 -78.5565 65.55 + 62 164.57 507 9 0 -61.27 -78.5567 64.15 + 62 195.509 593 8 1 -61.262 -78.5632 35.55 + 62 137.852 507 8 0 -61.2621 -78.562 34.15 + 62 161.44 593 7 1 -61.262 -78.5401 5.55 + 62 142.042 507 7 0 -61.2597 -78.539 4.15 + 62 114.86 594 6 1 -61.2132 -78.5208 -24.45 + 62 128.629 507 6 0 -61.2129 -78.5193 -25.85 + 62 109.082 594 5 1 -61.2069 -78.4905 -54.45 + 62 166.545 507 5 0 -61.2079 -78.4898 -55.85 + 62 104.529 594 4 1 -61.2304 -78.4749 -84.45 + 62 105.454 507 4 0 -61.2307 -78.4744 -85.85 + 62 125.195 594 3 1 -61.2359 -78.4698 -114.45 + 62 122.772 507 3 0 -61.2346 -78.4693 -115.85 + 62 256.06 594 2 1 -61.2111 -78.4579 -144.45 + 62 126.966 507 2 0 -61.2123 -78.4582 -145.85 + 62 105.729 594 1 1 -61.2362 -78.4644 -174.45 + 62 154.712 507 1 0 -61.2396 -78.467 -175.85 + 62 120.943 593 0 1 -61.3046 -78.5254 -204.45 + 62 115.428 507 0 0 -61.3121 -78.5297 -205.85 + 62 55.6636 253 1 0 26.0756 -129.474 -176.25 + 62 92.2954 252 1 0 26.2196 -129.55 -176.089 + 62 8.41405 251 1 0 26.493 -129.75 -175.871 + 62 22.5837 1037 1 1 27.5925 -130.875 -174.85 + 62 116.02 1038 1 1 27.65 -130.927 -174.796 + 62 46.6748 1039 1 1 27.85 -131.161 -174.58 + 62 33.5678 85 2 0 -82.5325 -163.15 -146.034 + 62 25.9152 84 2 0 -82.576 -163.15 -146.04 + 62 27.6113 595 2 1 -61.05 -78.3723 -144.723 + 62 26.0306 504 2 0 -61.0348 -79.2164 -145.85 + 62 215.539 503 2 0 -61.0489 -79.25 -145.903 + 62 16.4428 508 3 0 -61.2349 -78.45 -116.177 + 62 58.1726 675 2 1 -44.8923 -84.5407 -144.45 + 62 149.337 674 2 1 -45.05 -84.6268 -144.578 + 62 114.748 474 2 0 -45.5319 -85.1665 -145.85 + 62 8.30046 580 1 0 -71.9599 -63.8673 -176.25 + 62 92.4279 581 1 0 -71.9552 -63.85 -176.216 + 62 302.119 582 1 0 -72.06 -63.65 -176.019 + 62 7.07454 532 1 1 -73.6371 -61.6888 -174.85 + 62 315.541 531 1 1 -73.6501 -61.6746 -174.84 + 62 29.3643 530 1 1 -73.85 -61.6529 -174.783 + 62 161.005 478 3 1 -84.3106 39.2437 -114.45 + 62 52.9986 1095 3 0 -84.507 39.1287 -115.85 + 62 114.743 1094 3 0 -84.4734 39.05 -116.035 + 62 6.26215 781 0 0 -127.8 -23.85 -205.974 + 62 2.42614 782 0 0 -128.059 -23.65 -205.853 + 62 140.715 250 0 1 -130.09 -20.2779 -204.85 + 62 120.148 249 0 1 -130.15 -20.1629 -204.83 + 62 238.326 805 0 0 -130.372 -19.0421 -205.85 + 62 94.3895 592 8 1 -61.45 -78.511 35.3115 + 62 322.719 512 8 0 -62.8468 -77.5842 34.15 + 62 86.4268 513 8 0 -63.0228 -77.45 33.9875 + 62 70.3083 511 8 0 -64.021 -77.6502 34.0249 + 62 76.6008 510 8 0 -64.137 -77.8503 33.9266 + 62 18.5077 509 8 0 -64.3111 -78.05 33.7956 + 62 245.913 441 7 1 -91.7971 -101.674 5.54992 + 62 119.229 440 7 1 -91.9502 -101.573 5.33912 + 62 27.6817 439 7 1 -92.15 -101.366 5.2198 + 62 121.753 399 7 0 -91.1103 -100.319 4.14984 +Number of digits in this event: 28 Using G4ParticleGun... -Particle energy: 9.5705 LIN +Particle energy: 8.9313 LIN Particle: e- Event: 63 -Number of tracker hits in this event: 50 - 63 201.313 718 11 1 -36.4076 18.7129 125.55 - 63 220.617 993 11 0 -36.4076 18.7134 124.15 - 63 134.767 718 10 1 -36.4054 18.7248 95.55 - 63 93.2795 993 10 0 -36.4057 18.7251 94.15 - 63 107.887 718 9 1 -36.4131 18.728 65.55 - 63 222.268 993 9 0 -36.4131 18.7287 64.15 - 63 197.164 718 8 1 -36.4125 18.7456 35.55 - 63 198.297 993 8 0 -36.4125 18.7457 34.15 - 63 114.647 718 7 1 -36.4118 18.7466 5.55 - 63 122.669 993 7 0 -36.4119 18.746 4.15 - 63 108.133 718 6 1 -36.4114 18.7361 -24.45 - 63 117.01 993 6 0 -36.4111 18.7355 -25.85 - 63 138.982 718 5 1 -36.4078 18.7254 -54.45 - 63 169.836 993 5 0 -36.4076 18.7245 -55.85 - 63 144.298 718 4 1 -36.4057 18.7085 -84.45 - 63 113.536 993 4 0 -36.4054 18.7069 -85.85 - 63 117.355 718 3 1 -36.3943 18.6734 -114.45 - 63 145.207 993 3 0 -36.3933 18.6709 -115.85 - 63 129.629 718 2 1 -36.3752 18.6261 -144.45 - 63 100.467 992 2 0 -36.3725 18.6236 -145.85 - 63 361.44 718 1 1 -36.3148 18.576 -174.45 - 63 138.104 992 1 0 -36.3126 18.5777 -175.85 - 63 126.311 718 0 1 -36.2611 18.6156 -204.45 - 63 324.859 992 0 0 -36.257 18.6164 -205.85 - 63 16.4522 993 0 0 -36.3222 18.65 -205.935 - 63 84.8756 991 0 0 -36.361 18.45 -206.064 - 63 142.208 793 0 1 -21.2612 94.2606 -204.85 - 63 171.882 451 9 1 -89.8039 67.2853 65.15 - 63 115.194 446 9 1 -90.7885 66.9948 65.55 - 63 66.8144 780 2 1 -23.85 -24.2661 -144.621 - 63 51.886 782 2 1 -23.6346 -23.832 -144.45 - 63 49.6765 719 10 1 -36.1938 18.747 95.5498 - 63 70.9068 720 10 1 -36.0499 18.863 95.4955 - 63 73.0175 721 10 1 -35.8497 19.0265 95.4529 - 63 91.4965 722 10 1 -35.6497 19.1609 95.4413 - 63 70.7709 723 10 1 -35.45 19.2701 95.4485 - 63 95.9766 724 10 1 -35.25 19.3597 95.4887 - 63 9.85285 725 10 1 -35.05 19.4506 95.5383 - 63 144.591 996 11 0 -14.6375 19.2945 123.75 - 63 30.2179 833 11 1 -13.3319 19.2241 125.15 - 63 73.639 834 11 1 -13.25 19.2207 125.241 - 63 75.9451 835 11 1 -13.05 19.2361 125.461 - 63 76.114 836 11 1 -12.85 19.3002 125.533 - 63 69.639 837 11 1 -12.65 19.3882 125.506 - 63 422.646 838 11 1 -12.45 19.4624 125.526 - 63 11.433 1221 12 0 0.133733 64.3815 153.75 - 63 29.279 1222 12 0 0.142768 64.45 153.774 - 63 229.833 1506 12 0 -77.7727 121.429 153.75 - 63 170.458 1507 12 0 -78.1536 121.55 154.108 - 63 272.837 1508 12 0 -78.4908 121.75 154.037 -Number of digits in this event: 26 +Number of tracker hits in this event: 29 + 63 96.9196 817 11 1 -16.5887 0.539877 125.55 + 63 146.088 902 11 0 -16.5871 0.539478 124.15 + 63 133.326 817 10 1 -16.5553 0.528967 95.55 + 63 132.394 902 10 0 -16.553 0.527775 94.15 + 63 151.656 817 9 1 -16.5109 0.503484 65.55 + 63 114.462 902 9 0 -16.5092 0.508994 64.15 + 63 117.921 818 8 1 -16.4064 0.708928 35.55 + 63 102.297 903 8 0 -16.4034 0.728761 34.15 + 63 122.694 818 7 1 -16.2795 1.14045 5.55 + 63 111.619 905 7 0 -16.2749 1.15824 4.15 + 63 107.927 819 6 1 -16.1613 1.53724 -24.45 + 63 132.729 907 6 0 -16.1206 1.53382 -25.85 + 63 165.87 823 5 1 -15.2639 1.44511 -54.45 + 63 154.44 906 5 0 -15.2254 1.44716 -55.85 + 63 434.133 827 4 1 -14.4571 1.44127 -84.45 + 63 56.7501 828 4 1 -14.45 1.4401 -84.6332 + 63 117.665 906 4 0 -14.4034 1.43394 -85.85 + 63 204.932 833 3 1 -13.3134 1.30548 -114.45 + 63 128.142 906 3 0 -13.2564 1.29454 -115.85 + 63 243.83 839 2 1 -12.0922 1.10288 -144.45 + 63 119.113 905 2 0 -12.0403 1.10253 -145.85 + 63 116.182 845 1 1 -11.0213 1.02829 -174.45 + 63 129.353 904 1 0 -10.9758 1.04141 -175.85 + 63 122.85 850 0 1 -9.96483 1.36142 -204.45 + 63 123.684 906 0 0 -9.9116 1.37567 -205.85 + 63 6.33668 1166 4 0 15.4829 53.3816 -86.25 + 63 29.7346 779 0 1 -24.05 -9.64965 -204.529 + 63 251.527 819 0 1 -16.0783 0.286484 -204.45 + 63 66.0738 820 0 1 -16.05 0.274432 -204.488 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 9.91926 LIN +Particle energy: 5.10404 LIN Particle: e- Event: 64 -Number of tracker hits in this event: 110 - 64 133.426 511 10 1 -77.8223 -68.029 95.55 - 64 113.902 560 10 0 -77.8222 -68.0287 94.15 - 64 143.385 511 9 1 -77.8166 -68.0221 65.55 - 64 107.104 560 9 0 -77.816 -68.0223 64.15 - 64 124.616 511 8 1 -77.8052 -68.0262 35.55 - 64 117.848 560 8 0 -77.8047 -68.0273 34.15 - 64 111.283 511 7 1 -77.7928 -68.0527 5.55 - 64 127.984 559 7 0 -77.7913 -68.0545 4.15 - 64 172.357 511 6 1 -77.7598 -68.0913 -24.45 - 64 125.482 559 6 0 -77.7613 -68.0826 -25.85 - 64 125.279 511 5 1 -77.8029 -67.8693 -54.45 - 64 125.338 560 5 0 -77.7953 -67.8716 -55.85 - 64 142.569 512 4 1 -77.5999 -68.0159 -84.45 - 64 479.681 560 4 0 -77.5643 -68.0281 -85.85 - 64 149.984 516 3 1 -76.7533 -68.2166 -114.45 - 64 165.161 559 3 0 -76.7191 -68.2139 -115.85 - 64 127.209 519 2 1 -76.0575 -68.2213 -144.45 - 64 247.778 558 2 0 -76.0823 -68.2539 -145.85 - 64 66.8719 516 1 1 -76.6643 -68.9267 -174.45 - 64 29.1868 517 1 1 -76.65 -68.9333 -174.755 - 64 214.191 555 1 0 -76.6046 -68.9587 -175.85 - 64 115.387 523 0 1 -75.4122 -69.496 -204.45 - 64 149.77 552 0 0 -75.3924 -69.5378 -205.85 - 64 119.712 510 4 1 -77.8504 -67.8764 -84.45 - 64 216.928 510 3 1 -77.888 -67.9866 -114.45 - 64 128.583 560 3 0 -77.9074 -67.9773 -115.85 - 64 141.75 508 2 1 -78.2936 -67.7274 -144.45 - 64 123.076 561 2 0 -78.314 -67.7135 -145.85 - 64 368.396 506 1 1 -78.7884 -67.4275 -174.45 - 64 132.11 563 1 0 -78.8152 -67.3882 -175.85 - 64 82.7017 503 0 1 -79.3865 -66.5763 -204.45 - 64 125.545 567 0 0 -79.397 -66.5365 -205.85 - 64 144.206 505 1 1 -78.85 -67.3751 -174.559 - 64 364.354 511 4 1 -77.8482 -67.8838 -84.45 - 64 141.995 519 3 1 -76.1254 -74.0048 -114.45 - 64 10.2669 520 3 1 -76.05 -74.0681 -114.82 - 64 21.3455 529 3 0 -75.8542 -74.2387 -115.85 - 64 112.688 528 3 0 -75.8414 -74.25 -115.918 - 64 134.058 546 2 1 -70.8424 -79.1674 -144.45 - 64 101.245 503 2 0 -70.6517 -79.3996 -145.851 - 64 28.5135 502 2 0 -70.6114 -79.45 -146.149 - 64 59.2782 565 1 1 -66.9171 -85.415 -174.45 - 64 46.4434 566 1 1 -66.85 -85.5199 -174.708 - 64 29.3081 470 1 0 -66.5797 -86 -175.85 - 64 112.848 469 1 0 -66.5524 -86.0501 -175.968 - 64 182.005 595 0 1 -60.9213 -98.2053 -204.45 - 64 139.194 406 0 0 -60.7331 -98.7626 -205.85 - 64 247.036 512 2 1 -77.5511 -68.2424 -144.45 - 64 281.564 559 2 0 -77.5479 -68.243 -145.85 - 64 105.487 512 1 1 -77.5014 -68.2525 -174.45 - 64 472.064 559 1 0 -77.498 -68.2436 -175.85 - 64 107.207 513 0 1 -77.4083 -68.0337 -204.45 - 64 169.018 560 0 0 -77.4122 -68.0202 -205.85 - 64 150.752 698 1 0 -33.801 -40.45 -176.143 - 64 92.5347 699 1 0 -33.5818 -40.25 -175.945 - 64 61.913 737 1 1 -32.6379 -37.9126 -174.85 - 64 68.4273 736 1 1 -32.6502 -37.8703 -174.838 - 64 176.583 767 14 1 -26.6253 -70.8537 215.15 - 64 98.1465 768 14 1 -26.45 -71.0111 215.494 - 64 34.1501 399 0 1 -100.192 -13.1769 -204.85 - 64 7.01104 400 0 1 -100.15 -13.1256 -204.837 - 64 102.744 836 0 0 -99.9591 -12.7959 -205.85 - 64 108.456 835 0 0 -99.9313 -12.8501 -205.983 - 64 115.177 511 1 1 -77.6857 -68.422 -174.45 - 64 198.898 558 1 0 -77.7014 -68.423 -175.85 - 64 357.156 510 0 1 -78.0404 -68.3815 -204.45 - 64 121.049 558 0 0 -78.0342 -68.3648 -205.85 - 64 136.718 557 1 0 -77.7196 -68.45 -176.113 - 64 189.331 556 1 0 -77.8275 -68.65 -176.169 - 64 187.61 557 0 0 -77.8705 -68.4827 -205.851 - 64 81.5949 556 0 0 -77.9083 -68.65 -205.908 - 64 154.479 693 1 1 -41.3946 85.0956 -174.85 - 64 7.26017 692 1 1 -41.45 85.8264 -174.472 - 64 38.5861 629 2 1 -54.25 -132.632 -144.573 - 64 14.9437 173 1 1 -145.35 91.2581 -174.779 - 64 243.992 403 7 0 -14.8386 -99.5264 3.75 - 64 101.123 827 7 1 -14.5216 -99.1322 5.15 - 64 166.441 828 7 1 -14.4498 -99.0408 5.45057 - 64 17.1121 411 7 0 -14.253 -97.7992 4.15 - 64 107.097 412 7 0 -14.25 -97.75 4.09007 - 64 19.5454 479 7 0 37.9919 -84.052 3.75 - 64 107.837 480 7 0 38.0478 -84.05 3.78528 - 64 59.6086 481 7 0 38.4153 -83.8499 3.91507 - 64 63.9864 482 7 0 38.4614 -83.65 3.9933 - 64 58.5818 483 7 0 38.4065 -83.45 4.02223 - 64 148.188 484 7 0 38.3943 -83.25 4.0757 - 64 122.596 485 7 0 38.6692 -83.05 4.0252 - 64 93.7147 407 7 0 99.866 -98.6946 3.75 - 64 74.3569 406 7 0 99.9149 -98.75 3.83915 - 64 55.3514 405 7 0 99.9567 -98.9502 3.99105 - 64 44.6455 404 7 0 99.9874 -99.15 4.059 - 64 103.257 1402 7 1 100.617 -99.8765 5.15 - 64 81.9314 1403 7 1 100.75 -99.9017 5.35816 - 64 231.411 1404 7 1 100.95 -99.7552 5.36466 - 64 145.705 1405 7 1 101.15 -99.9666 5.19476 - 64 8.58772 559 5 0 -77.7908 -68.0957 -56.2379 - 64 140.092 556 4 0 -77.6692 -68.7988 -85.8501 - 64 110.181 512 3 1 -77.5737 -69.2387 -114.45 - 64 115.767 554 3 0 -77.4644 -69.1915 -115.851 - 64 120.031 523 2 1 -75.2855 -68.5601 -144.45 - 64 112.258 557 2 0 -75.304 -68.473 -145.85 - 64 112.851 523 1 1 -75.3125 -66.4831 -174.45 - 64 105.51 568 1 0 -75.2588 -66.3124 -175.85 - 64 115.316 525 0 1 -74.982 -63.7375 -204.451 - 64 112.73 581 0 0 -74.9754 -63.7098 -205.85 - 64 120.481 559 4 0 -77.7917 -68.1115 -85.85 - 64 210.151 558 3 0 -77.8964 -68.3156 -115.85 - 64 118.874 510 2 1 -78.0087 -68.171 -144.45 - 64 121.014 502 0 1 -79.569 -67.8803 -204.45 - 64 97.4523 561 0 0 -79.6255 -67.85 -205.884 -Number of digits in this event: 55 +Number of tracker hits in this event: 45 + 64 139.821 1375 10 1 95.1714 -42.4995 95.55 + 64 209.492 687 10 0 95.1717 -42.5003 94.15 + 64 136.818 1375 9 1 95.1743 -42.5164 65.55 + 64 96.0269 687 9 0 95.1765 -42.517 64.15 + 64 112.549 1375 8 1 95.2178 -42.5222 35.55 + 64 141.095 687 8 0 95.219 -42.5223 34.15 + 64 115.318 1375 7 1 95.2446 -42.5209 5.55 + 64 110.662 687 7 0 95.2463 -42.5205 4.15 + 64 114.638 1375 6 1 95.2815 -42.5176 -24.45 + 64 105.498 687 6 0 95.2835 -42.5164 -25.85 + 64 264.538 1375 5 1 95.3248 -42.4961 -54.45 + 64 141.467 687 5 0 95.3256 -42.4965 -55.85 + 64 108.608 1375 4 1 95.3342 -42.503 -84.45 + 64 93.3848 687 4 0 95.3337 -42.5034 -85.85 + 64 139.295 1375 3 1 95.3299 -42.5079 -114.45 + 64 123.251 687 3 0 95.3319 -42.5087 -115.85 + 64 110.834 1376 2 1 95.3757 -42.5253 -144.45 + 64 143.601 687 2 0 95.3764 -42.5251 -145.85 + 64 439.217 1376 1 1 95.3843 -42.5205 -174.45 + 64 134.685 687 1 0 95.3861 -42.517 -175.85 + 64 446.601 1376 0 1 95.4233 -42.4316 -204.45 + 64 136.836 688 0 0 95.4247 -42.4317 -205.85 + 64 300.852 687 0 0 95.3791 -42.4842 -205.85 + 64 37.5133 1077 2 1 35.6098 -58.9283 -144.85 + 64 11.5869 1374 5 1 95.15 -42.7014 -54.815 + 64 41.1607 684 5 0 94.7112 -43.1784 -55.8503 + 64 80.4773 683 5 0 94.6479 -43.25 -56.0036 + 64 155.658 1317 4 1 83.6057 -55.686 -84.45 + 64 133.026 620 4 0 83.3537 -55.8573 -85.85 + 64 162.404 1283 3 1 76.664 -60.9484 -114.45 + 64 10.6308 593 3 0 76.884 -61.4345 -115.851 + 64 99.2988 592 3 0 76.8916 -61.45 -115.896 + 64 197.865 1306 2 1 81.3296 -71.6353 -144.45 + 64 166.663 532 2 0 81.6468 -73.5213 -145.85 + 64 218.57 531 2 0 81.6642 -73.65 -145.944 + 64 56.9496 530 2 0 81.6853 -73.85 -146.105 + 64 0.962189 529 2 0 81.7413 -74.05 -146.248 + 64 94.7943 1310 2 1 82.1144 -73.1473 -144.85 + 64 17.1163 534 2 0 82.4693 -73.1995 -145.85 + 64 90.1235 1267 0 1 73.4821 -119.144 -204.45 + 64 106.798 1266 0 1 73.45 -119.041 -204.606 + 64 318.437 308 0 0 75.9216 -118.467 -205.85 + 64 99.9234 1322 4 1 84.5235 -55.2991 -84.45 + 64 45.98 711 9 0 94.4882 -37.7718 64.15 + 64 266.296 712 9 0 94.4681 -37.65 64.1342 +Number of digits in this event: 26 Using G4ParticleGun... -Particle energy: 5.50753 LIN +Particle energy: 5.19771 LIN Particle: e- Event: 65 -Number of tracker hits in this event: 85 - 65 142.827 910 9 1 2.07084 130.442 65.55 - 65 136.759 1551 9 0 2.06908 130.442 64.15 - 65 108.188 909 8 1 2.03535 130.424 35.55 - 65 112.796 1551 8 0 2.03508 130.422 34.15 - 65 331.565 909 7 1 2.03145 130.388 5.55 - 65 252.448 1551 7 0 2.03132 130.388 4.15 - 65 239.146 909 6 1 2.01861 130.403 -24.45 - 65 108.187 1551 6 0 2.01988 130.404 -25.85 - 65 122.012 910 5 1 2.05245 130.422 -54.45 - 65 181.646 1551 5 0 2.05295 130.424 -55.85 - 65 105.938 910 4 1 2.08497 130.467 -84.45 - 65 110.278 1551 4 0 2.08659 130.47 -85.85 - 65 178.647 910 3 1 2.11409 130.549 -114.45 - 65 245.479 1552 3 0 2.11797 130.555 -115.85 - 65 118.024 910 2 1 2.19486 130.677 -144.45 - 65 166.601 1552 2 0 2.19506 130.684 -145.85 - 65 137.934 910 1 1 2.16255 130.853 -174.45 - 65 206.986 1553 1 0 2.15838 130.861 -175.85 - 65 110.613 910 0 1 2.06535 131.036 -204.45 - 65 99.5234 1554 0 0 2.06023 131.044 -205.85 - 65 15.9694 1338 1 1 87.6714 103.233 -174.85 - 65 317.035 1508 2 1 121.799 103.29 -144.45 - 65 95.8493 1554 6 0 1.96595 131.115 -25.85 - 65 109.618 912 5 1 2.50476 130.76 -54.45 - 65 145.311 1553 5 0 2.54445 130.771 -55.85 - 65 107.026 914 4 1 2.89019 130.996 -84.45 - 65 321.595 1554 4 0 2.96193 130.975 -85.85 - 65 178.059 922 3 1 4.47552 130.465 -114.45 - 65 176.302 1551 3 0 4.64826 130.476 -115.85 - 65 194.695 939 2 1 7.9195 131.333 -144.451 - 65 193.203 1556 2 0 7.99099 131.391 -145.85 - 65 139.76 946 1 1 9.34076 132.97 -174.45 - 65 114.889 1564 1 0 9.26718 133.009 -175.85 - 65 105.385 944 0 1 8.88338 133.627 -204.45 - 65 127.761 1567 0 0 8.85959 133.637 -205.85 - 65 105.089 921 3 1 4.45 130.474 -114.493 - 65 80.5483 886 2 1 -2.74584 133.187 -144.451 - 65 27.0756 885 2 1 -2.85017 133.25 -144.762 - 65 136.194 1566 2 0 -3.13739 133.474 -145.85 - 65 1.08846 1567 2 0 -3.22675 133.55 -146.242 - 65 169.903 850 1 1 -9.9106 138.295 -174.45 - 65 109.552 1591 1 0 -10.0249 138.418 -175.85 - 65 117.06 1613 1 0 -14.2173 142.767 -176.25 - 65 133.2 1612 1 0 -14.1733 142.75 -176.146 - 65 47.1579 832 1 1 -13.5136 142.993 -174.85 - 65 75.5254 1614 1 0 -13.592 143.02 -175.85 - 65 55.1746 1772 1 0 -12.4212 174.582 -176.25 - 65 64.8071 1773 1 0 -12.4532 174.75 -176.131 - 65 70.2665 1774 1 0 -12.5317 174.95 -175.993 - 65 11.6667 1775 1 0 -12.6335 175.15 -175.864 - 65 41.5581 829 1 1 -14.196 178.623 -174.85 - 65 223.715 828 1 1 -14.25 178.772 -174.815 - 65 133.859 827 1 1 -14.45 179.351 -174.715 - 65 142.677 826 1 1 -14.65 179.829 -174.569 - 65 109.863 825 0 1 -14.8678 144.495 -204.45 - 65 46.3701 1620 0 0 -14.3938 144.286 -205.851 - 65 53.8398 1619 0 0 -14.2709 144.15 -205.975 - 65 236.168 1618 0 0 -14.1745 143.95 -206.019 - 65 202.372 1617 0 0 -14.6829 143.75 -206.025 - 65 20.3096 1616 0 0 -14.5387 143.55 -206.221 - 65 111.144 1497 0 0 -14.1922 119.746 -206.25 - 65 166.206 1498 0 0 -14.2974 119.75 -206.08 - 65 42.958 910 7 1 2.05 130.455 5.30496 - 65 106.984 1552 7 0 2.31504 130.562 4.15 - 65 65.2164 944 6 1 9.01043 133.356 -24.4503 - 65 76.6186 945 6 1 9.05001 133.357 -24.6233 - 65 107.806 1566 6 0 9.37113 133.387 -25.85 - 65 167.234 981 5 1 16.3003 134.23 -54.45 - 65 156.468 1570 5 0 16.3637 134.196 -55.85 - 65 115.976 990 4 1 18.14 133.623 -84.4504 - 65 44.7093 991 4 1 18.25 133.697 -84.7131 - 65 28.1923 1568 4 0 18.678 133.933 -85.85 - 65 129.071 1569 4 0 18.7088 133.95 -85.9269 - 65 236.656 1052 3 1 30.5202 140.449 -114.451 - 65 84.2795 1053 3 1 30.65 140.55 -114.556 - 65 53.7765 1054 3 1 30.85 140.663 -114.728 - 65 171.666 1605 3 0 32.0526 141.16 -115.85 - 65 6.49465 1606 3 0 32.4601 141.35 -116.243 - 65 68.264 1213 2 1 62.7142 155.863 -144.45 - 65 92.9688 1214 2 1 62.85 155.925 -144.545 - 65 132.708 1215 2 1 63.05 156.013 -144.681 - 65 2.05239 1216 2 1 63.25 156.118 -144.846 - 65 42.7829 1683 2 0 64.3426 156.875 -145.85 - 65 196.004 1684 2 0 64.4427 156.95 -145.942 - 65 41.7256 1685 2 0 64.6798 157.15 -146.169 -Number of digits in this event: 40 +Number of tracker hits in this event: 79 + 65 135.706 392 10 1 -101.569 36.4019 95.55 + 65 109.451 1081 10 0 -101.568 36.4016 94.15 + 65 138.288 393 9 1 -101.534 36.3929 65.55 + 65 126.528 1081 9 0 -101.532 36.3924 64.15 + 65 143.05 393 8 1 -101.483 36.3737 35.55 + 65 116.354 1081 8 0 -101.481 36.3755 34.15 + 65 118.08 393 7 1 -101.446 36.411 5.55 + 65 111.962 1081 7 0 -101.447 36.4123 4.15 + 65 134.508 393 6 1 -101.446 36.4427 -24.45 + 65 154.49 1081 6 0 -101.441 36.4451 -25.85 + 65 174.122 394 5 1 -101.319 36.4887 -54.45 + 65 121.816 1082 5 0 -101.313 36.4873 -55.85 + 65 420.487 394 4 1 -101.17 36.4561 -84.45 + 65 455.97 1082 4 0 -101.164 36.4558 -85.85 + 65 412.02 395 3 1 -101.055 36.44 -114.45 + 65 360.202 1081 3 0 -101.048 36.4438 -115.85 + 65 161.122 396 2 1 -100.878 36.5452 -144.45 + 65 341.961 1082 2 0 -100.867 36.545 -145.85 + 65 167.161 397 1 1 -100.592 36.5922 -174.45 + 65 123.466 1082 1 0 -100.575 36.5989 -175.85 + 65 84.595 399 0 1 -100.183 36.7579 -204.45 + 65 114.536 1083 0 0 -100.168 36.7734 -205.85 + 65 2.22058 107 2 0 -22.9911 -158.55 -146.067 + 65 57.2624 106 2 0 -22.8557 -158.75 -146.179 + 65 135.414 377 2 0 -91.5195 -104.671 -146.25 + 65 55.9789 378 2 0 -91.6148 -104.55 -145.917 + 65 45.7921 450 2 1 -89.9324 -103.391 -144.85 + 65 21.2558 451 2 1 -89.85 -103.324 -144.84 + 65 12.7499 389 2 0 -86.4759 -102.165 -145.85 + 65 214.765 466 2 1 -86.8173 -102.989 -144.85 + 65 12.7236 1607 3 0 -111.671 141.55 -115.991 + 65 105.138 341 3 1 -111.895 141.741 -114.85 + 65 385.351 394 2 1 -101.227 36.2896 -144.45 + 65 103.905 1081 2 0 -101.242 36.2698 -145.85 + 65 213.576 393 1 1 -101.545 35.9112 -174.45 + 65 115.199 1079 1 0 -101.555 35.8857 -175.85 + 65 226.685 391 0 1 -101.771 35.3985 -204.45 + 65 152.338 1076 0 0 -101.786 35.3719 -205.85 + 65 18.7403 889 6 0 -160.82 -2.05 -26.2263 + 65 58.7355 1084 2 0 -100.07 36.8983 -145.85 + 65 27.1656 400 2 1 -100.097 36.8627 -144.85 + 65 7.06399 1069 2 0 -99.835 33.9477 -145.85 + 65 27.8124 397 2 1 -100.563 33.6985 -144.85 + 65 319.273 390 0 1 -101.95 35.7675 -204.738 + 65 104.233 1078 0 0 -102.064 35.7514 -205.85 + 65 144.322 1080 0 0 -102.124 36.0701 -205.85 + 65 114.669 1084 3 0 -101.083 36.9212 -115.85 + 65 97.1137 1087 2 0 -101.19 37.5929 -145.85 + 65 13.9668 394 1 1 -101.35 37.7603 -174.796 + 65 108.914 1088 1 0 -100.873 37.7706 -175.85 + 65 141.242 454 0 1 -89.1995 37.3716 -204.45 + 65 115.34 1085 0 0 -88.9996 37.2457 -205.85 + 65 101.876 1075 0 0 -72.637 35.25 -206.147 + 65 54.4928 542 0 1 -71.5635 34.9709 -204.85 + 65 80.1479 543 0 1 -71.45 34.949 -204.747 + 65 75.3585 544 0 1 -71.2499 34.8864 -204.58 + 65 55.4285 545 0 1 -71.05 34.8203 -204.498 + 65 60.5312 546 0 1 -70.85 34.7545 -204.476 + 65 101.474 547 0 1 -70.6496 34.6504 -204.473 + 65 109.277 548 0 1 -70.45 34.5636 -204.478 + 65 100.818 549 0 1 -70.25 34.5008 -204.578 + 65 108.702 550 0 1 -70.05 34.4014 -204.716 + 65 23.4474 1058 0 0 -68.7339 31.7309 -205.85 + 65 75.1962 1057 0 0 -68.698 31.65 -205.886 + 65 56.8203 1056 0 0 -68.6767 31.45 -206.021 + 65 49.0919 1055 0 0 -68.6523 31.25 -206.085 + 65 56.8683 1054 0 0 -68.6251 31.05 -206.151 + 65 81.4285 1053 0 0 -68.5741 30.85 -206.221 + 65 92.8325 1052 0 0 -68.5246 30.65 -206.237 + 65 55.9503 1051 0 0 -68.5068 30.45 -206.246 + 65 241.221 1050 0 0 -68.4964 30.25 -206.231 + 65 163.947 1018 0 0 -1.74489 23.699 -206.25 + 65 222.391 1065 0 0 52.5639 33.1926 -206.25 + 65 114.173 1064 0 0 52.9829 33.05 -205.934 + 65 29.4134 1183 0 1 56.7842 32.2834 -204.85 + 65 75.2185 1184 0 1 56.85 32.2639 -204.834 + 65 46.1891 1185 0 1 57.0502 32.2295 -204.821 + 65 222.782 1061 0 0 59.6406 32.2669 -205.85 + 65 309.255 1062 0 0 60.2204 32.4501 -206.15 +Number of digits in this event: 32 Using G4ParticleGun... -Particle energy: 7.1517 LIN +Particle energy: 5.84622 LIN Particle: e- Event: 66 -Number of tracker hits in this event: 43 - 66 130.993 447 7 1 -90.6468 -117.419 5.55 - 66 120.005 313 7 0 -90.6464 -117.419 4.15 - 66 176.571 447 6 1 -90.6397 -117.417 -24.45 - 66 111.675 313 6 0 -90.64 -117.417 -25.85 - 66 170.284 447 5 1 -90.6405 -117.42 -54.45 - 66 139.954 313 5 0 -90.6404 -117.422 -55.85 - 66 119.62 447 4 1 -90.6284 -117.513 -84.45 - 66 270.349 313 4 0 -90.6317 -117.513 -85.85 - 66 188.356 446 3 1 -90.7959 -117.581 -114.45 - 66 98.1886 312 3 0 -90.8128 -117.591 -115.85 - 66 144.973 444 2 1 -91.1661 -117.836 -144.45 - 66 124.055 311 2 0 -91.1836 -117.856 -145.85 - 66 165.276 443 1 1 -91.536 -118.271 -174.45 - 66 129.439 309 1 0 -91.5344 -118.289 -175.85 - 66 125.555 442 0 1 -91.5678 -118.57 -204.45 - 66 207.072 307 0 0 -91.5804 -118.587 -205.85 - 66 420.248 854 7 1 -9.25 71.3325 5.54994 - 66 180.167 855 7 1 -9.05 70.9887 5.5015 - 66 49.2658 81 2 1 -163.75 -158.741 -144.749 - 66 24.2879 724 1 1 -35.25 -60.899 -174.531 - 66 0.860078 1237 7 0 -116.792 67.5867 3.75 - 66 59.128 598 1 0 -34.6258 -60.3399 -175.85 - 66 70.8268 599 1 0 -34.4942 -60.2497 -175.913 - 66 22.9636 600 1 0 -34.5627 -60.05 -175.888 - 66 91.3411 725 1 1 -34.8647 -59.4148 -174.85 - 66 306.452 604 1 0 -35.4232 -59.2144 -175.85 - 66 244.139 447 1 1 -90.6405 -117.377 -174.45 - 66 241.919 313 1 0 -90.6385 -117.376 -175.85 - 66 284.1 447 0 1 -90.5607 -117.347 -204.45 - 66 249.881 314 0 0 -90.5497 -117.341 -205.85 - 66 297.677 446 0 1 -90.7504 -117.389 -204.463 - 66 421.641 445 0 1 -90.95 -117.678 -204.617 - 66 161.502 313 0 0 -90.6536 -117.405 -205.85 - 66 77.6562 444 0 1 -91.1507 -117.495 -204.678 - 66 2.96312 309 0 0 -91.8106 -118.343 -205.85 - 66 157.64 308 0 0 -91.8155 -118.35 -205.86 - 66 115.813 252 0 0 -109.746 -129.73 -206.25 - 66 19.1578 251 0 0 -110.041 -129.75 -205.895 - 66 53.2585 349 0 1 -110.185 -130.319 -204.85 - 66 84.153 350 0 1 -110.15 -130.422 -204.684 - 66 166.873 312 0 0 -92.121 -117.669 -205.85 - 66 142.393 311 0 0 -92.5845 -117.75 -205.98 - 66 205.636 433 0 1 -93.3853 -116.835 -204.85 -Number of digits in this event: 29 +Number of tracker hits in this event: 42 + 66 144.946 303 9 1 -119.426 -12.9795 65.55 + 66 140.339 835 9 0 -119.425 -12.977 64.15 + 66 176.605 303 8 1 -119.414 -12.9243 35.55 + 66 178.852 835 8 0 -119.413 -12.9193 34.15 + 66 146.929 303 7 1 -119.381 -12.8139 5.55 + 66 138.249 836 7 0 -119.379 -12.8083 4.15 + 66 152.534 304 6 1 -119.328 -12.6895 -24.45 + 66 104.213 836 6 0 -119.326 -12.6831 -25.85 + 66 143.381 304 5 1 -119.292 -12.5563 -54.45 + 66 100.231 837 5 0 -119.289 -12.5501 -55.85 + 66 119.172 304 4 1 -119.235 -12.4183 -84.45 + 66 112.707 838 4 0 -119.232 -12.4114 -85.85 + 66 196.359 304 3 1 -119.18 -12.2672 -114.45 + 66 132.028 838 3 0 -119.176 -12.2582 -115.85 + 66 116.452 305 2 1 -119.109 -12.074 -144.45 + 66 110.825 839 2 0 -119.105 -12.0626 -145.85 + 66 137.203 305 1 1 -119.028 -11.8287 -174.45 + 66 112.673 841 1 0 -119.023 -11.8167 -175.85 + 66 236.085 306 0 1 -118.927 -11.5709 -204.45 + 66 128.46 842 0 0 -118.922 -11.5591 -205.85 + 66 105.739 710 7 0 -62.5566 -37.9312 3.75 + 66 136.39 588 7 1 -62.3295 -37.9352 5.15 + 66 102.566 789 8 0 46.8643 -22.1489 33.75 + 66 167.277 790 8 0 47.2734 -22.05 33.7886 + 66 168.719 791 8 0 47.7447 -21.85 33.7883 + 66 108.768 792 8 0 48.1586 -21.6499 33.8935 + 66 65.5188 793 8 0 48.4472 -21.45 33.9741 + 66 59.5399 794 8 0 48.595 -21.25 34.0153 + 66 109.555 795 8 0 48.7352 -21.05 34.0427 + 66 64.4098 796 8 0 48.9063 -20.8499 34.1085 + 66 80.2815 1160 8 1 52.1012 -17.0739 35.15 + 66 90.55 1161 8 1 52.25 -16.9029 35.2093 + 66 71.9932 1162 8 1 52.45 -16.6998 35.2667 + 66 93.4569 1163 8 1 52.65 -16.5568 35.2948 + 66 124.849 1164 8 1 52.85 -16.4528 35.3338 + 66 122.81 1165 8 1 53.0504 -16.356 35.3706 + 66 86.529 1166 8 1 53.25 -16.2894 35.4259 + 66 18.4643 1167 8 1 53.45 -16.24 35.5204 + 66 73.8526 824 8 0 51.1267 -15.1319 34.15 + 66 84.7576 825 8 0 50.9987 -15.05 34.0643 + 66 33.7607 826 8 0 50.7986 -14.85 33.8662 + 66 8.3898 935 1 0 -128.158 7.15597 -176.25 +Number of digits in this event: 20 Using G4ParticleGun... -Particle energy: 8.18214 LIN +Particle energy: 8.08572 LIN Particle: e- Event: 67 -Number of tracker hits in this event: 33 - 67 112.59 1565 9 0 23.4191 133.156 64.15 - 67 129.638 1016 8 1 23.4161 133.157 35.55 - 67 155.756 1565 8 0 23.4159 133.158 34.15 - 67 94.7044 1016 7 1 23.4099 133.172 5.55 - 67 126.457 1565 7 0 23.4099 133.174 4.15 - 67 168.511 1016 6 1 23.4118 133.212 -24.45 - 67 127.968 1565 6 0 23.4126 133.214 -25.85 - 67 119.869 1016 5 1 23.43 133.245 -54.45 - 67 111.614 1565 5 0 23.4307 133.246 -55.85 - 67 197.152 1016 4 1 23.4482 133.265 -84.45 - 67 161.585 1565 4 0 23.4503 133.267 -85.85 - 67 139.424 1017 3 1 23.4876 133.301 -114.45 - 67 166.011 1565 3 0 23.4875 133.3 -115.85 - 67 122.888 1017 2 1 23.4799 133.301 -144.45 - 67 109.021 1565 2 0 23.4806 133.302 -145.85 - 67 116.263 1017 1 1 23.4958 133.33 -174.45 - 67 122.515 1565 1 0 23.4926 133.329 -175.85 - 67 130.276 1016 0 1 23.4206 133.316 -204.45 - 67 116.317 1565 0 0 23.4169 133.314 -205.85 - 67 5.70937 1096 4 0 108.058 39.4454 -86.2498 - 67 128.482 1097 4 0 108.052 39.45 -86.2303 - 67 64.7563 1443 4 1 108.807 40.4342 -84.85 - 67 135.732 1444 4 1 108.95 40.5925 -84.7595 - 67 337.106 1445 4 1 109.15 40.9828 -84.8077 - 67 28.3065 1220 0 0 -75.0121 64.25 -205.957 - 67 47.5635 1015 6 1 23.25 133.254 -24.802 - 67 125.732 1567 6 0 23.0724 133.665 -25.8506 - 67 55.2814 1568 6 0 23.0364 133.75 -25.9324 - 67 54.1832 1566 6 0 23.1286 133.55 -26.144 - 67 171.148 1406 6 0 27.3901 101.514 -26.25 - 67 67.9015 1407 6 0 27.4519 101.55 -26.0212 - 67 24.8663 1038 6 1 27.7147 103.807 -24.85 - 67 223.53 1424 6 0 29.4749 105.01 -25.85 -Number of digits in this event: 21 +Number of tracker hits in this event: 149 + 67 148.603 776 10 1 -24.7302 -98.4247 95.55 + 67 112.488 408 10 0 -24.7298 -98.4256 94.15 + 67 195.57 776 9 1 -24.7239 -98.4465 65.55 + 67 107.028 408 9 0 -24.7235 -98.4477 64.15 + 67 96.5903 776 8 1 -24.7167 -98.4712 35.55 + 67 109.308 408 8 0 -24.7172 -98.4713 34.15 + 67 145.909 776 7 1 -24.7286 -98.4761 5.55 + 67 146.38 408 7 0 -24.7301 -98.4758 4.15 + 67 126.924 776 6 1 -24.761 -98.471 -24.45 + 67 120.464 408 6 0 -24.7621 -98.4704 -25.85 + 67 371.62 776 5 1 -24.786 -98.4587 -54.45 + 67 242.42 408 5 0 -24.7864 -98.4583 -55.85 + 67 119.038 776 4 1 -24.7973 -98.45 -84.45 + 67 103.884 408 4 0 -24.7972 -98.4504 -85.85 + 67 107.412 776 3 1 -24.7929 -98.4655 -114.45 + 67 242.54 408 3 0 -24.7921 -98.4662 -115.85 + 67 220.447 776 2 1 -24.7796 -98.4805 -144.45 + 67 359.051 408 2 0 -24.7789 -98.4799 -145.85 + 67 142.217 776 1 1 -24.7615 -98.4635 -174.45 + 67 107.902 408 1 0 -24.762 -98.4638 -175.85 + 67 399.718 776 0 1 -24.77 -98.469 -204.45 + 67 481.515 408 0 0 -24.7709 -98.4694 -205.85 + 67 39.8527 619 4 0 -103.356 -56.1578 -86.25 + 67 23.5123 620 4 0 -103.385 -56.05 -86.2075 + 67 132.911 292 11 0 -102.025 -121.568 123.75 + 67 41.873 293 11 0 -102.011 -121.55 123.773 + 67 8.3898 197 1 0 -39.1962 -140.697 -176.25 + 67 12.0846 1161 1 0 -68.9979 52.2771 -176.25 + 67 152.721 409 3 0 -24.7942 -98.3498 -115.892 + 67 157.756 779 1 1 -24.2281 -97.8821 -174.45 + 67 137.151 411 1 0 -24.1791 -97.8386 -175.85 + 67 107.663 784 0 1 -23.1328 -96.8732 -204.45 + 67 126.933 416 0 0 -23.0386 -96.8991 -205.85 + 67 33.3572 775 2 1 -24.9304 -98.5698 -144.45 + 67 89.4509 774 2 1 -25.05 -98.6533 -144.464 + 67 56.2541 773 2 1 -25.2502 -98.7925 -144.487 + 67 58.6915 772 2 1 -25.4502 -98.9407 -144.508 + 67 108.721 771 2 1 -25.65 -99.0883 -144.521 + 67 61.419 770 2 1 -25.85 -99.2409 -144.53 + 67 72.3581 769 2 1 -26.05 -99.3905 -144.541 + 67 53.7028 768 2 1 -26.25 -99.5358 -144.549 + 67 79.7547 767 2 1 -26.4504 -99.6909 -144.56 + 67 69.2503 766 2 1 -26.65 -99.8612 -144.57 + 67 115.642 765 2 1 -26.85 -100.022 -144.586 + 67 87.3211 764 2 1 -27.05 -100.178 -144.595 + 67 62.1503 763 2 1 -27.25 -100.334 -144.593 + 67 71.7532 762 2 1 -27.45 -100.486 -144.588 + 67 72.9244 761 2 1 -27.65 -100.639 -144.588 + 67 141.727 760 2 1 -27.85 -100.786 -144.587 + 67 57.0112 759 2 1 -28.05 -100.925 -144.587 + 67 64.2701 758 2 1 -28.2503 -101.062 -144.579 + 67 173.752 757 2 1 -28.45 -101.193 -144.565 + 67 75.91 756 2 1 -28.65 -101.334 -144.55 + 67 71.4537 755 2 1 -28.85 -101.467 -144.532 + 67 78.8262 754 2 1 -29.05 -101.607 -144.515 + 67 61.9249 753 2 1 -29.25 -101.749 -144.503 + 67 65.3286 752 2 1 -29.4503 -101.894 -144.498 + 67 67.5301 751 2 1 -29.65 -102.029 -144.488 + 67 73.3884 750 2 1 -29.85 -102.175 -144.474 + 67 78.4899 749 2 1 -30.05 -102.338 -144.468 + 67 89.4087 748 2 1 -30.2503 -102.522 -144.482 + 67 211.374 747 2 1 -30.45 -102.699 -144.496 + 67 64.114 746 2 1 -30.65 -102.86 -144.507 + 67 60.1481 745 2 1 -30.85 -103.016 -144.512 + 67 116.436 744 2 1 -31.05 -103.173 -144.506 + 67 68.0766 743 2 1 -31.25 -103.339 -144.502 + 67 82.3225 742 2 1 -31.45 -103.504 -144.493 + 67 64.4412 741 2 1 -31.65 -103.673 -144.476 + 67 40.6984 740 2 1 -31.85 -103.842 -144.451 + 67 60.4829 739 2 1 -32.05 -103.979 -144.462 + 67 62.0309 738 2 1 -32.25 -104.1 -144.477 + 67 81.3328 737 2 1 -32.45 -104.219 -144.497 + 67 73.4955 736 2 1 -32.65 -104.341 -144.52 + 67 156.293 735 2 1 -32.85 -104.461 -144.538 + 67 84.9955 734 2 1 -33.0506 -104.582 -144.556 + 67 231.752 733 2 1 -33.25 -104.705 -144.569 + 67 184.603 732 2 1 -33.45 -104.827 -144.58 + 67 67.0873 731 2 1 -33.65 -104.952 -144.611 + 67 54.9677 730 2 1 -33.85 -105.069 -144.634 + 67 64.6632 729 2 1 -34.05 -105.189 -144.653 + 67 57.1473 728 2 1 -34.2501 -105.302 -144.665 + 67 127.997 727 2 1 -34.45 -105.396 -144.67 + 67 381.97 726 2 1 -34.65 -105.496 -144.69 + 67 84.3562 725 2 1 -34.85 -105.593 -144.706 + 67 81.3525 724 2 1 -35.05 -105.686 -144.721 + 67 268.693 723 2 1 -35.2502 -105.774 -144.728 + 67 65.9252 722 2 1 -35.4501 -105.861 -144.736 + 67 109.569 721 2 1 -35.65 -105.945 -144.748 + 67 62.8428 720 2 1 -35.85 -106.031 -144.766 + 67 142.164 719 2 1 -36.05 -106.114 -144.78 + 67 112.452 718 2 1 -36.25 -106.196 -144.781 + 67 54.0927 717 2 1 -36.4502 -106.289 -144.781 + 67 78.7163 716 2 1 -36.6501 -106.393 -144.79 + 67 79.755 715 2 1 -36.85 -106.493 -144.802 + 67 95.0039 714 2 1 -37.0504 -106.592 -144.817 + 67 53.5977 713 2 1 -37.25 -106.694 -144.834 + 67 9.89282 712 2 1 -37.4504 -106.798 -144.848 + 67 57.812 299 2 0 -61.3444 -120.237 -145.85 + 67 117.519 298 2 0 -61.5437 -120.35 -145.858 + 67 126.902 297 2 0 -61.8978 -120.55 -145.878 + 67 120.76 296 2 0 -62.2296 -120.75 -145.924 + 67 110.675 295 2 0 -62.5689 -120.95 -145.988 + 67 111.971 294 2 0 -62.8897 -121.15 -146.042 + 67 97.546 293 2 0 -63.189 -121.35 -146.077 + 67 101.929 292 2 0 -63.4756 -121.55 -146.109 + 67 200.214 291 2 0 -63.7774 -121.75 -146.147 + 67 114.008 290 2 0 -64.0743 -121.95 -146.192 + 67 12.5285 289 2 0 -64.3571 -122.15 -146.242 + 67 128.127 1248 1 0 101.38 69.7098 -176.25 + 67 70.1551 1249 1 0 101.715 69.8501 -176.111 + 67 56.5514 1250 1 0 101.666 70.05 -175.968 + 67 128.7 1405 1 1 101.302 71.1001 -174.85 + 67 93.5219 1334 2 0 110.337 86.9557 -146.249 + 67 36.061 1335 2 0 110.371 87.05 -146.005 + 67 134.97 1448 2 1 109.822 87.2731 -144.85 + 67 494.05 1447 2 1 109.75 87.2504 -144.746 + 67 180.959 566 2 0 39.9943 -66.8437 -146.25 + 67 51.9318 410 5 0 -25.0123 -97.9915 -55.8505 + 67 114.482 411 5 0 -25.0289 -97.95 -55.9541 + 67 144.437 752 4 1 -29.5765 -88.0178 -84.4504 + 67 147.363 462 4 0 -29.2987 -87.6216 -85.85 + 67 148.032 791 3 1 -21.7629 -74.0758 -114.45 + 67 22.836 535 3 0 -21.6885 -72.8683 -115.85 + 67 135.019 536 3 0 -21.6859 -72.85 -115.87 + 67 77.7922 537 3 0 -21.6534 -72.65 -116.054 + 67 1.77332 538 3 0 -21.6288 -72.45 -116.247 + 67 11.2231 575 3 0 7.20692 -65.0238 -116.25 + 67 124.001 574 3 0 7.24257 -65.05 -116.216 + 67 22.5417 573 3 0 7.53612 -65.2501 -115.895 + 67 63.0198 941 3 1 8.30532 -65.6908 -114.85 + 67 84.1428 942 3 1 8.45003 -65.7628 -114.677 + 67 8.52071 943 3 1 8.65 -65.8566 -114.466 + 67 263.34 944 3 1 8.86863 -66.2298 -114.45 + 67 100.73 571 3 0 9.34118 -65.8358 -115.85 + 67 83.9289 572 3 0 9.34289 -65.6497 -116.017 + 67 18.285 1694 8 1 159.074 109.888 35.15 + 67 3.32854 409 5 0 -24.8308 -98.35 -56.2282 + 67 113.089 769 4 1 -26.1042 -96.2442 -84.4501 + 67 156.631 418 4 0 -26.2642 -96.3621 -85.85 + 67 18.5396 753 3 1 -29.4417 -98.5989 -114.45 + 67 118.06 752 3 1 -29.45 -98.6099 -114.518 + 67 212.63 406 3 0 -29.6191 -98.8383 -115.85 + 67 122.668 379 2 0 -33.4774 -104.189 -145.85 + 67 225.8 715 1 1 -36.8531 -107.963 -174.45 + 67 121.142 359 1 0 -37.0307 -108.296 -175.85 + 67 49.3996 358 1 0 -37.0598 -108.35 -176.087 + 67 92.0238 693 0 1 -41.4378 -113.591 -204.45 + 67 40.9439 692 0 1 -41.45 -113.635 -204.697 + 67 147.255 331 0 0 -41.5114 -113.829 -205.85 +Number of digits in this event: 52 Using G4ParticleGun... -Particle energy: 1.2723 LIN +Particle energy: 3.9178 LIN Particle: e- Event: 68 -Number of tracker hits in this event: 22 - 68 109.273 721 10 1 -35.7364 85.427 95.55 - 68 122.286 1326 10 0 -35.7416 85.436 94.15 - 68 117.066 720 9 1 -35.8634 85.6428 65.55 - 68 159.366 1327 9 0 -35.8712 85.6461 64.15 - 68 141.379 720 8 1 -36.0023 85.7005 35.55 - 68 182.871 1328 8 0 -36.0125 85.6968 34.15 - 68 115.685 718 7 1 -36.2569 85.6401 5.55 - 68 115.308 1327 7 0 -36.2655 85.6382 4.15 - 68 112.429 717 6 1 -36.4703 85.5729 -24.45 - 68 122.891 1327 6 0 -36.4857 85.5751 -25.85 - 68 113.914 716 5 1 -36.8128 85.6253 -54.45 - 68 121.538 1327 5 0 -36.8348 85.6304 -55.85 - 68 157.494 713 4 1 -37.2884 85.7551 -84.45 - 68 168.468 1328 4 0 -37.3176 85.7575 -85.85 - 68 135.75 710 3 1 -37.9583 85.8399 -114.45 - 68 109.521 1328 3 0 -37.9919 85.8465 -115.85 - 68 125.834 706 2 1 -38.657 85.9779 -144.45 - 68 269.073 1329 2 0 -38.6767 85.9934 -145.85 - 68 118.691 705 1 1 -39.0432 86.3148 -174.45 - 68 149.111 1331 1 0 -39.0519 86.3485 -175.85 - 68 155.732 703 0 1 -39.2637 87.0747 -204.45 - 68 110.222 1335 0 0 -39.2897 87.1013 -205.85 -Number of digits in this event: 14 +Number of tracker hits in this event: 82 + 68 454.704 964 11 1 12.8872 -6.49552 125.55 + 68 112.318 867 11 0 12.8858 -6.4956 124.15 + 68 121.678 964 10 1 12.8648 -6.49348 95.55 + 68 206.212 867 10 0 12.8644 -6.49341 94.15 + 68 128.769 964 9 1 12.8543 -6.49288 65.55 + 68 148.047 867 9 0 12.8548 -6.4943 64.15 + 68 152.988 964 8 1 12.8615 -6.52523 35.55 + 68 145.629 867 8 0 12.8627 -6.5309 34.15 + 68 384.898 964 7 1 12.8972 -6.65007 5.55 + 68 109.454 866 7 0 12.8988 -6.65803 4.15 + 68 134.305 964 6 1 12.9411 -6.82365 -24.45 + 68 124.4 866 6 0 12.9427 -6.83122 -25.85 + 68 390.535 964 5 1 12.999 -6.98392 -54.45 + 68 449.893 865 5 0 12.9956 -6.98984 -55.85 + 68 381.369 964 4 1 12.9279 -7.12197 -84.45 + 68 346.598 864 4 0 12.9272 -7.12346 -85.85 + 68 263.887 964 3 1 12.923 -7.15132 -114.45 + 68 107.716 864 3 0 12.9202 -7.15186 -115.85 + 68 156.831 964 2 1 12.8847 -7.17124 -144.45 + 68 368.69 864 2 0 12.8842 -7.16861 -145.85 + 68 102.301 964 1 1 12.8814 -7.15426 -174.45 + 68 147.026 864 1 0 12.8803 -7.15076 -175.85 + 68 263.502 964 0 1 12.8647 -7.08867 -204.45 + 68 126.288 864 0 0 12.8639 -7.08165 -205.85 + 68 118.281 965 3 1 13.0574 -6.58842 -114.45 + 68 113.735 867 3 0 13.0741 -6.55126 -115.85 + 68 339.024 966 2 1 13.377 -5.80003 -144.45 + 68 243.463 871 2 0 13.3759 -5.76149 -145.85 + 68 136.599 966 1 1 13.3053 -4.9152 -174.45 + 68 126.355 875 1 0 13.3259 -4.89253 -175.85 + 68 148.025 968 0 1 13.6756 -4.47193 -204.45 + 68 139.387 877 0 0 13.737 -4.48409 -205.85 + 68 109.277 966 0 1 13.3385 -4.80468 -204.45 + 68 103.621 873 0 0 13.5331 -5.29165 -205.85 + 68 23.9529 872 0 0 13.5851 -5.4502 -206.185 + 68 142.623 963 0 1 12.7496 -4.04769 -204.45 + 68 44.7327 962 0 1 12.65 -3.66867 -204.747 + 68 53.6714 888 0 0 12.1696 -2.34822 -205.85 + 68 110.058 889 0 0 12.1365 -2.24993 -205.929 + 68 69.5579 890 0 0 12.0918 -2.05 -206.08 + 68 19.8107 891 0 0 12.0797 -1.85 -206.212 + 68 47.8921 1185 2 0 125.901 57.05 -146.088 + 68 209.654 863 3 0 12.9656 -7.4358 -115.85 + 68 133.96 862 2 0 13.4122 -7.57801 -145.85 + 68 152.12 972 1 1 14.4542 -7.65328 -174.45 + 68 120.024 861 1 0 14.4823 -7.66441 -175.85 + 68 119.022 975 0 1 15.0767 -7.84179 -204.45 + 68 98.7573 861 0 0 15.0958 -7.81772 -205.85 + 68 37.1453 961 1 0 -58.0783 12.3259 -176.25 + 68 78.7963 962 1 0 -58.3086 12.45 -175.946 + 68 47.5194 963 1 0 -58.4195 12.65 -175.874 + 68 129.417 612 1 1 -57.5712 15.5135 -174.85 + 68 341.285 611 1 1 -57.65 15.7623 -174.671 + 68 152.605 866 5 0 13.2498 -6.80649 -55.8502 + 68 71.0316 1008 4 1 21.7631 1.19251 -84.4504 + 68 121.242 1007 4 1 21.65 1.14263 -84.5767 + 68 160.253 1006 4 1 21.45 1.02431 -84.765 + 68 307.452 902 4 0 20.5709 0.52613 -85.85 + 68 129.189 901 4 0 20.3143 0.45 -86.2397 + 68 73.4332 900 4 0 20.2533 0.25 -86.1474 + 68 152.484 1002 4 0 -44.3236 20.5482 -86.2499 + 68 133.997 674 4 1 -45.0626 20.6883 -84.85 + 68 203.757 967 4 1 13.46 -5.88305 -84.45 + 68 118.374 870 4 0 13.4664 -5.89652 -85.85 + 68 24.7179 968 3 1 13.8456 -6.18772 -114.45 + 68 83.9544 969 3 1 13.85 -6.19547 -114.548 + 68 135.056 868 3 0 13.9255 -6.29087 -115.85 + 68 169.233 977 2 1 15.5241 -8.05857 -144.45 + 68 99.0032 859 2 0 15.5622 -8.15779 -145.85 + 68 115.682 981 1 1 16.3718 -10.1664 -174.45 + 68 176.24 848 1 0 16.514 -10.3103 -175.85 + 68 112.28 995 0 1 19.1529 -13.2621 -204.45 + 68 207.23 833 0 0 19.2674 -13.278 -205.85 + 68 234.123 965 2 1 13.0581 -7.14957 -144.45 + 68 124.358 967 1 1 13.5297 -6.85037 -174.45 + 68 147.688 866 1 0 13.6269 -6.828 -175.851 + 68 93.4521 977 0 1 15.6183 -6.60348 -204.45 + 68 34.7445 978 0 1 15.65 -6.60501 -204.747 + 68 125.046 867 0 0 15.7662 -6.61006 -205.85 + 68 106.797 965 1 1 13.0636 -7.32175 -174.45 + 68 180.26 863 1 0 13.0627 -7.32466 -175.85 + 68 102.653 863 0 0 13.0196 -7.42564 -205.85 +Number of digits in this event: 53 Using G4ParticleGun... -Particle energy: 9.44311 LIN +Particle energy: 3.96478 LIN Particle: e- Event: 69 -Number of tracker hits in this event: 87 - 69 105.961 949 11 1 9.8812 16.4621 125.55 - 69 104.371 982 11 0 9.88093 16.462 124.15 - 69 120.348 949 10 1 9.8746 16.4577 95.55 - 69 156.124 982 10 0 9.87489 16.458 94.15 - 69 115.102 949 9 1 9.87986 16.4663 65.55 - 69 124.736 982 9 0 9.87941 16.4669 64.15 - 69 159.493 949 8 1 9.86855 16.4805 35.55 - 69 165.554 982 8 0 9.86719 16.4811 34.15 - 69 258.187 948 7 1 9.83917 16.4989 5.55 - 69 114.23 982 7 0 9.8382 16.4996 4.15 - 69 152.335 948 6 1 9.81799 16.5142 -24.45 - 69 120.779 982 6 0 9.81554 16.5152 -25.85 - 69 101.855 948 5 1 9.76668 16.537 -54.45 - 69 140.913 982 5 0 9.76449 16.5383 -55.85 - 69 114.366 948 4 1 9.72113 16.5617 -84.45 - 69 110.543 982 4 0 9.71923 16.5637 -85.85 - 69 106.938 948 3 1 9.68047 16.6026 -114.45 - 69 128.28 982 3 0 9.6786 16.6045 -115.85 - 69 136.077 947 2 1 9.64065 16.6437 -144.45 - 69 97.0781 982 2 0 9.6399 16.6439 -145.85 - 69 120.864 947 1 1 9.62058 16.6538 -174.45 - 69 123.335 983 1 0 9.6193 16.6544 -175.85 - 69 373.035 947 0 1 9.5865 16.6655 -204.45 - 69 175.145 983 0 0 9.58372 16.668 -205.85 - 69 156.033 1568 2 1 133.844 108.896 -144.45 - 69 1.90756 707 0 0 -7.67275 -38.45 -206.136 - 69 89.3131 858 0 1 -8.34445 -39.1019 -204.85 - 69 108.056 857 0 1 -8.45003 -39.2534 -204.667 - 69 167.323 856 0 1 -8.65004 -39.0117 -204.633 - 69 31.3658 709 0 0 -8.78062 -38.077 -205.85 - 69 122.435 710 0 0 -8.80651 -38.05 -205.914 - 69 171.207 711 0 0 -8.91024 -37.85 -205.959 - 69 214.933 986 0 0 9.28039 17.3626 -205.85 - 69 213.548 987 0 0 9.21087 17.45 -205.916 - 69 67.7601 988 0 0 9.26556 17.65 -205.946 - 69 199.312 982 0 0 9.66775 16.5564 -205.85 - 69 69.6195 1619 5 1 143.95 31.683 -54.769 - 69 52.2478 1604 4 1 141.127 75.2166 -84.45 - 69 177.551 1620 5 1 144.15 31.733 -54.552 - 69 43.8208 1120 4 0 64.9895 44.1258 -86.25 - 69 57.9528 1224 4 1 64.9042 43.7741 -84.8497 - 69 213.845 1223 4 1 64.8497 43.7556 -84.7454 - 69 120.474 413 9 0 111.676 -97.4883 63.7501 - 69 156.942 1455 9 1 111.214 -98.0418 65.15 - 69 79.5777 1454 9 1 111.15 -98.0844 65.3439 - 69 144.636 1456 9 1 111.35 -98.4775 65.3633 - 69 58.3182 394 9 0 111.469 -101.161 64.15 - 69 67.0139 393 9 0 111.524 -101.35 64.131 - 69 412.938 392 9 0 111.575 -101.55 64.0889 - 69 29.6792 687 0 1 -42.45 -58.5531 -204.626 - 69 60.1079 686 0 1 -42.65 -58.3948 -204.714 - 69 17.1853 913 2 0 54.289 2.68835 -146.25 - 69 56.6003 912 2 0 54.2754 2.65 -146.217 - 69 6.13274 859 2 1 -8.1994 94.0746 -144.85 - 69 97.7479 986 7 0 9.56638 17.314 4.15 - 69 64.5866 987 7 0 9.59227 17.45 3.91076 - 69 30.2059 981 7 0 60.0935 16.2871 3.75011 - 69 113.323 980 7 0 60.185 16.25 3.83017 - 69 42.914 979 7 0 60.4655 16.0498 3.81378 - 69 15.0502 1090 7 0 113.002 38.2425 3.75 - 69 97.0361 1091 7 0 113.007 38.25 3.75403 - 69 108.117 950 8 1 10.0608 16.4611 35.55 - 69 78.4089 951 8 1 10.25 16.4923 35.3266 - 69 120.011 984 8 0 11.1912 16.8917 34.1495 - 69 85.9412 1082 7 1 36.4586 23.5586 5.55 - 69 100.55 1083 7 1 36.65 23.4734 5.42815 - 69 67.429 1084 7 1 36.85 23.3817 5.33532 - 69 106.201 1085 7 1 37.051 23.2863 5.26043 - 69 39.6609 1086 7 1 37.25 23.193 5.18076 - 69 87.3486 1010 7 0 39.5002 22.1806 4.15 - 69 153.147 1009 7 0 39.7653 22.05 3.99563 - 69 150.796 1008 7 0 40.0381 21.85 3.78413 - 69 26.2771 1000 7 0 32.7333 20.2203 3.75 - 69 148.402 1001 7 0 32.6758 20.25 3.78994 - 69 109.574 1002 7 0 32.3345 20.45 3.92872 - 69 140.042 1003 7 0 32.0043 20.65 4.04348 - 69 25.5537 1051 7 1 30.3291 22.4164 5.15 - 69 80.093 1050 7 1 30.25 22.4975 5.20455 - 69 84.8613 1049 7 1 30.05 22.6377 5.29751 - 69 53.622 1048 7 1 29.85 22.74 5.34638 - 69 55.7931 1047 7 1 29.6492 22.8437 5.37399 - 69 79.4882 1046 7 1 29.4499 22.9416 5.4437 - 69 5.34392 1045 7 1 29.25 23.0074 5.53588 - 69 3.65077 1072 8 0 -20.1165 34.4732 33.75 - 69 64.1339 1062 7 1 32.6281 20.8048 5.15023 - 69 15.1974 1048 5 0 71.7179 29.65 -55.9377 - 69 33.1684 626 0 1 -54.8155 58.1664 -204.45 -Number of digits in this event: 36 +Number of tracker hits in this event: 82 + 69 154.178 961 11 1 12.4386 36.6484 125.55 + 69 118.891 1082 11 0 12.4381 36.6472 124.15 + 69 113.794 961 10 1 12.4285 36.6266 95.55 + 69 109.567 1082 10 0 12.4293 36.6265 94.15 + 69 156.504 961 9 1 12.4454 36.6296 65.55 + 69 94.8666 1082 9 0 12.4448 36.6296 64.15 + 69 95.4489 961 8 1 12.4373 36.6253 35.55 + 69 122.645 1082 8 0 12.438 36.6253 34.15 + 69 120.897 962 7 1 12.4513 36.6258 5.55 + 69 107.898 1082 7 0 12.4558 36.6289 4.15 + 69 344.444 962 6 1 12.5585 36.6911 -24.45 + 69 110.59 1083 6 0 12.5645 36.6954 -25.85 + 69 115.93 963 5 1 12.687 36.7926 -54.45 + 69 322.003 1083 5 0 12.6936 36.7972 -55.85 + 69 161.026 963 4 1 12.8199 36.8963 -84.45 + 69 143.453 1084 4 0 12.8238 36.9005 -85.85 + 69 99.8189 964 3 1 12.9003 36.9853 -114.45 + 69 141.644 1084 3 0 12.9017 36.9884 -115.85 + 69 121.254 964 2 1 12.9265 37.0599 -144.45 + 69 275.706 1085 2 0 12.9305 37.0635 -145.85 + 69 886.577 964 1 1 12.9987 37.1579 -174.45 + 69 663.952 1085 1 0 12.9991 37.1612 -175.85 + 69 299.527 964 0 1 13.0056 37.2367 -204.45 + 69 258.296 1085 0 0 13.0045 37.2391 -205.85 + 69 274.951 134 1 0 170.059 -153.15 -176.207 + 69 74.2003 133 1 0 170.387 -153.35 -176.103 + 69 215.777 1752 1 1 170.655 -153.692 -174.85 + 69 17.2077 1084 2 0 12.9492 37.05 -146.198 + 69 127.709 851 2 0 13.5475 -9.81185 -146.25 + 69 91.4711 850 2 0 13.525 -9.85 -146.22 + 69 53.5163 570 2 0 25.6197 -65.9678 -146.25 + 69 199.215 569 2 0 25.6377 -66.0501 -146.208 + 69 37.5923 1002 3 0 81.9711 20.6498 -116.25 + 69 95.466 1003 3 0 82.0865 20.65 -116.182 + 69 117.44 1102 3 0 84.0997 40.6103 -116.25 + 69 143.073 1103 3 0 84.0692 40.6501 -116.181 + 69 171.95 952 3 0 97.7038 10.6035 -116.25 + 69 130.329 971 0 1 14.3757 38.6918 -204.45 + 69 110.646 1093 0 0 14.4481 38.7415 -205.85 + 69 119.722 965 2 1 13.1422 37.1139 -144.45 + 69 109.406 963 1 1 12.6883 37.3799 -174.45 + 69 158.574 1087 1 0 12.7076 37.4572 -175.85 + 69 116.133 966 0 1 13.4132 39.1494 -204.45 + 69 128.599 1095 0 0 13.4332 39.1558 -205.85 + 69 35.6146 965 1 1 13.05 36.8565 -174.752 + 69 121.297 1083 1 0 13.2531 36.8036 -175.85 + 69 118.782 1021 1 0 78.4227 24.3511 -176.25 + 69 157.415 1020 1 0 78.5651 24.2499 -176.173 + 69 39.6478 1019 1 0 78.6984 24.05 -175.941 + 69 21.2167 1293 1 1 78.845 23.569 -174.85 + 69 116.454 1294 1 1 78.85 23.5631 -174.767 + 69 82.3293 1724 11 0 -116.379 164.95 124.025 + 69 133.278 1084 1 0 12.9736 36.8638 -175.85 + 69 126.83 961 0 1 12.3911 36.8189 -204.45 + 69 524.867 1083 0 0 12.3655 36.7987 -205.85 + 69 12.5072 839 0 1 -12.05 67.384 -204.806 + 69 212.425 1082 6 0 12.4862 36.6308 -25.85 + 69 134.646 961 5 1 12.4116 36.6932 -54.45 + 69 101.061 961 4 1 12.3393 36.5324 -84.45 + 69 142.553 1082 4 0 12.3404 36.5455 -85.85 + 69 120.749 961 3 1 12.3133 36.8587 -114.45 + 69 138.438 1083 3 0 12.2853 36.8343 -115.85 + 69 117.343 958 2 1 11.6641 36.3929 -144.45 + 69 614.072 1081 2 0 11.6522 36.371 -145.85 + 69 140.554 956 1 1 11.4329 35.6105 -174.45 + 69 94.2616 1077 1 0 11.4453 35.585 -175.85 + 69 116.898 958 0 1 11.7147 35.0201 -204.45 + 69 139.654 1074 0 0 11.7293 34.9723 -205.85 + 69 323.533 1082 2 0 11.587 36.4501 -146.089 + 69 115.216 965 5 1 13.1123 36.2239 -54.45 + 69 106.536 1080 5 0 13.1625 36.2342 -55.85 + 69 176.851 970 4 1 14.1798 36.4082 -84.45 + 69 107.897 1081 4 0 14.2179 36.3923 -85.85 + 69 152.211 975 3 1 15.0658 36.1808 -114.45 + 69 108.156 1080 3 0 15.094 36.1865 -115.85 + 69 53.9553 977 2 1 15.6378 36.2654 -144.45 + 69 54.3941 978 2 1 15.65 36.2835 -144.632 + 69 123 988 1 1 17.6594 39.0848 -174.45 + 69 130.266 1094 1 0 17.6337 38.9673 -175.85 + 69 128.411 983 0 1 16.6848 36.4289 -204.45 + 69 111.222 1081 0 0 16.6222 36.3654 -205.85 + 69 13.2069 993 0 1 18.8189 36.7011 -204.815 +Number of digits in this event: 46 Using G4ParticleGun... -Particle energy: 2.30529 LIN +Particle energy: 3.84831 LIN Particle: e- Event: 70 -Number of tracker hits in this event: 34 - 70 131.847 1070 10 1 34.1375 106.059 95.55 - 70 94.5981 1429 10 0 34.1382 106.06 94.15 - 70 105.572 1070 9 1 34.1551 106.058 65.55 - 70 105 1429 9 0 34.1572 106.059 64.15 - 70 112.516 1070 8 1 34.2093 106.098 35.55 - 70 116.804 1429 8 0 34.2137 106.102 34.15 - 70 128.961 1071 7 1 34.3074 106.172 5.55 - 70 123.56 1430 7 0 34.3157 106.177 4.15 - 70 251.566 1072 6 1 34.4759 106.291 -24.45 - 70 117.143 1430 6 0 34.4847 106.297 -25.85 - 70 156.545 1073 5 1 34.6562 106.434 -54.45 - 70 150.129 1431 5 0 34.6575 106.444 -55.85 - 70 110.304 1073 4 1 34.6673 106.679 -84.45 - 70 148.235 1432 4 0 34.6661 106.684 -85.85 - 70 111.928 1072 3 1 34.6484 106.785 -114.45 - 70 126.84 1433 3 0 34.6426 106.79 -115.85 - 70 102.874 1072 2 1 34.4959 106.929 -144.45 - 70 153.797 1433 2 0 34.4956 106.936 -145.85 - 70 157.384 1072 1 1 34.4938 107.085 -174.45 - 70 130.017 1434 1 0 34.497 107.091 -175.85 - 70 262.626 1072 0 1 34.5603 107.164 -204.45 - 70 133.3 1435 0 0 34.5456 107.176 -205.85 - 70 54.2345 1434 2 0 34.4908 106.95 -146.199 - 70 42.6207 1073 6 1 34.65 105.981 -24.8287 - 70 365.203 1418 6 0 35.0684 103.862 -25.85 - 70 59.6119 1417 6 0 35.0466 103.75 -25.9124 - 70 61.1792 1127 3 0 -121.514 45.5664 -116.25 - 70 377.001 1128 3 0 -121.637 45.65 -116.177 - 70 19.4458 273 3 1 -125.455 43.221 -114.85 - 70 48.0031 1094 3 0 -130.732 39.0234 -115.85 - 70 43.7328 141 3 1 -151.812 41.8068 -114.85 - 70 27.8858 140 3 1 -151.95 41.8527 -114.822 - 70 85.6274 1116 3 0 -153.872 43.2588 -115.85 - 70 346.352 1117 3 0 -153.923 43.45 -115.975 -Number of digits in this event: 18 +Number of tracker hits in this event: 84 + 70 202.428 446 9 1 -90.752 -87.4152 65.55 + 70 116.685 463 9 0 -90.7537 -87.4169 64.15 + 70 155.995 446 8 1 -90.8069 -87.4525 35.55 + 70 99.3159 462 8 0 -90.8092 -87.4562 34.15 + 70 111.507 446 7 1 -90.8516 -87.5242 5.55 + 70 140.565 462 7 0 -90.8538 -87.5263 4.15 + 70 244.168 446 6 1 -90.8999 -87.5718 -24.45 + 70 119.466 462 6 0 -90.9011 -87.5725 -25.85 + 70 118.274 446 5 1 -90.9321 -87.5958 -54.45 + 70 301.391 462 5 0 -90.9361 -87.5982 -55.85 + 70 193.646 445 4 1 -91.031 -87.662 -84.45 + 70 112.862 461 4 0 -91.0354 -87.6657 -85.85 + 70 536.029 445 3 1 -91.1147 -87.7642 -114.45 + 70 371.866 461 3 0 -91.1149 -87.7577 -115.85 + 70 122.791 445 2 1 -91.1229 -87.6176 -144.45 + 70 113.104 462 2 0 -91.1219 -87.6104 -145.85 + 70 105.457 445 1 1 -91.1207 -87.4674 -174.45 + 70 203.396 462 1 0 -91.12 -87.4594 -175.85 + 70 102.122 445 0 1 -91.1229 -87.2861 -204.45 + 70 355.298 463 0 0 -91.1258 -87.2823 -205.85 + 70 108.069 442 2 1 -91.6703 -86.5387 -144.451 + 70 54.8158 467 2 0 -91.7976 -86.4606 -145.85 + 70 71.3053 468 2 0 -91.8143 -86.45 -146.03 + 70 122.829 429 1 1 -94.337 -84.0151 -174.45 + 70 190.972 481 1 0 -94.3444 -83.7644 -175.85 + 70 123.213 427 0 1 -94.704 -78.4556 -204.45 + 70 51.131 509 0 0 -94.63 -78.0971 -205.851 + 70 56.0659 510 0 0 -94.6201 -78.05 -206.035 + 70 61.8801 444 3 1 -91.15 -87.7874 -114.559 + 70 66.7787 443 3 1 -91.35 -87.7601 -114.666 + 70 49.7352 442 3 1 -91.55 -87.7671 -114.733 + 70 57.5568 441 3 1 -91.75 -87.8121 -114.778 + 70 48.3752 440 3 1 -91.95 -87.7888 -114.794 + 70 0.717229 439 3 1 -92.15 -87.7915 -114.848 + 70 196.479 462 3 0 -94.8044 -87.6166 -115.85 + 70 141.432 446 2 1 -90.8063 -87.2082 -144.45 + 70 136.542 464 2 0 -90.756 -87.0919 -145.85 + 70 111.404 452 1 1 -89.6229 -84.74 -174.45 + 70 112.57 477 1 0 -89.5349 -84.62 -175.85 + 70 131.701 462 0 1 -87.6134 -81.9232 -204.45 + 70 112.536 491 0 0 -87.6017 -81.8438 -205.85 + 70 31.4048 493 0 0 -87.5403 -81.4287 -205.85 + 70 34.6143 443 2 1 -91.4615 -87.7785 -144.45 + 70 0.978204 461 2 0 -91.5157 -87.8496 -145.85 + 70 194.011 460 2 0 -91.516 -87.85 -145.856 + 70 30.7976 424 1 1 -95.3144 -89.2392 -174.45 + 70 98.3575 423 1 1 -95.35 -89.2319 -174.573 + 70 136.738 454 1 0 -95.7885 -89.2024 -175.85 + 70 64.1458 373 0 1 -105.415 -89.0487 -204.45 + 70 73.908 372 0 1 -105.55 -89.1248 -204.621 + 70 5.60248 371 0 1 -105.75 -89.2481 -204.836 + 70 243.352 450 0 0 -106.677 -89.8613 -205.85 + 70 119.524 321 0 0 -145.995 -115.809 -206.25 + 70 101.578 320 0 0 -146.306 -115.95 -206.033 + 70 20.7334 160 0 1 -148.073 -116.339 -204.85 + 70 69.4358 159 0 1 -148.15 -116.354 -204.802 + 70 88.5539 158 0 1 -148.35 -116.414 -204.687 + 70 93.6691 157 0 1 -148.55 -116.492 -204.556 + 70 50.9105 347 1 0 -155.29 -110.575 -176.25 + 70 77.7093 348 1 0 -155.316 -110.55 -176.141 + 70 90.1238 122 1 1 -155.675 -110.146 -174.85 + 70 19.3063 121 1 1 -155.75 -110.052 -174.531 + 70 52.7771 551 2 0 -177.783 -69.7865 -146.25 + 70 59.0982 552 2 0 -177.872 -69.65 -146.161 + 70 66.1946 553 2 0 -178.005 -69.45 -146.035 + 70 18.7717 554 2 0 -178.16 -69.2496 -145.878 + 70 50.8792 4 2 1 -179.23 -68.1073 -144.85 + 70 78.79 3 2 1 -179.35 -67.9903 -144.742 + 70 77.238 2 2 1 -179.55 -67.846 -144.649 + 70 123.771 1 2 1 -179.75 -67.6972 -144.589 + 70 32.2167 0 2 1 -179.95 -67.5083 -144.501 + 70 68.8726 451 0 0 -106.901 -89.85 -205.928 + 70 206.404 365 0 1 -107.055 -88.9705 -204.85 + 70 169.631 366 0 1 -106.95 -88.9617 -204.516 + 70 299.023 443 0 1 -91.3653 -87.7068 -204.45 + 70 117.807 461 0 0 -91.3642 -87.6979 -205.85 + 70 109.483 613 0 0 -61.9219 -57.45 -206.136 + 70 136.082 459 0 0 -91.4885 -88.0967 -205.85 + 70 0.711899 458 0 0 -91.5146 -88.2504 -206.247 + 70 127.331 462 0 0 -87.7227 -87.5577 -206.25 + 70 60.3702 455 0 1 -88.8929 -86.9998 -204.85 + 70 96.3709 454 0 1 -89.05 -86.9909 -204.728 + 70 62.0966 444 0 1 -91.35 -87.6611 -204.657 + 70 90.1577 464 0 0 -91.1344 -87.25 -206.221 +Number of digits in this event: 29 Using G4ParticleGun... -Particle energy: 2.18828 LIN +Particle energy: 2.96101 LIN Particle: e- Event: 71 -Number of tracker hits in this event: 80 - 71 113.802 1294 10 1 78.886 39.0061 95.55 - 71 173.362 1094 10 0 78.8826 39.0016 94.15 - 71 135.46 1293 9 1 78.8251 38.9159 65.55 - 71 124.542 1094 9 0 78.8233 38.9092 64.15 - 71 163.109 1293 8 1 78.7877 38.7693 35.55 - 71 150.206 1093 8 0 78.7816 38.7623 34.15 - 71 117.908 1293 7 1 78.6579 38.624 5.55 - 71 121.076 1092 7 0 78.6521 38.622 4.15 - 71 168.096 1292 6 1 78.5441 38.566 -24.45 - 71 153.045 1092 6 0 78.5378 38.5595 -25.85 - 71 306.575 1291 5 1 78.3861 38.4299 -54.45 - 71 411.027 1091 5 0 78.387 38.4149 -55.85 - 71 450.385 1291 4 1 78.4018 38.1202 -84.45 - 71 124.172 1090 4 0 78.3859 38.1048 -85.85 - 71 124.517 1289 3 1 78.0208 37.8134 -114.45 - 71 179.566 1088 3 0 78.0074 37.7908 -115.85 - 71 289.636 1288 2 1 77.6856 37.2843 -144.45 - 71 24.0883 1086 2 0 77.6734 37.2528 -145.85 - 71 71.4912 1085 2 0 77.6723 37.25 -145.976 - 71 304.363 1286 1 1 77.441 36.6122 -174.45 - 71 157.596 1082 1 0 77.4265 36.5749 -175.85 - 71 123.362 1285 0 1 77.1283 35.7973 -204.45 - 71 108.498 1078 0 0 77.1176 35.76 -205.85 - 71 150.85 1089 3 0 77.9733 37.85 -116.136 - 71 119.482 1091 4 0 78.3891 38.3223 -85.85 - 71 155.505 1290 3 1 78.2178 38.3052 -114.45 - 71 155.958 1090 3 0 78.1932 38.2376 -115.85 - 71 52.1146 1082 2 0 77.6265 36.4951 -145.85 - 71 203.376 1081 2 0 77.6166 36.45 -146.02 - 71 110.955 1278 1 1 75.7769 28.8823 -174.45 - 71 46.9714 1042 1 0 75.7053 28.5013 -175.85 - 71 76.9102 1041 1 0 75.6952 28.45 -176.035 - 71 104.24 1270 0 1 74.2275 20.3766 -204.45 - 71 12.9246 1000 0 0 74.1842 20.0604 -205.85 - 71 277.177 999 0 0 74.1827 20.05 -205.896 - 71 91.4673 1089 4 0 78.3821 38.0483 -85.85 - 71 122.069 1291 3 1 78.3557 37.3081 -114.45 - 71 163.894 1086 3 0 78.3497 37.2655 -115.85 - 71 150.327 1291 2 1 78.3043 36.3429 -144.45 - 71 131.114 1289 1 1 78.0077 35.4047 -174.45 - 71 127.204 1076 1 0 78.0249 35.3439 -175.85 - 71 232.992 1292 0 1 78.4834 34.1464 -204.45 - 71 41.8973 1070 0 0 78.4665 34.0571 -205.85 - 71 72.5624 1069 0 0 78.4651 34.05 -205.957 - 71 77.4811 1290 4 1 78.25 38.1173 -84.5585 - 71 59.9875 1289 4 1 78.05 38.1306 -84.7229 - 71 72.7904 1086 4 0 76.7133 37.3924 -85.8501 - 71 77.1809 1085 4 0 76.5421 37.25 -86.0157 - 71 75.8355 1084 4 0 76.3788 37.05 -86.0779 - 71 105.189 1083 4 0 76.2836 36.85 -86.0195 - 71 54.8974 1082 4 0 76.1428 36.65 -85.932 - 71 29.5994 1270 4 1 74.1127 35.5713 -84.85 - 71 227.168 1269 4 1 74.05 35.5099 -84.8286 - 71 16.2182 1057 4 0 72.7259 31.5172 -85.8501 - 71 160.978 1056 4 0 72.7048 31.45 -85.8583 - 71 0.0204429 1055 4 0 72.4601 31.25 -86.2498 - 71 91.1056 769 4 0 64.3351 -26.2046 -86.2495 - 71 255.821 768 4 0 64.2855 -26.2501 -86.0842 - 71 13.5434 1090 1 0 77.9356 38.2471 -176.13 - 71 474.059 1091 1 0 77.9414 38.25 -176.142 - 71 131.397 1274 0 1 74.9027 41.1332 -204.45 - 71 13.6921 1273 0 1 74.85 41.2507 -204.791 - 71 14.5093 1108 0 0 74.5436 41.8215 -205.85 - 71 127.854 1109 0 0 74.5289 41.85 -205.904 - 71 139.749 1078 3 1 35.6818 15.1851 -114.85 - 71 28.3944 1079 3 1 35.8502 14.8447 -114.519 - 71 359.514 1290 2 1 78.1367 38.3996 -144.45 - 71 278.173 1091 2 0 78.1672 38.392 -145.85 - 71 146.042 1293 1 1 78.8417 38.1585 -174.45 - 71 108.125 1089 1 0 78.8301 38.0387 -175.85 - 71 143.453 1076 0 0 78.464 35.3563 -205.85 - 71 374.891 1064 0 0 64.4569 32.9775 -206.25 - 71 100.09 1223 0 1 64.8009 33.0577 -204.85 - 71 132.385 1224 0 1 64.8501 33.0091 -204.789 - 71 183.915 1291 1 1 78.3819 38.3471 -174.45 - 71 119.471 1293 0 1 78.6773 38.3988 -204.45 - 71 283.677 1091 0 0 78.6819 38.4131 -205.85 - 71 145.463 686 9 1 -42.65 -50.2507 65.2029 - 71 348.211 649 9 0 -42.5462 -50.1409 64.1496 - 71 357.177 1292 5 1 78.45 38.4692 -54.478 -Number of digits in this event: 49 +Number of tracker hits in this event: 39 + 71 142.147 352 9 0 -79.2335 -109.698 64.15 + 71 126.017 504 8 1 -79.2238 -109.7 35.55 + 71 117.398 352 8 0 -79.229 -109.704 34.15 + 71 210.191 503 7 1 -79.3494 -109.783 5.55 + 71 125.68 351 7 0 -79.3528 -109.792 4.15 + 71 102.945 503 6 1 -79.43 -109.968 -24.45 + 71 341.642 350 6 0 -79.4323 -109.98 -25.85 + 71 149.92 502 5 1 -79.4816 -110.19 -54.45 + 71 118.788 349 5 0 -79.4855 -110.209 -55.85 + 71 91.6169 502 4 1 -79.5372 -110.609 -84.45 + 71 97.835 347 4 0 -79.5335 -110.621 -85.85 + 71 109.9 502 3 1 -79.504 -110.893 -114.45 + 71 360.043 346 3 0 -79.497 -110.9 -115.85 + 71 105.958 503 2 1 -79.3397 -110.99 -144.45 + 71 303.655 345 2 0 -79.3353 -111.005 -145.85 + 71 116.798 503 1 1 -79.2786 -111.282 -174.45 + 71 204.704 344 1 0 -79.2779 -111.289 -175.85 + 71 713.278 503 0 1 -79.2583 -111.476 -204.45 + 71 171.509 343 0 0 -79.2495 -111.462 -205.85 + 71 664.834 342 0 0 -79.3787 -111.617 -205.85 + 71 64.2518 1793 2 0 -173.864 178.931 -146.25 + 71 248.044 503 3 1 -79.4378 -110.819 -114.45 + 71 122.651 501 2 1 -79.7716 -111.978 -144.45 + 71 194.843 340 2 0 -79.7737 -112.023 -145.85 + 71 134.356 501 1 1 -79.6617 -113.372 -174.45 + 71 107.804 333 1 0 -79.7092 -113.448 -175.85 + 71 116.336 497 0 1 -80.5138 -114.99 -204.45 + 71 172.912 325 0 0 -80.5252 -114.983 -205.85 + 71 187.099 504 2 1 -79.1378 -110.044 -144.45 + 71 113.059 350 2 0 -79.2599 -110.126 -145.851 + 71 110.067 491 1 1 -81.6741 -111.502 -174.45 + 71 4.5372 342 1 0 -82.1416 -111.746 -175.85 + 71 121.308 341 1 0 -82.1495 -111.75 -175.874 + 71 98.2307 436 0 1 -92.8529 -116.16 -204.45 + 71 115.205 318 0 0 -93.1532 -116.461 -205.85 + 71 0.421273 317 0 0 -93.2353 -116.55 -206.247 + 71 10.6859 346 2 0 -79.4918 -110.932 -145.85 + 71 1.96863 344 2 0 -79.6185 -111.15 -146.243 + 71 34.4614 439 0 1 -92.2526 -103.608 -204.45 +Number of digits in this event: 21 Using G4ParticleGun... -Particle energy: 5.53929 LIN +Particle energy: 5.00769 LIN Particle: e- Event: 72 -Number of tracker hits in this event: 36 - 72 144.442 1093 9 1 38.6819 123.222 65.55 - 72 167.263 1515 9 0 38.6835 123.223 64.15 - 72 120.814 1093 8 1 38.7241 123.24 35.55 - 72 159.441 1515 8 0 38.7257 123.244 34.15 - 72 144.139 1093 7 1 38.7596 123.319 5.55 - 72 143.527 1515 7 0 38.7623 123.322 4.15 - 72 104.784 1093 6 1 38.8232 123.369 -24.45 - 72 147.701 1516 6 0 38.8241 123.369 -25.85 - 72 170.939 1093 5 1 38.8415 123.354 -54.45 - 72 335.033 1516 5 0 38.8434 123.352 -55.85 - 72 126.575 1094 4 1 38.8874 123.313 -84.45 - 72 114.087 1515 4 0 38.8913 123.31 -85.85 - 72 125.056 1094 3 1 38.9793 123.261 -114.45 - 72 106.215 1515 3 0 38.9829 123.259 -115.85 - 72 126.806 1095 2 1 39.0528 123.218 -144.45 - 72 118.325 1515 2 0 39.0539 123.218 -145.85 - 72 109.553 1094 1 1 39.0335 123.176 -174.45 - 72 104.014 1515 1 0 39.0312 123.174 -175.85 - 72 341.003 1094 0 1 38.9822 123.126 -204.45 - 72 186.306 1514 0 0 38.9864 123.121 -205.85 - 72 48.8703 1328 14 0 -116.276 85.6913 213.75 - 72 118.706 1075 4 1 35.1137 125.395 -84.45 - 72 146.98 1526 4 0 34.9868 125.479 -85.85 - 72 88.0078 1063 3 1 32.6759 126.61 -114.45 - 72 58.4561 1062 3 1 32.65 126.639 -114.727 - 72 139.235 1533 3 0 32.5218 126.76 -115.85 - 72 106.158 1049 2 1 30.0074 130.103 -144.45 - 72 109.285 1549 2 0 29.7526 130.134 -145.85 - 72 138.325 1023 1 1 24.7732 130.513 -174.45 - 72 147.669 1551 1 0 24.5619 130.407 -175.85 - 72 138.181 999 0 1 19.9681 128.128 -204.45 - 72 248.511 1538 0 0 19.7632 127.881 -205.85 - 72 77.1132 1682 1 0 13.534 156.57 -176.25 - 72 8.32278 1095 0 1 39.2476 123.769 -204.452 - 72 102.497 1096 0 1 39.25 123.769 -204.494 - 72 435.482 1518 0 0 39.3148 123.791 -205.851 -Number of digits in this event: 24 -Using G4ParticleGun... -Particle energy: 5.17972 LIN +Number of tracker hits in this event: 55 + 72 151.143 283 8 1 -123.408 77.4886 35.55 + 72 148.918 1287 8 0 -123.408 77.4887 34.15 + 72 140.054 283 7 1 -123.408 77.4863 5.55 + 72 141.737 1287 7 0 -123.407 77.4868 4.15 + 72 114.046 283 6 1 -123.406 77.4779 -24.45 + 72 128.613 1287 6 0 -123.407 77.4758 -25.85 + 72 171.349 283 5 1 -123.435 77.4408 -54.45 + 72 113.076 1286 5 0 -123.432 77.4383 -55.85 + 72 136.035 284 4 1 -123.349 77.3837 -84.45 + 72 105.547 1286 4 0 -123.346 77.3839 -85.85 + 72 288.849 284 3 1 -123.275 77.3988 -114.45 + 72 176.118 1286 3 0 -123.278 77.4021 -115.85 + 72 113.014 283 2 1 -123.359 77.4772 -144.45 + 72 97.5389 1287 2 0 -123.37 77.4802 -145.85 + 72 374.011 282 1 1 -123.586 77.5338 -174.45 + 72 456.653 1287 1 0 -123.586 77.5319 -175.85 + 72 179.336 282 0 1 -123.573 77.488 -204.45 + 72 137.5 1287 0 0 -123.571 77.4894 -205.85 + 72 103.746 808 9 0 -47.9174 -18.3393 63.75 + 72 178.721 807 9 0 -47.9745 -18.45 63.9889 + 72 139.078 1286 1 0 -123.555 77.3701 -175.85 + 72 89.2923 283 0 1 -123.55 74.2696 -204.502 + 72 25.7568 284 0 1 -123.35 74.3234 -204.77 + 72 121.278 1272 0 0 -122.762 74.5668 -205.85 + 72 63.0804 283 1 1 -123.55 77.5324 -174.636 + 72 104.612 297 0 1 -120.669 79.899 -204.45 + 72 192.631 1297 0 0 -120.421 79.5693 -205.85 + 72 72.0824 1285 3 0 -123.489 77.1251 -115.85 + 72 29.5105 1284 3 0 -123.552 77.05 -116.128 + 72 45.858 249 2 1 -130.237 68.8028 -144.45 + 72 73.4647 248 2 1 -130.35 68.8455 -144.574 + 72 59.5784 247 2 1 -130.55 68.9225 -144.738 + 72 11.5325 1249 2 0 -132.176 70.0303 -145.85 + 72 108.912 1250 2 0 -132.202 70.05 -145.871 + 72 249.872 1251 2 0 -132.519 70.25 -146.077 + 72 87.325 80 1 1 -163.971 75.888 -174.45 + 72 108.353 79 1 1 -164.15 75.8202 -174.665 + 72 44.7469 78 1 1 -164.35 75.7052 -174.792 + 72 25.1316 1265 1 0 -167.454 73.106 -175.85 + 72 239.486 1264 1 0 -167.535 73.0496 -175.869 + 72 2.9364 70 1 1 -166.052 71.8519 -174.85 + 72 124.084 1245 1 0 -161.091 69.2413 -175.85 + 72 73.5469 283 3 1 -123.35 77.277 -114.598 + 72 76.8978 282 3 1 -123.55 77.2174 -114.713 + 72 13.929 281 3 1 -123.75 77.2578 -114.817 + 72 133.768 1288 3 0 -125.534 77.7137 -115.85 + 72 351.606 1289 3 0 -125.766 77.8501 -115.926 + 72 41.1433 253 3 1 -129.475 76.054 -114.85 + 72 65.1374 252 3 1 -129.55 76.015 -114.793 + 72 149.448 251 3 1 -129.75 75.9804 -114.719 + 72 46.0193 250 3 1 -129.95 75.8789 -114.53 + 72 36.8971 427 9 1 -94.6144 45.9056 65.15 + 72 116.092 428 9 1 -94.55 45.9224 65.2826 + 72 190.915 429 9 1 -94.35 45.8911 65.3421 + 72 203.697 430 9 1 -94.15 45.7589 65.4784 +Number of digits in this event: 28 +Using G4ParticleGun... +Particle energy: 2.30673 LIN Particle: e- Event: 73 -Number of tracker hits in this event: 38 - 73 116.954 394 10 1 -101.271 54.8884 95.55 - 73 117.123 1174 10 0 -101.273 54.8886 94.15 - 73 145.514 394 9 1 -101.297 54.8942 65.55 - 73 104.009 1174 9 0 -101.296 54.8933 64.15 - 73 138.704 394 8 1 -101.291 54.8731 35.55 - 73 126.239 1174 8 0 -101.29 54.8711 34.15 - 73 131.706 394 7 1 -101.271 54.8333 5.55 - 73 126.617 1173 7 0 -101.271 54.8326 4.15 - 73 165.02 394 6 1 -101.274 54.8125 -24.45 - 73 144.221 1173 6 0 -101.275 54.8116 -25.85 - 73 103.216 394 5 1 -101.303 54.7871 -54.45 - 73 120.321 1173 5 0 -101.304 54.7863 -55.85 - 73 124.079 394 4 1 -101.33 54.7727 -84.45 - 73 111.294 1173 4 0 -101.331 54.7696 -85.85 - 73 117.18 393 3 1 -101.354 54.6965 -114.45 - 73 117.65 1173 3 0 -101.355 54.6947 -115.85 - 73 109.197 393 2 1 -101.389 54.6516 -144.45 - 73 216.294 1172 2 0 -101.391 54.6474 -145.85 - 73 202.961 393 1 1 -101.446 54.5645 -174.45 - 73 127.639 1172 1 0 -101.447 54.5599 -175.85 - 73 395.73 393 0 1 -101.478 54.4451 -204.45 - 73 277.905 1171 0 0 -101.475 54.4406 -205.85 - 73 139.783 1101 4 0 -96.8833 40.3848 -86.25 - 73 199.687 1102 4 0 -96.8672 40.45 -86.1794 - 73 163.713 394 0 1 -101.16 54.626 -204.45 - 73 152.563 395 0 1 -101.15 54.6022 -204.582 - 73 222.788 394 2 1 -101.275 54.6797 -144.45 - 73 160.562 396 1 1 -100.766 54.2214 -174.45 - 73 87.76 1170 1 0 -100.714 54.1737 -175.85 - 73 136.186 403 0 1 -99.445 53.2608 -204.45 - 73 123.928 1165 0 0 -99.3694 53.225 -205.85 - 73 317.467 1173 1 0 -101.384 54.65 -175.861 - 73 165.873 1174 1 0 -101.532 54.85 -176.037 - 73 20.6401 1175 1 0 -101.608 55.0501 -176.237 - 73 213.602 1173 2 0 -101.28 54.6735 -145.85 - 73 131.741 1172 0 0 -101.379 54.5242 -205.85 - 73 86.5232 1513 0 0 -134.885 122.75 -206.245 - 73 127.563 1514 0 0 -134.858 122.95 -206.229 -Number of digits in this event: 30 -Using G4ParticleGun... -Particle energy: 5.3738 LIN +Number of tracker hits in this event: 45 + 73 181.912 256 8 1 -128.874 -58.071 35.55 + 73 106.649 609 8 0 -128.868 -58.0753 34.15 + 73 103.531 256 7 1 -128.76 -58.1551 5.55 + 73 141.765 609 7 0 -128.75 -58.1687 4.15 + 73 120.166 258 6 1 -128.534 -58.4524 -24.45 + 73 123.98 607 6 0 -128.526 -58.4661 -25.85 + 73 278.008 258 5 1 -128.374 -58.7335 -54.45 + 73 242.11 606 5 0 -128.368 -58.7471 -55.85 + 73 114.693 259 4 1 -128.25 -59.025 -84.45 + 73 144.669 605 4 0 -128.249 -59.0407 -85.85 + 73 131.323 259 3 1 -128.212 -59.3711 -114.45 + 73 240.065 603 3 0 -128.212 -59.3965 -115.85 + 73 121.102 259 2 1 -128.248 -59.9124 -144.45 + 73 273.185 600 2 0 -128.251 -59.9325 -145.85 + 73 131.43 259 1 1 -128.281 -60.2485 -174.45 + 73 113.646 598 1 0 -128.276 -60.273 -175.85 + 73 114.915 259 0 1 -128.217 -60.8255 -204.45 + 73 115.692 596 0 0 -128.241 -60.8261 -205.85 + 73 157.34 601 2 0 -128.207 -59.85 -146.072 + 73 25.6215 259 5 1 -128.35 -58.5947 -54.4647 + 73 23.4273 262 1 1 -127.731 -59.9488 -174.45 + 73 86.3005 261 1 1 -127.75 -59.9231 -174.544 + 73 31.0268 600 1 0 -128.059 -59.8583 -175.85 + 73 303.361 601 1 0 -128.088 -59.85 -175.955 + 73 78.5844 602 1 0 -128.211 -59.6497 -176.176 + 73 13.389 603 1 0 -128.309 -59.4494 -176.237 + 73 53.1425 944 1 0 -176.72 8.9139 -176.25 + 73 53.0706 943 1 0 -176.781 8.85 -176.062 + 73 108.632 14 1 1 -177.204 9.0408 -174.85 + 73 272.562 258 2 1 -128.516 -58.4225 -144.45 + 73 115.176 607 2 0 -128.566 -58.4697 -145.85 + 73 109.27 251 1 1 -129.807 -59.5556 -174.45 + 73 112.141 239 0 1 -132.286 -61.3567 -204.45 + 73 205.739 592 0 0 -132.5 -61.4524 -205.85 + 73 88.9319 1004 0 0 -129.286 20.9138 -206.25 + 73 23.9482 254 2 0 -99.7489 -129.291 -146.249 + 73 77.6461 253 2 0 -99.7162 -129.35 -146.213 + 73 94.5351 252 2 0 -99.5833 -129.55 -146.027 + 73 1.63783 251 2 0 -99.4358 -129.75 -145.855 + 73 101.79 408 2 1 -98.495 -130.821 -144.85 + 73 120.985 409 2 1 -98.35 -130.957 -144.657 + 73 223.714 191 3 0 -75.9773 -141.759 -116.25 + 73 44.7323 527 3 1 -74.5677 -141.697 -114.85 + 73 97.7683 528 3 1 -74.45 -141.686 -114.743 + 73 28.8397 529 3 1 -74.25 -141.625 -114.521 +Number of digits in this event: 21 +Using G4ParticleGun... +Particle energy: 6.85645 LIN Particle: e- Event: 74 -Number of tracker hits in this event: 27 - 74 125.339 618 10 1 -56.2532 89.0877 95.55 - 74 331.938 1345 10 0 -56.2528 89.0889 94.15 - 74 116.479 619 9 1 -56.2463 89.1155 65.55 - 74 129.131 1345 9 0 -56.2463 89.1154 64.15 - 74 130.135 618 8 1 -56.25 89.1003 35.55 - 74 112.654 1345 8 0 -56.2499 89.0982 34.15 - 74 148.658 619 7 1 -56.2458 89.0561 5.55 - 74 94.794 1345 7 0 -56.2457 89.0563 4.15 - 74 118.978 618 6 1 -56.261 89.0537 -24.45 - 74 125.838 1345 6 0 -56.2606 89.054 -25.85 - 74 163.164 618 5 1 -56.261 89.0651 -54.45 - 74 100.086 1345 5 0 -56.2626 89.0661 -55.85 - 74 116.627 618 4 1 -56.2903 89.0809 -84.45 - 74 153.519 1345 4 0 -56.2901 89.0819 -85.85 - 74 150.636 618 3 1 -56.3044 89.1484 -114.45 - 74 113.134 1345 3 0 -56.3063 89.1533 -115.85 - 74 103.317 618 2 1 -56.3452 89.2569 -144.45 - 74 122.707 1346 2 0 -56.3458 89.2603 -145.85 - 74 108.513 618 1 1 -56.358 89.3239 -174.45 - 74 112.798 1346 1 0 -56.3585 89.3303 -175.85 - 74 125.327 618 0 1 -56.3715 89.4655 -204.45 - 74 130.169 1347 0 0 -56.3596 89.4693 -205.85 - 74 0.179135 970 3 0 -24.6166 14.2497 -116.25 - 74 286.23 971 3 0 -24.6174 14.25 -116.249 - 74 177.982 975 2 1 15.0911 83.7885 -144.85 - 74 46.2168 974 2 1 15.05 83.7514 -144.694 - 74 3.93016 1336 3 0 -57.5375 87.45 -115.889 -Number of digits in this event: 18 +Number of tracker hits in this event: 69 + 74 113.141 508 10 1 -78.3026 -34.3518 95.55 + 74 107.663 728 10 0 -78.3031 -34.3534 94.15 + 74 116.897 508 9 1 -78.3101 -34.388 65.55 + 74 103.085 728 9 0 -78.311 -34.3887 64.15 + 74 122.939 508 8 1 -78.33 -34.4103 35.55 + 74 106.73 728 8 0 -78.331 -34.4119 34.15 + 74 122.638 508 7 1 -78.3546 -34.4471 5.55 + 74 141.288 728 7 0 -78.3546 -34.4483 4.15 + 74 225.188 508 6 1 -78.3517 -34.4725 -24.45 + 74 147.346 727 6 0 -78.3511 -34.4741 -25.85 + 74 94.0138 508 5 1 -78.3339 -34.5143 -54.45 + 74 156.578 727 5 0 -78.3331 -34.516 -55.85 + 74 114.043 508 4 1 -78.3143 -34.5431 -84.45 + 74 106.092 727 4 0 -78.3122 -34.5441 -85.85 + 74 138.349 508 3 1 -78.2642 -34.5677 -114.45 + 74 120.476 727 3 0 -78.261 -34.5688 -115.85 + 74 175.081 509 2 1 -78.2027 -34.5888 -144.45 + 74 290.66 727 2 0 -78.2003 -34.5904 -145.85 + 74 98.5435 509 1 1 -78.1507 -34.624 -174.45 + 74 219.455 727 1 0 -78.1481 -34.6239 -175.85 + 74 244.199 509 0 1 -78.0996 -34.6287 -204.45 + 74 266.23 727 0 0 -78.0968 -34.6278 -205.85 + 74 64.174 834 5 0 137.403 -13.2198 -56.25 + 74 182.352 1597 5 1 139.6 -13.9025 -54.85 + 74 19.6252 1030 1 0 -103.593 26.05 -175.902 + 74 45.2229 381 1 1 -103.923 26.9793 -174.85 + 74 219.996 380 1 1 -103.95 27.0076 -174.815 + 74 14.5261 1068 9 1 33.7079 -132.58 65.15 + 74 28.5758 631 0 1 -53.7646 -59.7864 -204.465 + 74 72.0395 630 0 1 -53.8504 -59.7761 -204.45 + 74 142.708 203 11 0 -132.139 -139.426 123.75 + 74 178.576 204 11 0 -131.935 -139.35 123.866 + 74 81.0314 728 6 0 -78.3517 -34.4499 -25.9365 + 74 26.1111 729 6 0 -78.3399 -34.25 -26.2009 + 74 75.7959 879 6 0 -97.3553 -4.05285 -26.25 + 74 69.0747 880 6 0 -97.3722 -4.05 -26.2253 + 74 51.9683 411 6 1 -97.9063 -4.22377 -24.85 + 74 129.723 410 6 1 -97.9501 -4.23357 -24.7276 + 74 187.634 409 6 1 -98.1501 -4.41036 -24.5128 + 74 85.2853 408 6 1 -98.3504 -4.84701 -24.5437 + 74 186.082 407 6 1 -98.55 -4.91627 -24.6102 + 74 188.944 508 2 1 -78.25 -34.6298 -144.543 + 74 198.597 500 1 1 -79.9054 -34.2829 -174.45 + 74 120.192 728 1 0 -79.9026 -34.2926 -175.85 + 74 130.295 500 0 1 -79.9687 -34.728 -204.45 + 74 120.623 726 0 0 -79.8424 -34.7621 -205.85 + 74 102.166 726 2 0 -78.4582 -34.6504 -145.85 + 74 134.04 487 1 1 -82.4795 -34.9824 -174.45 + 74 93.959 724 1 0 -82.7275 -35.1557 -175.85 + 74 65.8625 462 0 1 -87.6255 -38.3875 -204.45 + 74 155.922 461 0 1 -87.65 -38.4157 -204.626 + 74 118.333 707 0 0 -87.8218 -38.5815 -205.85 + 74 87.0592 489 4 0 -136.011 -82.1336 -86.25 + 74 74.0493 488 4 0 -136.01 -82.2501 -86.0855 + 74 119.057 732 0 0 -80.2062 -33.6095 -206.25 + 74 164.277 499 0 1 -80.1005 -33.7709 -204.85 + 74 157.913 498 0 1 -80.25 -33.8679 -204.524 + 74 69.0894 497 0 1 -80.45 -33.7882 -204.472 + 74 130.07 496 0 1 -80.65 -33.6804 -204.491 + 74 282.006 495 0 1 -80.85 -33.6253 -204.474 + 74 267.106 494 0 1 -81.0503 -33.1862 -204.566 + 74 146.204 896 2 0 -96.5807 -0.808127 -146.25 + 74 188.136 897 2 0 -96.6274 -0.649904 -146.044 + 74 414.632 508 0 1 -78.4399 -34.718 -204.45 + 74 280.168 507 0 1 -78.45 -34.7718 -204.488 + 74 62.4911 719 0 0 -78.7907 -36.0826 -205.85 + 74 54.8827 718 0 0 -78.814 -36.2509 -206.088 + 74 50.7683 694 3 0 152.639 -41.2119 -116.25 + 74 198.412 510 0 1 -78.05 -33.4032 -204.573 +Number of digits in this event: 39 Using G4ParticleGun... -Particle energy: 7.76999 LIN +Particle energy: 8.64316 LIN Particle: e- Event: 75 -Number of tracker hits in this event: 89 - 75 175.62 1564 9 1 133.137 14.2384 65.55 - 75 122.884 970 9 0 133.138 14.2386 64.15 - 75 115.882 1565 8 1 133.153 14.2384 35.55 - 75 110.71 970 8 0 133.153 14.24 34.15 - 75 105.289 1565 7 1 133.157 14.2696 5.55 - 75 115.407 971 7 0 133.156 14.2707 4.15 - 75 114.101 1564 6 1 133.148 14.2956 -24.45 - 75 219.842 971 6 0 133.147 14.2971 -25.85 - 75 122.073 1564 5 1 133.135 14.3267 -54.45 - 75 134.837 971 5 0 133.134 14.3274 -55.85 - 75 414.944 1564 4 1 133.116 14.335 -84.45 - 75 380.996 971 4 0 133.115 14.3356 -85.85 - 75 117.861 1564 3 1 133.093 14.3517 -114.45 - 75 295.065 971 3 0 133.091 14.3518 -115.85 - 75 105.003 1564 2 1 133.058 14.3526 -144.45 - 75 104.886 971 2 0 133.056 14.3521 -145.85 - 75 793.489 1564 1 1 133.002 14.3445 -174.45 - 75 125.073 971 1 0 132.999 14.3438 -175.85 - 75 117.707 1563 0 1 132.93 14.3286 -204.45 - 75 171.631 971 0 0 132.926 14.3283 -205.85 - 75 280.399 973 1 0 133.133 14.6692 -175.851 - 75 123.536 1572 0 1 134.661 19.9611 -204.45 - 75 102.522 999 0 0 134.81 20.031 -205.851 - 75 11.142 1000 0 0 134.85 20.05 -206.209 - 75 202.518 972 1 0 132.858 14.4501 -175.906 - 75 99.9703 1548 0 1 129.777 16.2801 -204.451 - 75 15.4285 1547 0 1 129.75 16.3174 -204.838 - 75 136.97 981 0 0 129.673 16.4184 -205.85 - 75 16.7149 982 0 0 129.649 16.45 -206.169 - 75 254.652 1612 1 1 142.56 27.0473 -174.85 - 75 184.179 1565 1 1 133.15 14.2504 -174.815 - 75 232.735 1603 0 1 140.808 18.8718 -204.45 - 75 290.464 997 0 0 141.133 19.4703 -205.851 - 75 7.66432 998 0 0 141.201 19.6502 -206.22 - 75 27.0973 699 0 0 177.895 -40.1856 -206.25 - 75 71.4647 698 0 0 177.93 -40.25 -206.237 - 75 105.124 697 0 0 178.059 -40.4502 -206.213 - 75 102.362 696 0 0 178.207 -40.65 -206.198 - 75 52.7496 695 0 0 178.363 -40.85 -206.162 - 75 78.6404 694 0 0 178.515 -41.05 -206.121 - 75 71.8259 693 0 0 178.67 -41.25 -206.069 - 75 125.218 692 0 0 178.801 -41.45 -206.004 - 75 121.559 691 0 0 178.988 -41.65 -205.895 - 75 140.042 1563 1 1 132.929 14.3091 -174.45 - 75 217.069 977 1 0 134.236 15.5594 -175.85 - 75 66.3272 978 1 0 134.645 15.6501 -175.979 - 75 253.075 1570 1 1 134.293 16.1933 -174.85 - 75 114.362 1724 0 1 164.95 92.1563 -204.705 - 75 63.6364 1725 0 1 165.15 92.5481 -204.529 - 75 13.1943 1726 0 1 165.35 92.6216 -204.482 - 75 11.0233 1565 4 1 133.15 14.3394 -84.801 - 75 29.675 1579 3 1 136.145 13.4763 -114.45 - 75 81.5209 1580 3 1 136.15 13.4714 -114.581 - 75 109.644 966 3 0 136.174 13.4413 -115.85 - 75 109.068 1579 2 1 136.089 12.3374 -144.45 - 75 117.61 961 2 0 135.985 12.2681 -145.85 - 75 6.10021 960 2 0 135.951 12.25 -146.224 - 75 131.614 956 1 0 133.035 11.408 -175.85 - 75 166.798 1546 0 1 129.467 10.8031 -204.45 - 75 128.213 953 0 0 129.612 10.7765 -205.85 - 75 1.67495 972 4 0 133.194 14.45 -86.2413 - 75 103.028 1573 3 1 134.819 16.1043 -114.45 - 75 113.597 980 3 0 134.796 16.2132 -115.85 - 75 172.844 1570 2 1 134.263 18.6806 -144.45 - 75 104.923 993 2 0 134.337 18.7849 -145.85 - 75 126.632 1576 1 1 135.494 20.8869 -174.45 - 75 0.189523 1577 1 1 135.55 20.9516 -174.848 - 75 124.013 1005 1 0 135.711 21.1061 -175.85 - 75 158.045 1597 0 1 139.562 25.4145 -204.451 - 75 149 1028 0 0 139.616 25.6506 -205.85 - 75 714.948 1571 2 1 134.35 18.6422 -144.532 - 75 42.2746 1036 3 0 136.097 27.3891 -116.25 - 75 225.769 1037 3 0 136.121 27.45 -116.177 - 75 316.752 1017 6 0 162.355 23.5054 -26.25 - 75 109.785 1713 6 1 162.836 23.8702 -24.8496 - 75 34.3111 1433 3 1 106.818 -8.25052 -114.45 - 75 94.1678 1434 3 1 106.95 -8.38102 -114.527 - 75 21.8803 1113 6 0 135.913 42.7925 -26.25 - 75 92.5711 1114 6 0 135.913 42.85 -26.1773 - 75 22.5873 1115 6 0 135.97 43.0505 -25.9165 - 75 101.779 1581 6 1 136.414 44.0712 -24.85 - 75 102.142 1582 6 1 136.55 43.8403 -24.7531 - 75 113.891 1583 6 1 136.75 43.5495 -24.6959 - 75 35.483 1584 6 1 136.95 43.2156 -24.7939 - 75 11.8724 1109 6 0 138.332 41.8782 -25.8502 - 75 60.6667 1108 6 0 138.363 41.85 -25.8738 - 75 118.429 1107 6 0 138.408 41.65 -25.9327 - 75 87.803 1106 6 0 138.455 41.45 -26.0455 - 75 17.1774 1105 6 0 138.546 41.2499 -26.2327 -Number of digits in this event: 37 +Number of tracker hits in this event: 25 + 75 335.022 515 9 1 -76.8644 -89.5381 65.55 + 75 114.691 452 9 0 -76.8652 -89.5379 64.15 + 75 102.961 515 8 1 -76.8792 -89.5417 35.55 + 75 152.887 452 8 0 -76.8795 -89.5409 34.15 + 75 158.731 515 7 1 -76.8859 -89.5242 5.55 + 75 164.143 452 7 0 -76.8825 -89.5241 4.15 + 75 119.389 516 6 1 -76.818 -89.5202 -24.45 + 75 171.047 452 6 0 -76.8165 -89.5201 -25.85 + 75 154.743 516 5 1 -76.7931 -89.5079 -54.45 + 75 144.653 452 5 0 -76.7929 -89.5062 -55.85 + 75 139.211 516 4 1 -76.7957 -89.4649 -84.45 + 75 114.129 452 4 0 -76.7983 -89.4644 -85.85 + 75 131.549 516 3 1 -76.8454 -89.4616 -114.45 + 75 108.264 452 3 0 -76.8456 -89.4635 -115.85 + 75 119.071 516 2 1 -76.8365 -89.5049 -144.45 + 75 133.048 452 2 0 -76.8336 -89.4976 -145.85 + 75 113.412 516 1 1 -76.7866 -89.337 -174.45 + 75 144.234 453 1 0 -76.7828 -89.3255 -175.85 + 75 175.899 516 0 1 -76.6964 -89.0911 -204.45 + 75 100.393 454 0 0 -76.6961 -89.0805 -205.85 + 75 223.135 515 1 1 -76.9113 -89.4714 -174.45 + 75 217.115 452 1 0 -76.9108 -89.4707 -175.85 + 75 228.992 515 0 1 -76.9102 -89.4557 -204.45 + 75 254.782 452 0 0 -76.906 -89.4602 -205.85 + 75 39.2784 453 0 0 -76.9232 -89.45 -206.118 +Number of digits in this event: 18 Using G4ParticleGun... -Particle energy: 8.0137 LIN +Particle energy: 6.66724 LIN Particle: e- Event: 76 -Number of tracker hits in this event: 95 - 76 117.036 927 11 1 5.54367 36.4885 125.55 - 76 138.764 1082 11 0 5.5431 36.4882 124.15 - 76 141.205 927 10 1 5.53202 36.48 95.55 - 76 119.018 1082 10 0 5.53279 36.4807 94.15 - 76 101.021 927 9 1 5.54478 36.4899 65.55 - 76 197.192 1082 9 0 5.54474 36.4914 64.15 - 76 124.028 927 8 1 5.53725 36.521 35.55 - 76 121.936 1082 8 0 5.53838 36.522 34.15 - 76 505.84 927 7 1 5.55727 36.5382 5.55 - 76 394.825 1082 7 0 5.56955 36.5452 4.15 - 76 123.907 928 6 1 5.82795 36.6904 -24.45 - 76 105.199 1083 6 0 5.8418 36.6971 -25.85 - 76 165.455 930 5 1 6.1228 36.8321 -54.45 - 76 167.188 1083 5 0 6.13692 36.8399 -55.85 - 76 96.0377 931 4 1 6.42115 36.9959 -84.45 - 76 171.816 1084 4 0 6.43575 37.0026 -85.85 - 76 496.998 933 3 1 6.77289 37.171 -114.45 - 76 391.413 1085 3 0 6.78901 37.1811 -115.85 - 76 231.107 935 2 1 7.11418 37.3942 -144.45 - 76 279.832 1086 2 0 7.12924 37.4019 -145.85 - 76 242.902 936 1 1 7.44311 37.5642 -174.45 - 76 128.664 1087 1 0 7.4594 37.5722 -175.85 - 76 250.328 938 0 1 7.78019 37.7477 -204.45 - 76 224.018 1088 0 0 7.77005 37.7649 -205.85 - 76 173.06 934 2 1 7.04982 37.279 -144.45 - 76 255.156 1085 1 0 7.33699 37.2147 -175.85 - 76 102.995 937 0 1 7.56396 37.126 -204.45 - 76 240.654 1085 0 0 7.57918 37.1124 -205.85 - 76 77.0981 933 2 1 6.85 37.3283 -144.562 - 76 496.71 932 2 1 6.65 37.4398 -144.53 - 76 173.944 1085 2 0 6.99345 37.1741 -145.85 - 76 130.605 935 1 1 7.08298 37.2488 -174.45 - 76 116.384 934 0 1 6.90805 37.1526 -204.45 - 76 237.977 928 1 1 5.81085 36.6501 -174.45 - 76 252.595 1082 1 0 5.80169 36.6164 -175.85 - 76 121.321 927 0 1 5.63862 35.8907 -204.45 - 76 219.523 928 0 1 5.65 35.8717 -204.794 - 76 119.159 1078 0 0 5.68448 35.8055 -205.85 - 76 124.221 946 0 1 9.26087 34.9362 -204.45 - 76 93.5179 1073 0 0 9.82905 34.6985 -205.85 - 76 38.3129 1072 0 0 9.92749 34.65 -206.12 - 76 92.9307 1081 9 0 5.58677 36.4496 64.1015 - 76 105.358 926 6 1 5.38597 36.9014 -24.45 - 76 110.639 1084 6 0 5.36627 36.9293 -25.85 - 76 118.891 924 5 1 4.86979 37.4429 -54.45 - 76 228.409 1087 5 0 4.8581 37.5288 -55.85 - 76 139.801 923 4 1 4.79255 39.264 -84.45 - 76 161.981 1096 4 0 4.75995 39.3741 -85.85 - 76 97.9208 919 3 1 3.94371 41.6183 -114.45 - 76 137.299 1108 3 0 3.91339 41.7263 -115.85 - 76 173.242 916 2 1 3.27957 43.9714 -144.45 - 76 177.335 1120 2 0 3.24127 44.1122 -145.85 - 76 178.594 911 1 1 2.27841 46.8019 -174.45 - 76 138.509 1134 1 0 2.3191 46.9258 -175.85 - 76 114.818 913 0 1 2.72615 49.1085 -204.45 - 76 98.8322 1145 0 0 2.69515 49.2201 -205.85 - 76 29.9969 1716 1 0 26.173 163.431 -176.25 - 76 384.342 1717 1 0 26.2258 163.55 -176.102 - 76 56.5709 1718 1 0 26.199 163.75 -176.133 - 76 182.384 900 0 1 0.181166 39.65 -204.45 - 76 70.6118 901 0 1 0.25 39.6034 -204.627 - 76 117.024 1095 0 0 0.718386 39.2145 -205.851 - 76 228.45 1019 0 0 6.2763 24.0451 -206.25 - 76 41.2047 1018 0 0 6.22304 23.8499 -205.943 - 76 173.298 929 0 1 6.04357 23.241 -204.85 - 76 105.238 1098 0 0 0.18306 39.7373 -205.85 - 76 183.283 922 6 1 4.55335 36.189 -24.4507 - 76 129.613 1080 6 0 4.4689 36.1436 -25.8501 - 76 121.582 916 5 1 3.34044 35.1821 -54.4501 - 76 121.337 1077 5 0 3.24945 35.4592 -55.85 - 76 118.509 925 4 1 5.06296 43.0034 -84.45 - 76 28.593 1116 4 0 5.21825 43.4222 -85.85 - 76 87.1724 1117 4 0 5.23048 43.4501 -85.9467 - 76 75.1601 896 3 1 -0.79957 52.6725 -114.45 - 76 160.55 897 3 1 -0.65 52.7899 -114.586 - 76 22.554 898 3 1 -0.45 52.9257 -114.783 - 76 129.447 1167 3 0 0.409723 53.4909 -115.85 - 76 111.624 1168 3 0 0.6622 53.65 -116.073 - 76 4.86263 965 2 1 13.2192 82.6728 -144.45 - 76 80.7372 966 2 1 13.2507 82.6866 -144.454 - 76 108.722 967 2 1 13.45 82.7781 -144.512 - 76 57.5983 968 2 1 13.65 82.8613 -144.59 - 76 61.1513 969 2 1 13.85 82.944 -144.716 - 76 25.7291 970 2 1 14.0504 82.9808 -144.817 - 76 361.496 1318 2 0 18.1512 83.6904 -145.85 - 76 241.303 1317 2 0 19.5159 83.65 -146.078 - 76 13.6783 1450 2 0 102.041 110.335 -146.25 - 76 88.7375 1451 2 0 102.05 110.35 -146.193 - 76 158.711 1406 2 1 101.522 110.71 -144.85 - 76 185.711 1405 2 1 101.35 110.885 -144.451 - 76 108.919 1460 2 0 102.305 112.222 -145.85 - 76 6.99007 1461 2 0 102.355 112.35 -146.223 - 76 140.642 280 11 0 85.3076 -124.021 123.75 - 76 19.2552 279 11 0 85.5047 -124.151 123.768 - 76 67.1212 1229 1 0 -4.32508 66.05 -176.203 -Number of digits in this event: 56 +Number of tracker hits in this event: 81 + 76 128.214 255 8 1 -129.027 45.9517 35.55 + 76 110.58 1129 8 0 -129.028 45.9504 34.15 + 76 165.847 255 7 1 -129.05 45.9278 5.55 + 76 180.976 1129 7 0 -129.052 45.925 4.15 + 76 108.205 255 6 1 -129.086 45.8783 -24.45 + 76 99.8555 1129 6 0 -129.088 45.875 -25.85 + 76 258.665 255 5 1 -129.124 45.8117 -54.45 + 76 112.62 1128 5 0 -129.128 45.8086 -55.85 + 76 246.29 254 4 1 -129.206 45.7465 -84.45 + 76 126.899 1128 4 0 -129.202 45.7455 -85.85 + 76 153.072 255 3 1 -129.099 45.7286 -114.45 + 76 111.985 1128 3 0 -129.094 45.7439 -115.85 + 76 271.753 255 2 1 -129.008 46.1062 -144.45 + 76 229.554 1130 2 0 -129 46.1238 -145.85 + 76 103.923 256 1 1 -128.897 46.5229 -174.45 + 76 111.604 1132 1 0 -128.884 46.5493 -175.85 + 76 169.411 257 0 1 -128.594 47.0957 -204.45 + 76 128.672 1135 0 0 -128.602 47.1298 -205.85 + 76 266.131 1118 2 0 -131.879 43.8122 -146.25 + 76 137.48 1117 2 0 -131.763 43.6497 -146.096 + 76 75.3713 1129 2 0 -128.967 46.05 -145.987 + 76 289.942 252 0 1 -129.607 45.3624 -204.45 + 76 325.409 1126 0 0 -129.606 45.319 -205.85 + 76 163.962 1035 6 0 112.464 27.1138 -26.25 + 76 127.064 1129 5 0 -129.003 45.9953 -55.85 + 76 9.41993 1130 5 0 -128.965 46.05 -56.2263 + 76 79.4875 972 5 0 -92.9403 14.6229 -56.2499 + 76 106.531 971 5 0 -92.781 14.4496 -56.115 + 76 134.252 970 5 0 -92.5989 14.25 -55.9688 + 76 91.6884 444 5 1 -91.2053 12.7404 -54.85 + 76 242.568 445 5 1 -91.15 12.6807 -54.8056 + 76 133.312 446 5 1 -90.95 12.4579 -54.6382 + 76 8.58463 447 5 1 -90.75 12.2365 -54.4713 + 76 8.93258 872 6 0 -67.0401 -5.63253 -26.25 + 76 139.854 871 6 0 -67.0169 -5.65 -26.2223 + 76 30.4289 870 6 0 -66.7826 -5.85007 -25.9383 + 76 27.7663 570 6 1 -65.9054 -6.543 -24.85 + 76 93.4009 571 6 1 -65.85 -6.58475 -24.7837 + 76 83.5065 572 6 1 -65.65 -6.7654 -24.5352 + 76 13.3104 794 7 0 -96.7744 -21.2313 3.75009 + 76 165.942 793 7 0 -96.8138 -21.25 3.78641 + 76 5.65033 792 7 0 -97.1896 -21.45 4.13156 + 76 47.2312 409 7 1 -98.2752 -21.9592 5.15064 + 76 113.863 408 7 1 -98.3501 -21.9929 5.21798 + 76 77.5738 407 7 1 -98.5501 -22.0817 5.38763 + 76 163.213 850 8 0 -176.53 -9.9589 33.75 + 76 133.974 851 8 0 -177.058 -9.84979 33.9562 + 76 62.1222 4 8 1 -179.207 -9.23929 35.15 + 76 62.7687 3 8 1 -179.35 -9.19031 35.2271 + 76 61.2267 2 8 1 -179.55 -9.11752 35.3335 + 76 102.883 1 8 1 -179.75 -9.02837 35.4613 + 76 26.9398 1 14 1 -179.797 -1.6551 215.15 + 76 86.7034 2 14 1 -179.75 -1.63398 215.245 + 76 34.3906 537 9 0 -47.3701 -72.45 63.7695 + 76 120.219 443 5 1 -91.3501 11.2516 -54.5943 + 76 657.453 442 5 1 -91.55 10.9686 -54.5007 + 76 49.7977 805 6 0 -55.1229 -18.9601 -26.2499 + 76 189.377 804 6 0 -55.0049 -19.05 -26.1657 + 76 5.79517 803 6 0 -54.5406 -19.2501 -25.866 + 76 6.52656 635 6 1 -52.8732 -20.0092 -24.85 + 76 58.7998 636 6 1 -52.8492 -20.0194 -24.8363 + 76 95.4753 637 6 1 -52.6498 -20.0811 -24.7374 + 76 53.6995 638 6 1 -52.45 -20.1431 -24.6643 + 76 45.1539 639 6 1 -52.2499 -20.2322 -24.6099 + 76 65.0759 640 6 1 -52.0496 -20.3361 -24.5677 + 76 101.922 641 6 1 -51.85 -20.4522 -24.5722 + 76 111.378 642 6 1 -51.65 -20.5868 -24.6004 + 76 56.5537 643 6 1 -51.45 -20.7035 -24.6217 + 76 71.854 644 6 1 -51.2496 -20.8018 -24.6294 + 76 132.267 645 6 1 -51.05 -20.9251 -24.6046 + 76 88.2909 646 6 1 -50.85 -21.0654 -24.5416 + 76 52.3756 647 6 1 -50.65 -21.1904 -24.4984 + 76 53.4347 648 6 1 -50.45 -21.2844 -24.4812 + 76 83.512 650 6 1 -50.0216 -21.082 -24.45 + 76 133.604 649 6 1 -50.05 -21.0078 -24.5327 + 76 75.2913 800 6 0 -50.2777 -20.0165 -25.8507 + 76 86.3905 801 6 0 -50.3667 -19.85 -25.9863 + 76 116.077 802 6 0 -50.4802 -19.65 -26.0759 + 76 82.5936 423 1 1 -95.55 89.1889 -174.669 + 76 251.379 968 0 0 -124.093 13.8293 -206.25 + 76 45.4591 904 0 0 -134.207 0.85 -206.099 +Number of digits in this event: 33 Using G4ParticleGun... -Particle energy: 5.59534 LIN +Particle energy: 4.45074 LIN Particle: e- Event: 77 -Number of tracker hits in this event: 50 - 77 147.835 719 10 1 -36.2386 85.9676 95.55 - 77 131.547 1329 10 0 -36.2389 85.9672 94.15 - 77 120.636 719 9 1 -36.2346 85.9636 65.55 - 77 128.967 1329 9 0 -36.2339 85.9647 64.15 - 77 229.216 719 8 1 -36.2229 85.9894 35.55 - 77 105.602 1329 8 0 -36.2235 85.9916 34.15 - 77 115.271 719 7 1 -36.232 86.0369 5.55 - 77 154.171 1329 7 0 -36.2336 86.0395 4.15 - 77 229.681 718 6 1 -36.2806 86.0968 -24.45 - 77 154.767 1330 6 0 -36.2813 86.099 -25.85 - 77 124.559 718 5 1 -36.2914 86.1402 -54.45 - 77 100.528 1330 5 0 -36.2905 86.1407 -55.85 - 77 139.299 718 4 1 -36.2595 86.1515 -84.45 - 77 133.114 1330 4 0 -36.2575 86.1513 -85.85 - 77 115.576 719 3 1 -36.2209 86.1496 -114.45 - 77 109.211 1330 3 0 -36.2184 86.1484 -115.85 - 77 121.892 719 2 1 -36.1713 86.1291 -144.45 - 77 127.744 1330 2 0 -36.1647 86.1253 -145.85 - 77 113.322 720 1 1 -36.0295 86.0514 -174.45 - 77 111.11 1329 1 0 -36.0223 86.049 -175.85 - 77 160.424 720 0 1 -35.8714 85.9919 -204.45 - 77 193.537 1329 0 0 -35.8639 85.9882 -205.85 - 77 45.5295 1528 5 0 -41.2776 125.893 -56.25 - 77 61.3947 987 4 1 17.5378 48.8455 -84.85 - 77 147.785 988 4 1 17.6501 48.84 -84.7967 - 77 198.126 719 4 1 -36.25 86.156 -84.4939 - 77 166.116 720 4 1 -36.05 85.9568 -84.6023 - 77 191.565 1330 1 0 -36.2701 86.1773 -175.942 - 77 99.2123 735 0 1 -32.9532 84.802 -204.45 - 77 145.027 1321 0 0 -33.0014 84.4026 -205.85 - 77 183.253 711 0 1 -37.7038 86.8029 -204.45 - 77 105.493 1332 0 0 -37.9274 86.6113 -205.85 - 77 15.6614 1326 0 0 -38.7859 85.3022 -205.85 - 77 137.552 1325 0 0 -38.8129 85.25 -205.87 - 77 169.747 1324 0 0 -39.1804 85.05 -205.894 - 77 82.9912 1323 0 0 -39.6175 84.8493 -205.994 - 77 90.0856 1322 0 0 -39.643 84.65 -206.137 - 77 142.284 1330 8 0 -36.0362 86.0738 34.15 - 77 84.2986 739 7 1 -32.0784 90.6844 5.55 - 77 24.409 740 7 1 -32.05 90.7178 5.25653 - 77 99.1723 1353 7 0 -31.93 90.7864 4.15 - 77 128.269 740 6 1 -31.9667 92.7629 -24.45 - 77 78.9394 741 6 1 -31.85 92.9773 -24.6832 - 77 5.374 1368 6 0 -31.3882 93.9403 -25.8501 - 77 80.6566 1369 6 0 -31.3835 93.9501 -25.862 - 77 86.7472 1370 6 0 -31.2739 94.15 -26.043 - 77 25.0466 1371 6 0 -31.1683 94.35 -26.1935 - 77 18.402 827 5 1 -14.4666 124.213 -54.45 - 77 110.177 828 5 1 -14.45 124.247 -54.5256 - 77 118.545 1523 5 0 -14.3 124.758 -55.85 -Number of digits in this event: 27 +Number of tracker hits in this event: 18 + 77 100.793 1600 7 1 140.229 52.1453 5.55 + 77 270.602 1160 7 0 140.228 52.1478 4.15 + 77 117.354 1600 6 1 140.213 52.2294 -24.45 + 77 106.739 1160 6 0 140.215 52.2325 -25.85 + 77 205.395 1600 5 1 140.237 52.2821 -54.45 + 77 151.554 1161 5 0 140.242 52.2843 -55.85 + 77 151.123 1601 4 1 140.356 52.3141 -84.45 + 77 117.284 1161 4 0 140.363 52.316 -85.85 + 77 129.897 1601 3 1 140.478 52.3464 -114.45 + 77 109.491 1161 3 0 140.477 52.3517 -115.85 + 77 121.151 1601 2 1 140.49 52.4482 -144.45 + 77 117.58 1161 2 0 140.494 52.4441 -145.85 + 77 111.79 1602 1 1 140.627 52.3086 -174.45 + 77 136.322 1161 1 0 140.648 52.3056 -175.85 + 77 168.103 1604 0 1 141.111 52.2196 -204.45 + 77 120.089 1160 0 0 141.107 52.2186 -205.85 + 77 345.182 1503 11 1 120.915 98.8823 125.55 + 77 212.938 1794 8 1 179.15 6.45106 35.4274 +Number of digits in this event: 14 Using G4ParticleGun... -Particle energy: 3.00648 LIN +Particle energy: 7.83557 LIN Particle: e- Event: 78 -Number of tracker hits in this event: 79 - 78 127.338 971 9 1 14.3114 -118.215 65.55 - 78 187.478 309 9 0 14.3746 -118.292 64.1499 - 78 271.672 977 8 1 15.4736 -119.348 35.55 - 78 138.114 303 8 0 15.6795 -119.499 34.15 - 78 0.574562 302 8 0 15.7368 -119.55 33.7525 - 78 51.1501 997 7 1 19.4984 -124.274 5.54957 - 78 74.0191 996 7 1 19.45 -124.331 5.37455 - 78 93.5636 276 7 0 19.1847 -124.834 4.14992 - 78 44.4045 275 7 0 19.1162 -124.95 3.87395 - 78 125.11 953 6 1 10.7926 -136.636 -24.45 - 78 124.006 215 6 0 10.6703 -137.054 -25.85 - 78 24.3913 214 6 0 10.6433 -137.15 -26.1671 - 78 23.2482 57 6 0 -17.9475 -168.712 -26.2499 - 78 184.987 56 6 0 -17.997 -168.75 -26.2007 - 78 62.0287 55 6 0 -18.3237 -168.95 -25.977 - 78 52.7912 794 6 1 -21.05 -170.371 -24.8498 - 78 105.791 793 6 1 -21.25 -170.443 -24.7372 - 78 71.4389 792 6 1 -21.45 -170.572 -24.5867 - 78 138.624 791 6 1 -21.7544 -170.428 -24.45 - 78 61.7726 47 6 0 -21.3935 -170.714 -25.85 - 78 92.5477 46 6 0 -21.3669 -170.75 -25.9881 - 78 40.9902 234 6 0 -12.8782 -133.232 -26.25 - 78 232.474 235 6 0 -12.9425 -133.15 -26.1648 - 78 55.5947 236 6 0 -13.0243 -132.95 -26.0835 - 78 18.7514 1116 4 1 43.2575 -71.9492 -84.85 - 78 91.5846 1117 4 1 43.45 -71.6807 -84.6756 - 78 239.899 1118 4 1 43.65 -71.6692 -84.5967 - 78 126.074 956 3 1 11.3368 -118.304 -114.45 - 78 257.852 309 3 0 11.3382 -118.223 -115.85 - 78 164.216 956 2 1 11.334 -116.664 -144.45 - 78 3.77822 321 2 0 11.3654 -115.76 -145.85 - 78 104.341 322 2 0 11.3655 -115.75 -145.864 - 78 30.3255 323 2 0 11.3818 -115.55 -146.167 - 78 187.811 975 1 1 15.0597 -99.9244 -174.45 - 78 56.8241 400 1 0 15.4004 -100.123 -175.85 - 78 86.3623 399 1 0 15.4338 -100.15 -176.003 - 78 113.495 1010 0 1 22.1493 -100.063 -204.45 - 78 294.273 1009 0 1 22.05 -99.6534 -204.577 - 78 237.276 1008 0 1 21.85 -98.7775 -204.73 - 78 25.3459 418 0 0 20.4551 -96.4332 -205.85 - 78 72.4942 419 0 0 20.4242 -96.35 -205.907 - 78 66.3397 420 0 0 20.3824 -96.15 -206.041 - 78 25.4594 421 0 0 20.3044 -95.95 -206.198 - 78 217.565 626 0 0 8.51051 -54.7467 -206.25 - 78 355.402 972 0 1 14.5436 -117.961 -204.45 - 78 256.057 310 0 0 14.4747 -117.964 -205.85 - 78 293.354 971 7 1 14.3511 -118.194 5.55 - 78 358.845 309 7 0 14.3181 -118.185 4.15 - 78 162.471 968 6 1 13.6634 -117.87 -24.45 - 78 128.116 311 6 0 13.6247 -117.793 -25.85 - 78 112.349 963 5 1 12.8285 -116.062 -54.45 - 78 28.9572 320 5 0 12.7641 -115.959 -55.85 - 78 136.135 321 5 0 12.7587 -115.95 -55.9678 - 78 156.541 955 4 1 11.2353 -113.815 -84.45 - 78 161.095 332 4 0 11.1738 -113.723 -85.85 - 78 125.509 949 3 1 9.95782 -111.94 -114.45 - 78 138.667 341 3 0 9.9073 -111.859 -115.85 - 78 115.303 944 2 1 9.00042 -110.32 -144.45 - 78 143.632 349 2 0 8.93886 -110.241 -145.85 - 78 106.353 938 1 1 7.81251 -108.625 -174.45 - 78 117.15 358 1 0 7.77885 -108.523 -175.85 - 78 110.805 935 0 1 7.09735 -106.346 -204.45 - 78 220.354 369 0 0 7.05839 -106.238 -205.85 - 78 34.4879 905 3 1 1.19025 62.1482 -114.85 - 78 86.0868 906 3 1 1.25007 62.4305 -114.462 - 78 306.69 971 6 1 14.3328 -118.323 -24.45 - 78 139.007 309 6 0 14.3282 -118.325 -25.85 - 78 108.551 970 5 1 14.2371 -118.344 -54.45 - 78 126.618 308 5 0 14.2305 -118.352 -55.85 - 78 142.922 969 4 1 13.8976 -118.442 -84.45 - 78 101.242 308 4 0 13.9223 -118.426 -85.85 - 78 115.099 972 3 1 14.4922 -118.138 -114.45 - 78 152.128 975 2 1 15.1687 -118.537 -144.45 - 78 174.515 307 2 0 15.1607 -118.557 -145.85 - 78 137.024 974 1 1 14.9862 -119.57 -174.45 - 78 151.176 302 1 0 15.0167 -119.57 -175.85 - 78 9.01177 978 0 1 15.8491 -119.547 -204.45 - 78 138.17 979 0 1 15.85 -119.55 -204.479 - 78 156.978 302 0 0 15.9126 -119.664 -205.85 -Number of digits in this event: 43 -Using G4ParticleGun... -Particle energy: 4.92688 LIN +Number of tracker hits in this event: 208 + 78 350.237 808 9 1 -18.379 -132.272 65.55 + 78 582.262 239 9 0 -18.3793 -132.272 64.15 + 78 114.919 808 8 1 -18.4017 -132.259 35.55 + 78 135.18 239 8 0 -18.4037 -132.257 34.15 + 78 186.555 808 7 1 -18.4413 -132.214 5.55 + 78 111.083 239 7 0 -18.4455 -132.212 4.15 + 78 134.201 807 6 1 -18.5272 -132.171 -24.45 + 78 150.511 239 6 0 -18.53 -132.169 -25.85 + 78 414.529 807 5 1 -18.5835 -132.125 -54.45 + 78 109.989 240 5 0 -18.5869 -132.123 -55.85 + 78 148.583 806 4 1 -18.6573 -132.082 -84.45 + 78 127.519 240 4 0 -18.6609 -132.079 -85.85 + 78 108.809 806 3 1 -18.7349 -132.017 -114.45 + 78 164.127 240 3 0 -18.738 -132.013 -115.85 + 78 159.884 806 2 1 -18.8022 -131.941 -144.45 + 78 119.106 241 2 0 -18.8056 -131.937 -145.85 + 78 129.1 805 1 1 -18.8717 -131.862 -174.45 + 78 291.142 241 1 0 -18.8729 -131.856 -175.85 + 78 143.166 805 0 1 -18.8971 -131.739 -204.45 + 78 116.635 242 0 0 -18.8993 -131.732 -205.85 + 78 182.912 807 7 1 -18.45 -132.489 5.45387 + 78 111.574 234 7 0 -18.9572 -133.189 4.14991 + 78 26.8419 233 7 0 -19.043 -133.35 3.82442 + 78 133.028 240 7 0 -18.6401 -132.095 4.14933 + 78 14.8581 788 6 1 -22.4177 -130.444 -24.45 + 78 83.2211 787 6 1 -22.45 -130.448 -24.492 + 78 41.8479 786 6 1 -22.6502 -130.466 -24.7403 + 78 257.782 248 6 0 -23.4234 -130.446 -25.8501 + 78 78.8356 682 5 1 -43.5833 -129.678 -54.4513 + 78 35.6451 681 5 1 -43.65 -129.646 -54.7252 + 78 70.6611 253 5 0 -43.9066 -129.407 -55.85 + 78 44.6296 254 5 0 -43.9598 -129.35 -56.089 + 78 11.0205 650 4 1 -50.0348 -122.419 -84.45 + 78 99.3567 649 4 1 -50.0501 -122.415 -84.473 + 78 11.6792 648 4 1 -50.2501 -122.361 -84.8008 + 78 1.17451 289 4 0 -50.862 -122.151 -85.85 + 78 166.096 290 4 0 -50.8651 -122.15 -85.8554 + 78 79.7892 121 4 0 -129.583 -155.817 -86.25 + 78 151.166 120 4 0 -129.825 -155.951 -86.1411 + 78 104.135 119 4 0 -130.248 -156.15 -86.0059 + 78 84.8716 118 4 0 -130.613 -156.35 -85.9158 + 78 15.1 221 4 1 -135.897 -159.227 -84.85 + 78 74.0719 220 4 1 -135.95 -159.256 -84.8414 + 78 82.1138 219 4 1 -136.15 -159.368 -84.813 + 78 66.2214 218 4 1 -136.35 -159.484 -84.7798 + 78 124.137 217 4 1 -136.55 -159.612 -84.7287 + 78 50.9836 216 4 1 -136.75 -159.761 -84.6846 + 78 60.0146 215 4 1 -136.95 -159.884 -84.6525 + 78 60.4447 214 4 1 -137.15 -159.993 -84.6246 + 78 68.2532 213 4 1 -137.35 -160.091 -84.5802 + 78 25.7297 212 4 1 -137.55 -160.195 -84.4818 + 78 211.316 76 5 0 -148.691 -164.838 -56.25 + 78 14.9585 151 5 1 -149.91 -165.073 -54.85 + 78 87.2517 150 5 1 -149.95 -165.074 -54.8115 + 78 57.8157 149 5 1 -150.15 -165.026 -54.5994 + 78 143.393 842 8 1 -11.6329 -128.617 35.5498 + 78 28.59 843 8 1 -11.45 -128.748 35.2187 + 78 79.9284 255 8 0 -10.6928 -129.06 34.1497 + 78 56.3981 254 8 0 -10.5184 -129.15 33.9248 + 78 102.185 975 7 1 15.1688 -143.038 5.54994 + 78 14.478 974 7 1 15.05 -143.098 5.20077 + 78 167.989 184 7 0 14.7253 -143.284 4.15 + 78 56.0114 913 6 1 2.68318 -143.525 -24.45 + 78 70.1402 914 6 1 2.85005 -143.497 -24.5135 + 78 57.8134 915 6 1 3.05065 -143.454 -24.5808 + 78 51.6034 916 6 1 3.25 -143.436 -24.641 + 78 54.0635 917 6 1 3.45013 -143.435 -24.6982 + 78 116.703 918 6 1 3.65 -143.432 -24.7245 + 78 57.2646 919 6 1 3.85 -143.423 -24.7711 + 78 61.8877 920 6 1 4.05062 -143.404 -24.8122 + 78 354.792 183 6 0 9.36038 -143.432 -25.8501 + 78 14.3459 977 6 1 15.585 -144.249 -24.85 + 78 53.3093 978 6 1 15.65 -144.258 -24.8409 + 78 43.0756 979 6 1 15.85 -144.291 -24.8198 + 78 45.5655 980 6 1 16.05 -144.332 -24.8167 + 78 41.7555 981 6 1 16.25 -144.382 -24.8274 + 78 32.9882 175 6 0 20.699 -145.131 -25.8501 + 78 153.158 174 6 0 20.8009 -145.15 -25.8714 + 78 4.20816 1058 6 1 31.8264 -144.517 -24.8499 + 78 90.7612 191 6 0 76.5258 -141.777 -25.85 + 78 40.5376 1308 6 1 81.7031 -141.574 -24.85 + 78 55.6554 1309 6 1 81.85 -141.567 -24.806 + 78 58.3181 1310 6 1 82.05 -141.51 -24.7615 + 78 62.1035 1311 6 1 82.25 -141.443 -24.7131 + 78 64.9451 1312 6 1 82.4502 -141.356 -24.6234 + 78 166.393 1313 6 1 82.65 -141.285 -24.5452 + 78 4.42525 1314 6 1 82.85 -141.219 -24.4589 + 78 139.239 212 7 0 74.902 -137.647 3.75 + 78 45.5467 213 7 0 74.8301 -137.55 4.09809 + 78 3.6533 1272 7 1 74.591 -136.36 5.15 + 78 213.059 232 7 0 75.6387 -133.73 4.15 + 78 97.5784 1029 0 1 25.8952 -137.879 -204.45 + 78 149.703 209 0 0 26.5473 -138.205 -205.85 + 78 90.1725 208 0 0 26.7229 -138.35 -206.063 + 78 75.4358 207 0 0 26.7973 -138.55 -206.129 + 78 153.274 206 0 0 26.8525 -138.75 -206.176 + 78 143.817 205 0 0 27.1115 -138.95 -206.087 + 78 90.0248 204 0 0 27.4009 -139.15 -205.933 + 78 170.439 1036 0 1 27.3143 -138.643 -204.85 + 78 124.998 1035 0 1 27.25 -138.827 -204.715 + 78 16.8449 203 0 0 27.3733 -139.35 -205.891 + 78 167.16 810 8 1 -18.0336 -131.683 35.55 + 78 124.219 241 8 0 -17.9772 -131.833 34.15 + 78 136.804 815 7 1 -17.0154 -134.644 5.54915 + 78 118.775 227 7 0 -16.8395 -134.663 4.15 + 78 50.2572 830 6 1 -13.8722 -135.753 -24.4505 + 78 68.495 831 6 1 -13.85 -135.777 -24.6081 + 78 106.891 221 6 0 -13.6399 -135.927 -25.85 + 78 58.4045 220 6 0 -13.6095 -135.95 -26.031 + 78 137.006 860 5 1 -7.96445 -140.215 -54.4501 + 78 220.492 197 5 0 -8.13247 -140.583 -55.8504 + 78 100.362 853 4 1 -9.36072 -148.048 -84.45 + 78 154.153 854 4 1 -9.25 -147.914 -84.5732 + 78 50.9877 169 4 0 -8.50635 -146.31 -85.85 + 78 68.8871 170 4 0 -8.43344 -146.15 -85.9797 + 78 57.6106 171 4 0 -8.35859 -145.95 -86.1195 + 78 4.70085 172 4 0 -8.28496 -145.75 -86.2447 + 78 170.119 957 3 1 11.4652 -100.769 -114.45 + 78 63.304 958 3 1 11.65 -100.921 -114.685 + 78 89.5603 390 3 0 12.8472 -101.991 -115.85 + 78 76.7976 389 3 0 13.0066 -102.15 -116.068 + 78 183.49 880 9 0 -3.32895 -3.85 63.9742 + 78 36.4812 490 5 1 -81.879 -109.947 -54.45 + 78 19.088 967 3 1 13.5114 -100.501 -114.85 + 78 102.801 829 6 1 -14.05 -135.66 -24.4777 + 78 80.6688 828 6 1 -14.25 -135.524 -24.6673 + 78 16.3304 227 6 0 -15.5347 -134.582 -25.8504 + 78 123.064 228 6 0 -15.5772 -134.55 -25.8891 + 78 85.2705 229 6 0 -15.8641 -134.35 -26.1198 + 78 73.6485 640 5 1 -51.8724 -104.892 -54.45 + 78 62.3929 639 5 1 -52.05 -104.877 -54.4843 + 78 115.968 638 5 1 -52.25 -104.863 -54.5179 + 78 62.3309 637 5 1 -52.4512 -104.847 -54.5498 + 78 43.5338 636 5 1 -52.65 -104.824 -54.5808 + 78 97.5833 635 5 1 -52.8507 -104.801 -54.6084 + 78 44.3865 634 5 1 -53.0507 -104.782 -54.6356 + 78 74.8853 633 5 1 -53.25 -104.769 -54.6651 + 78 73.0571 632 5 1 -53.45 -104.766 -54.7 + 78 54.2823 631 5 1 -53.6502 -104.76 -54.7378 + 78 45.1007 630 5 1 -53.85 -104.752 -54.7785 + 78 27.9459 629 5 1 -54.05 -104.745 -54.827 + 78 517.377 378 5 0 -58.2342 -104.501 -55.85 + 78 42.4718 377 5 0 -59.16 -104.55 -56.1882 + 78 14.1278 305 4 1 -119.143 -114.537 -84.4505 + 78 121.522 304 4 1 -119.15 -114.532 -84.4697 + 78 116.775 330 4 0 -119.778 -114.115 -85.8501 + 78 232.258 239 3 1 -132.319 -108.637 -114.45 + 78 174.264 357 3 0 -131.768 -108.576 -115.85 + 78 4.33108 316 2 1 -116.946 -113.399 -144.45 + 78 131.335 315 2 1 -116.95 -113.398 -144.468 + 78 42.4405 334 2 0 -116.982 -113.186 -145.85 + 78 74.772 335 2 0 -116.974 -113.15 -145.99 + 78 58.3465 308 1 1 -118.389 -110.445 -174.45 + 78 107.87 309 1 1 -118.35 -110.427 -174.482 + 78 69.5477 240 3 1 -132.15 -108.582 -114.691 + 78 55.9972 358 3 0 -131.959 -108.466 -115.85 + 78 104.006 244 3 1 -131.294 -109.076 -114.85 + 78 55.07 245 3 1 -131.15 -109.075 -114.758 + 78 91.7717 352 3 0 -130.656 -109.665 -115.85 + 78 5.31225 232 3 1 -133.71 -110.274 -114.85 + 78 21.0239 349 3 0 -134.664 -110.264 -115.85 + 78 42.6551 222 3 1 -135.603 -110.64 -114.85 + 78 20.5771 888 1 1 -2.25455 -151.747 -174.45 + 78 254.958 889 1 1 -2.24996 -151.743 -174.479 + 78 125.735 142 1 0 -2.12235 -151.607 -175.85 + 78 168.971 898 0 1 -0.266795 -149.735 -204.45 + 78 24.3421 897 0 1 -0.450098 -150.121 -204.784 + 78 21.0999 144 0 0 -1.02926 -151.282 -205.85 + 78 75.1223 143 0 0 -1.06377 -151.351 -205.913 + 78 64.523 142 0 0 -1.18652 -151.55 -206.108 + 78 71.9179 144 1 0 -1.68595 -151.226 -175.85 + 78 58.2886 145 1 0 -1.60174 -151.15 -176.062 + 78 153.212 936 0 1 7.26303 -141.256 -204.45 + 78 20.258 937 0 1 7.45 -140.98 -204.792 + 78 26.2997 199 0 0 8.16429 -140.21 -205.85 + 78 114.075 200 0 0 8.22063 -140.15 -205.928 + 78 24.4202 201 0 0 8.41152 -139.95 -206.196 + 78 133.567 328 8 0 -37.318 -114.416 33.75 + 78 1.76521 327 8 0 -37.484 -114.55 34.1451 + 78 70.2675 710 8 1 -37.927 -115.17 35.15 + 78 522.525 709 8 1 -38.0501 -115.215 35.3072 + 78 48.6708 708 8 1 -38.25 -115.426 35.3096 + 78 119.911 807 8 1 -18.6163 -132.886 35.5497 + 78 120.8 236 8 0 -18.5434 -132.93 34.15 + 78 157.91 816 7 1 -16.7478 -134.585 5.55 + 78 2.07079 817 7 1 -16.6499 -134.658 5.1541 + 78 184.483 226 7 0 -16.4102 -134.851 4.1495 + 78 59.4178 846 6 1 -10.7242 -140.586 -24.45 + 78 105.005 847 6 1 -10.6498 -140.635 -24.553 + 78 24.758 848 6 1 -10.4499 -140.737 -24.7881 + 78 3.18112 195 6 0 -9.43625 -141.147 -25.85 + 78 224.988 194 6 0 -9.42868 -141.15 -25.8579 + 78 104.035 989 5 1 17.9399 -151.14 -54.4501 + 78 145.17 142 5 0 18.0752 -151.596 -55.85 + 78 146.957 1008 4 1 21.6875 -159.812 -84.4502 + 78 19.7322 1009 4 1 21.85 -159.943 -84.7854 + 78 180.33 98 4 0 22.272 -160.373 -85.85 + 78 64.1378 1069 3 1 33.8519 -171.484 -114.45 + 78 68.7314 1070 3 1 34.05 -171.54 -114.605 + 78 74.6397 1071 3 1 34.25 -171.623 -114.724 + 78 0.103181 1072 3 1 34.45 -171.731 -114.849 + 78 112.961 36 3 0 36.172 -172.819 -115.85 + 78 139.815 35 3 0 36.38 -172.95 -115.982 + 78 23.0875 34 3 0 36.679 -173.15 -116.207 + 78 71.2495 138 5 0 19.2392 -152.35 -55.9068 + 78 98.639 137 5 0 19.5107 -152.55 -56.1089 + 78 24.7917 136 5 0 19.78 -152.75 -56.2125 + 78 65.9271 610 7 0 -4.52533 -58.05 3.97192 +Number of digits in this event: 63 +Using G4ParticleGun... +Particle energy: 2.7242 LIN Particle: e- Event: 79 -Number of tracker hits in this event: 125 - 79 125.992 1265 10 1 73.1659 -74.671 95.55 - 79 94.4585 526 10 0 73.1673 -74.671 94.15 - 79 137.216 1265 9 1 73.1929 -74.6751 65.55 - 79 124.121 526 9 0 73.1939 -74.676 64.15 - 79 105.522 1265 8 1 73.2156 -74.6992 35.55 - 79 120.982 526 8 0 73.2153 -74.7 34.15 - 79 141.993 1265 7 1 73.2075 -74.7274 5.55 - 79 135.351 526 7 0 73.2069 -74.7296 4.15 - 79 167.015 1265 6 1 73.1971 -74.7667 -24.45 - 79 130.998 526 6 0 73.1931 -74.768 -25.85 - 79 318.548 1265 5 1 73.1079 -74.7999 -54.45 - 79 234.167 526 5 0 73.1057 -74.7998 -55.85 - 79 167.507 1265 4 1 73.054 -74.8063 -84.45 - 79 201.992 526 4 0 73.0496 -74.8102 -85.85 - 79 228.799 1264 3 1 72.9702 -74.8969 -114.45 - 79 128.047 525 3 0 72.9647 -74.8996 -115.85 - 79 249.143 1264 2 1 72.8559 -74.9525 -144.45 - 79 247.045 525 2 0 72.8502 -74.9577 -145.85 - 79 102.771 1263 1 1 72.7306 -75.062 -174.45 - 79 145.823 524 1 0 72.7284 -75.0685 -175.85 - 79 281.127 1263 0 1 72.6888 -75.1882 -204.45 - 79 116.868 524 0 0 72.6871 -75.1959 -205.85 - 79 25.6594 1048 8 0 -153.968 29.65 33.8809 - 79 8.38455 133 8 1 -153.363 28.9876 35.15 - 79 29.8926 134 8 1 -153.35 28.9827 35.1628 - 79 69.3371 1044 8 0 -151.723 28.9354 34.15 - 79 137.542 143 8 1 -151.468 28.4421 35.1502 - 79 87.1572 525 4 0 72.9763 -74.85 -86.0466 - 79 289.455 1270 1 1 74.0568 -75.9748 -174.451 - 79 132.029 519 1 0 74.1799 -76.0541 -175.85 - 79 112.493 1283 0 1 76.7977 -77.7018 -204.45 - 79 124.07 511 0 0 76.9714 -77.7811 -205.85 - 79 111.288 1261 4 1 72.4144 -74.4596 -84.45 - 79 127.612 528 4 0 72.3407 -74.4063 -85.85 - 79 167.92 1250 3 1 70.2323 -73.3947 -114.45 - 79 121.628 533 3 0 70.0852 -73.3039 -115.85 - 79 160.491 1235 2 1 67.0998 -71.737 -144.45 - 79 116.678 541 2 0 67.026 -71.7043 -145.85 - 79 126.725 1226 1 1 65.3954 -71.0183 -174.45 - 79 187.643 545 1 0 65.3533 -70.9561 -175.85 - 79 111.275 1221 0 1 64.3227 -69.8318 -204.45 - 79 121.372 550 0 0 64.3863 -70.0004 -205.85 - 79 10.3065 549 0 0 64.4023 -70.05 -206.234 - 79 63.3032 248 3 1 -130.35 -149.323 -114.761 - 79 55.6948 690 1 0 66.5371 -41.9245 -176.25 - 79 91.2736 691 1 0 66.5583 -41.85 -176.19 - 79 123.374 1231 1 1 66.3986 -41.5636 -174.85 - 79 72.3369 1232 1 1 66.45 -41.4258 -174.515 - 79 116.565 1233 1 1 66.65 -41.4083 -174.508 - 79 53.4381 1234 1 1 66.85 -41.364 -174.674 - 79 323.085 693 1 0 67.2898 -41.3279 -175.851 - 79 63.5204 694 1 0 67.4923 -41.25 -176.154 - 79 4.53221 1266 5 1 73.25 -74.8492 -54.8381 - 79 236.822 525 5 0 73.415 -74.9478 -55.85 - 79 123.148 1298 4 1 79.6525 -79.8066 -84.45 - 79 191.832 501 4 0 80.2766 -79.8246 -85.8504 - 79 4.209 500 4 0 80.4465 -79.85 -86.2313 - 79 27.4957 1366 3 1 93.4703 -82.4918 -114.45 - 79 95.0933 1367 3 1 93.5502 -82.4806 -114.488 - 79 56.6017 1368 3 1 93.7502 -82.4523 -114.579 - 79 60.5226 1369 3 1 93.95 -82.4155 -114.669 - 79 29.9633 1370 3 1 94.1502 -82.3941 -114.785 - 79 304 489 3 0 96.1607 -82.202 -115.85 - 79 32.326 1672 2 1 154.606 -88.1311 -144.45 - 79 59.0496 1673 2 1 154.75 -88.1683 -144.496 - 79 65.4272 1674 2 1 154.95 -88.2119 -144.553 - 79 56.2013 1675 2 1 155.151 -88.2416 -144.623 - 79 60.9966 1676 2 1 155.35 -88.273 -144.712 - 79 59.4207 1677 2 1 155.55 -88.3233 -144.791 - 79 21.0381 453 2 0 158.57 -89.4296 -145.85 - 79 289.208 452 2 0 158.625 -89.45 -145.87 - 79 329.94 451 2 0 159.159 -89.6502 -146.041 - 79 113.633 450 2 0 159.793 -89.85 -146.236 - 79 125.519 1276 5 1 75.3685 -77.0336 -54.85 - 79 72.6472 71 1 0 -53.8692 -165.75 -176.173 - 79 263.603 1266 3 1 73.3646 -74.6319 -114.45 - 79 217.806 527 3 0 73.2885 -74.5197 -115.85 - 79 348.691 1259 2 1 71.8617 -73.1525 -144.45 - 79 348.991 1258 2 1 71.85 -73.1506 -144.494 - 79 199.456 534 2 0 71.454 -73.0964 -145.85 - 79 112.558 1221 1 1 64.4108 -75.396 -174.451 - 79 44.7782 521 1 0 64.007 -75.7992 -175.85 - 79 58.9974 520 1 0 63.9567 -75.85 -176.024 - 79 30.2226 1188 0 1 57.6623 -84.4612 -204.45 - 79 86.3675 1187 0 1 57.6499 -84.468 -204.511 - 79 51.9886 477 0 0 57.3943 -84.6284 -205.85 - 79 77.359 476 0 0 57.3624 -84.65 -206.018 - 79 271.304 1124 0 1 44.9924 -127.55 -204.85 - 79 213.359 535 2 0 71.4043 -72.8611 -145.85 - 79 126.617 536 2 0 71.3864 -72.85 -145.905 - 79 129.769 1225 1 1 65.2315 -62.5565 -174.45 - 79 1.89772 591 1 0 64.8209 -61.6556 -175.85 - 79 346.919 592 1 0 64.8182 -61.65 -175.859 - 79 42.3073 593 1 0 64.7113 -61.45 -176.174 - 79 19.9268 1172 0 1 54.5904 -40.7964 -204.45 - 79 103.064 1173 0 1 54.65 -40.7268 -204.494 - 79 92.034 1174 0 1 54.8501 -40.4748 -204.651 - 79 9.76013 1175 0 1 55.05 -40.1986 -204.839 - 79 46.7987 706 0 0 56.0477 -38.7748 -205.851 - 79 112.736 707 0 0 56.1349 -38.6498 -205.928 - 79 146.757 708 0 0 56.2716 -38.45 -206.042 - 79 87.6689 709 0 0 56.3819 -38.2499 -206.148 - 79 16.4391 710 0 0 56.4782 -38.05 -206.237 - 79 142.711 1258 1 1 71.7571 -72.6609 -174.451 - 79 152.957 535 1 0 71.7544 -72.861 -175.85 - 79 8.51421 1268 0 1 73.6545 -77.8345 -204.45 - 79 109.86 1267 0 1 73.65 -77.8228 -204.476 - 79 72.4352 513 0 0 73.3506 -77.3296 -205.85 - 79 45.3275 514 0 0 73.2995 -77.25 -206.083 - 79 15.9103 1260 2 1 72.05 -73.2126 -144.582 - 79 275.016 1268 2 1 73.6579 -74.7749 -144.45 - 79 234.97 526 2 0 73.6537 -74.7489 -145.85 - 79 223.554 1267 1 1 73.5325 -74.2231 -174.45 - 79 136.426 529 1 0 73.4695 -74.1713 -175.85 - 79 111.599 1260 0 1 72.2116 -73.0148 -204.45 - 79 108.721 535 0 0 72.1772 -72.9481 -205.85 - 79 147.932 1798 7 1 179.759 139.097 5.15 - 79 130.369 1799 7 1 179.95 139.405 5.36861 - 79 131.457 1276 1 1 75.3545 -71.5901 -174.45 - 79 68.7716 546 1 0 75.6194 -70.8499 -176.004 - 79 22.2947 1300 0 1 80.0719 -59.3763 -204.451 - 79 142.301 1299 0 1 80.05 -59.3322 -204.528 - 79 11.0235 607 0 0 79.59 -58.4772 -205.85 - 79 118.531 608 0 0 79.575 -58.45 -205.891 - 79 21.9721 609 0 0 79.4644 -58.2499 -206.192 -Number of digits in this event: 63 +Number of tracker hits in this event: 28 + 79 144.453 254 7 1 -129.274 71.8123 5.55 + 79 247.229 1258 7 0 -129.279 71.8132 4.15 + 79 139.556 253 6 1 -129.357 71.8445 -24.45 + 79 96.3477 1259 6 0 -129.36 71.8527 -25.85 + 79 99.6541 253 5 1 -129.44 72.0194 -54.45 + 79 150.559 1259 5 0 -129.44 72.0283 -55.85 + 79 205.382 253 4 1 -129.44 72.2176 -84.45 + 79 116.437 1260 4 0 -129.435 72.2196 -85.85 + 79 297.934 254 3 1 -129.338 72.2731 -114.45 + 79 110.079 1261 3 0 -129.335 72.2762 -115.85 + 79 116.156 254 2 1 -129.291 72.3502 -144.45 + 79 116.335 1261 2 0 -129.295 72.359 -145.85 + 79 107.694 254 1 1 -129.344 72.5173 -174.45 + 79 129.427 1262 1 0 -129.355 72.5187 -175.85 + 79 133.298 252 0 1 -129.566 72.5933 -204.45 + 79 335.794 1262 0 0 -129.578 72.5919 -205.85 + 79 77.0523 255 3 1 -129.15 72.8508 -114.667 + 79 143.001 256 3 1 -128.95 73.0606 -114.734 + 79 57.6162 257 3 1 -128.75 73.1322 -114.735 + 79 67.3345 258 3 1 -128.55 73.2113 -114.736 + 79 53.5283 259 3 1 -128.349 73.3202 -114.708 + 79 56.812 260 3 1 -128.15 73.37 -114.714 + 79 58.608 261 3 1 -127.95 73.3814 -114.767 + 79 20.488 262 3 1 -127.75 73.4102 -114.833 + 79 272.034 1267 3 0 -123.732 73.502 -115.85 + 79 162.265 1284 3 0 -121.178 76.9097 -116.25 + 79 58.4066 1480 11 0 41.1847 116.217 123.75 + 79 216.797 1073 3 1 34.6843 -3.61387 -114.85 +Number of digits in this event: 16 Using G4ParticleGun... -Particle energy: 8.40834 LIN +Particle energy: 5.70434 LIN Particle: e- Event: 80 -Number of tracker hits in this event: 236 - 80 147.378 821 10 1 -15.7771 112.477 95.55 - 80 125.806 1461 10 0 -15.777 112.477 94.15 - 80 94.0708 821 9 1 -15.7833 112.466 65.55 - 80 260.974 1461 9 0 -15.7837 112.465 64.15 - 80 406.086 821 8 1 -15.7852 112.442 35.55 - 80 387.647 1461 8 0 -15.7859 112.44 34.15 - 80 307.232 821 7 1 -15.7985 112.406 5.55 - 80 224.255 1461 7 0 -15.7979 112.404 4.15 - 80 120.556 821 6 1 -15.789 112.35 -24.45 - 80 138.413 1460 6 0 -15.7907 112.347 -25.85 - 80 312.711 821 5 1 -15.8272 112.293 -54.45 - 80 164.495 1460 5 0 -15.8293 112.29 -55.85 - 80 220.743 820 4 1 -15.8704 112.233 -84.45 - 80 278.467 1460 4 0 -15.8712 112.232 -85.85 - 80 328.936 820 3 1 -15.8871 112.203 -114.45 - 80 555.649 1460 3 0 -15.8874 112.203 -115.85 - 80 767.475 820 2 1 -15.8974 112.198 -144.45 - 80 451.398 1460 2 0 -15.8985 112.199 -145.85 - 80 303.832 820 1 1 -15.9253 112.235 -174.45 - 80 273.254 1460 1 0 -15.9255 112.236 -175.85 - 80 509.16 820 0 1 -15.9291 112.262 -204.45 - 80 148.976 1460 0 0 -15.9286 112.265 -205.85 - 80 42.2508 1211 1 0 -9.32301 62.45 -176.243 - 80 15.6965 1057 2 0 74.2736 31.65 -146.157 - 80 98.1579 1210 1 0 -9.32288 62.2498 -175.922 - 80 113.677 1462 0 0 -15.748 112.617 -205.85 - 80 145.353 1463 0 0 -15.7242 112.75 -206.188 - 80 96.9682 1461 0 0 -16.254 112.35 -205.967 - 80 621.406 1459 1 0 -15.8366 112.134 -175.85 - 80 147.468 822 0 1 -15.6152 109.476 -204.45 - 80 7.67194 1445 0 0 -15.3194 109.158 -205.85 - 80 193.374 1444 0 0 -15.3117 109.15 -205.886 - 80 116.768 821 1 1 -15.85 112.217 -174.551 - 80 145.405 1458 1 0 -15.4384 111.794 -175.85 - 80 165.29 1457 1 0 -15.4373 111.75 -175.952 - 80 111.019 827 1 1 -14.606 111.671 -174.45 - 80 121.547 833 0 1 -13.3754 109.782 -204.45 - 80 118.879 1447 0 0 -13.3218 109.692 -205.85 - 80 107.303 815 1 1 -17.0394 112.123 -174.45 - 80 39.8264 814 1 1 -17.05 112.115 -174.69 - 80 91.8008 809 0 1 -18.2392 110.882 -204.45 - 80 152.128 808 0 1 -18.25 110.878 -204.602 - 80 118.097 1453 0 0 -18.3394 110.835 -205.85 - 80 64.5024 1047 5 1 29.4573 3.95828 -54.85 - 80 167.233 1470 0 0 -23.4465 114.309 -206.25 - 80 15.6577 1471 0 0 -23.5531 114.35 -205.913 - 80 81.9817 781 0 1 -23.8194 114.896 -204.85 - 80 247.714 780 0 1 -23.85 115.06 -204.606 - 80 165.088 779 0 1 -24.05 114.534 -204.582 - 80 66.7563 778 0 1 -24.25 114.423 -204.548 - 80 241.559 821 3 1 -15.8217 112.219 -114.45 - 80 391.618 1459 2 0 -15.916 112.118 -145.85 - 80 147.165 819 1 1 -16.0806 112.233 -174.45 - 80 190.618 819 0 1 -16.1815 112.104 -204.45 - 80 146.434 1459 0 0 -16.1866 112.101 -205.85 - 80 48.2751 1567 9 0 -18.8211 133.652 63.7501 - 80 114.104 1568 9 0 -18.8569 133.75 63.8221 - 80 78.6236 1569 9 0 -18.9104 133.95 63.9223 - 80 88.0971 1570 9 0 -18.9861 134.15 63.9631 - 80 131.054 1571 9 0 -18.9852 134.35 63.984 - 80 190.197 817 7 1 -16.4747 111.726 5.55 - 80 121.917 1457 7 0 -16.5345 111.596 4.15 - 80 42.0445 812 6 1 -17.6485 108.906 -24.4503 - 80 81.4384 811 6 1 -17.65 108.887 -24.5643 - 80 105.047 1442 6 0 -17.6691 108.68 -25.8502 - 80 266.498 810 5 1 -18.0144 104.249 -54.45 - 80 108.614 1418 5 0 -18.0068 103.927 -55.85 - 80 140.787 808 4 1 -18.2554 96.8115 -84.45 - 80 96.613 1381 4 0 -18.3352 96.4393 -85.85 - 80 27.7455 1380 4 0 -18.3545 96.35 -86.1845 - 80 107.226 800 3 1 -19.938 88.9989 -114.45 - 80 102.331 1344 3 0 -19.9859 88.8812 -115.85 - 80 4.14189 1343 3 0 -19.9981 88.85 -116.233 - 80 150.571 795 2 1 -21.0267 86.6743 -144.45 - 80 111.638 1332 2 0 -21.0373 86.5538 -145.85 - 80 111.36 796 1 1 -20.7289 83.9416 -174.45 - 80 115.63 1318 1 0 -20.7239 83.7981 -175.85 - 80 337.665 795 0 1 -20.9133 80.8713 -204.45 - 80 134.717 1304 0 0 -20.9052 80.9834 -205.85 - 80 26.7227 794 0 1 -21.0501 80.7486 -204.69 - 80 36.8305 1300 0 0 -20.6002 80.1011 -205.85 - 80 118.258 1299 0 0 -20.5695 80.05 -205.955 - 80 395.575 1233 0 0 -20.4818 66.7803 -206.25 - 80 28.9787 812 3 1 -17.6293 94.55 -114.45 - 80 92.4864 811 3 1 -17.65 94.5477 -114.499 - 80 217.307 1372 3 0 -18.2338 94.6435 -115.85 - 80 22.6881 760 2 1 -28.001 99.4825 -144.45 - 80 115.737 759 2 1 -28.0501 99.5116 -144.493 - 80 63.9693 1401 2 0 -28.6383 100.433 -145.85 - 80 70.9942 1402 2 0 -28.7159 100.55 -146.033 - 80 337.342 452 2 0 20.7973 -89.45 -146.037 - 80 233.365 819 3 1 -16.05 109.59 -114.564 - 80 52.506 1428 3 0 -16.3542 105.943 -115.85 - 80 52.4644 1427 3 0 -16.3649 105.75 -115.918 - 80 60.2004 1426 3 0 -16.3845 105.55 -115.994 - 80 68.8134 1425 3 0 -16.3994 105.35 -116.052 - 80 48.2647 1424 3 0 -16.4202 105.149 -116.091 - 80 54.7766 1423 3 0 -16.4332 104.95 -116.13 - 80 67.3838 1422 3 0 -16.4356 104.75 -116.172 - 80 43.4446 1421 3 0 -16.4176 104.55 -116.222 - 80 105.148 973 2 1 14.7745 -127.027 -144.45 - 80 24.1597 972 2 1 14.65 -127.22 -144.755 - 80 124.441 263 2 0 13.8755 -127.358 -145.85 - 80 35.2795 264 2 0 13.6398 -127.35 -146.181 - 80 35.6675 1454 3 0 -15.8319 111.068 -115.85 - 80 74.2662 1455 3 0 -15.8259 111.15 -115.979 - 80 235.352 828 2 1 -14.353 121.348 -144.45 - 80 234.383 827 2 1 -14.45 121.748 -144.613 - 80 12.9168 1529 2 0 -15.6767 126.103 -145.85 - 80 61.1656 1530 2 0 -15.6908 126.15 -145.863 - 80 69.8214 1531 2 0 -15.7513 126.35 -145.916 - 80 57.3748 1532 2 0 -15.8196 126.55 -145.969 - 80 110.56 1533 2 0 -15.9023 126.75 -146.024 - 80 69.9835 1534 2 0 -16.0115 126.95 -146.11 - 80 23.2097 1535 2 0 -16.1439 127.15 -146.208 - 80 62.1965 687 1 1 -42.5887 161.317 -174.45 - 80 70.7879 686 1 1 -42.65 161.188 -174.634 - 80 33.7438 1702 1 0 -42.9814 160.6 -175.851 - 80 238.747 1701 1 0 -43.0122 160.55 -175.954 - 80 79.0758 539 0 1 -72.1291 153.818 -204.45 - 80 39.5392 540 0 1 -72.05 153.811 -204.729 - 80 111.594 1669 0 0 -71.7392 154.043 -205.85 - 80 67.8712 1670 0 0 -71.6555 154.15 -206.205 - 80 104.774 822 6 1 -15.5758 112.524 -24.45 - 80 96.6698 1461 6 0 -15.5604 112.52 -25.85 - 80 128.645 824 5 1 -15.2212 112.436 -54.45 - 80 384.592 1461 5 0 -15.2005 112.434 -55.85 - 80 428.499 826 4 1 -14.7687 112.4 -84.45 - 80 351.973 1461 4 0 -14.7477 112.394 -85.85 - 80 291.876 828 3 1 -14.3462 112.24 -114.45 - 80 117.669 830 2 1 -13.9094 112.06 -144.45 - 80 137.132 832 1 1 -13.5061 111.976 -174.45 - 80 175.208 834 0 1 -13.226 111.931 -204.45 - 80 224.678 1458 0 0 -13.22 111.933 -205.85 - 80 125.416 780 1 0 -35.6845 -23.85 -175.898 - 80 340.957 823 5 1 -15.2501 112.449 -54.6721 - 80 105.664 1462 5 0 -15.9686 112.592 -55.85 - 80 34.8845 1264 5 0 141.704 72.8824 -56.25 - 80 456.836 1263 5 0 141.8 72.8495 -56.2057 - 80 229.519 1262 5 0 142.322 72.65 -56.0586 - 80 80.6599 1616 5 1 143.367 72.1678 -54.85 - 80 66.718 1617 5 1 143.55 72.0756 -54.663 - 80 87.0991 1618 5 1 143.75 71.9966 -54.5597 - 80 321.029 1619 5 1 143.95 71.832 -54.4732 - 80 161.164 825 4 1 -14.8559 112.411 -84.45 - 80 122.401 1457 3 0 -14.3695 111.613 -115.85 - 80 108.25 824 2 1 -15.1382 109.251 -144.45 - 80 113.571 1445 2 0 -15.2264 109.258 -145.85 - 80 198.407 816 1 1 -16.6542 109.312 -174.45 - 80 91.6192 1446 1 0 -16.7677 109.519 -175.85 - 80 56.0054 1447 1 0 -16.7872 109.55 -176.08 - 80 121.659 802 0 1 -19.5869 114.025 -204.45 - 80 82.6242 824 4 1 -15.0501 111.646 -84.649 - 80 245.865 823 4 1 -15.25 111.554 -84.6529 - 80 98.3903 822 4 1 -15.45 111.459 -84.6431 - 80 24.9001 821 4 1 -15.85 112.404 -84.7642 - 80 230.044 826 3 1 -14.7198 109.862 -114.45 - 80 162.089 1447 3 0 -14.7885 109.734 -115.85 - 80 101.622 814 2 1 -17.129 108.227 -144.45 - 80 117.177 1439 2 0 -17.312 108.044 -145.85 - 80 101.407 795 1 1 -20.8762 105.388 -174.45 - 80 118.896 1425 1 0 -21.1036 105.255 -175.85 - 80 100.481 771 0 1 -25.757 102.89 -204.45 - 80 48.3663 770 0 1 -25.85 102.882 -204.75 - 80 118.296 1413 0 0 -26.1854 102.841 -205.85 - 80 58.9285 1536 3 0 -107.812 127.51 -116.25 - 80 81.9113 1537 3 0 -107.834 127.55 -116.231 - 80 103.776 822 5 1 -15.45 112.539 -54.5102 - 80 168.586 1464 5 0 -16.0478 112.986 -55.85 - 80 23.6433 739 4 1 -32.0698 124.052 -84.45 - 80 148.599 740 4 1 -32.05 124.071 -84.5382 - 80 115.575 1520 4 0 -31.6766 124.186 -85.85 - 80 10.7229 767 3 1 -26.6212 133.659 -114.45 - 80 159.317 766 3 1 -26.65 133.688 -114.489 - 80 305.643 765 3 1 -26.85 133.994 -114.767 - 80 78.3337 1579 3 0 -28.5988 135.963 -115.85 - 80 153.78 1580 3 0 -28.8039 136.15 -115.975 - 80 60.2418 1581 3 0 -29.0258 136.35 -116.086 - 80 74.3452 1582 3 0 -29.1783 136.55 -116.099 - 80 60.5548 1583 3 0 -29.3823 136.75 -116.096 - 80 71.4416 1584 3 0 -29.5685 136.95 -116.116 - 80 88.085 1585 3 0 -29.7481 137.15 -116.142 - 80 89.0821 1586 3 0 -29.9087 137.35 -116.183 - 80 15.5598 1587 3 0 -30.0682 137.55 -116.24 - 80 30.4905 1465 5 0 -16.2753 113.15 -56.2301 - 80 78.3448 1352 5 0 6.71729 90.5751 -56.25 - 80 146.777 854 4 1 -9.20218 112.827 -84.45 - 80 126.849 1462 4 0 -8.83712 112.611 -85.8502 - 80 32.1183 915 3 1 3.20401 109.019 -114.45 - 80 108.116 916 3 1 3.25 109.014 -114.532 - 80 137.684 1443 3 0 4.05923 108.933 -115.85 - 80 46.9288 1021 2 1 24.3443 109.173 -144.45 - 80 81.0324 1022 2 1 24.45 109.211 -144.529 - 80 53.1022 1023 2 1 24.65 109.29 -144.664 - 80 19.6266 1024 2 1 24.8502 109.372 -144.805 - 80 329.072 1449 2 0 26.4121 109.995 -145.85 - 80 201.35 1450 2 0 26.7586 110.15 -146.098 - 80 67.4366 1198 1 1 59.6512 125.676 -174.45 - 80 138.795 1199 1 1 59.85 125.725 -174.595 - 80 76.3962 1200 1 1 60.05 125.77 -174.725 - 80 25.6962 1201 1 1 60.2501 125.81 -174.83 - 80 275.781 1530 1 0 62.2607 126.189 -175.85 - 80 251.993 1490 1 0 142.694 118.304 -176.25 - 80 50.4179 1489 1 0 142.891 118.15 -175.971 - 80 79.3775 1618 1 1 143.816 117.365 -174.85 - 80 173.533 1619 1 1 143.95 117.221 -174.68 - 80 141.726 1513 2 0 156.45 122.783 -146.25 - 80 71.9515 1683 2 1 156.837 122.857 -144.85 - 80 47.5157 1684 2 1 156.95 122.854 -144.591 - 80 8.71449 1685 2 1 157.326 124.01 -144.85 - 80 354.008 1686 2 1 157.35 124.034 -144.841 - 80 257.445 1448 2 0 26.8674 109.95 -145.866 - 80 50.6608 1447 2 0 27.163 109.75 -145.866 - 80 8.28371 1034 2 1 26.9879 107.564 -144.85 - 80 61.1966 1437 2 0 26.5562 107.64 -145.85 - 80 107.069 820 5 1 -15.85 112.325 -54.5275 - 80 47.2823 1459 5 0 -16.0754 112.15 -56.0602 - 80 62.7278 778 4 1 -24.3499 104.386 -84.45 - 80 262.469 777 4 1 -24.4501 104.165 -84.5166 - 80 203.614 776 4 1 -24.65 103.725 -84.6751 - 80 33.6567 1405 4 0 -25.8643 101.238 -85.85 - 80 69.7849 1404 4 0 -25.906 101.15 -85.893 - 80 88.3337 1403 4 0 -26.0132 100.95 -86.0133 - 80 65.3862 1402 4 0 -26.1264 100.75 -86.1391 - 80 171.221 630 3 1 -53.8741 54.1168 -114.45 - 80 79.6827 1165 3 0 -54.1109 53.2094 -115.85 - 80 53.6437 1164 3 0 -54.1517 53.05 -116.088 - 80 114.619 595 2 1 -60.9613 36.172 -144.45 - 80 103.148 1077 2 0 -60.7751 35.5716 -145.85 - 80 28.471 1076 2 0 -60.7463 35.45 -146.134 - 80 24.1953 604 1 1 -59.0893 21.6856 -174.45 - 80 101.946 605 1 1 -59.05 21.6838 -174.557 - 80 230.877 1007 1 0 -58.6083 21.6059 -175.85 - 80 137.844 670 0 1 -46.0073 17.1274 -204.45 - 80 58.4995 987 0 0 -45.9177 17.5997 -205.851 - 80 111.663 988 0 0 -45.9169 17.65 -205.998 -Number of digits in this event: 98 -Using G4ParticleGun... -Particle energy: 6.46643 LIN +Number of tracker hits in this event: 180 + 80 118.673 622 11 1 -55.642 -36.5697 125.55 + 80 282.833 717 11 0 -55.6322 -36.6153 124.15 + 80 114.357 623 10 1 -55.4183 -37.6206 95.55 + 80 131.396 711 10 0 -55.4118 -37.6845 94.15 + 80 118.919 623 9 1 -55.2582 -38.9886 65.55 + 80 117.304 704 9 0 -55.2515 -39.0663 64.15 + 80 117.043 624 8 1 -55.1036 -40.6549 35.55 + 80 168.892 696 8 0 -55.0836 -40.7339 34.15 + 80 233.731 626 7 1 -54.6688 -42.3163 5.55 + 80 97.9923 688 7 0 -54.6445 -42.3997 4.15 + 80 111.632 629 6 1 -54.1041 -44.1008 -24.45 + 80 139.257 679 6 0 -54.0828 -44.1771 -25.85 + 80 116.506 631 5 1 -53.6934 -45.7 -54.45 + 80 167.07 671 5 0 -53.6841 -45.7803 -55.85 + 80 114.97 632 4 1 -53.4604 -47.3793 -84.45 + 80 114.444 662 4 0 -53.4495 -47.4581 -85.85 + 80 161.688 633 3 1 -53.3415 -48.767 -114.45 + 80 115.249 656 3 0 -53.3275 -48.8216 -115.85 + 80 122.038 634 2 1 -53.0938 -49.9912 -144.45 + 80 115.467 649 2 0 -53.0812 -50.0612 -145.85 + 80 156.766 636 1 1 -52.8293 -51.4868 -174.45 + 80 117.568 642 1 0 -52.8148 -51.5633 -175.85 + 80 255.6 637 0 1 -52.5046 -53.1506 -204.45 + 80 129.642 634 0 0 -52.4873 -53.231 -205.85 + 80 15.337 633 0 0 -52.4834 -53.25 -206.183 + 80 1.59308 1186 14 1 57.25 99.5143 215.298 + 80 176.301 678 6 0 -54.0861 -44.25 -26.1335 + 80 0.782923 629 0 0 -50.3373 -54.2012 -205.85 + 80 134.142 626 10 1 -54.8263 -34.6149 95.55 + 80 144.53 728 10 0 -54.8341 -34.4293 94.15 + 80 127.952 624 9 1 -55.2464 -30.1971 65.5493 + 80 94.082 750 9 0 -55.2344 -30.0091 64.1499 + 80 124.1 625 8 1 -54.8873 -26.0038 35.55 + 80 16.4396 770 8 0 -54.8794 -25.8575 34.15 + 80 177.408 771 8 0 -54.8792 -25.85 34.0771 + 80 105.711 786 7 0 -54.8575 -22.7539 4.1498 + 80 109.082 616 6 1 -56.7258 -17.9404 -24.45 + 80 93.5015 811 6 0 -56.8013 -17.689 -25.85 + 80 58.2753 812 6 0 -56.814 -17.65 -26.0607 + 80 115.973 608 5 1 -58.2948 -12.8705 -54.45 + 80 204.218 837 5 0 -58.3664 -12.6102 -55.8502 + 80 127.478 600 4 1 -59.9295 -6.50092 -84.4505 + 80 158.554 868 4 0 -60.1217 -6.32938 -85.85 + 80 139.818 579 3 1 -64.0751 -2.59016 -114.45 + 80 68.9774 888 3 0 -64.3902 -2.29323 -115.85 + 80 51.0287 889 3 0 -64.4379 -2.25 -116.059 + 80 428.068 545 2 1 -70.9266 3.50256 -144.45 + 80 138.908 918 2 0 -71.2869 3.65867 -145.85 + 80 65.7162 505 1 1 -79.0113 6.19279 -174.45 + 80 94.8212 504 1 1 -79.05 6.21757 -174.637 + 80 233.615 931 1 0 -79.2902 6.39422 -175.85 + 80 218.833 477 0 1 -84.6005 10.3082 -204.45 + 80 139.776 476 0 1 -84.65 10.3504 -204.742 + 80 256.032 952 0 0 -84.817 10.5271 -205.85 + 80 152.411 638 0 1 -52.4049 3.57764 -204.45 + 80 146.54 918 0 0 -52.6551 3.70727 -205.85 + 80 46.0331 920 0 0 -52.7366 4.21678 -205.85 + 80 146.896 921 0 0 -52.7544 4.25 -205.924 + 80 19.4444 1423 7 1 104.75 68.3464 5.15423 + 80 117.856 325 2 1 -114.95 -44.4209 -144.709 + 80 373.974 620 7 1 -55.9361 -36.1652 5.55 + 80 218.192 719 7 0 -55.9449 -36.1576 4.15 + 80 428.015 619 6 1 -56.1189 -36.0029 -24.45 + 80 145.372 720 6 0 -56.1262 -35.9951 -25.85 + 80 109.928 618 5 1 -56.2695 -35.8201 -54.45 + 80 98.7992 721 5 0 -56.3004 -35.7878 -55.85 + 80 163.299 614 4 1 -57.0893 -35.1501 -84.45 + 80 134.752 724 4 0 -57.1574 -35.1363 -85.85 + 80 302.593 607 3 1 -58.6052 -34.8441 -114.45 + 80 144.258 726 3 0 -58.7211 -34.8449 -115.85 + 80 115.242 594 2 1 -61.0926 -34.9842 -144.45 + 80 124.864 725 2 0 -61.2273 -35.0113 -145.85 + 80 136.054 580 1 1 -63.9027 -35.5308 -174.45 + 80 266.822 722 1 0 -64.0091 -35.5839 -175.85 + 80 150.964 569 0 1 -66.053 -36.6281 -204.45 + 80 147.87 716 0 0 -66.1505 -36.6725 -205.85 + 80 383.016 617 4 1 -56.5022 -35.6974 -84.45 + 80 345.069 721 4 0 -56.5165 -35.6861 -85.85 + 80 216.774 616 3 1 -56.8006 -35.4553 -114.45 + 80 237.568 722 3 0 -56.8114 -35.4517 -115.85 + 80 122.84 615 2 1 -57.0271 -35.3902 -144.45 + 80 237.617 723 2 0 -57.0398 -35.3903 -145.85 + 80 130.442 613 1 1 -57.2902 -35.3719 -174.45 + 80 276.41 723 1 0 -57.3008 -35.3754 -175.85 + 80 398.595 612 0 1 -57.4506 -35.3342 -204.45 + 80 122.286 723 0 0 -57.4693 -35.3305 -205.85 + 80 235.427 617 3 1 -56.5215 -35.4902 -114.45 + 80 251.587 618 2 1 -56.3897 -35.3029 -144.45 + 80 123.065 619 1 1 -56.0649 -35.1703 -174.45 + 80 335.31 724 1 0 -56.0389 -35.164 -175.85 + 80 125.835 622 0 1 -55.5617 -34.9686 -204.45 + 80 107.688 725 0 0 -55.5363 -34.9486 -205.85 + 80 101.081 292 0 1 -121.55 38.2563 -204.563 + 80 128.464 615 1 1 -57.0474 -35.2433 -174.45 + 80 83.7161 616 1 1 -56.85 -35.1099 -174.506 + 80 31.3385 614 1 1 -57.05 -35.2437 -174.538 + 80 208.522 719 6 0 -55.9704 -36.218 -25.85 + 80 46.5967 718 6 0 -55.9448 -36.25 -26.084 + 80 98.2952 645 5 1 -50.9694 -40.2519 -54.45 + 80 139.808 699 5 0 -50.904 -40.1448 -55.85 + 80 136.996 657 4 1 -48.5534 -38.047 -84.45 + 80 19.4586 656 4 1 -48.6501 -37.9217 -84.7796 + 80 77.8806 712 4 0 -48.9269 -37.5384 -85.85 + 80 43.5579 713 4 0 -48.9842 -37.45 -86.0958 + 80 4.78392 622 3 1 -55.6429 -27.0924 -114.45 + 80 132.844 621 3 1 -55.65 -27.0803 -114.47 + 80 108.744 769 3 0 -55.884 -26.2082 -115.85 + 80 79.7774 770 3 0 -55.9247 -26.0498 -116.081 + 80 127.43 584 2 1 -63.1589 -6.13436 -144.45 + 80 115.923 870 2 0 -63.3854 -5.92697 -145.85 + 80 165.551 579 1 1 -64.1715 0.0508106 -174.45 + 80 124.709 902 1 0 -64.3426 0.468339 -175.85 + 80 26.5889 572 0 1 -65.4581 7.92464 -204.45 + 80 120.708 573 0 1 -65.45 7.96349 -204.544 + 80 24.0462 941 0 0 -65.1816 8.40942 -205.85 + 80 92.5972 942 0 0 -65.1554 8.45 -205.966 + 80 60.5586 605 3 0 73.2962 -58.9236 -116.25 + 80 5.17135 945 3 0 115.407 9.2388 -116.25 + 80 18.4635 946 3 0 115.412 9.25047 -116.247 + 80 127.425 1028 3 0 117.512 25.7416 -116.25 + 80 138.424 620 6 1 -56.05 -35.9758 -24.6142 + 80 28.0341 721 6 0 -55.6432 -35.6683 -25.8503 + 80 131.26 722 6 0 -55.6203 -35.65 -25.923 + 80 91.4933 660 5 1 -47.9241 -28.2003 -54.45 + 80 40.0133 760 5 0 -48.0182 -27.8743 -55.85 + 80 92.7708 761 5 0 -48.0269 -27.85 -55.9541 + 80 102.098 646 4 1 -50.7853 -21.2221 -84.4502 + 80 47.0474 645 4 1 -50.8501 -21.2666 -84.7028 + 80 126.632 792 4 0 -51.0874 -21.5211 -85.85 + 80 27.4292 762 3 0 -56.812 -27.6094 -115.85 + 80 92.7984 761 3 0 -56.8222 -27.65 -115.946 + 80 223.389 600 2 1 -59.9689 -42.2295 -144.45 + 80 71.7272 684 2 0 -59.9731 -43.1312 -145.85 + 80 66.4386 683 2 0 -59.9749 -43.25 -146.034 + 80 6.49286 596 1 1 -60.6612 -61.0932 -174.45 + 80 197.066 597 1 1 -60.65 -61.1018 -174.472 + 80 162.588 591 1 0 -59.9799 -61.658 -175.85 + 80 17.1547 689 0 1 -42.099 -70.9834 -204.45 + 80 75.7694 690 0 1 -42.0499 -71.0039 -204.513 + 80 56.9764 691 0 1 -41.85 -71.0899 -204.733 + 80 107.822 542 0 0 -40.8105 -71.5534 -205.85 + 80 57.3725 541 0 0 -40.5514 -71.65 -206.147 + 80 150.419 541 1 0 -53.3512 -71.65 -176.081 + 80 78.0925 540 1 0 -53.3321 -71.85 -176.066 + 80 12.2627 601 2 1 -59.85 -42.3211 -144.787 + 80 211.478 686 2 0 -59.1908 -42.7021 -145.85 + 80 392.544 687 2 0 -59.055 -42.65 -146.1 + 80 294.239 688 2 0 -58.8402 -42.45 -146.097 + 80 7.22097 841 2 0 -46.5634 -11.6651 -146.25 + 80 7.60511 842 2 0 -46.556 -11.65 -146.24 + 80 49.3944 619 7 1 -56.05 -36.256 5.27812 + 80 80.5812 715 7 0 -56.5629 -36.995 4.15 + 80 73.7573 714 7 0 -56.683 -37.05 3.90797 + 80 113.126 617 5 1 -56.49 -35.9126 -54.45 + 80 121.158 720 5 0 -56.5082 -35.9002 -55.85 + 80 155.908 615 4 1 -56.9138 -35.6523 -84.45 + 80 104.35 611 3 1 -57.6675 -36.3832 -114.45 + 80 14.6994 612 3 1 -57.65 -36.3519 -114.803 + 80 190.621 719 3 0 -57.5917 -36.2206 -115.85 + 80 40.4782 619 2 1 -56.25 -31.946 -144.724 + 80 18.6055 744 2 0 -55.6332 -31.088 -145.85 + 80 147.876 745 2 0 -55.606 -31.05 -145.9 + 80 26.6275 746 2 0 -55.4689 -30.85 -146.154 + 80 327.025 692 1 1 -41.6429 -9.61488 -174.45 + 80 120.967 856 1 0 -41.4124 -8.83983 -175.85 + 80 24.6364 857 1 0 -41.3716 -8.65 -176.17 + 80 63.2908 701 0 1 -39.7588 6.61246 -204.45 + 80 70.673 700 0 1 -39.85 6.72185 -204.669 + 80 2.20755 936 0 0 -40.4128 7.44523 -205.85 + 80 116.244 937 0 0 -40.4166 7.45 -205.858 + 80 16.9703 938 0 0 -40.5758 7.65 -206.198 + 80 22.105 850 1 0 -41.4926 -10.0026 -175.85 + 80 89.7961 849 1 0 -41.497 -10.05 -175.926 + 80 61.9041 688 1 1 -42.3851 -11.1148 -174.85 + 80 128.476 687 1 1 -42.45 -11.1942 -174.759 + 80 86.556 686 1 1 -42.65 -11.3917 -174.462 + 80 116.57 685 1 1 -42.8501 -11.5399 -174.607 + 80 398.364 724 0 1 -35.146 137.311 -204.45 + 80 226.191 722 0 0 -57.5294 -35.5886 -205.85 + 80 9.59247 721 0 0 -57.7169 -35.65 -206.215 +Number of digits in this event: 90 +Using G4ParticleGun... +Particle energy: 7.65688 LIN Particle: e- Event: 81 -Number of tracker hits in this event: 25 - 81 106.543 936 9 1 7.25696 -124.449 65.55 - 81 117.476 278 9 0 7.25786 -124.448 64.15 - 81 107.562 936 8 1 7.2742 -124.436 35.55 - 81 159.796 278 8 0 7.2749 -124.436 34.15 - 81 137.415 936 7 1 7.29271 -124.434 5.55 - 81 259.547 278 7 0 7.29621 -124.436 4.15 - 81 130.635 936 6 1 7.36692 -124.48 -24.45 - 81 174.258 278 6 0 7.36858 -124.481 -25.85 - 81 115.804 936 5 1 7.40688 -124.477 -54.45 - 81 133.234 278 5 0 7.4161 -124.473 -55.85 - 81 146.102 937 4 1 7.59021 -124.406 -84.45 - 81 256.843 278 4 0 7.60168 -124.402 -85.85 - 81 44.6975 938 3 1 7.84846 -124.334 -114.45 - 81 81.9759 939 3 1 7.85 -124.334 -114.587 - 81 276.888 279 3 0 7.86468 -124.329 -115.85 - 81 133.491 940 2 1 8.23209 -124.231 -144.45 - 81 98.701 279 2 0 8.25503 -124.23 -145.85 - 81 146.544 943 1 1 8.71268 -124.212 -174.45 - 81 105.399 279 1 0 8.73839 -124.208 -175.85 - 81 119.49 946 0 1 9.26446 -124.16 -204.45 - 81 120.4 279 0 0 9.28626 -124.158 -205.85 - 81 299.651 280 3 0 7.89277 -124.15 -116.195 - 81 32.2848 278 2 0 59.1628 -124.35 -146.174 - 81 2.01789 357 2 0 66.9142 -108.75 -145.901 - 81 70.9244 1270 2 1 74.1205 -121.347 -144.45 -Number of digits in this event: 15 +Number of tracker hits in this event: 105 + 81 117.966 829 11 1 -14.2356 -80.1316 125.55 + 81 205.931 499 11 0 -14.2358 -80.131 124.15 + 81 148.139 829 10 1 -14.2371 -80.119 95.55 + 81 154.735 499 10 0 -14.2378 -80.1187 94.15 + 81 123.161 828 9 1 -14.2584 -80.1143 65.55 + 81 106.397 499 9 0 -14.2585 -80.1133 64.15 + 81 140.344 828 8 1 -14.2668 -80.0887 35.55 + 81 132.907 499 8 0 -14.2659 -80.0869 34.15 + 81 133.409 829 7 1 -14.2452 -80.0495 5.55 + 81 105.602 500 7 0 -14.2443 -80.0467 4.15 + 81 131.979 829 6 1 -14.2231 -79.9842 -24.45 + 81 96.0775 500 6 0 -14.2302 -79.9695 -25.85 + 81 339.129 828 5 1 -14.3888 -79.7154 -54.45 + 81 405.109 501 5 0 -14.4054 -79.7014 -55.85 + 81 128.909 826 4 1 -14.7782 -79.4551 -84.45 + 81 110.467 503 4 0 -14.7992 -79.4375 -85.85 + 81 200.151 824 3 1 -15.2332 -79.0409 -114.45 + 81 122.827 505 3 0 -15.2514 -79.0135 -115.85 + 81 137.895 822 2 1 -15.6349 -78.4348 -144.45 + 81 120.962 508 2 0 -15.6624 -78.4016 -145.85 + 81 255.874 819 1 1 -16.2204 -77.7594 -174.45 + 81 119.611 511 1 0 -16.2502 -77.7264 -175.85 + 81 240.992 815 0 1 -16.8638 -77.0494 -204.45 + 81 119.264 515 0 0 -16.8933 -77.0025 -205.85 + 81 149.519 511 0 0 -17.0165 -77.7676 -205.85 + 81 83.8013 510 0 0 -17.0592 -77.85 -206.007 + 81 108.372 509 0 0 -17.2625 -78.0502 -206.145 + 81 87.4252 232 0 0 -48.2965 -133.574 -206.25 + 81 76.7271 231 0 0 -48.2776 -133.75 -206.072 + 81 48.7394 230 0 0 -48.2146 -133.95 -205.926 + 81 15.8514 660 0 1 -47.8632 -135.85 -204.85 + 81 229.987 661 0 1 -47.85 -135.891 -204.828 + 81 9.23079 647 0 1 -50.4952 -147.132 -204.45 + 81 180.127 825 3 1 -15.0328 -78.6655 -114.45 + 81 261.082 504 3 0 -15.1666 -79.1003 -115.85 + 81 117.377 807 2 1 -18.578 -90.7915 -144.45 + 81 111.456 808 2 1 -18.4499 -90.9985 -144.618 + 81 54.3935 438 2 0 -17.424 -92.3891 -145.85 + 81 89.7841 437 2 0 -17.3053 -92.55 -146.01 + 81 17.7501 436 2 0 -17.1469 -92.75 -146.214 + 81 168.126 931 1 1 6.26805 -112.355 -174.45 + 81 113.477 932 1 1 6.45 -112.543 -174.569 + 81 170.705 933 1 1 6.65016 -112.716 -174.7 + 81 20.524 934 1 1 6.85016 -112.871 -174.823 + 81 37.7522 330 1 0 8.51206 -114.088 -175.85 + 81 121.03 329 1 0 8.59713 -114.15 -175.903 + 81 131.678 328 1 0 8.8788 -114.35 -176.063 + 81 3.06726 327 1 0 9.22266 -114.55 -176.246 + 81 124.982 170 1 0 65.6851 -145.995 -176.25 + 81 115.754 1229 1 1 65.976 -145.949 -174.849 + 81 34.0176 1230 1 1 66.1728 -146.24 -174.45 + 81 134.014 503 3 0 -14.806 -79.2501 -115.873 + 81 23.1186 329 3 0 -6.83934 -114.266 -116.25 + 81 74.3069 328 3 0 -6.83481 -114.35 -116.178 + 81 76.5718 327 3 0 -6.78944 -114.55 -116.055 + 81 60.8572 326 3 0 -6.66157 -114.75 -115.943 + 81 22.8621 876 3 1 -4.70381 -116.551 -114.85 + 81 90.7937 877 3 1 -4.64983 -116.597 -114.821 + 81 25.4218 878 3 1 -4.4496 -116.815 -114.819 + 81 14.1388 311 3 0 -3.14974 -117.913 -115.85 + 81 86.5123 310 3 0 -3.10532 -117.95 -115.884 + 81 92.747 309 3 0 -2.95454 -118.15 -116.034 + 81 41.4235 308 3 0 -2.79358 -118.35 -116.168 + 81 51.9204 587 3 0 57.4818 -62.5626 -116.25 + 81 92.8682 588 3 0 57.499 -62.45 -116.205 + 81 63.6092 589 3 0 57.536 -62.25 -116.102 + 81 199.119 590 3 0 57.4671 -62.05 -116.069 + 81 71.6846 591 3 0 57.345 -61.85 -116.102 + 81 186.934 592 3 0 57.2539 -61.65 -116.14 + 81 135.976 1176 3 1 55.4484 -61.4922 -114.85 + 81 114.219 1177 3 1 55.4501 -61.3489 -114.772 + 81 166.777 1075 6 1 35.05 127.671 -24.6969 + 81 49.9543 1077 6 1 35.45 126.545 -24.6449 + 81 375.77 829 0 1 -14.0814 -79.6612 -204.45 + 81 243.447 501 0 0 -14.0832 -79.6609 -205.85 + 81 0.994315 603 0 0 1.08913 -59.3934 -206.25 + 81 25.181 463 0 0 74.0111 -87.2562 -206.25 + 81 52.7723 464 0 0 74.0603 -87.25 -206.214 + 81 33.9483 500 5 0 -14.5521 -79.8603 -55.8503 + 81 98.8274 794 4 1 -21.1525 -77.8058 -84.4501 + 81 25.7907 793 4 1 -21.25 -77.7908 -84.77 + 81 144.627 511 4 0 -21.5689 -77.7172 -85.85 + 81 33.3909 747 3 1 -30.6052 -75.0993 -114.45 + 81 138.619 746 3 1 -30.65 -75.1112 -114.574 + 81 157.718 524 3 0 -31.1502 -75.1987 -115.85 + 81 183.34 695 2 1 -40.8626 -76.3228 -144.45 + 81 159.475 515 2 0 -40.9739 -76.9123 -145.851 + 81 20.6581 514 2 0 -41.0106 -77.05 -146.183 + 81 114.444 677 1 1 -44.5219 -88.8683 -174.45 + 81 30.6853 678 1 1 -44.45 -89.134 -174.798 + 81 44.0993 450 1 0 -44.2306 -89.9349 -175.85 + 81 86.9789 449 1 0 -44.1719 -90.1501 -176.115 + 81 142.013 707 0 1 -38.6346 -112.037 -204.45 + 81 10.2945 338 0 0 -38.6517 -112.542 -205.85 + 81 126.133 337 0 0 -38.6519 -112.55 -205.872 + 81 98.9752 464 1 0 -63.5289 -87.1209 -176.25 + 81 120.407 807 4 1 -18.5777 -76.5838 -84.45 + 81 134.506 517 4 0 -18.6519 -76.54 -85.85 + 81 103.548 795 3 1 -21.0113 -76.8292 -114.45 + 81 175.945 516 3 0 -20.9894 -76.8068 -115.85 + 81 202.349 789 2 1 -22.1712 -75.139 -144.45 + 81 109.421 525 2 0 -22.0433 -74.9721 -145.85 + 81 116.046 813 1 1 -17.3637 -69.9289 -174.45 + 81 92.721 812 1 1 -17.4501 -69.8611 -174.531 + 81 36.7763 553 2 1 -69.3492 -78.6986 -144.85 +Number of digits in this event: 47 Using G4ParticleGun... -Particle energy: 4.92308 LIN +Particle energy: 5.69087 LIN Particle: e- Event: 82 -Number of tracker hits in this event: 34 - 82 121.391 791 11 1 -21.7889 44.8785 125.55 - 82 129.897 1124 11 0 -21.7891 44.8772 124.15 - 82 233.769 791 10 1 -21.7873 44.8481 95.55 - 82 131.283 1123 10 0 -21.7867 44.8441 94.15 - 82 131.505 791 9 1 -21.7731 44.7686 65.55 - 82 149.603 1123 9 0 -21.7726 44.7648 64.15 - 82 124.814 791 8 1 -21.7565 44.6967 35.55 - 82 119.224 1123 8 0 -21.756 44.6924 34.15 - 82 104.624 791 7 1 -21.7413 44.6091 5.55 - 82 106.703 1122 7 0 -21.7424 44.603 4.15 - 82 218.452 791 6 1 -21.7714 44.4847 -24.45 - 82 139.608 1122 6 0 -21.7712 44.4796 -25.85 - 82 161.271 791 5 1 -21.7676 44.3804 -54.45 - 82 199.052 1121 5 0 -21.7691 44.3743 -55.85 - 82 111.015 791 4 1 -21.8023 44.2505 -84.45 - 82 162.373 1120 4 0 -21.8031 44.2428 -85.85 - 82 125.888 791 3 1 -21.8152 44.0798 -114.45 - 82 125.801 1120 3 0 -21.8139 44.0721 -115.85 - 82 149.705 791 2 1 -21.7908 43.914 -144.45 - 82 150.401 1119 2 0 -21.7885 43.9053 -145.85 - 82 99.6111 791 1 1 -21.7342 43.7267 -174.45 - 82 118.844 1118 1 0 -21.7301 43.7174 -175.85 - 82 107.94 792 0 1 -21.6478 43.5288 -204.45 - 82 100.41 1117 0 0 -21.6434 43.5193 -205.85 - 82 65.7533 1778 4 0 85.9175 175.844 -86.25 - 82 105.574 1777 4 0 86.1068 175.75 -86.1794 - 82 287.733 351 0 0 48.6341 -109.75 -206.068 - 82 231.263 350 0 0 48.5956 -109.95 -205.902 - 82 185.857 349 0 0 47.9918 -110.15 -206.001 - 82 91.9083 348 0 0 47.7744 -110.35 -206.02 - 82 26.0889 1137 0 1 47.4691 -106.568 -204.85 - 82 84.8784 1136 0 1 47.45 -106.528 -204.841 - 82 25.6367 368 0 0 46.6948 -106.525 -205.85 - 82 40.6006 1132 0 1 46.6488 -104.951 -204.85 -Number of digits in this event: 22 +Number of tracker hits in this event: 150 + 82 383.061 1195 11 1 59.1601 -54.7211 125.55 + 82 320.972 626 11 0 59.1594 -54.7213 124.15 + 82 230.554 1195 10 1 59.1483 -54.7179 95.55 + 82 105.137 626 10 0 59.1466 -54.7192 94.15 + 82 117.429 1195 9 1 59.1066 -54.74 65.55 + 82 215.591 626 9 0 59.1053 -54.7411 64.15 + 82 109.725 1195 8 1 59.081 -54.7615 35.55 + 82 102.962 626 8 0 59.0819 -54.7604 34.15 + 82 113.052 1195 7 1 59.1023 -54.7392 5.55 + 82 128.565 626 7 0 59.1022 -54.7384 4.15 + 82 112.763 1195 6 1 59.0955 -54.7319 -24.45 + 82 108.358 626 6 0 59.0951 -54.7315 -25.85 + 82 171.709 1195 5 1 59.0901 -54.7208 -54.45 + 82 122.315 626 5 0 59.0918 -54.7188 -55.85 + 82 176.313 1195 4 1 59.1246 -54.6764 -84.45 + 82 220.019 626 4 0 59.1262 -54.6728 -85.85 + 82 120.663 1195 3 1 59.1683 -54.5938 -114.45 + 82 179.604 627 3 0 59.1711 -54.5915 -115.85 + 82 118.683 1195 2 1 59.2308 -54.5454 -144.45 + 82 116.459 627 2 0 59.2369 -54.5422 -145.85 + 82 110.358 1196 1 1 59.363 -54.4617 -174.45 + 82 424.156 627 1 0 59.3689 -54.4577 -175.85 + 82 214.645 1197 0 1 59.4895 -54.3782 -204.45 + 82 98.8008 628 0 0 59.5014 -54.3763 -205.85 + 82 2.76906 1215 2 0 119.898 63.0867 -145.85 + 82 21.3355 1395 7 0 -103.105 99.1962 3.75012 + 82 291.896 1394 7 0 -103.132 99.15 3.80085 + 82 44.6334 1034 3 1 26.9203 -119.443 -114.85 + 82 234.318 507 7 0 33.5597 -78.6104 3.75 + 82 20.4856 506 7 0 33.1649 -78.65 3.84097 + 82 117.036 627 10 0 59.3261 -54.597 94.1491 + 82 278.58 1209 9 1 61.932 -49.2731 65.55 + 82 91.4559 655 9 0 61.8832 -49.0147 64.15 + 82 68.2482 1208 8 1 61.7345 -40.9772 35.55 + 82 123.66 1209 8 1 61.8501 -40.9273 35.4371 + 82 44.3883 1210 8 1 62.05 -40.8321 35.2406 + 82 59.6617 699 8 0 63.4918 -40.1103 34.15 + 82 165.566 700 8 0 63.6226 -40.05 34.0515 + 82 0.275358 701 8 0 63.9687 -39.85 33.7507 + 82 114.094 1402 7 1 100.596 -13.0616 5.5494 + 82 145.46 837 7 0 100.606 -12.6375 4.14961 + 82 60.8029 1333 6 1 86.7112 -5.92342 -24.4502 + 82 86.3718 1334 6 1 86.85 -5.99315 -24.6258 + 82 24.3484 866 6 0 87.7298 -6.79207 -25.85 + 82 100.908 865 6 0 87.77 -6.85 -25.9199 + 82 89.5004 864 6 0 87.8131 -7.05 -26.0877 + 82 5.07719 863 6 0 87.8668 -7.25 -26.2283 + 82 122.331 1438 5 1 107.901 -27.0381 -54.45 + 82 57.8954 767 5 0 107.449 -26.5368 -55.85 + 82 38.4803 768 5 0 107.399 -26.45 -56.0933 + 82 103.024 803 5 0 106.736 -19.2695 -56.25 + 82 53.1683 802 5 0 106.694 -19.45 -55.9781 + 82 236.848 1430 5 1 106.328 -20.567 -54.85 + 82 98.7083 1429 5 1 106.15 -20.7791 -54.4856 + 82 105.792 1431 5 1 106.35 -20.7152 -54.5443 + 82 154.399 1432 5 1 106.55 -20.8038 -54.5281 + 82 231.389 1433 5 1 106.75 -20.7798 -54.6054 + 82 26.4537 1194 1 1 58.8714 -54.8106 -174.793 + 82 156.169 626 1 0 58.8629 -54.809 -175.85 + 82 119.387 1201 0 1 60.3107 -51.7274 -204.45 + 82 112.127 644 0 0 60.5321 -51.1945 -205.85 + 82 1.38976 645 0 0 60.5954 -51.05 -206.242 + 82 107.52 625 11 0 59.1362 -54.9917 124.15 + 82 24.458 624 11 0 59.1238 -55.05 123.841 + 82 110.959 1184 10 1 56.8766 -60.6976 95.5488 + 82 195.193 595 10 0 57.0309 -60.8601 94.15 + 82 153.7 1196 9 1 59.2804 -65.2197 65.55 + 82 126.37 572 9 0 59.2241 -65.468 64.15 + 82 110.316 1206 8 1 61.3122 -65.7982 35.55 + 82 136.335 571 8 0 61.132 -65.7955 34.15 + 82 141.747 1194 7 1 58.9662 -68.1892 5.55 + 82 109.568 557 7 0 58.9754 -68.5262 4.15 + 82 92.1138 1186 6 1 57.4078 -75.0024 -24.45 + 82 191.686 1185 6 1 57.2497 -75.0911 -24.6739 + 82 50.0229 522 6 0 56.3466 -75.6157 -25.85 + 82 160.152 521 6 0 56.2895 -75.6501 -25.9252 + 82 117.147 1050 5 1 30.24 -89.5731 -54.45 + 82 146.536 452 5 0 29.8548 -89.6209 -55.85 + 82 127.241 1014 4 1 23.0377 -85.7641 -84.4503 + 82 386.142 470 4 0 22.6091 -85.9594 -85.85 + 82 6.4993 967 3 1 13.4766 -88.602 -114.451 + 82 56.1025 966 3 1 13.45 -88.6113 -114.467 + 82 76.2122 965 3 1 13.2497 -88.6791 -114.624 + 82 26.329 964 3 1 13.0499 -88.7781 -114.813 + 82 114.748 452 3 0 12.1101 -89.494 -115.85 + 82 103.246 451 3 0 11.8766 -89.65 -116.078 + 82 9.73526 300 5 0 -5.29881 -120.058 -56.25 + 82 16.9231 856 6 1 -8.65 -125.046 -24.7571 + 82 25.1346 472 4 0 -32.0726 -85.5076 -86.2497 + 82 84.2858 473 4 0 -32.0934 -85.45 -86.204 + 82 465.465 474 4 0 -32.2549 -85.25 -86.0176 + 82 35.3295 729 4 1 -34.1466 -84.6318 -84.85 + 82 69.2348 728 4 1 -34.2501 -84.5981 -84.7833 + 82 70.4238 727 4 1 -34.45 -84.4976 -84.6376 + 82 51.8335 726 4 1 -34.65 -84.4167 -84.5354 + 82 113.155 725 4 1 -34.8722 -84.2005 -84.45 + 82 174.092 724 4 1 -35.05 -84.3073 -84.7499 + 82 54.9396 723 4 1 -35.2501 -84.1691 -84.7216 + 82 76.636 722 4 1 -35.45 -84.1275 -84.7461 + 82 30.6831 721 4 1 -35.65 -84.0314 -84.7943 + 82 27.5202 475 4 0 -35.7505 -85.0383 -85.85 + 82 21.608 416 4 0 -27.0738 -96.9456 -86.25 + 82 61.8359 415 4 0 -27.0693 -96.95 -86.2456 + 82 127.626 1223 4 1 64.791 -90.8451 -84.45 + 82 81.823 443 4 0 65.2339 -91.4717 -85.85 + 82 91.8027 442 4 0 65.2813 -91.55 -85.9945 + 82 44.6789 973 4 0 20.5251 14.7015 -86.25 + 82 77.9202 974 4 0 20.4487 14.8507 -86.1964 + 82 98.6611 975 4 0 20.3947 15.05 -86.0938 + 82 126.001 976 4 0 20.6102 15.25 -85.9617 + 82 39.7679 1017 4 1 23.559 17.0403 -84.85 + 82 73.1303 1018 4 1 23.65 17.1152 -84.8108 + 82 53.8193 1019 4 1 23.8501 17.3548 -84.7537 + 82 209.801 992 4 0 26.0865 18.539 -85.85 + 82 138.532 885 4 0 57.1993 -2.89098 -86.25 + 82 182.991 1185 4 1 57.2002 -2.88812 -84.85 + 82 116.38 1179 10 1 55.8841 -56.5148 95.55 + 82 132.375 617 10 0 55.8037 -56.5843 94.15 + 82 110.979 1171 9 1 54.4226 -57.3664 65.5497 + 82 108.972 613 9 0 54.356 -57.2913 64.1497 + 82 69.6355 1165 8 1 53.2119 -55.4886 35.5487 + 82 29.7645 1166 8 1 53.25 -55.4936 35.2839 + 82 116.592 622 8 0 53.4091 -55.5046 34.15 + 82 148.919 1185 7 1 57.156 -55.664 5.54971 + 82 112.46 622 7 0 57.1565 -55.5264 4.15 + 82 70.564 1184 6 1 56.9874 -53.2289 -24.4502 + 82 139.836 635 6 0 57.3567 -52.9875 -25.85 + 82 156.652 1221 5 1 64.3046 -48.3652 -54.45 + 82 133.657 659 5 0 64.7361 -48.1464 -55.85 + 82 159.165 1264 4 1 72.9655 -43.6629 -84.45 + 82 170.606 1265 4 1 73.05 -43.5863 -84.7732 + 82 93.1423 683 4 0 73.3665 -43.3289 -85.85 + 82 17.7538 684 4 0 73.4633 -43.25 -86.1788 + 82 82.118 1308 3 1 81.7629 -36.3914 -114.45 + 82 50.8511 1309 3 1 81.85 -36.3458 -114.654 + 82 11.0862 719 3 0 82.3754 -36.0613 -115.85 + 82 126.418 720 3 0 82.3951 -36.05 -115.895 + 82 15.0902 1371 2 1 94.5386 -27.7559 -144.45 + 82 125.901 1372 2 1 94.55 -27.7524 -144.472 + 82 173.819 762 2 0 95.2496 -27.529 -145.85 + 82 71.1549 1447 1 1 109.675 -22.6754 -174.45 + 82 84.9314 1448 1 1 109.75 -22.4989 -174.63 + 82 70.7715 792 1 0 110.352 -21.5852 -175.85 + 82 80.3026 793 1 0 110.464 -21.45 -176.035 + 82 120.071 690 4 0 72.9937 -41.9607 -85.85 + 82 98.8647 482 4 0 105.128 -83.4534 -86.25 + 82 182.784 481 4 0 105.081 -83.6501 -86.0138 + 82 76.0915 1426 4 1 105.389 -84.7226 -84.85 + 82 80.8536 471 4 0 106.47 -85.7123 -85.8501 + 82 19.6837 469 4 0 106.763 -86.05 -85.8979 +Number of digits in this event: 56 Using G4ParticleGun... -Particle energy: 2.23803 LIN +Particle energy: 3.05823 LIN Particle: e- Event: 83 -Number of tracker hits in this event: 22 - 83 116.981 1227 9 1 65.4632 98.4145 65.55 - 83 113.29 1391 9 0 65.4576 98.4178 64.15 - 83 134.056 1226 8 1 65.3622 98.5086 35.55 - 83 215.607 1391 8 0 65.3547 98.5136 34.15 - 83 173.885 1225 7 1 65.1942 98.623 5.55 - 83 113.36 1392 7 0 65.1875 98.6295 4.15 - 83 100.549 1225 6 1 65.0512 98.764 -24.45 - 83 91.8583 1224 6 1 65.05 98.7644 -24.6226 - 83 171.655 1393 6 0 65.0417 98.7671 -25.85 - 83 121.474 1223 5 1 64.8431 98.8328 -54.45 - 83 136.321 1393 5 0 64.8315 98.8401 -55.85 - 83 113.21 1222 4 1 64.5771 98.9736 -84.45 - 83 223.354 1394 4 0 64.5569 98.9865 -85.85 - 83 114.086 1220 3 1 64.1527 99.2501 -114.45 - 83 115.151 1395 3 0 64.1287 99.2599 -115.85 - 83 97.5357 1218 2 1 63.6662 99.4704 -144.45 - 83 109.557 1396 2 0 63.64 99.4843 -145.85 - 83 141.223 1215 1 1 63.0813 99.7747 -174.45 - 83 119.811 1398 1 0 63.0546 99.7935 -175.85 - 83 113.958 1212 0 1 62.5109 100.169 -204.45 - 83 137.974 1400 0 0 62.486 100.191 -205.85 - 83 19.5254 1214 1 1 63.05 99.751 -174.468 -Number of digits in this event: 12 +Number of tracker hits in this event: 45 + 83 124.995 805 10 1 -18.8586 -101.805 95.55 + 83 150.932 391 10 0 -18.8577 -101.805 94.15 + 83 233.865 806 9 1 -18.8326 -101.808 65.55 + 83 109.537 391 9 0 -18.8344 -101.808 64.15 + 83 135.269 805 8 1 -18.8863 -101.816 35.55 + 83 191.022 391 8 0 -18.8851 -101.819 34.15 + 83 118.859 805 7 1 -18.857 -101.893 5.55 + 83 124.996 391 7 0 -18.8579 -101.897 4.15 + 83 166.739 805 6 1 -18.8803 -101.985 -24.45 + 83 119.089 390 6 0 -18.8802 -101.992 -25.85 + 83 119.333 805 5 1 -18.8685 -102.115 -54.45 + 83 131.591 390 5 0 -18.869 -102.119 -55.85 + 83 371.353 805 4 1 -18.8812 -102.212 -84.45 + 83 175.876 389 4 0 -18.8834 -102.209 -85.85 + 83 137.363 805 3 1 -18.8992 -102.14 -114.45 + 83 129.546 390 3 0 -18.8994 -102.141 -115.85 + 83 106.712 805 2 1 -18.904 -102.15 -144.45 + 83 182.315 390 2 0 -18.9057 -102.143 -145.85 + 83 232.14 805 1 1 -18.9573 -101.982 -174.45 + 83 137.116 390 1 0 -18.9556 -101.974 -175.85 + 83 111.182 805 0 1 -18.903 -101.837 -204.45 + 83 107.565 391 0 0 -18.8926 -101.833 -205.85 + 83 74.068 766 0 1 -26.65 67.4497 -204.549 + 83 36.8582 1224 0 0 -27.9381 65.05 -206.015 + 83 204.619 765 0 1 -26.8512 68.3345 -204.603 + 83 384.564 764 0 1 -27.05 68.245 -204.668 + 83 268.533 390 4 0 -18.8589 -102.073 -85.85 + 83 253.047 806 3 1 -18.7772 -101.814 -114.45 + 83 113.898 391 3 0 -18.773 -101.795 -115.85 + 83 131.067 806 2 1 -18.7006 -101.402 -144.45 + 83 191.588 393 2 0 -18.717 -101.38 -145.85 + 83 20.3077 804 1 1 -19.05 -100.972 -174.767 + 83 130.785 395 1 0 -19.0759 -100.974 -175.85 + 83 132.53 801 0 1 -19.7871 -101 -204.45 + 83 122.117 395 0 0 -19.8292 -101.042 -205.85 + 83 173.578 421 0 0 -23.7781 -95.8096 -206.25 + 83 113.701 422 0 0 -23.8188 -95.75 -206.114 + 83 70.9973 446 0 0 -6.07212 -90.9054 -206.25 + 83 103.125 391 4 0 -18.8873 -101.939 -85.85 + 83 115.561 401 3 0 -18.9087 -99.9165 -115.85 + 83 129.057 797 2 1 -20.5924 -100.688 -144.45 + 83 116.029 398 2 0 -20.6922 -100.548 -145.85 + 83 115.868 784 1 1 -23.095 -97.8916 -174.45 + 83 128.233 411 1 0 -23.2699 -97.8493 -175.85 + 83 119.683 418 0 0 -27.3348 -96.5087 -205.85 +Number of digits in this event: 29 Using G4ParticleGun... -Particle energy: 7.03995 LIN +Particle energy: 3.81039 LIN Particle: e- Event: 84 -Number of tracker hits in this event: 32 - 84 216.118 941 9 1 8.31367 129.066 65.55 - 84 225.696 1544 9 0 8.3134 129.065 64.15 - 84 169.226 941 8 1 8.29998 129.063 35.55 - 84 236.757 1544 8 0 8.2987 129.063 34.15 - 84 105.397 941 7 1 8.27757 129.074 5.55 - 84 151.882 1544 7 0 8.27587 129.075 4.15 - 84 126.458 940 6 1 8.24181 129.098 -24.45 - 84 172.312 1544 6 0 8.23986 129.098 -25.85 - 84 139.537 940 5 1 8.20372 129.11 -54.45 - 84 145.472 1544 5 0 8.20183 129.112 -55.85 - 84 155.374 940 4 1 8.16728 129.159 -84.45 - 84 104.061 1545 4 0 8.16367 129.162 -85.85 - 84 117.945 940 3 1 8.09752 129.232 -114.45 - 84 113.008 1545 3 0 8.09088 129.237 -115.85 - 84 204.059 939 2 1 7.96341 129.319 -144.45 - 84 153.895 1545 2 0 7.95538 129.324 -145.85 - 84 130.659 938 1 1 7.79101 129.427 -174.45 - 84 110.62 1546 1 0 7.78356 129.432 -175.85 - 84 109.865 937 0 1 7.63889 129.528 -204.45 - 84 125.271 1546 0 0 7.63387 129.533 -205.85 - 84 140.153 1546 2 0 7.95797 129.35 -145.955 - 84 26.5646 542 4 1 -71.4895 164.633 -84.85 - 84 63.8087 446 5 1 -90.75 171.006 -54.7507 - 84 176.988 1783 1 0 128.109 176.75 -176.247 - 84 19.0787 1455 1 0 -1.71504 111.174 -176.25 - 84 144.44 1454 1 0 -1.7281 111.15 -176.212 - 84 101.487 889 1 1 -2.10389 111.234 -174.85 - 84 117.201 1546 9 0 8.13321 129.351 64.15 - 84 161.048 923 8 1 4.70964 134.358 35.55 - 84 132.089 1570 8 0 4.90928 134.349 34.15 - 84 77.0032 937 7 1 7.56445 127.047 5.55 - 84 134.405 1545 9 0 8.13272 129.35 64.0284 -Number of digits in this event: 22 -Using G4ParticleGun... -Particle energy: 7.4652 LIN +Number of tracker hits in this event: 144 + 84 180.316 1088 10 1 37.6546 85.973 95.55 + 84 108.647 1329 10 0 37.6555 85.9735 94.15 + 84 102.352 1088 9 1 37.6692 85.9787 65.55 + 84 103.236 1329 9 0 37.6704 85.9799 64.15 + 84 109.176 1088 8 1 37.6911 86.004 35.55 + 84 188.985 1329 8 0 37.6933 86.0054 34.15 + 84 362.74 1088 7 1 37.7258 86.0308 5.55 + 84 113.19 1329 7 0 37.7265 86.0291 4.15 + 84 283.328 1088 6 1 37.7444 86.0021 -24.45 + 84 315.53 1329 6 0 37.7351 86.0051 -25.85 + 84 110.624 1087 5 1 37.5537 86.0781 -54.45 + 84 132.519 1330 5 0 37.5436 86.084 -55.85 + 84 120.251 1086 4 1 37.3546 86.205 -84.45 + 84 147.187 1330 4 0 37.3432 86.2121 -85.85 + 84 132.585 1085 3 1 37.1065 86.3666 -114.45 + 84 174.775 1331 3 0 37.0935 86.3751 -115.85 + 84 121.884 1083 2 1 36.8397 86.5555 -144.45 + 84 359.621 1332 2 0 36.8284 86.5644 -145.85 + 84 136.661 1082 1 1 36.5859 86.766 -174.45 + 84 301.399 1333 1 0 36.5747 86.7773 -175.85 + 84 234.276 1081 0 1 36.3369 87.0047 -204.45 + 84 213.93 1334 0 0 36.3269 87.0157 -205.85 + 84 156.337 1561 9 0 165.842 132.35 63.8993 + 84 208.184 1362 2 1 92.55 91.8544 -144.534 + 84 60.0806 1305 1 0 36.3765 81.19 -176.25 + 84 64.3622 1382 1 0 -38.1667 96.6117 -176.25 + 84 32.2862 1383 1 0 -38.3365 96.75 -176.185 + 84 84.3061 1082 0 1 36.6096 86.4707 -204.45 + 84 115.622 1327 0 0 35.9256 85.5821 -205.85 + 84 131.421 1326 0 0 35.8032 85.45 -206.047 + 84 418.815 1354 0 0 12.0838 91.0097 -206.25 + 84 102.212 1355 0 0 11.9772 91.15 -206.013 + 84 5.19738 966 0 1 13.442 90.415 -204.85 + 84 198.516 967 0 1 13.45 90.4103 -204.843 + 84 86.5391 968 0 1 13.6567 90.1502 -204.632 + 84 235.596 1088 1 1 37.7397 85.9821 -174.45 + 84 252.798 1329 1 0 37.7154 85.9845 -175.85 + 84 19.9078 1086 0 1 37.2518 86.0687 -204.45 + 84 90.1601 1085 0 1 37.25 86.0696 -204.534 + 84 247.767 1330 0 0 37.223 86.0767 -205.85 + 84 45.9342 1336 0 0 38.8808 87.4115 -206.25 + 84 146.469 1092 0 1 38.6337 86.8486 -204.85 + 84 245.392 1093 0 1 38.65 86.8223 -204.793 + 84 161.642 570 13 0 58.1348 -65.8528 183.75 + 84 173.299 1094 0 1 38.9856 86.1383 -204.45 + 84 90.1238 1087 6 1 37.6499 85.9953 -24.7478 + 84 40.2004 1028 5 1 25.7146 84.172 -54.45 + 84 83.2056 1027 5 1 25.65 84.1374 -54.5711 + 84 131.024 1318 5 0 25.124 83.7847 -55.8502 + 84 46.7299 981 4 1 16.2783 76.9792 -84.45 + 84 70.1841 980 4 1 16.25 76.9836 -84.5759 + 84 110.323 1284 4 0 15.9576 76.9724 -85.85 + 84 32.0407 946 3 1 9.42336 76.4675 -114.45 + 84 100.609 947 3 1 9.45 76.4566 -114.561 + 84 133.355 1281 3 0 9.71809 76.3021 -115.85 + 84 60.332 976 2 1 15.278 73.1412 -144.45 + 84 34.0053 975 2 1 15.25 73.1022 -144.698 + 84 104.88 1264 2 0 15.132 72.9495 -145.85 + 84 116.12 963 1 1 12.7252 70.1747 -174.45 + 84 60.8726 1248 1 0 12.6207 69.7259 -175.85 + 84 45.616 1247 1 0 12.6068 69.65 -176.074 + 84 139.71 964 0 1 12.923 58.7984 -204.45 + 84 111.055 1194 0 0 13.0466 58.8844 -205.85 + 84 319.69 1332 6 0 36.8327 86.5061 -25.85 + 84 52.4253 990 5 1 18.1551 94.7797 -54.45 + 84 89.9897 989 5 1 18.0491 94.8621 -54.5809 + 84 9.59286 988 5 1 17.85 95.0128 -54.8246 + 84 36.638 1377 5 0 17.0094 95.6741 -55.85 + 84 149.25 1378 5 0 16.9104 95.75 -55.9675 + 84 231.016 858 4 1 -8.28788 116.138 -84.45 + 84 66.9476 857 4 1 -8.45 116.166 -84.5576 + 84 58.5086 856 4 1 -8.65 116.195 -84.6859 + 84 23.26 855 4 1 -8.85 116.229 -84.8125 + 84 200.25 1482 4 0 -10.4054 116.602 -85.85 + 84 23.9321 1483 4 0 -10.9412 116.75 -86.1998 + 84 19.5896 616 3 1 -56.7815 126.735 -114.45 + 84 58.5091 615 3 1 -56.85 126.721 -114.473 + 84 65.1671 614 3 1 -57.05 126.678 -114.53 + 84 82.8758 613 3 1 -57.2504 126.634 -114.58 + 84 67.6579 612 3 1 -57.45 126.589 -114.631 + 84 47.2807 611 3 1 -57.65 126.54 -114.682 + 84 52.9417 610 3 1 -57.8506 126.501 -114.737 + 84 41.1216 609 3 1 -58.0502 126.477 -114.805 + 84 508.976 1530 3 0 -60.9029 126.225 -115.85 + 84 49.284 1330 8 0 37.8744 86.05 33.8538 + 84 78.5041 1427 3 0 -129.461 105.692 -116.25 + 84 117.729 1428 3 0 -129.695 105.75 -116.04 + 84 37.1224 1429 3 0 -129.736 105.95 -115.957 + 84 45.9674 254 3 1 -129.199 107.025 -114.85 + 84 180.128 255 3 1 -129.15 107.065 -114.797 + 84 149.265 256 3 1 -128.95 107.116 -114.679 + 84 230.739 1435 3 0 -128.863 107.219 -115.85 + 84 211.811 1434 3 0 -129.18 107.15 -116.159 + 84 136.489 1330 7 0 37.7018 86.0564 4.15 + 84 173.429 1085 6 1 37.1071 86.483 -24.45 + 84 63.2816 1082 5 1 36.4574 87.2294 -54.45 + 84 82.8574 1081 5 1 36.45 87.2281 -54.6321 + 84 141.921 1335 5 0 36.4054 87.2199 -55.85 + 84 107.513 1076 4 1 35.3528 86.8342 -84.45 + 84 176.977 1333 4 0 35.2948 86.8303 -85.85 + 84 120.596 1069 3 1 33.9615 86.8522 -114.45 + 84 127.469 1334 3 0 33.9423 86.8871 -115.85 + 84 145.115 1068 2 1 33.6784 87.7784 -144.45 + 84 128.635 1338 2 0 33.6697 87.8303 -145.85 + 84 139.746 1066 1 1 33.4172 88.7622 -174.45 + 84 179.783 1343 1 0 33.3022 88.7595 -175.85 + 84 109.978 1054 0 1 30.8823 88.8109 -204.45 + 84 68.2949 1343 0 0 30.8034 88.8443 -205.85 + 84 43.6507 1344 0 0 30.7895 88.85 -206.094 + 84 113.479 1089 7 1 37.85 86.1454 5.44108 + 84 13.7358 1090 7 1 38.05 86.2964 5.19514 + 84 66.3482 1334 7 0 38.891 86.9456 4.15 + 84 110.364 1335 7 0 39.0289 87.05 3.98219 + 84 23.034 1211 6 1 62.403 103.753 -24.45 + 84 212.064 1212 6 1 62.45 103.814 -24.5149 + 84 45.7435 1213 6 1 62.65 104.066 -24.7835 + 84 28.1495 1424 6 0 63.4935 105.089 -25.85 + 84 80.6338 1425 6 0 63.5434 105.15 -25.9136 + 84 61.3801 1426 6 0 63.6964 105.351 -26.1102 + 84 16.6786 1331 5 1 86.4021 134.696 -54.4501 + 84 55.875 1332 5 1 86.4504 134.679 -54.4818 + 84 69.6509 1333 5 1 86.6501 134.594 -54.5869 + 84 65.7558 1334 5 1 86.8505 134.512 -54.6441 + 84 116.889 1335 5 1 87.05 134.462 -54.7068 + 84 534.332 1336 5 1 87.25 134.476 -54.8162 + 84 53.9834 1337 5 1 87.45 134.557 -54.5186 + 84 252.205 1088 3 1 37.8302 86.1813 -114.45 + 84 236.71 1330 3 0 37.7986 86.197 -115.85 + 84 149.348 1085 2 1 37.1253 86.9994 -144.45 + 84 170.364 1335 2 0 36.8956 87.1087 -145.85 + 84 99.8594 1060 1 1 32.1076 89.2243 -174.45 + 84 116.561 1345 1 0 32.1191 89.2156 -175.85 + 84 207.294 1061 0 1 32.4138 90.5611 -204.45 + 84 47.9689 1062 0 1 32.45 90.6271 -204.678 + 84 53.4958 1353 0 0 32.6195 90.9244 -205.85 + 84 20.6459 1334 2 0 36.9658 86.9972 -145.85 + 84 257.519 1352 0 0 38.4583 90.7206 -205.85 + 84 130.228 1091 0 1 38.4476 90.6023 -204.451 + 84 124.172 1086 2 1 37.2743 86.4607 -144.45 + 84 102.011 1081 1 1 36.3311 87.8694 -174.45 + 84 95.9329 1339 1 0 36.4719 87.9109 -175.85 + 84 125.328 1096 0 1 39.3664 87.8598 -204.45 + 84 120.563 1339 0 0 39.4784 87.9608 -205.85 + 84 8.68843 157 11 1 -148.726 32.8061 125.15 +Number of digits in this event: 65 +Using G4ParticleGun... +Particle energy: 3.77812 LIN Particle: e- Event: 85 -Number of tracker hits in this event: 24 - 85 128.932 1023 8 1 24.65 -137.153 35.55 - 85 208.819 214 8 0 24.6501 -137.153 34.15 - 85 128.627 1022 7 1 24.6486 -137.151 5.55 - 85 145.506 214 7 0 24.6483 -137.151 4.15 - 85 155.842 1022 6 1 24.6447 -137.153 -24.45 - 85 119.902 214 6 0 24.6437 -137.155 -25.85 - 85 105.808 1022 5 1 24.6236 -137.185 -54.45 - 85 128.524 214 5 0 24.6232 -137.186 -55.85 - 85 272.556 1022 4 1 24.6161 -137.206 -84.45 - 85 114.874 214 4 0 24.6151 -137.208 -85.85 - 85 195.469 1022 3 1 24.5932 -137.242 -114.45 - 85 122.913 214 3 0 24.5913 -137.244 -115.85 - 85 240.616 1022 2 1 24.5486 -137.291 -144.45 - 85 114.949 214 2 0 24.5465 -137.293 -145.85 - 85 123.015 1022 1 1 24.5035 -137.33 -174.45 - 85 127.852 214 1 0 24.5017 -137.332 -175.85 - 85 117.841 1022 0 1 24.468 -137.368 -204.45 - 85 263.007 213 0 0 24.4651 -137.369 -205.85 - 85 62.9083 198 5 0 -72.6559 -140.458 -56.25 - 85 221.768 199 5 0 -72.7559 -140.35 -56.0798 - 85 67.4178 537 2 1 -72.45 56.8687 -144.626 - 85 154.859 864 11 0 114.585 -7.18455 123.75 - 85 125.333 863 11 0 114.637 -7.25 124.02 - 85 40.6848 220 0 0 -2.7614 -136.15 -206.096 -Number of digits in this event: 18 -Using G4ParticleGun... -Particle energy: 4.99689 LIN +Number of tracker hits in this event: 107 + 85 120.864 1084 11 1 37.0492 17.5102 125.55 + 85 136.619 987 11 0 37.0477 17.5116 124.15 + 85 114.943 1084 10 1 37.0099 17.5391 95.55 + 85 118.875 987 10 0 37.0058 17.5415 94.15 + 85 113.523 1084 9 1 36.9216 17.6017 65.55 + 85 102.507 987 9 0 36.9174 17.6051 64.15 + 85 104.835 1083 8 1 36.8256 17.6771 35.55 + 85 207.414 988 8 0 36.8214 17.6807 34.15 + 85 205.677 1083 7 1 36.7384 17.7534 5.55 + 85 131.434 988 7 0 36.7362 17.7557 4.15 + 85 145.236 1083 6 1 36.6952 17.8057 -24.45 + 85 113.816 988 6 0 36.689 17.8199 -25.85 + 85 108.838 1082 5 1 36.5617 18.0939 -54.45 + 85 125.55 990 5 0 36.5567 18.1049 -55.85 + 85 131.894 1081 4 1 36.4301 18.2989 -84.45 + 85 143.306 991 4 0 36.4159 18.3138 -85.85 + 85 132.022 1080 3 1 36.1299 18.6163 -114.45 + 85 144.92 992 3 0 36.1146 18.6337 -115.85 + 85 260.338 1078 2 1 35.7843 19.0507 -144.45 + 85 125.628 995 2 0 35.7799 19.0737 -145.85 + 85 146.801 1077 1 1 35.64 19.5127 -174.45 + 85 279.407 997 1 0 35.628 19.5199 -175.85 + 85 167.94 1077 0 1 35.4515 19.715 -204.45 + 85 188.329 1076 0 1 35.45 19.7157 -204.537 + 85 145.347 998 0 0 35.4311 19.7267 -205.85 + 85 115.81 135 7 0 89.5679 -152.98 3.75 + 85 136.501 1344 7 1 88.9232 -152.825 5.15 + 85 16.3821 1343 7 1 88.85 -152.824 5.20366 + 85 12.6065 1441 1 0 51.8572 108.511 -176.25 + 85 130.809 1442 1 0 51.8618 108.55 -176.237 + 85 28.9653 1443 1 0 51.8807 108.75 -175.915 + 85 51.6675 1153 1 1 50.7928 108.67 -174.85 + 85 94.9136 1152 1 1 50.65 108.7 -174.791 + 85 324.11 1151 1 1 50.4499 108.769 -174.651 + 85 226.143 1150 1 1 50.25 108.805 -174.473 + 85 68.9868 996 1 0 35.571 19.45 -176.172 + 85 121.507 995 1 0 35.5357 19.25 -176.154 + 85 201.909 994 1 0 35.3985 19.05 -175.883 + 85 47.1761 1069 1 1 33.9934 21.3391 -174.85 + 85 140.448 1010 1 0 32.7957 22.1527 -175.85 + 85 140.722 1080 2 1 36.1792 18.8735 -144.45 + 85 135.74 994 2 0 36.0382 18.8576 -145.85 + 85 196.751 1065 1 1 33.1175 18.4694 -174.45 + 85 254.262 992 1 0 33.0253 18.5481 -175.85 + 85 123.719 1053 0 1 30.7469 19.9119 -204.45 + 85 75.2498 999 0 0 30.6186 20.0273 -205.85 + 85 27.1376 1000 0 0 30.5927 20.05 -206.131 + 85 76.4843 1079 2 1 35.9948 18.6969 -144.45 + 85 151.275 988 2 0 34.9861 17.7886 -145.85 + 85 79.3744 987 2 0 34.8323 17.6498 -146.062 + 85 48.6694 969 1 1 13.9634 -1.40409 -174.45 + 85 90.1549 968 1 1 13.85 -1.46758 -174.607 + 85 79.3785 890 1 0 12.9738 -1.96888 -175.85 + 85 71.8855 889 1 0 12.8288 -2.05 -176.056 + 85 108.877 858 0 1 -8.26687 -13.6158 -204.45 + 85 32.3874 857 0 1 -8.45017 -13.787 -204.764 + 85 206.453 828 0 0 -9.04582 -14.3612 -205.85 + 85 115.246 827 0 0 -9.13832 -14.45 -206.017 + 85 73.3704 829 0 0 -9.38964 -14.2497 -206.13 + 85 54.0575 830 0 0 -9.39332 -14.0496 -206.208 + 85 4.11121 1414 0 0 -35.232 103.136 -206.25 + 85 54.6921 1415 0 0 -35.2349 103.15 -206.248 + 85 108.07 1084 8 1 36.88 17.7392 35.55 + 85 156.201 989 8 0 37.1401 17.85 33.8569 + 85 28.548 1088 8 1 37.8115 17.8726 35.15 + 85 119.163 1089 8 1 37.8501 17.8685 35.2493 + 85 158.302 1090 8 1 38.05 17.7814 35.4747 + 85 238.731 1080 1 1 36.1627 18.4125 -174.45 + 85 155.575 991 1 0 36.143 18.3939 -175.85 + 85 142.692 989 0 0 35.573 17.9388 -205.85 + 85 135.122 1093 0 1 38.7378 20.1254 -204.45 + 85 136.255 1001 0 0 39.0095 20.2722 -205.85 + 85 5.73457 1052 1 0 119.474 30.45 -176.234 + 85 202.902 1083 5 1 36.8288 17.6725 -54.45 + 85 100.159 988 5 0 36.8426 17.6532 -55.85 + 85 10.116 987 5 0 36.8498 17.65 -56.2078 + 85 257.496 1086 4 1 37.2653 17.4913 -84.45 + 85 102.423 987 4 0 37.3324 17.5509 -85.85 + 85 107.764 1092 3 1 38.5406 18.9737 -114.45 + 85 111.423 995 3 0 38.6007 19.0549 -115.85 + 85 135.192 1097 2 1 39.453 20.4241 -144.45 + 85 111.316 1002 2 0 39.5033 20.5184 -145.85 + 85 115.904 1102 1 1 40.468 22.3728 -174.45 + 85 193.808 1012 1 0 40.5026 22.4605 -175.85 + 85 132.05 1105 0 1 41.2287 24.1691 -204.45 + 85 99.257 1021 0 0 41.2698 24.2878 -205.85 + 85 246.433 729 1 0 65.3059 -34.1915 -176.25 + 85 156.386 986 5 0 36.5968 17.4059 -55.85 + 85 149.325 1049 4 1 30.0291 13.5194 -84.45 + 85 2.53842 1048 4 1 29.85 13.4841 -84.8382 + 85 130.104 966 4 0 29.3622 13.3806 -85.85 + 85 177.004 980 3 1 16.182 10.7369 -114.45 + 85 130.523 952 3 0 15.8199 10.5256 -115.85 + 85 130.812 942 2 1 8.49145 6.13874 -144.45 + 85 16.2325 941 2 1 8.45 6.01683 -144.8 + 85 6.4213 928 2 0 8.32596 5.66269 -145.85 + 85 238.658 927 2 0 8.3217 5.65 -145.887 + 85 104.031 928 1 1 5.6508 -3.90326 -174.45 + 85 135.494 878 1 0 5.72989 -4.27613 -175.85 + 85 17.6639 934 0 1 7.02488 -9.91932 -204.45 + 85 115.413 935 0 1 7.05009 -9.93882 -204.513 + 85 40.4525 848 0 0 7.56224 -10.3973 -205.85 + 85 81.5944 847 0 0 7.61907 -10.45 -205.998 + 85 295.857 1085 0 1 37.107 17.5304 -204.45 + 85 81.1092 982 0 0 37.5999 16.6045 -205.85 + 85 46.4842 981 0 0 37.6624 16.45 -206.088 + 85 138.057 987 0 0 37.4153 17.4845 -205.85 +Number of digits in this event: 57 +Using G4ParticleGun... +Particle energy: 4.71063 LIN Particle: e- Event: 86 -Number of tracker hits in this event: 43 - 86 127.335 782 7 1 -23.4865 -144.578 5.55 - 86 109.992 177 7 0 -23.4851 -144.578 4.15 - 86 110.586 782 6 1 -23.4537 -144.571 -24.45 - 86 129.929 177 6 0 -23.4501 -144.57 -25.85 - 86 121.903 783 5 1 -23.3842 -144.53 -54.45 - 86 157.66 178 5 0 -23.3814 -144.528 -55.85 - 86 119.436 783 4 1 -23.3214 -144.479 -84.45 - 86 112.621 178 4 0 -23.3154 -144.475 -85.85 - 86 105.636 784 3 1 -23.1853 -144.386 -114.45 - 86 123.352 178 3 0 -23.1799 -144.382 -115.85 - 86 115.906 784 2 1 -23.0697 -144.32 -144.45 - 86 151.955 179 2 0 -23.065 -144.308 -145.85 - 86 343.362 785 1 1 -22.9772 -144.065 -174.45 - 86 160.291 180 1 0 -22.972 -144.049 -175.85 - 86 139.386 785 0 1 -22.8626 -143.732 -204.45 - 86 149.404 182 0 0 -22.8563 -143.715 -205.85 - 86 19.5377 771 5 1 -25.85 -142.067 -54.8443 - 86 275.033 770 5 1 -25.8506 -142.061 -54.7783 - 86 135.711 784 1 1 -23.2065 -144.299 -174.45 - 86 348.171 783 1 1 -23.25 -144.268 -174.62 - 86 200.025 181 1 0 -23.6781 -143.95 -175.948 - 86 221.057 733 0 1 -33.3232 -136.52 -204.45 - 86 0.419115 732 0 1 -33.4502 -136.475 -204.849 - 86 174.981 218 0 0 -33.7605 -136.354 -205.85 - 86 128.061 219 0 0 -33.7706 -136.35 -205.883 - 86 91.636 734 0 1 -33.25 -136.497 -204.546 - 86 18.3695 782 1 1 -23.45 -143.652 -174.809 - 86 35.0692 188 1 0 -24.0947 -142.395 -175.85 - 86 101.312 189 1 0 -24.1162 -142.35 -175.895 - 86 46.3587 190 1 0 -24.2045 -142.15 -176.153 - 86 214.711 678 1 0 35.86 -44.3186 -176.25 - 86 31.8575 679 1 0 35.917 -44.25 -176.228 - 86 22.2616 677 1 0 36.153 -44.4503 -175.902 - 86 6.96897 1083 1 1 36.8322 -45.2391 -174.85 - 86 95.1578 1084 1 1 36.85 -45.2614 -174.821 - 86 67.657 1085 1 1 37.0504 -45.4175 -174.583 - 86 42.3893 621 2 0 42.4685 -55.8126 -146.25 - 86 65.7911 620 2 0 42.4805 -55.85 -146.128 - 86 293.722 1113 2 1 42.8304 -56.5652 -144.849 - 86 436.243 1114 2 1 42.85 -56.5985 -144.795 - 86 98.9828 1115 2 1 43.05 -58.0709 -144.602 - 86 285.697 610 2 0 43.6496 -58.0456 -145.85 - 86 91.6264 609 2 0 43.7791 -58.05 -145.942 -Number of digits in this event: 23 -Using G4ParticleGun... -Particle energy: 1.00031 LIN +Number of tracker hits in this event: 248 + 86 130.44 893 11 1 -1.25388 -76.8669 125.55 + 86 117.817 515 11 0 -1.25318 -76.8691 124.15 + 86 328.451 894 10 1 -1.23943 -76.9188 95.55 + 86 365.848 515 10 0 -1.23943 -76.9203 94.15 + 86 211.155 894 9 1 -1.24287 -76.9519 65.55 + 86 227.982 515 9 0 -1.2417 -76.9493 64.15 + 86 271.078 894 8 1 -1.20938 -76.8872 35.55 + 86 110.956 515 8 0 -1.20998 -76.8846 34.15 + 86 131.027 894 7 1 -1.20554 -76.838 5.55 + 86 156.61 516 7 0 -1.20314 -76.8373 4.15 + 86 104.052 894 6 1 -1.15443 -76.8342 -24.45 + 86 117.925 516 6 0 -1.14809 -76.8384 -25.85 + 86 126.718 895 5 1 -1.02628 -76.9123 -54.45 + 86 108.315 515 5 0 -1.03036 -76.9034 -55.85 + 86 365.583 894 4 1 -1.16627 -76.6718 -84.45 + 86 380.432 516 4 0 -1.17003 -76.6627 -85.85 + 86 220.622 893 3 1 -1.27859 -76.4894 -114.45 + 86 176.05 517 3 0 -1.28155 -76.473 -115.85 + 86 149.349 893 2 1 -1.34983 -76.161 -144.45 + 86 153.206 519 2 0 -1.35306 -76.1414 -145.85 + 86 119.695 893 1 1 -1.42197 -75.939 -174.45 + 86 213.431 520 1 0 -1.4437 -75.9293 -175.85 + 86 115.877 890 0 1 -1.88047 -75.7298 -204.45 + 86 142.69 521 0 0 -1.89775 -75.7154 -205.85 + 86 9.95866 343 9 0 -179.182 -111.372 63.75 + 86 97.7202 894 3 1 -1.18359 -76.8993 -114.45 + 86 85.3874 512 3 0 -1.40211 -77.4827 -115.85 + 86 39.8903 511 3 0 -1.4257 -77.6502 -116.115 + 86 144.701 898 2 1 -0.250524 -90.9038 -144.45 + 86 157.431 449 2 0 -0.277676 -90.3175 -145.85 + 86 109.849 715 4 0 17.7272 -37.05 -86.2389 + 86 35.6838 716 4 0 17.712 -36.85 -85.906 + 86 148.163 983 4 1 16.7945 -37.6045 -84.85 + 86 27.7111 892 3 1 -1.45 -76.5387 -114.752 + 86 39.7477 518 3 0 -1.59341 -76.45 -116.104 + 86 106.224 877 2 1 -4.60683 -74.8887 -144.45 + 86 112.547 526 2 0 -4.71333 -74.7029 -145.85 + 86 19.5205 527 2 0 -4.74003 -74.65 -146.236 + 86 7.78256 867 1 1 -6.64853 -70.9261 -174.45 + 86 81.7863 866 1 1 -6.65 -70.9263 -174.473 + 86 127.782 545 1 0 -6.74364 -70.93 -175.85 + 86 34.2692 854 0 1 -9.23491 -71.314 -204.45 + 86 141.821 853 0 1 -9.25004 -71.3292 -204.607 + 86 61.4056 543 0 0 -9.37938 -71.4335 -205.85 + 86 50.9715 542 0 0 -9.40637 -71.45 -206.074 + 86 297.122 895 3 1 -0.90355 -76.8503 -114.45 + 86 136.988 516 3 0 -0.918031 -76.8498 -115.85 + 86 268.837 894 2 1 -1.13244 -76.7375 -144.45 + 86 110.284 516 2 0 -1.18509 -76.7053 -145.85 + 86 105.772 889 1 1 -2.10545 -75.9875 -174.45 + 86 157.675 886 0 1 -2.75717 -75.3145 -204.45 + 86 187.182 523 0 0 -2.78214 -75.2666 -205.85 + 86 74.8676 895 2 1 -1.05 -76.6709 -144.609 + 86 142.169 518 2 0 -0.565615 -76.3445 -145.85 + 86 98.5566 515 3 0 -0.890128 -76.91 -115.85 + 86 112.433 506 2 0 -1.33506 -78.7413 -145.85 + 86 104.949 877 1 1 -4.59281 -81.6472 -174.45 + 86 16.5229 876 1 1 -4.65001 -81.6769 -174.799 + 86 96.8421 491 1 0 -4.82315 -81.7711 -175.85 + 86 3.06159 852 0 1 -9.64798 -83.6578 -204.45 + 86 151.562 851 0 1 -9.65 -83.6582 -204.457 + 86 123.207 481 0 0 -10.0709 -83.76 -205.85 + 86 115.992 893 10 1 -1.25011 -76.8827 95.5083 + 86 139.627 518 10 0 -1.78666 -76.4326 94.1499 + 86 103.891 835 9 1 -12.9387 -67.5058 65.5499 + 86 53.9655 834 9 1 -13.05 -67.4208 65.2757 + 86 24.3125 564 9 0 -13.5421 -67.067 64.15 + 86 122.492 565 9 0 -13.5655 -67.05 64.0966 + 86 180.198 768 8 1 -26.3601 -58.0796 35.55 + 86 125.214 767 8 1 -26.45 -57.9827 35.2169 + 86 8.02372 611 8 0 -26.7169 -57.6593 34.1497 + 86 110.82 612 8 0 -26.7246 -57.65 34.1184 + 86 139.216 728 7 1 -34.2709 -49.8399 5.55 + 86 16.8162 727 7 1 -34.45 -49.7015 5.20163 + 86 56.7791 653 7 0 -34.9968 -49.3176 4.15 + 86 277.29 654 7 0 -35.0923 -49.25 3.97244 + 86 110.094 644 6 1 -51.1145 -38.312 -24.45 + 86 42.8537 643 6 1 -51.25 -38.2166 -24.691 + 86 122.352 711 6 0 -51.9159 -37.8034 -25.8502 + 86 423.401 563 5 1 -67.4456 -28.2401 -54.45 + 86 193.624 562 5 1 -67.45 -28.2365 -54.458 + 86 62.7247 561 5 1 -67.65 -28.0596 -54.8382 + 86 30.1391 762 5 0 -68.1293 -27.5008 -55.85 + 86 112.489 763 5 0 -68.171 -27.4499 -55.9391 + 86 142.944 496 4 1 -80.666 -12.8667 -84.4509 + 86 28.1219 838 4 0 -81.3245 -12.2901 -85.8504 + 86 245.041 839 4 0 -81.3702 -12.2499 -85.946 + 86 148.553 426 3 1 -94.7847 1.34602 -114.45 + 86 5.916 425 3 1 -94.95 1.6457 -114.833 + 86 7.51183 911 3 0 -95.3321 2.42337 -115.85 + 86 97.261 912 3 0 -95.3445 2.45 -115.885 + 86 50.3674 913 3 0 -95.4449 2.65 -116.14 + 86 23.6444 357 2 1 -108.693 25.7529 -144.45 + 86 127.473 356 2 1 -108.75 25.8289 -144.535 + 86 9.78231 355 2 1 -108.95 26.0861 -144.818 + 86 64.5593 1035 2 0 -109.689 27.0777 -145.85 + 86 87.5591 1036 2 0 -109.805 27.25 -146.028 + 86 10.1014 1037 2 0 -109.919 27.45 -146.219 + 86 102.672 267 1 1 -126.606 57.7089 -174.45 + 86 86.6148 266 1 1 -126.75 57.9911 -174.655 + 86 97.5038 1197 1 0 -127.584 59.4861 -175.85 + 86 80.4775 1198 1 0 -127.676 59.6503 -175.98 + 86 55.584 1199 1 0 -127.792 59.85 -176.135 + 86 15.11 96 0 1 -160.907 100.953 -204.45 + 86 80.8569 95 0 1 -160.95 100.985 -204.48 + 86 86.1024 94 0 1 -161.15 101.131 -204.605 + 86 94.2216 93 0 1 -161.35 101.272 -204.732 + 86 144.071 1411 0 0 -163.266 102.399 -205.85 + 86 158.876 1412 0 0 -163.526 102.55 -205.99 + 86 56.4082 1413 0 0 -163.891 102.75 -206.165 + 86 8.85968 840 4 0 -81.5395 -12.05 -86.2482 + 86 97.4086 756 5 0 -68.4814 -28.7198 -55.85 + 86 55.309 755 5 0 -68.6145 -28.85 -55.9841 + 86 65.5976 754 5 0 -68.6862 -29.05 -56.0065 + 86 68.4153 753 5 0 -68.6945 -29.2501 -55.9253 + 86 249.581 895 9 1 -0.987057 -76.9433 65.55 + 86 124.006 897 8 1 -0.620233 -77.0395 35.55 + 86 408.798 514 8 0 -0.567964 -77.1007 34.15 + 86 117.754 902 7 1 0.533597 -78.4528 5.55 + 86 172.206 507 7 0 0.58434 -78.5134 4.15 + 86 45.5226 907 6 1 1.64069 -79.7604 -24.45 + 86 101.705 908 6 1 1.65 -79.7629 -24.6054 + 86 113.399 501 6 0 1.72088 -79.7818 -25.85 + 86 104.661 916 5 1 3.31136 -80.1017 -54.45 + 86 113.518 499 5 0 3.37606 -80.0792 -55.85 + 86 101.882 923 4 1 4.68137 -79.9344 -84.4501 + 86 105.035 500 4 0 4.76601 -79.8661 -85.85 + 86 9.72262 501 4 0 4.78633 -79.85 -86.2179 + 86 115.183 930 3 1 6.12518 -78.677 -114.45 + 86 119.291 507 3 0 6.19806 -78.6442 -115.85 + 86 317.553 936 2 1 7.25365 -78.4909 -144.45 + 86 45.5033 510 2 0 7.31717 -77.8858 -145.85 + 86 128.457 511 2 0 7.3289 -77.85 -145.966 + 86 17.2733 553 2 0 33.4806 -69.4292 -146.25 + 86 131.077 552 2 0 33.5029 -69.4505 -146.202 + 86 94.6129 551 2 0 33.6799 -69.6502 -145.978 + 86 296.403 550 2 0 33.7622 -69.8506 -145.925 + 86 227.204 932 3 1 6.59802 -81.3419 -114.45 + 86 117.798 493 3 0 6.63911 -81.3751 -115.85 + 86 226.454 937 2 1 7.46827 -81.9237 -144.451 + 86 117.293 489 2 0 7.3996 -82.104 -145.85 + 86 136.859 931 1 1 6.44112 -86.3456 -174.45 + 86 82.1473 467 1 0 6.34031 -86.5909 -175.85 + 86 26.7886 466 1 0 6.31768 -86.65 -176.195 + 86 118.326 922 0 1 4.60614 -91.6951 -204.451 + 86 238.996 440 0 0 4.72112 -92.0067 -205.85 + 86 4.59426 374 0 0 -3.34959 -105.346 -206.25 + 86 316.686 373 0 0 -3.35176 -105.35 -206.233 + 86 62.4751 974 0 1 15.024 -84.4415 -204.45 + 86 92.0947 975 0 1 15.0501 -84.5593 -204.619 + 86 73.0916 470 0 0 15.4843 -85.8511 -205.85 + 86 70.5453 469 0 0 15.6031 -86.05 -206.015 + 86 41.8596 468 0 0 15.7822 -86.2501 -206.153 + 86 130.796 451 0 0 15.667 -89.7562 -206.25 + 86 192.89 452 0 0 15.4931 -89.65 -206.089 + 86 28.523 453 0 0 15.3944 -89.45 -205.928 + 86 116.265 982 0 1 16.4592 -88.6595 -204.85 + 86 300.323 981 0 1 16.45 -88.5168 -204.673 + 86 81.9804 977 0 1 15.5839 -90.7435 -204.85 + 86 141.92 978 0 1 15.6501 -90.8347 -204.771 + 86 93.0866 494 3 0 6.34361 -81.2197 -115.85 + 86 136.625 906 2 1 1.44723 -78.1233 -144.45 + 86 11.2984 512 2 0 1.27775 -77.473 -145.851 + 86 112.52 513 2 0 1.26995 -77.45 -145.901 + 86 118.712 870 1 1 -5.88086 -64.4595 -174.45 + 86 4.36641 579 1 0 -5.9146 -64.0541 -175.851 + 86 94.2715 580 1 0 -5.91505 -64.05 -175.865 + 86 137.082 860 0 1 -7.91239 -56.8039 -204.451 + 86 17.9951 859 0 1 -8.05012 -56.73 -204.809 + 86 125.983 617 0 0 -8.45359 -56.5501 -205.85 + 86 133.774 951 1 1 10.3441 -81.7225 -174.45 + 86 120.93 493 1 0 10.1592 -81.4247 -175.85 + 86 54.1234 559 1 0 11.6981 -68.1411 -176.25 + 86 76.9407 560 1 0 11.6876 -68.0495 -176.155 + 86 129.263 561 1 0 11.6991 -67.85 -176.067 + 86 18.28 443 8 0 -21.8472 -91.5391 33.7504 + 86 241.135 442 8 0 -21.8203 -91.55 33.7805 + 86 93.3425 903 7 1 0.65 -78.3784 5.51469 + 86 143.967 508 7 0 1.02239 -78.4077 4.15 + 86 109.358 943 6 1 8.75496 -78.8772 -24.45 + 86 20.7538 944 6 1 8.85 -78.8755 -24.7751 + 86 201.828 505 6 0 9.1563 -78.8601 -25.8505 + 86 41.606 991 5 1 18.3784 -79.1129 -54.45 + 86 277.883 992 5 1 18.45 -79.1153 -54.5599 + 86 125.074 504 5 0 19.2583 -79.0925 -55.85 + 86 7.25964 1089 4 1 38.0258 -77.0444 -84.45 + 86 86.8302 1090 4 1 38.0505 -77.0542 -84.4722 + 86 220.975 1091 4 1 38.2501 -77.1303 -84.6542 + 86 3.68131 1092 4 1 38.4502 -77.2076 -84.8384 + 86 22.0901 512 4 0 39.5528 -77.6285 -85.85 + 86 175.621 511 4 0 39.6182 -77.65 -85.9091 + 86 55.4449 1256 3 1 71.2882 -91.1581 -114.45 + 86 131.434 1257 3 1 71.45 -91.2117 -114.557 + 86 177.21 1258 3 1 71.65 -91.2755 -114.687 + 86 17.6166 1259 3 1 71.85 -91.3346 -114.818 + 86 13.1759 442 3 0 73.3711 -91.7357 -115.85 + 86 185.874 441 3 0 73.4309 -91.75 -115.891 + 86 37.0368 1482 2 1 116.669 -101.826 -144.45 + 86 86.404 1483 2 1 116.75 -101.791 -144.54 + 86 61.4594 1484 2 1 116.95 -101.719 -144.761 + 86 289.172 393 2 0 118.074 -101.397 -145.85 + 86 187.635 394 2 0 118.27 -101.35 -146.013 + 86 50.2909 1619 1 1 144.068 -93.0534 -174.45 + 86 116.725 1620 1 1 144.15 -93.2141 -174.564 + 86 141.266 425 1 0 144.612 -95.0235 -175.85 + 86 63.641 424 1 0 144.642 -95.1501 -175.94 + 86 58.7107 423 1 0 144.7 -95.3501 -176.079 + 86 80.5223 422 1 0 144.733 -95.5502 -176.183 + 86 11.4207 101 1 0 142.076 -159.924 -176.25 + 86 177.653 100 1 0 142.075 -159.95 -176.22 + 86 62.2261 1594 1 1 139.138 -160.474 -174.85 + 86 18.7038 1593 1 1 138.95 -160.508 -174.84 + 86 315.516 95 1 0 137.91 -161.04 -175.85 + 86 178.878 94 1 0 137.402 -161.15 -176.006 + 86 12.908 1586 1 1 137.544 -162.269 -174.849 + 86 251.44 1587 1 1 137.55 -162.297 -174.818 + 86 169.81 1588 1 1 137.75 -162.497 -174.703 + 86 61.8398 93 1 0 138.415 -161.43 -175.85 + 86 86.6806 392 2 0 118.862 -101.55 -146.074 + 86 108.546 391 2 0 119.114 -101.751 -146.052 + 86 76.0246 390 2 0 119.338 -101.95 -146.033 + 86 62.6667 389 2 0 119.515 -102.15 -146.038 + 86 63.9446 388 2 0 119.686 -102.35 -146.043 + 86 43.9129 387 2 0 119.833 -102.55 -146.044 + 86 49.1032 386 2 0 119.905 -102.75 -146.05 + 86 63.6506 385 2 0 119.971 -102.95 -146.059 + 86 55.6115 384 2 0 119.999 -103.15 -146.076 + 86 56.6448 383 2 0 120.038 -103.35 -146.055 + 86 72.7912 382 2 0 120.072 -103.551 -146.002 + 86 40.4446 381 2 0 120.172 -103.75 -145.916 + 86 26.3979 1507 2 1 121.691 -105.699 -144.85 + 86 113.136 1508 2 1 121.75 -105.766 -144.818 + 86 78.628 1509 2 1 121.95 -105.969 -144.778 + 86 76.8908 1510 2 1 122.15 -106.123 -144.694 + 86 66.3625 1511 2 1 122.35 -106.275 -144.583 + 86 69.2876 1512 2 1 122.55 -106.407 -144.575 + 86 58.4701 1513 2 1 122.75 -106.592 -144.503 + 86 308.815 1515 2 1 123.219 -106.539 -144.45 + 86 208.34 1516 2 1 123.35 -106.514 -144.797 + 86 135.562 1704 1 1 160.95 -97.3387 -174.627 + 86 19.7523 400 1 0 160.545 -100.082 -175.85 + 86 79.1391 399 1 0 160.511 -100.15 -175.888 + 86 61.1896 1707 1 1 161.652 -100.51 -174.85 + 86 43.4355 1708 1 1 161.75 -100.52 -174.78 + 86 74.4252 397 1 0 161.371 -100.621 -175.85 + 86 36.6552 576 3 0 63.3531 -64.7478 -116.25 + 86 230.137 577 3 0 63.2636 -64.6495 -116.225 + 86 341.466 578 3 0 63.1098 -64.45 -116.158 +Number of digits in this event: 94 +Using G4ParticleGun... +Particle energy: 1.95209 LIN Particle: e- Event: 87 -Number of tracker hits in this event: 46 - 87 123.657 788 11 1 -22.3688 10.642 125.55 - 87 136.126 952 11 0 -22.3655 10.6455 124.15 - 87 115.461 788 10 1 -22.3064 10.7313 95.55 - 87 105.068 953 10 0 -22.3126 10.738 94.15 - 87 219.112 787 9 1 -22.4595 10.9 65.55 - 87 130.949 954 9 0 -22.4684 10.9032 64.15 - 87 121.683 787 8 1 -22.6254 10.9668 35.55 - 87 124.953 954 8 0 -22.6348 10.9603 34.15 - 87 95.5901 786 7 1 -22.8165 10.8197 5.55 - 87 124.644 953 7 0 -22.8247 10.8083 4.15 - 87 167.632 785 6 1 -22.9851 10.6133 -24.45 - 87 167.183 952 6 0 -22.979 10.5966 -25.85 - 87 136.365 786 5 1 -22.8228 10.2424 -54.45 - 87 152.728 950 5 0 -22.8208 10.2185 -55.85 - 87 149.061 786 4 1 -22.7635 9.75133 -84.45 - 87 100.851 948 4 0 -22.7701 9.73103 -85.85 - 87 119.878 785 3 1 -22.9173 9.32048 -114.45 - 87 103.792 946 3 0 -22.9268 9.30414 -115.85 - 87 195.523 784 2 1 -23.1177 8.98384 -144.45 - 87 99.9693 944 2 0 -23.1395 8.96236 -145.85 - 87 107.744 782 1 1 -23.5841 8.57067 -174.45 - 87 120.386 942 1 0 -23.6078 8.55814 -175.85 - 87 439.024 779 0 1 -24.0689 8.33609 -204.45 - 87 185.78 941 0 0 -24.0872 8.32992 -205.85 - 87 103.544 1395 1 0 30.6149 99.19 -176.25 - 87 221.43 1055 1 1 31.0916 98.9797 -174.85 - 87 241.17 1056 1 1 31.2502 98.9505 -174.555 - 87 73.4906 1054 1 1 31.0499 98.3681 -174.797 - 87 101.137 1053 1 1 30.85 98.5071 -174.73 - 87 394.119 1052 1 1 30.6499 98.7618 -174.61 - 87 15.0688 849 1 0 -7.31991 -10.1347 -176.25 - 87 59.7766 778 0 1 -24.25 8.36062 -204.665 - 87 21.478 777 0 1 -24.45 8.3861 -204.788 - 87 38.1627 942 0 0 -25.7353 8.63253 -205.85 - 87 249.757 943 0 0 -25.8253 8.65 -205.925 - 87 130.011 958 0 0 -33.8518 11.762 -206.25 - 87 134.603 732 0 1 -33.6027 11.3881 -204.85 - 87 69.3012 940 0 0 -24.0775 8.25 -206.058 - 87 181.998 781 0 1 -23.7525 8.25793 -204.45 - 87 9.91182 780 0 1 -23.85 8.02125 -204.815 - 87 24.0709 937 0 0 -24.1008 7.47451 -205.85 - 87 185.105 936 0 0 -24.1185 7.45 -205.903 - 87 10.8919 935 0 0 -24.1799 7.25 -206.224 - 87 205.201 865 0 0 -41.9374 -6.89686 -206.25 - 87 109.919 689 0 1 -42.1361 -7.47383 -204.85 - 87 54.71 688 0 1 -42.25 -7.71381 -204.599 -Number of digits in this event: 27 +Number of tracker hits in this event: 116 + 87 194.311 1169 9 1 53.9328 109.425 65.55 + 87 161.175 1446 9 0 53.9274 109.422 64.15 + 87 190.399 1168 8 1 53.8292 109.358 35.55 + 87 155.06 1446 8 0 53.7983 109.382 34.15 + 87 151.655 1165 7 1 53.0892 109.842 5.55 + 87 129.474 1448 7 0 53.0595 109.863 4.15 + 87 249.963 1162 6 1 52.4604 110.278 -24.45 + 87 143.581 1450 6 0 52.4248 110.304 -25.85 + 87 315.128 1157 5 1 51.6195 110.847 -54.45 + 87 254.281 1453 5 0 51.5645 110.865 -55.85 + 87 158.19 1152 4 1 50.5795 111.318 -84.45 + 87 109.097 1455 4 0 50.3699 111.26 -85.8513 + 87 187.752 1131 3 1 46.3021 109.112 -114.45 + 87 24.8817 1444 3 0 46.2792 108.961 -115.85 + 87 87.4936 1443 3 0 46.2768 108.95 -115.95 + 87 133.751 1131 2 1 46.3132 104.797 -144.45 + 87 63.9294 1422 2 0 46.3405 104.582 -145.85 + 87 42.3525 1421 2 0 46.3446 104.55 -146.059 + 87 151.304 1132 1 1 46.5136 99.3436 -174.45 + 87 61.7555 1394 1 0 46.4825 99.0009 -175.85 + 87 64.5051 1393 1 0 46.4788 98.95 -176.057 + 87 268.764 1129 0 1 45.9451 91.8317 -204.45 + 87 147.352 1356 0 0 45.9672 91.4622 -205.85 + 87 80.9782 1128 0 1 45.85 92.1149 -204.582 + 87 79.5765 1127 0 1 45.65 92.0977 -204.536 + 87 243.086 1126 0 1 45.4499 92.1469 -204.577 + 87 51.7307 1454 5 0 51.4032 111.014 -55.85 + 87 29.8039 1452 5 0 51.5114 110.75 -55.9157 + 87 15.6532 1161 5 1 52.4247 109.119 -54.85 + 87 272.266 1162 5 1 52.45 109.075 -54.8262 + 87 225.451 1163 5 1 52.65 108.477 -54.4727 + 87 154.519 1439 5 0 53.5539 108 -55.8504 + 87 252.863 1440 5 0 53.8087 108.15 -56.1044 + 87 98.7429 1441 5 0 53.8754 108.35 -56.1065 + 87 70.0692 1449 6 0 52.6538 109.994 -25.85 + 87 39.901 1448 6 0 52.7078 109.95 -26.0785 + 87 31.7566 1391 6 0 45.7557 98.4175 -26.25 + 87 77.8375 1390 6 0 45.7173 98.3499 -26.1288 + 87 145.757 1130 6 1 46.1217 98.0633 -24.8499 + 87 282.538 1131 6 1 46.2668 98.0543 -24.45 + 87 161.77 1388 6 0 46.3127 97.9039 -25.85 + 87 38.4901 1387 6 0 46.2468 97.75 -26.1549 + 87 48.2467 1164 7 1 53.05 109.858 5.30214 + 87 111.116 1449 7 0 52.6279 109.981 4.14934 + 87 4.88024 1065 6 1 33.0524 119.8 -24.45 + 87 137.905 1064 6 1 33.05 119.806 -24.4554 + 87 89.3657 1063 6 1 32.85 120.194 -24.6486 + 87 54.5681 1503 6 0 32.6507 120.85 -25.85 + 87 77.4806 1504 6 0 32.6456 120.95 -26.0166 + 87 45.6812 1552 6 0 40.8117 130.706 -26.25 + 87 67.7027 1553 6 0 40.8029 130.75 -26.0255 + 87 109.702 1105 6 1 41.0774 131.469 -24.85 + 87 21.6155 1106 6 1 41.2512 131.598 -24.5183 + 87 50.5053 1150 0 1 50.1823 116.727 -204.45 + 87 94.8807 1151 0 1 50.2501 116.818 -204.6 + 87 148.037 1485 0 0 50.9029 117.267 -205.85 + 87 37.6662 1486 0 0 51.1304 117.35 -206.122 + 87 243.296 1168 6 1 53.7976 109.098 -24.45 + 87 232.751 1444 6 0 53.7876 109.077 -25.85 + 87 141.406 1167 5 1 53.5576 108.619 -54.45 + 87 108.02 1442 5 0 53.6292 108.655 -55.85 + 87 145.28 1172 4 1 54.4805 108.798 -84.4502 + 87 217.218 1443 4 0 54.5543 108.756 -85.85 + 87 47.3277 1442 4 0 54.5695 108.75 -86.1099 + 87 1.50087 1179 3 1 55.8509 108.074 -114.45 + 87 261.247 1178 3 1 55.85 108.073 -114.458 + 87 106.017 1439 3 0 55.7307 108.036 -115.85 + 87 120.675 1168 2 1 53.6975 106.704 -144.45 + 87 163.064 1432 2 0 53.5755 106.684 -145.851 + 87 1.2345 1154 1 1 50.8504 106.085 -174.45 + 87 103.195 1153 1 1 50.85 106.085 -174.457 + 87 102.71 1429 1 0 50.7793 106.023 -175.85 + 87 113.116 1144 0 1 48.9316 105.142 -204.45 + 87 120.473 1424 0 0 48.9219 105.085 -205.85 + 87 34.4008 1286 6 0 -20.4645 77.2703 -26.25 + 87 110.515 1285 6 0 -20.5054 77.2499 -26.2349 + 87 98.6842 1284 6 0 -20.8159 77.0498 -26.0495 + 87 91.8989 1283 6 0 -21.1315 76.85 -25.9002 + 87 3.40871 768 6 1 -26.4338 75.3477 -24.85 + 87 68.5395 767 6 1 -26.45 75.3432 -24.8468 + 87 64.6935 766 6 1 -26.65 75.2648 -24.8083 + 87 69.9846 765 6 1 -26.85 75.1701 -24.7552 + 87 68.9634 764 6 1 -27.0502 75.0597 -24.7488 + 87 73.5847 763 6 1 -27.25 74.9662 -24.7318 + 87 51.266 762 6 1 -27.45 74.8752 -24.694 + 87 61.9029 761 6 1 -27.65 74.7962 -24.7268 + 87 135.933 760 6 1 -27.85 74.7545 -24.7749 + 87 76.5553 759 6 1 -28.0502 74.7121 -24.7539 + 87 112.899 758 6 1 -28.25 74.606 -24.6398 + 87 77.4682 757 6 1 -28.45 74.4728 -24.5759 + 87 19.3235 756 6 1 -28.65 74.4248 -24.5 + 87 304.503 1168 5 1 53.7829 109.005 -54.45 + 87 246.604 1444 5 0 53.8975 109.057 -55.85 + 87 178.487 1179 4 1 55.9821 110.907 -84.45 + 87 97.3548 1453 4 0 55.9871 110.945 -85.85 + 87 153.36 1456 3 0 55.7487 111.389 -115.85 + 87 107.482 1192 2 1 58.5357 111.219 -144.45 + 87 119.278 1452 2 0 58.4732 110.708 -145.85 + 87 62.1341 1190 1 1 58.1021 100.891 -174.45 + 87 48.6039 1189 1 1 58.05 100.903 -174.67 + 87 109.356 1404 1 0 57.7011 101.006 -175.85 + 87 56.3517 1137 0 1 47.5932 106.436 -204.45 + 87 80.1329 1136 0 1 47.45 106.478 -204.565 + 87 67.3366 1135 0 1 47.25 106.544 -204.724 + 87 178.064 1433 0 0 45.8656 106.857 -205.85 + 87 30.9789 1495 0 0 30.2862 119.15 -205.902 + 87 162.773 1169 4 1 53.9144 108.707 -84.45 + 87 133.997 1167 3 1 53.5574 109.736 -114.45 + 87 141.263 1448 3 0 53.6181 109.761 -115.85 + 87 233.565 1173 2 1 54.7806 110.253 -144.45 + 87 154.546 1450 2 0 54.8601 110.251 -145.85 + 87 114.125 1183 1 1 56.6573 110.366 -174.45 + 87 99.6304 1451 1 0 56.7127 110.389 -175.85 + 87 110.916 1189 0 1 57.9721 110.835 -204.45 + 87 113.639 1453 0 0 58.0012 110.836 -205.85 + 87 64.1496 1458 3 0 145.339 111.889 -116.25 +Number of digits in this event: 49 Using G4ParticleGun... -Particle energy: 6.15269 LIN +Particle energy: 8.84762 LIN Particle: e- Event: 88 -Number of tracker hits in this event: 74 - 88 137.089 489 10 1 -82.0677 -72.6985 95.55 - 88 122.852 536 10 0 -82.0673 -72.6985 94.15 - 88 109.773 489 9 1 -82.0566 -72.7011 65.55 - 88 154.517 536 9 0 -82.0554 -72.7006 64.15 - 88 115.722 490 8 1 -82.0275 -72.6924 35.55 - 88 96.315 536 8 0 -82.0266 -72.691 34.15 - 88 232.912 490 7 1 -82.011 -72.6612 5.55 - 88 107.792 536 7 0 -82.0121 -72.6608 4.15 - 88 119.208 490 6 1 -82.0407 -72.6543 -24.45 - 88 212.584 536 6 0 -82.0439 -72.6541 -25.85 - 88 135.921 489 5 1 -82.1057 -72.6516 -54.45 - 88 103.831 536 5 0 -82.1102 -72.6519 -55.85 - 88 122.254 489 4 1 -82.2074 -72.6534 -84.45 - 88 144.385 536 4 0 -82.2086 -72.6538 -85.85 - 88 431.82 489 3 1 -82.2439 -72.6526 -114.45 - 88 267.727 536 3 0 -82.2487 -72.6548 -115.85 - 88 159.263 488 2 1 -82.3838 -72.6596 -144.45 - 88 114.628 536 2 0 -82.3825 -72.676 -145.85 - 88 259.812 488 1 1 -82.3013 -73.0459 -174.45 - 88 95.2215 534 1 0 -82.3118 -73.0703 -175.85 - 88 634.932 487 0 1 -82.5248 -73.5446 -204.45 - 88 93.3151 532 0 0 -82.5526 -73.5791 -205.85 - 88 87.0238 488 0 1 -82.45 -73.4443 -204.744 - 88 246.218 537 0 0 -81.0151 -72.5899 -205.85 - 88 0.120143 497 0 1 -80.4504 -70.2679 -204.85 - 88 1.91697 498 0 1 -80.4499 -70.2664 -204.85 - 88 161.749 562 0 0 -77.6706 -67.6018 -205.85 - 88 74.3684 465 2 0 -46.232 -86.9456 -146.25 - 88 65.5124 464 2 0 -46.025 -87.0503 -146.086 - 88 49.9399 463 2 0 -45.8829 -87.25 -145.945 - 88 64.4942 462 2 0 -45.8056 -87.4505 -145.896 - 88 287.834 461 2 0 -45.6936 -87.65 -145.901 - 88 320.669 460 2 0 -45.5328 -87.85 -145.899 - 88 13.2578 677 2 1 -44.4662 -87.4477 -144.85 - 88 139.157 678 2 1 -44.4499 -87.4256 -144.812 - 88 152.476 679 2 1 -44.25 -87.5376 -144.625 - 88 61.4613 680 2 1 -44.05 -87.6535 -144.755 - 88 135.267 536 0 0 -82.6235 -72.7855 -205.85 - 88 1.00859 529 0 0 -76.5506 -74.0502 -206.25 - 88 25.9175 530 0 0 -76.5509 -74.05 -206.249 - 88 214.688 537 3 0 -82.251 -72.6193 -115.85 - 88 227.92 489 2 1 -82.187 -71.9957 -144.45 - 88 364.903 540 2 0 -82.2044 -71.9398 -145.85 - 88 142.233 545 1 0 -82.434 -70.9589 -175.85 - 88 134.649 482 0 1 -83.4624 -71.0113 -204.45 - 88 178.023 544 0 0 -83.5902 -71.0972 -205.85 - 88 122.748 535 2 0 -82.1046 -72.987 -145.85 - 88 130.012 487 1 1 -82.4825 -73.5843 -174.45 - 88 101.954 532 1 0 -82.5002 -73.6369 -175.85 - 88 8.13669 531 1 0 -82.5047 -73.65 -176.203 - 88 103.801 485 0 1 -82.9733 -74.6593 -204.45 - 88 125.775 526 0 0 -83.0076 -74.7338 -205.85 - 88 153.688 533 7 0 -81.529 -73.2752 4.15 - 88 3.39489 532 7 0 -81.4457 -73.45 3.76116 - 88 23.4321 526 7 0 -80.6674 -74.8299 4.15 - 88 212.501 490 2 1 -81.9762 -72.5279 -144.45 - 88 208.452 537 2 0 -81.9769 -72.5264 -145.85 - 88 215.468 490 1 1 -81.9764 -72.4998 -174.45 - 88 398.398 537 1 0 -81.9744 -72.4994 -175.85 - 88 121.248 490 0 1 -81.9354 -72.4813 -204.45 - 88 72.795 770 5 0 85.5576 -25.9153 -55.85 - 88 164.308 960 10 0 45.5213 12.0726 93.75 - 88 59.483 645 0 0 -117.383 -51.05 -206.09 - 88 191.81 302 0 1 -119.73 -53.1441 -204.45 - 88 138.272 489 0 1 -82.151 -72.3966 -204.45 - 88 103.975 538 0 0 -82.1668 -72.3854 -205.85 - 88 98.1256 675 2 0 -138.119 -45.015 -146.25 - 88 88.4994 676 2 0 -138.464 -44.8496 -146.166 - 88 132.867 677 2 0 -138.626 -44.65 -146.183 - 88 20.3945 307 2 0 -77.6673 -118.698 -146.25 - 88 64.4664 306 2 0 -77.6476 -118.75 -146.218 - 88 245.11 305 2 0 -77.5651 -118.95 -146.157 - 88 131.564 304 2 0 -77.5623 -119.15 -146.052 - 88 241.09 303 2 0 -77.6243 -119.35 -146.142 -Number of digits in this event: 46 +Number of tracker hits in this event: 131 + 88 134.086 438 10 1 -92.3573 -35.122 95.55 + 88 137.704 724 10 0 -92.3572 -35.1211 94.15 + 88 245.836 438 9 1 -92.3604 -35.1017 65.55 + 88 247.214 724 9 0 -92.3599 -35.1005 64.15 + 88 154.149 438 8 1 -92.3545 -35.0737 35.55 + 88 135.679 724 8 0 -92.3541 -35.0729 34.15 + 88 607.649 439 7 1 -92.3496 -35.0619 5.55 + 88 483.594 724 7 0 -92.3485 -35.0614 4.15 + 88 112.308 439 6 1 -92.3231 -35.0536 -24.45 + 88 211.441 724 6 0 -92.3223 -35.0528 -25.85 + 88 146.763 439 5 1 -92.3052 -35.0388 -54.45 + 88 133.213 725 5 0 -92.3042 -35.0375 -55.85 + 88 122.625 439 4 1 -92.2799 -35.0144 -84.45 + 88 140.76 725 4 0 -92.2781 -35.0136 -85.85 + 88 130.53 439 3 1 -92.2369 -34.9963 -114.45 + 88 160.023 725 3 0 -92.2355 -34.9951 -115.85 + 88 148.093 439 2 1 -92.2074 -34.9708 -144.45 + 88 163.599 725 2 0 -92.2057 -34.9704 -145.85 + 88 177.428 439 1 1 -92.1773 -34.9608 -174.45 + 88 120.484 725 1 0 -92.1747 -34.9596 -175.85 + 88 132.182 440 0 1 -92.1192 -34.9392 -204.45 + 88 131.991 725 0 0 -92.1151 -34.9374 -205.85 + 88 148.778 660 4 0 -127.065 -48.0471 -86.25 + 88 36.4528 659 4 0 -127.074 -48.05 -86.2441 + 88 82.2871 440 5 1 -92.15 -35.0153 -54.5014 + 88 91.9183 441 5 1 -91.9498 -34.946 -54.5619 + 88 338.324 442 5 1 -91.7498 -34.9969 -54.6078 + 88 21.1066 602 0 0 -124.599 -59.5621 -206.25 + 88 165.65 456 6 1 -88.734 -36.8588 -24.45 + 88 128.211 716 6 0 -88.6419 -36.7504 -25.85 + 88 113.414 485 5 1 -82.9345 -36.4588 -54.45 + 88 19.4192 486 5 1 -82.85 -36.5293 -54.7663 + 88 111.199 716 5 0 -82.5823 -36.7111 -55.85 + 88 139.807 528 4 1 -74.4285 -43.1965 -84.45 + 88 49.5617 683 4 0 -73.9859 -43.4241 -85.8502 + 88 139.307 682 4 0 -73.9481 -43.45 -85.9922 + 88 20.8527 578 3 1 -64.3032 -49.3058 -114.45 + 88 89.3618 579 3 1 -64.25 -49.3315 -114.508 + 88 71.2217 580 3 1 -64.05 -49.4558 -114.734 + 88 81.0363 645 3 0 -63.3941 -50.8576 -115.85 + 88 61.4127 644 3 0 -63.3075 -51.05 -115.977 + 88 60.6584 643 3 0 -63.2261 -51.25 -116.143 + 88 163.705 634 2 1 -53.1906 -80.8149 -144.45 + 88 64.2545 491 2 0 -53.2849 -81.7183 -145.85 + 88 81.102 490 2 0 -53.2918 -81.85 -146.043 + 88 31.3654 489 2 0 -53.2852 -82.05 -146.197 + 88 182.094 668 1 1 -46.2521 -126.08 -174.45 + 88 140.344 667 1 1 -46.45 -126.07 -174.65 + 88 125.829 268 1 0 -47.7521 -126.409 -175.85 + 88 52.587 458 2 0 -67.685 -88.3283 -146.25 + 88 344.819 441 4 1 -91.8302 -42.1715 -84.4504 + 88 100.958 688 4 0 -91.5507 -42.3974 -85.85 + 88 19.6923 687 4 0 -91.485 -42.45 -86.1763 + 88 0.865584 463 3 1 -87.4475 -47.5333 -114.45 + 88 102.561 462 3 1 -87.45 -47.5315 -114.455 + 88 37.7296 461 3 1 -87.65 -47.3997 -114.745 + 88 182.68 665 3 0 -88.4593 -46.9926 -115.85 + 88 126.88 382 2 1 -103.725 -39.7522 -144.45 + 88 80.5896 704 2 0 -103.39 -39.1501 -145.85 + 88 87.2029 705 2 0 -103.33 -39.05 -146.096 + 88 30.9685 421 1 1 -95.7892 -30.2893 -174.45 + 88 52.1213 422 1 1 -95.7497 -30.2913 -174.465 + 88 88.0895 423 1 1 -95.55 -30.3034 -174.533 + 88 65.2821 424 1 1 -95.35 -30.3179 -174.592 + 88 138.488 425 1 1 -95.15 -30.3404 -174.66 + 88 80.644 426 1 1 -94.95 -30.3617 -174.721 + 88 63.3373 427 1 1 -94.75 -30.3667 -174.78 + 88 20.5119 428 1 1 -94.55 -30.3697 -174.83 + 88 308.868 749 1 0 -89.7815 -30.1757 -175.85 + 88 339.795 748 1 0 -88.8512 -30.25 -175.959 + 88 122.963 747 1 0 -88.1456 -30.45 -175.98 + 88 31.3836 746 1 0 -87.7987 -30.6502 -176.23 + 88 46.9998 617 0 1 -56.5944 -52.0832 -204.45 + 88 64.273 616 0 1 -56.65 -52.1115 -204.644 + 88 30.9749 638 0 0 -57.2397 -52.4256 -205.85 + 88 100.493 637 0 0 -57.2835 -52.45 -205.944 + 88 109.921 689 4 0 -91.6661 -42.1463 -85.8507 + 88 119.471 466 3 1 -86.715 -42.5752 -114.45 + 88 142.234 687 3 0 -86.5315 -42.5942 -115.85 + 88 118.95 487 2 1 -82.521 -43.3055 -144.45 + 88 187.59 488 2 1 -82.4495 -43.2234 -144.466 + 88 100.54 489 2 1 -82.2498 -42.9637 -144.518 + 88 93.7879 490 2 1 -82.05 -42.7041 -144.553 + 88 97.7918 491 2 1 -81.85 -42.4723 -144.556 + 88 93.4435 492 2 1 -81.6499 -42.2479 -144.565 + 88 120.753 493 2 1 -81.4497 -42.0028 -144.584 + 88 130.61 494 2 1 -81.25 -41.7336 -144.633 + 88 79.3417 495 2 1 -81.05 -41.477 -144.648 + 88 81.3979 496 2 1 -80.85 -41.2914 -144.584 + 88 130.338 497 2 1 -80.65 -41.1111 -144.486 + 88 91.0616 498 2 1 -80.2953 -40.5539 -144.45 + 88 68.6247 677 2 0 -82.4389 -44.5 -145.85 + 88 92.1933 676 2 0 -82.4664 -44.6501 -146.023 + 88 345.314 531 2 0 -56.3803 -73.6996 -146.25 + 88 57.9837 440 7 1 -92.15 -34.8725 5.28876 + 88 17.0795 728 7 0 -91.5821 -34.2729 4.15 + 88 192.503 729 7 0 -91.5607 -34.25 4.10781 + 88 32.7713 730 7 0 -91.4061 -34.05 3.79221 + 88 98.1805 522 6 1 -75.5373 -14.257 -24.45 + 88 76.8257 523 6 1 -75.45 -14.2516 -24.6191 + 88 118.718 829 6 0 -74.6205 -14.2017 -25.85 + 88 17.9321 584 5 1 -63.1944 -8.05987 -54.45 + 88 64.089 583 5 1 -63.2505 -8.05897 -54.4966 + 88 71.1617 582 5 1 -63.45 -8.01617 -54.5864 + 88 71.8403 581 5 1 -63.65 -7.95912 -54.6045 + 88 69.9608 580 5 1 -63.85 -7.85078 -54.6358 + 88 57.1253 579 5 1 -64.05 -7.82411 -54.6813 + 88 505.009 578 5 1 -64.25 -7.77552 -54.7216 + 88 150.902 577 5 1 -64.45 -7.7858 -54.6423 + 88 114.25 438 7 1 -92.3755 -35.0674 5.5499 + 88 116.769 424 6 1 -95.2096 -35.6614 -24.4506 + 88 158.478 722 6 0 -95.5005 -35.6229 -25.8502 + 88 0.555811 393 5 1 -101.55 -35.0771 -54.45 + 88 138.302 392 5 1 -101.55 -35.0771 -54.4521 + 88 134.509 724 5 0 -101.804 -35.0768 -55.85 + 88 170.49 366 4 1 -106.859 -35.6213 -84.4502 + 88 116.671 724 4 0 -107.153 -35.1671 -85.85 + 88 140.378 333 3 1 -113.42 -25.9236 -114.45 + 88 125.165 773 3 0 -113.69 -25.4492 -115.85 + 88 84.6664 305 2 1 -119.111 -16.1097 -144.45 + 88 47.0461 304 2 1 -119.15 -16.0339 -144.681 + 88 131.28 822 2 0 -119.364 -15.6363 -145.85 + 88 139.458 281 1 1 -123.786 -5.63271 -174.451 + 88 3.29103 873 1 0 -124.081 -5.25429 -175.85 + 88 109.604 874 1 0 -124.084 -5.24983 -175.867 + 88 289.407 252 0 1 -129.553 0.271436 -204.45 + 88 119.19 903 0 0 -129.936 0.650134 -205.851 + 88 95.1045 365 4 1 -106.95 -35.4618 -84.6167 + 88 112.352 364 4 1 -107.15 -35.3718 -84.7472 + 88 189.614 363 4 1 -107.35 -35.252 -84.644 + 88 90.2226 362 4 1 -107.55 -35.413 -84.5154 +Number of digits in this event: 59 Using G4ParticleGun... -Particle energy: 5.49785 LIN +Particle energy: 2.27095 LIN Particle: e- Event: 89 -Number of tracker hits in this event: 22 - 89 232.315 1077 10 1 35.5292 -87.6421 95.55 - 89 132.693 462 10 0 35.5282 -87.6406 94.15 - 89 139.249 1077 9 1 35.5065 -87.6101 65.55 - 89 166.784 462 9 0 35.5058 -87.6085 64.15 - 89 120.742 1077 8 1 35.4902 -87.583 35.55 - 89 152.172 462 8 0 35.4896 -87.5807 34.15 - 89 103.145 1077 7 1 35.4832 -87.5352 5.55 - 89 125.336 462 7 0 35.4849 -87.5338 4.15 - 89 111.84 1077 6 1 35.5252 -87.509 -24.45 - 89 123.711 462 6 0 35.5272 -87.5087 -25.85 - 89 131.022 1077 5 1 35.5722 -87.5097 -54.45 - 89 232.52 462 5 0 35.58 -87.5134 -55.85 - 89 114.797 1078 4 1 35.7517 -87.5737 -84.45 - 89 216.585 462 4 0 35.7619 -87.568 -85.85 - 89 175.175 1079 3 1 36.0239 -87.4142 -114.45 - 89 128.018 463 3 0 36.0369 -87.4119 -115.85 - 89 124.231 1081 2 1 36.3014 -87.3442 -144.45 - 89 137.735 463 2 0 36.315 -87.3428 -145.85 - 89 106.827 1082 1 1 36.5771 -87.3057 -174.45 - 89 118.979 463 1 0 36.5892 -87.3024 -175.85 - 89 106.874 1084 0 1 36.8523 -87.2295 -204.45 - 89 119.875 464 0 0 36.8643 -87.2199 -205.85 -Number of digits in this event: 18 +Number of tracker hits in this event: 62 + 89 112.781 798 11 1 -20.2687 6.53132 125.55 + 89 109.534 932 11 0 -20.266 6.53459 124.15 + 89 164.565 799 10 1 -20.2048 6.58999 95.55 + 89 105.869 932 10 0 -20.2035 6.59329 94.15 + 89 105.511 799 9 1 -20.1706 6.67068 65.55 + 89 136.105 933 9 0 -20.1686 6.6758 64.15 + 89 238.897 799 8 1 -20.1357 6.78596 35.55 + 89 272.764 933 8 0 -20.136 6.7946 34.15 + 89 134.369 799 7 1 -20.1565 6.97776 5.55 + 89 108.863 934 7 0 -20.1575 6.98459 4.15 + 89 116.918 799 6 1 -20.2139 7.1201 -24.45 + 89 169.352 935 6 0 -20.2126 7.12211 -25.85 + 89 105.659 799 5 1 -20.1948 7.12706 -54.45 + 89 110.258 935 5 0 -20.1917 7.12492 -55.85 + 89 160.179 799 4 1 -20.1454 7.06404 -84.45 + 89 111.324 935 4 0 -20.1474 7.05623 -85.85 + 89 201.245 799 3 1 -20.1905 6.89798 -114.45 + 89 185.098 934 3 0 -20.1785 6.87972 -115.85 + 89 139.345 800 2 1 -19.8915 6.51483 -144.45 + 89 140.242 932 2 0 -19.8792 6.49568 -145.85 + 89 172.089 801 1 1 -19.6569 6.05309 -174.45 + 89 123.195 929 1 0 -19.6505 6.0277 -175.85 + 89 130.559 802 0 1 -19.512 5.50436 -204.45 + 89 230.462 927 0 0 -19.5122 5.46599 -205.85 + 89 100.891 584 3 1 -63.05 -3.74977 -114.827 + 89 233.811 583 3 1 -63.25 -3.88702 -114.492 + 89 49.7465 1016 5 1 23.3589 -5.66239 -54.85 + 89 98.6145 798 10 1 -20.25 6.5698 95.3651 + 89 26.017 797 10 1 -20.4501 6.49809 95.1898 + 89 89.5116 929 10 0 -21.2826 5.98229 94.15 + 89 25.3665 928 10 0 -21.3549 5.85 94.1303 + 89 37.0159 794 10 1 -21.1659 3.94002 95.15 + 89 38.7825 913 10 0 -21.0588 2.7237 94.15 + 89 94.6881 789 10 1 -22.1525 2.74606 95.15 + 89 246.128 801 4 1 -19.8023 6.76303 -84.45 + 89 202.993 933 4 0 -19.8394 6.74042 -85.85 + 89 114.725 798 3 1 -20.3549 6.30171 -114.45 + 89 133.694 931 3 0 -20.4249 6.30203 -115.85 + 89 134.531 790 2 1 -21.8507 6.32976 -144.45 + 89 169.598 931 2 0 -21.9732 6.30276 -145.85 + 89 94.8343 776 1 1 -24.7099 5.80289 -174.45 + 89 5.04388 775 1 1 -24.85 5.71764 -174.83 + 89 94.8436 927 1 0 -25.2196 5.50049 -175.85 + 89 51.9171 926 1 0 -25.3003 5.45 -176.073 + 89 0.176916 721 0 1 -35.8495 -1.1457 -204.45 + 89 248.086 720 0 1 -35.85 -1.14589 -204.451 + 89 130.911 892 0 0 -36.3431 -1.46482 -205.85 + 89 0.828082 924 2 0 -23.8673 4.85254 -145.85 + 89 33.6154 923 2 0 -23.8708 4.85 -145.852 + 89 8.7959 772 2 1 -25.6281 5.21286 -144.85 + 89 23.1923 771 2 1 -25.6503 5.2198 -144.845 + 89 55.458 937 2 0 -28.4869 7.50695 -145.85 + 89 155.057 757 2 1 -28.6005 6.93466 -144.85 + 89 88.9826 808 3 1 -18.3086 7.64251 -114.451 + 89 70.7915 809 3 1 -18.25 7.65724 -114.688 + 89 99.6322 938 3 0 -18.1214 7.69584 -115.85 + 89 40.1834 819 2 1 -16.1694 4.80946 -144.45 + 89 146.581 818 2 1 -16.25 4.80423 -144.592 + 89 2.27365 817 2 1 -16.45 4.83039 -144.844 + 89 150.411 925 2 0 -17.3164 5.12946 -145.85 + 89 55.6765 926 2 0 -17.5061 5.25003 -146.103 + 89 43.0734 820 2 1 -16.0067 4.6881 -144.45 +Number of digits in this event: 27 Using G4ParticleGun... -Particle energy: 1.46816 LIN +Particle energy: 1.9924 LIN Particle: e- Event: 90 -Number of tracker hits in this event: 47 - 90 114.798 393 10 1 -101.533 -37.1806 95.55 - 90 150.275 714 10 0 -101.528 -37.1831 94.15 - 90 124.181 393 9 1 -101.384 -37.2349 65.55 - 90 111.641 714 9 0 -101.381 -37.2346 64.15 - 90 224.467 394 8 1 -101.349 -37.2316 35.55 - 90 394.216 714 8 0 -101.348 -37.2291 34.15 - 90 178.94 394 7 1 -101.327 -37.1897 5.55 - 90 102.524 714 7 0 -101.331 -37.1794 4.15 - 90 116.663 393 6 1 -101.407 -36.9407 -24.45 - 90 183.938 715 6 0 -101.406 -36.9292 -25.85 - 90 114.204 393 5 1 -101.416 -36.7228 -54.45 - 90 115.688 716 5 0 -101.416 -36.7157 -55.85 - 90 180.483 393 4 1 -101.429 -36.5737 -84.45 - 90 192.933 717 4 0 -101.431 -36.5735 -85.85 - 90 97.9122 393 3 1 -101.451 -36.5609 -114.45 - 90 124.215 717 3 0 -101.452 -36.5637 -115.85 - 90 119.256 393 2 1 -101.494 -36.6251 -144.45 - 90 158.842 717 2 0 -101.499 -36.6268 -145.85 - 90 105.647 392 1 1 -101.593 -36.6682 -174.45 - 90 122.85 716 1 0 -101.6 -36.6746 -175.85 - 90 163.362 391 0 1 -101.76 -36.8142 -204.45 - 90 144.024 716 0 0 -101.77 -36.818 -205.85 - 90 182.312 1032 3 0 -17.9531 26.6321 -116.25 - 90 193.027 395 1 1 -101.085 -37.3557 -174.45 - 90 69.854 396 1 1 -100.95 -37.3239 -174.798 - 90 100.585 714 1 0 -100.511 -37.2106 -175.85 - 90 3.61418 477 0 1 -84.4623 -37.0998 -204.45 - 90 71.035 478 0 1 -84.4499 -37.1051 -204.46 - 90 49.4879 479 0 1 -84.2497 -37.1749 -204.574 - 90 57.8388 480 0 1 -84.0499 -37.2485 -204.663 - 90 73.5333 481 0 1 -83.8494 -37.3079 -204.776 - 90 423.99 713 0 0 -82.1298 -37.3849 -205.85 - 90 51.3618 757 0 0 -65.3805 -28.5006 -206.25 - 90 89.8003 758 0 0 -65.4261 -28.45 -206.179 - 90 74.854 572 0 1 -65.6054 -28.6179 -204.849 - 90 88.9852 571 0 1 -65.6501 -28.6587 -204.697 - 90 140.886 711 1 0 -100.512 -37.7679 -175.85 - 90 54.6835 710 1 0 -100.426 -37.8502 -176.118 - 90 71.3577 643 1 0 -38.065 -51.2873 -176.25 - 90 135.558 644 1 0 -37.8608 -51.2499 -176.119 - 90 6.35413 720 1 1 -35.8757 -50.7582 -174.85 - 90 78.9014 721 1 1 -35.8499 -50.7533 -174.83 - 90 74.485 722 1 1 -35.65 -50.7515 -174.635 - 90 105.241 713 8 0 -101.53 -37.3422 34.15 - 90 90.5878 715 8 0 -102.11 -37.05 33.8576 - 90 128.751 716 8 0 -102.054 -36.85 33.9229 - 90 219.988 717 8 0 -102.072 -36.65 33.8969 -Number of digits in this event: 23 +Number of tracker hits in this event: 135 + 90 179.345 1340 10 1 88.1305 1.10518 95.55 + 90 196.974 905 10 0 88.1093 1.07606 94.15 + 90 106.267 1337 9 1 87.5333 0.447376 65.55 + 90 110.359 901 9 0 87.4925 0.431198 64.15 + 90 112.825 1322 7 1 84.5713 -0.34892 5.55 + 90 305.935 898 7 0 84.4966 -0.326697 4.15 + 90 119.488 1313 6 1 82.8283 0.30457 -24.45 + 90 3.08832 901 6 0 82.7246 0.25053 -25.85 + 90 94.6388 900 6 0 82.7236 0.25 -25.8638 + 90 293.093 1302 5 1 80.5428 -0.71863 -54.45 + 90 141.432 896 5 0 80.4558 -0.777886 -55.85 + 90 118.884 1293 4 1 78.8144 -1.96773 -84.45 + 90 220.072 889 4 0 78.7074 -2.07107 -85.85 + 90 147.975 1282 3 1 76.5436 -4.33508 -114.45 + 90 125.073 878 3 0 76.4173 -4.42249 -115.85 + 90 88.7107 1269 2 1 73.8858 -6.08617 -144.45 + 90 15.492 1268 2 1 73.85 -6.10869 -144.795 + 90 148.137 869 2 0 73.7414 -6.17591 -145.85 + 90 154.225 1253 1 1 70.7545 -8.01134 -174.45 + 90 116.744 859 1 0 70.5583 -8.1147 -175.85 + 90 148.637 1233 0 1 66.6972 -10.101 -204.45 + 90 19.697 1232 0 1 66.65 -10.133 -204.819 + 90 107.094 849 0 0 66.5168 -10.2231 -205.85 + 90 27.7911 848 0 0 66.4771 -10.25 -206.158 + 90 316.272 1303 5 1 80.7316 -0.519038 -54.45 + 90 83.3815 895 5 0 80.432 -0.950404 -55.85 + 90 14.7294 894 5 0 80.3576 -1.05 -56.2059 + 90 7.28125 1273 4 1 74.6666 -9.98219 -84.45 + 90 128.048 1272 4 1 74.65 -9.9886 -84.4781 + 90 5.65868 1271 4 1 74.45 -10.0553 -84.8294 + 90 129.276 849 4 0 73.85 -10.198 -85.85 + 90 1.2395 1186 3 1 57.2507 -10.8213 -114.45 + 90 79.6103 1185 3 1 57.2495 -10.8217 -114.451 + 90 152.296 1184 3 1 57.05 -10.8912 -114.669 + 90 132.331 843 3 0 55.9557 -11.3374 -115.85 + 90 43.9533 842 3 0 55.6756 -11.45 -116.138 + 90 17.8664 617 3 0 10.0649 -56.6047 -116.25 + 90 88.2399 616 3 0 10.037 -56.65 -116.211 + 90 83.6765 615 3 0 9.91779 -56.85 -116.035 + 90 1.00582 614 3 0 9.80266 -57.0501 -115.855 + 90 177.746 945 3 1 9.19814 -58.0758 -114.85 + 90 49.6248 944 3 1 9.05 -58.3368 -114.587 + 90 165.014 942 3 1 8.6043 -58.3442 -114.45 + 90 33.2339 619 3 0 8.20323 -56.1559 -115.85 + 90 66.4943 620 3 0 8.18198 -56.0494 -115.91 + 90 67.9398 621 3 0 8.13819 -55.85 -116.02 + 90 70.0716 622 3 0 8.1017 -55.6499 -116.124 + 90 40.2201 623 3 0 8.06972 -55.4499 -116.2 + 90 103.18 1237 3 0 -22.175 67.4532 -116.25 + 90 103.202 1238 3 0 -22.3687 67.65 -116.061 + 90 3.18229 1239 3 0 -22.6003 67.8501 -115.859 + 90 66.8641 781 3 1 -23.7255 68.7192 -114.85 + 90 82.9487 780 3 1 -23.85 68.8036 -114.76 + 90 70.3434 779 3 1 -24.05 68.8848 -114.638 + 90 40.7799 778 3 1 -24.25 68.9416 -114.519 + 90 36.908 1274 4 0 -36.9909 75.0141 -86.2498 + 90 80.2528 1275 4 0 -37.0565 75.0502 -86.1009 + 90 140.007 710 4 1 -37.8965 75.3397 -84.85 + 90 36.0667 1418 5 0 -26.8029 103.84 -56.25 + 90 83.7963 1419 5 0 -26.7678 103.95 -56.1441 + 90 106.813 1420 5 0 -26.7025 104.15 -56.0223 + 90 48.4806 1421 5 0 -26.623 104.35 -55.9474 + 90 95.0474 1422 5 0 -26.5483 104.55 -55.9146 + 90 55.7203 1423 5 0 -26.4693 104.75 -55.9095 + 90 40.5295 1424 5 0 -26.3752 104.95 -55.8709 + 90 66.7799 786 5 1 -22.799 111.004 -54.85 + 90 71.1521 787 5 1 -22.65 111.22 -54.7925 + 90 116.644 788 5 1 -22.45 111.371 -54.7344 + 90 162.41 789 5 1 -22.25 111.682 -54.6632 + 90 139.303 1107 7 1 41.45 142.074 5.1666 + 90 104.015 898 5 0 80.601 -0.386096 -55.85 + 90 127.28 1286 4 1 77.3218 1.27821 -84.4502 + 90 112.449 904 4 0 77.2536 1.03377 -85.85 + 90 109.655 1273 3 1 74.6874 -4.13029 -114.45 + 90 107.417 879 3 0 74.7063 -4.11579 -115.85 + 90 132.508 1271 2 1 74.3794 -3.7173 -144.45 + 90 101.367 881 2 0 74.4209 -3.71803 -145.85 + 90 111.759 1283 1 1 76.7923 -4.52417 -174.45 + 90 0.701226 874 1 0 76.7021 -5.24902 -175.85 + 90 235.025 873 1 0 76.702 -5.25 -175.852 + 90 212.843 1479 0 1 116.003 -74.01 -204.45 + 90 137.493 1341 0 1 88.3167 1.59133 -204.61 + 90 297.963 907 0 0 88.3768 1.62058 -205.85 + 90 29.0943 1037 3 0 34.7772 27.5173 -116.25 + 90 110.214 1038 3 0 34.6492 27.65 -115.968 + 90 369.029 1340 9 1 88.1486 1.08096 65.55 + 90 271.326 904 9 0 88.3418 0.931273 64.15 + 90 140.596 1357 8 1 91.616 -1.41185 35.5499 + 90 5.26088 1358 8 1 91.75 -1.37947 35.1702 + 90 107.894 893 8 0 92.1474 -1.30898 34.1493 + 90 23.1179 1422 7 1 104.703 1.44497 5.55 + 90 101.691 1423 7 1 104.75 1.49372 5.48396 + 90 35.0763 1424 7 1 104.95 1.69368 5.21967 + 90 57.6367 912 7 0 105.784 2.55347 4.15 + 90 97.3577 913 7 0 105.877 2.65 4.02711 + 90 10.2516 914 7 0 106.058 2.85 3.78385 + 90 110.776 1530 6 1 126.202 25.1955 -24.45 + 90 83.1902 1531 6 1 126.35 25.5669 -24.6692 + 90 45.2938 1038 6 0 127.282 27.7299 -25.85 + 90 57.5146 1039 6 0 127.33 27.8504 -25.9155 + 90 140.529 1040 6 0 127.406 28.05 -26.014 + 90 61.7386 1041 6 0 127.473 28.25 -26.1034 + 90 67.8658 1042 6 0 127.526 28.45 -26.1862 + 90 1.66986 1770 6 0 107.07 174.342 -26.2498 + 90 69.2574 1771 6 0 107.064 174.35 -26.2465 + 90 97.4718 1772 6 0 106.908 174.55 -26.1269 + 90 88.9981 1773 6 0 106.687 174.75 -25.959 + 90 0.612814 1774 6 0 106.458 174.95 -25.8516 + 90 17.0027 1422 6 1 104.575 176.901 -24.85 + 90 118.848 1421 6 1 104.55 176.929 -24.8359 + 90 131.949 1420 6 1 104.35 177.265 -24.7245 + 90 145.917 1419 6 1 104.15 177.677 -24.6041 + 90 208.986 905 9 0 88.1545 1.07357 64.15 + 90 133.254 1341 8 1 88.3027 0.736992 35.55 + 90 111.119 903 8 0 88.2891 0.782421 34.15 + 90 115.664 1340 7 1 88.1108 1.69359 5.55 + 90 367.863 908 7 0 88.0822 1.76034 4.15 + 90 159.016 1336 6 1 87.3878 2.95245 -24.45 + 90 130.841 914 6 0 87.3523 3.0218 -25.85 + 90 118.819 1331 5 1 86.4019 4.79062 -54.4505 + 90 160.598 924 5 0 86.2458 5.01787 -55.8502 + 90 127.392 925 5 0 86.2218 5.05 -56.0534 + 90 135.752 1311 4 1 82.3957 9.7806 -84.4501 + 90 127.483 949 4 0 82.2216 9.89608 -85.85 + 90 123.075 1292 3 1 78.5445 11.9249 -114.45 + 90 10.759 959 3 0 78.4181 11.8519 -115.85 + 90 148.645 958 3 0 78.4149 11.85 -115.886 + 90 142.68 1279 2 1 75.8999 10.6631 -144.45 + 90 231.738 952 2 0 75.7811 10.5561 -145.85 + 90 119.623 1267 1 1 73.6125 8.24415 -174.45 + 90 118.423 940 1 0 73.4277 8.11047 -175.85 + 90 104.395 1247 0 1 69.6352 5.50026 -204.451 + 90 265.946 926 0 0 69.5704 5.42764 -205.85 + 90 71.7496 1163 0 1 52.7979 16.5699 -204.85 + 90 145.962 909 7 0 88.0521 1.85 3.90273 +Number of digits in this event: 51 Using G4ParticleGun... -Particle energy: 1.55651 LIN +Particle energy: 7.57442 LIN Particle: e- Event: 91 -Number of tracker hits in this event: 35 - 91 110.036 1229 11 1 65.9649 38.9683 125.55 - 91 106.336 1094 11 0 65.9616 38.967 124.15 - 91 178.104 1229 10 1 65.8901 38.95 95.55 - 91 150.144 1094 10 0 65.8873 38.951 94.15 - 91 118.955 1228 9 1 65.8133 38.9742 65.55 - 91 107.755 1094 9 0 65.8112 38.9797 64.15 - 91 124.8 1228 8 1 65.6934 39.1535 35.55 - 91 118.048 1095 8 0 65.7171 39.1477 34.15 - 91 132.071 1230 7 1 66.0821 39.0354 5.55 - 91 119.497 1095 7 0 66.1185 39.0558 4.15 - 91 114.34 1234 6 1 67.0392 39.4148 -24.45 - 91 100.045 1096 6 0 67.0757 39.4454 -25.85 - 91 71.9225 1097 6 0 67.0813 39.45 -26.0603 - 91 322.755 1239 5 1 67.8591 40.0755 -54.45 - 91 105.315 1100 5 0 67.9 40.1303 -55.85 - 91 155.239 1243 4 1 68.8108 41.2365 -84.45 - 91 135.223 1106 4 0 68.8391 41.2877 -85.85 - 91 150.801 1246 3 1 69.3782 42.3345 -114.45 - 91 138.95 1111 3 0 69.4541 42.427 -115.85 - 91 13.0658 1112 3 0 69.4718 42.45 -116.207 - 91 114.968 1254 2 1 70.9686 44.5468 -144.45 - 91 201.176 1123 2 0 71.045 44.6595 -145.85 - 91 116.57 1263 1 1 72.6557 46.8585 -174.45 - 91 178.46 1134 1 0 72.6605 46.9338 -175.85 - 91 28.9989 1262 0 1 72.4534 48.3568 -204.45 - 91 67.7388 1261 0 1 72.45 48.3687 -204.555 - 91 108.342 1142 0 0 72.4259 48.514 -205.85 - 91 101.577 1238 5 1 67.8499 39.8626 -54.802 - 91 62.7885 1103 5 0 68.6571 40.7718 -55.85 - 91 75.7685 1243 5 1 68.7601 40.8335 -54.85 - 91 21.0513 1088 3 0 70.8599 37.6737 -115.85 - 91 8.38853 1318 3 1 83.7307 98.4581 -114.85 - 91 4.45645 261 5 1 -127.75 57.8389 -54.7998 - 91 55.0265 259 5 1 -128.15 57.252 -54.5874 - 91 55.8239 429 6 1 -94.2958 -133.918 -24.45 -Number of digits in this event: 12 +Number of tracker hits in this event: 42 + 91 178.48 1028 11 1 25.8055 -1.02023 125.55 + 91 110.079 895 11 0 25.8064 -1.02082 124.15 + 91 108.815 1028 10 1 25.8269 -1.03429 95.55 + 91 114.126 895 10 0 25.8307 -1.03613 94.15 + 91 172.051 1029 9 1 25.9087 -1.07099 65.55 + 91 139.952 894 9 0 25.9135 -1.07232 64.15 + 91 134.111 1029 8 1 26.0149 -1.09307 35.55 + 91 117.83 894 8 0 26.0202 -1.09437 34.15 + 91 166.983 1030 7 1 26.1287 -1.12104 5.55 + 91 152.292 894 7 0 26.1341 -1.12259 4.15 + 91 146.803 1030 6 1 26.2444 -1.1555 -24.45 + 91 206.064 894 6 0 26.25 -1.15752 -25.85 + 91 132.93 1031 5 1 26.3605 -1.19951 -54.45 + 91 132.668 894 5 0 26.3659 -1.20198 -55.85 + 91 136.79 1032 4 1 26.4719 -1.25196 -84.45 + 91 115.242 893 4 0 26.4761 -1.25446 -85.85 + 91 141.275 1032 3 1 26.5634 -1.30605 -114.45 + 91 104.991 893 3 0 26.5668 -1.30869 -115.85 + 91 132.955 1032 2 1 26.6421 -1.36252 -144.45 + 91 117.017 893 2 0 26.6457 -1.36482 -145.85 + 91 381.526 1033 1 1 26.7177 -1.41257 -174.45 + 91 281.821 893 1 0 26.7205 -1.41164 -175.85 + 91 132.553 1033 0 1 26.7675 -1.39399 -204.45 + 91 125.239 893 0 0 26.7705 -1.39321 -205.85 + 91 0.524569 877 3 0 23.8049 -4.48544 -115.85 + 91 14.6397 999 3 1 20.0299 -8.14797 -114.85 + 91 12.3332 853 3 0 17.3085 -9.44377 -115.85 + 91 159.077 852 3 0 17.2895 -9.45 -115.862 + 91 37.7719 1034 1 1 26.85 -1.54983 -174.719 + 91 5.4241 889 1 0 27.1852 -2.2376 -175.85 + 91 156.519 888 1 0 27.1913 -2.25 -175.87 + 91 15.7619 887 1 0 27.2871 -2.45 -176.196 + 91 91.6957 1094 0 1 38.8681 -20.4306 -204.45 + 91 84.5901 1095 0 1 39.05 -20.6272 -204.579 + 91 160.888 1096 0 1 39.2503 -20.8672 -204.727 + 91 47.9786 784 0 0 40.575 -23.0926 -205.85 + 91 70.9257 783 0 0 40.6692 -23.2504 -205.927 + 91 78.6995 782 0 0 40.8227 -23.4508 -206.006 + 91 80.4797 781 0 0 40.9717 -23.6501 -206.117 + 91 3.12369 780 0 0 41.1208 -23.85 -206.242 + 91 175.399 1034 0 1 27.0129 1.31831 -204.45 + 91 139.464 907 0 0 26.8734 1.48033 -205.85 +Number of digits in this event: 25 Using G4ParticleGun... -Particle energy: 8.4294 LIN +Particle energy: 3.1605 LIN Particle: e- Event: 92 -Number of tracker hits in this event: 36 - 92 133.677 1433 9 1 106.803 -56.5625 65.55 - 92 251.21 617 9 0 106.803 -56.5623 64.15 - 92 161.523 1433 8 1 106.798 -56.5511 35.55 - 92 110.406 617 8 0 106.798 -56.5506 34.15 - 92 126.528 1433 7 1 106.789 -56.5438 5.55 - 92 103.529 617 7 0 106.788 -56.543 4.15 - 92 106.861 1433 6 1 106.772 -56.5314 -24.45 - 92 136.381 617 6 0 106.771 -56.5303 -25.85 - 92 122.975 1433 5 1 106.754 -56.5086 -54.45 - 92 136.414 617 5 0 106.753 -56.5087 -55.85 - 92 203.459 1432 4 1 106.74 -56.5097 -84.45 - 92 116.501 617 4 0 106.74 -56.5105 -85.85 - 92 143.533 1433 3 1 106.752 -56.532 -114.45 - 92 84.3404 617 3 0 106.753 -56.5338 -115.85 - 92 150.64 1433 2 1 106.76 -56.5749 -144.45 - 92 122.633 617 2 0 106.76 -56.5777 -145.85 - 92 434.871 1433 1 1 106.76 -56.6264 -174.45 - 92 148.017 617 1 0 106.758 -56.6294 -175.85 - 92 110.722 1432 0 1 106.727 -56.6923 -204.45 - 92 182.258 616 0 0 106.725 -56.6953 -205.85 - 92 256.558 143 4 1 -151.518 -42.1334 -84.45 - 92 24.4468 142 4 1 -151.55 -42.3954 -84.5263 - 92 27.1436 617 0 0 106.724 -56.6499 -206.138 - 92 48.012 618 1 0 106.672 -56.2875 -175.85 - 92 185.714 619 1 0 106.652 -56.25 -176.048 - 92 180.836 1417 0 1 103.649 -48.0598 -204.45 - 92 17.5081 666 0 0 103.231 -46.703 -205.85 - 92 119.972 667 0 0 103.213 -46.65 -205.904 - 92 188.901 668 0 0 103.13 -46.45 -206.136 - 92 144.517 753 0 0 126.353 -29.3226 -206.25 - 92 53.3702 754 0 0 126.535 -29.25 -206.002 - 92 60.9197 1535 0 1 127.206 -28.7764 -204.85 - 92 100.564 1536 0 1 127.35 -28.6675 -204.67 - 92 42.0843 796 0 0 136.952 -20.85 -205.994 - 92 219.943 795 0 0 137.071 -20.8501 -205.991 - 92 303.949 669 0 0 103.034 -46.25 -205.895 -Number of digits in this event: 23 +Number of tracker hits in this event: 25 + 92 245.704 753 9 1 -29.3082 -125.268 65.55 + 92 169.818 274 9 0 -29.3076 -125.27 64.15 + 92 105.652 753 8 1 -29.2984 -125.314 35.55 + 92 120.602 274 8 0 -29.2952 -125.317 34.15 + 92 110.869 754 7 1 -29.2279 -125.403 5.55 + 92 155.303 273 7 0 -29.2247 -125.405 4.15 + 92 150.721 754 6 1 -29.1502 -125.418 -24.45 + 92 107.487 273 6 0 -29.1473 -125.419 -25.85 + 92 110.774 754 5 1 -29.0852 -125.453 -54.45 + 92 122.772 273 5 0 -29.083 -125.456 -55.85 + 92 195.441 755 4 1 -29.028 -125.536 -84.45 + 92 110.221 273 4 0 -29.0241 -125.538 -85.85 + 92 122.411 755 3 1 -28.9542 -125.593 -114.45 + 92 99.1316 272 3 0 -28.9437 -125.595 -115.85 + 92 119.41 756 2 1 -28.7165 -125.636 -144.45 + 92 111.591 272 2 0 -28.7079 -125.644 -145.85 + 92 137.313 757 1 1 -28.5315 -125.81 -174.45 + 92 112.414 271 1 0 -28.519 -125.814 -175.85 + 92 140.809 759 0 1 -28.2341 -125.892 -204.45 + 92 128.661 271 0 0 -28.2209 -125.903 -205.85 + 92 17.4824 191 3 0 0.636791 -141.903 -116.25 + 92 21.4967 190 3 0 0.604824 -141.95 -116.231 + 92 120.913 753 6 1 -29.25 -125.545 -24.6217 + 92 143.244 752 6 1 -29.45 -125.83 -24.6827 + 92 176.101 268 6 0 -29.2187 -126.359 -25.85 +Number of digits in this event: 17 Using G4ParticleGun... -Particle energy: 6.70744 LIN +Particle energy: 9.28387 LIN Particle: e- Event: 93 -Number of tracker hits in this event: 35 - 93 118.079 975 11 1 15.2 36.688 125.55 - 93 214.952 1083 11 0 15.201 36.6885 124.15 - 93 97.0191 975 10 1 15.2188 36.6966 95.55 - 93 111.837 1083 10 0 15.2205 36.6972 94.15 - 93 112.419 976 9 1 15.2543 36.7071 65.55 - 93 158.898 1083 9 0 15.2555 36.7083 64.15 - 93 142.375 976 8 1 15.2783 36.7301 35.55 - 93 111.844 1083 8 0 15.2816 36.7308 34.15 - 93 128.277 976 7 1 15.3555 36.7446 5.55 - 93 118.959 1083 7 0 15.3593 36.7445 4.15 - 93 117.619 976 6 1 15.4363 36.7391 -24.45 - 93 160.011 1083 6 0 15.4411 36.7397 -25.85 - 93 384.142 977 5 1 15.536 36.7507 -54.45 - 93 103.849 1083 5 0 15.5399 36.7519 -55.85 - 93 171.807 977 4 1 15.625 36.7784 -84.45 - 93 132.519 1083 4 0 15.6292 36.7817 -85.85 - 93 133.659 978 3 1 15.7169 36.8508 -114.45 - 93 153.406 1084 3 0 15.7208 36.8547 -115.85 - 93 92.6202 978 2 1 15.8054 36.9362 -144.45 - 93 125.493 1084 2 0 15.8079 36.9408 -145.85 - 93 403.724 979 1 1 15.8563 37.0325 -174.45 - 93 237.045 1084 1 0 15.8588 37.0379 -175.85 - 93 128.609 979 0 1 15.9132 37.1509 -204.45 - 93 203.289 1085 0 0 15.9166 37.1564 -205.85 - 93 177.004 1085 1 0 16.1324 37.1805 -175.85 - 93 116.312 1004 0 1 20.8529 40.0952 -204.45 - 93 123.176 1101 0 0 21.1548 40.3405 -205.85 - 93 224.911 982 0 1 16.524 36.021 -204.45 - 93 113.459 1079 0 0 16.4825 35.997 -205.85 - 93 85.0757 1142 12 1 48.45 -9.30958 155.31 - 93 6.9293 1397 8 1 99.5713 -81.9502 35.55 - 93 92.2163 935 11 0 73.1761 7.17106 123.75 - 93 146.471 934 11 0 73.3255 7.0495 123.776 - 93 42.7612 1138 11 0 86.5941 47.7926 123.75 - 93 108.703 1139 11 0 86.5927 47.85 123.815 -Number of digits in this event: 22 +Number of tracker hits in this event: 49 + 93 111.291 1359 10 1 92.0351 27.5918 95.55 + 93 259.791 1037 10 0 92.0353 27.5924 94.15 + 93 105.679 1359 9 1 92.0396 27.6072 65.55 + 93 124.519 1037 9 0 92.0404 27.6071 64.15 + 93 314.704 1359 8 1 92.0546 27.608 35.55 + 93 144.768 1037 8 0 92.0548 27.6091 34.15 + 93 128.48 1359 7 1 92.0573 27.6333 5.55 + 93 123.818 1037 7 0 92.0575 27.6346 4.15 + 93 119.753 1359 6 1 92.0598 27.6616 -24.45 + 93 166.286 1038 6 0 92.0598 27.6633 -25.85 + 93 98.9647 1359 5 1 92.0697 27.6939 -54.45 + 93 119.436 1038 5 0 92.0709 27.6903 -55.85 + 93 114.025 1359 4 1 92.0812 27.6 -84.45 + 93 96.764 1037 4 0 92.0882 27.595 -85.85 + 93 108.515 1360 3 1 92.1896 27.5203 -114.45 + 93 333.739 1037 3 0 92.1902 27.5254 -115.85 + 93 237.575 1360 2 1 92.1656 27.602 -144.45 + 93 124.539 1037 2 0 92.1643 27.6077 -145.85 + 93 101.174 1360 1 1 92.1513 27.7505 -174.45 + 93 550.358 1038 1 0 92.1524 27.7657 -175.85 + 93 120.475 1360 0 1 92.1808 28.0667 -204.45 + 93 297.914 1040 0 0 92.1898 28.0813 -205.85 + 93 240.848 1359 2 1 91.9947 27.7315 -144.45 + 93 483.294 1038 2 0 91.994 27.7317 -145.85 + 93 209.644 1359 1 1 91.9787 27.7406 -174.45 + 93 117.724 1358 0 1 91.9317 27.7774 -204.45 + 93 240.658 1038 0 0 91.9279 27.7799 -205.85 + 93 107.948 1015 1 0 105.839 23.0752 -176.25 + 93 305.319 1362 0 1 92.5883 27.2833 -204.45 + 93 121.621 1035 0 0 92.6232 27.2414 -205.85 + 93 59.483 1739 14 0 128.457 168.107 214.15 + 93 224.084 1359 3 1 92.0735 27.7563 -114.45 + 93 278.767 1038 3 0 92.0877 27.7631 -115.85 + 93 112.738 1361 2 1 92.3891 27.9214 -144.45 + 93 134.395 1039 2 0 92.3973 27.9206 -145.85 + 93 119.261 1362 1 1 92.5821 27.8851 -174.45 + 93 149.464 1039 1 0 92.59 27.8855 -175.85 + 93 258.252 1039 0 0 92.7453 27.9268 -205.85 + 93 0.860943 1261 2 1 72.45 30.0936 -144.819 + 93 114.981 1361 1 1 92.3968 27.7869 -174.45 + 93 149.701 1359 0 1 92.0913 27.7174 -204.45 + 93 200.39 1365 0 1 93.2416 28.1744 -204.45 + 93 6.75956 485 2 0 -41.798 -82.85 -146.241 + 93 40.3124 681 2 1 -43.65 -84.9493 -144.788 + 93 264.105 680 2 1 -43.85 -85.1343 -144.724 + 93 95.9293 1366 0 1 93.35 27.8111 -204.629 + 93 46.8251 1032 0 0 93.3906 26.5469 -205.85 + 93 124.951 1031 0 0 93.4037 26.45 -205.964 + 93 140.171 1030 0 0 93.4505 26.25 -206.186 +Number of digits in this event: 32 Using G4ParticleGun... -Particle energy: 3.94393 LIN +Particle energy: 5.10376 LIN Particle: e- Event: 94 -Number of tracker hits in this event: 144 - 94 105.74 499 11 1 -80.2209 15.0359 125.55 - 94 133.146 974 11 0 -80.2195 15.0361 124.15 - 94 232.191 499 10 1 -80.1876 15.0428 95.55 - 94 116.501 974 10 0 -80.1841 15.0418 94.15 - 94 149.44 499 9 1 -80.111 15.0252 65.55 - 94 160.237 974 9 0 -80.1054 15.0237 64.15 - 94 127.285 500 8 1 -79.989 14.9995 35.55 - 94 114.255 974 8 0 -79.9835 14.9982 34.15 - 94 291.143 500 7 1 -79.8718 14.9632 5.55 - 94 508.325 974 7 0 -79.8689 14.953 4.15 - 94 306.841 501 6 1 -79.801 14.742 -24.45 - 94 316.794 973 6 0 -79.7981 14.7301 -25.85 - 94 111.117 501 5 1 -79.7497 14.4808 -54.45 - 94 256.932 972 5 0 -79.7453 14.468 -55.85 - 94 204.666 501 4 1 -79.6534 14.216 -84.45 - 94 175.307 970 4 0 -79.6496 14.2 -85.85 - 94 129.716 502 3 1 -79.5825 13.8704 -114.45 - 94 404.619 969 3 0 -79.5822 13.855 -115.85 - 94 105.105 502 2 1 -79.5736 13.532 -144.45 - 94 126.718 967 2 0 -79.5747 13.515 -145.85 - 94 127.574 502 1 1 -79.5936 13.1657 -174.45 - 94 260.15 965 1 0 -79.594 13.1483 -175.85 - 94 248.92 502 0 1 -79.6079 12.793 -204.45 - 94 137.951 963 0 0 -79.609 12.774 -205.85 - 94 58.116 1110 1 0 -65.0794 42.05 -176.24 - 94 50.8393 503 3 1 -79.4153 14.8435 -114.45 - 94 307.951 976 3 0 -77.6303 15.2978 -115.85 - 94 122.903 974 6 0 -79.6919 14.9933 -25.85 - 94 177.009 506 5 1 -78.8063 16.0908 -54.4506 - 94 23.2539 505 5 1 -78.85 16.0631 -54.8183 - 94 303.944 979 5 0 -78.9735 15.9886 -55.8503 - 94 98.7907 482 4 1 -83.5787 13.7813 -84.4506 - 94 52.3043 481 4 1 -83.65 13.7774 -84.6878 - 94 124.054 968 4 0 -84.011 13.7564 -85.85 - 94 1.6839 433 3 1 -93.5489 13.804 -114.45 - 94 116.872 432 3 1 -93.55 13.8043 -114.455 - 94 123.564 392 2 1 -101.715 16.1532 -144.45 - 94 0.992169 391 2 1 -101.75 16.2076 -144.848 - 94 143.432 981 2 0 -101.859 16.3439 -145.85 - 94 132.607 376 1 1 -104.753 20.3095 -174.45 - 94 136.332 1001 1 0 -104.781 20.3457 -175.85 - 94 117.866 375 0 1 -105.065 19.1109 -204.45 - 94 52.8832 995 0 0 -104.963 19.2321 -205.85 - 94 54.698 996 0 0 -104.948 19.25 -206.049 - 94 111.066 503 6 1 -79.442 15.1939 -24.45 - 94 122.461 975 6 0 -79.4337 15.2062 -25.85 - 94 191.625 503 5 1 -79.2994 15.4665 -54.45 - 94 297.723 977 5 0 -79.2864 15.4583 -55.85 - 94 237.804 505 4 1 -79.0141 15.1244 -84.45 - 94 172.347 975 4 0 -79.0029 15.1149 -85.85 - 94 452.032 506 3 1 -78.8363 14.9299 -114.45 - 94 140.513 974 3 0 -78.8432 14.9249 -115.85 - 94 280.864 506 2 1 -78.8114 14.8636 -144.45 - 94 130.641 974 2 0 -78.8254 14.8804 -145.85 - 94 120.597 504 1 1 -79.2135 15.3056 -174.45 - 94 276.59 976 1 0 -79.2275 15.3206 -175.85 - 94 127.534 978 0 0 -79.5576 15.6695 -205.85 - 94 54.6401 505 3 1 -78.9425 14.9932 -114.45 - 94 95.065 507 3 1 -78.65 15.3222 -114.636 - 94 256.014 499 7 1 -80.0939 15.0245 5.54978 - 94 93.5991 515 6 1 -76.9387 14.2984 -24.45 - 94 29.436 516 6 1 -76.8499 14.3712 -24.7754 - 94 5.41839 972 6 0 -76.5763 14.6462 -25.85 - 94 147.8 553 5 1 -69.4479 22.416 -54.45 - 94 112.924 1011 5 0 -69.2083 22.4054 -55.85 - 94 121.323 583 4 1 -63.3823 17.3892 -84.45 - 94 114.527 986 4 0 -63.4793 17.3491 -85.8504 - 94 15.1055 583 3 1 -63.4371 15.7598 -114.45 - 94 120.692 582 3 1 -63.45 15.7453 -114.478 - 94 116.793 975 3 0 -64.1849 15.1853 -115.85 - 94 43.3874 493 2 1 -81.3109 5.66593 -144.45 - 94 76.9114 492 2 1 -81.45 5.70717 -144.545 - 94 65.5573 491 2 1 -81.65 5.78697 -144.667 - 94 62.6536 490 2 1 -81.8504 5.889 -144.776 - 94 22.3316 934 2 0 -84.0707 7.01866 -145.85 - 94 149.207 935 2 0 -84.1336 7.05 -145.883 - 94 133.109 936 2 0 -84.4908 7.25008 -146.089 - 94 10.2666 1319 2 0 -111.243 84.0305 -146.25 - 94 120.31 1320 2 0 -111.236 84.05 -146.24 - 94 67.1227 1321 2 0 -111.159 84.25 -146.148 - 94 64.5311 1322 2 0 -111.107 84.45 -146.099 - 94 50.848 1323 2 0 -111.074 84.65 -146.043 - 94 46.2997 1324 2 0 -111.065 84.8506 -146.018 - 94 49.8852 1325 2 0 -111.056 85.0501 -146.012 - 94 163.752 1326 2 0 -111.054 85.25 -146.013 - 94 76.9216 1327 2 0 -111.1 85.45 -145.966 - 94 53.8315 1328 2 0 -111.2 85.65 -145.905 - 94 168.372 333 2 1 -113.353 88.7639 -144.85 - 94 2.80193 1359 2 0 -113.47 92.135 -145.85 - 94 53.9344 1360 2 0 -113.47 92.15 -145.855 - 94 52.3146 1361 2 0 -113.458 92.3506 -145.928 - 94 77.8728 1362 2 0 -113.435 92.55 -146.012 - 94 52.2824 1363 2 0 -113.387 92.7505 -146.107 - 94 54.1694 1364 2 0 -113.361 92.9505 -146.186 - 94 27.4287 1365 2 0 -113.345 93.1505 -146.229 - 94 100.4 937 2 0 -84.715 7.45 -146.233 - 94 62.2624 1257 1 0 -143.927 71.45 -175.892 - 94 0.342123 194 2 1 -141.346 53.5365 -144.85 - 94 79.3332 1258 1 0 -144.016 71.65 -175.964 - 94 87.7319 1259 1 0 -144.052 71.85 -175.984 - 94 2.5803 1260 1 0 -144.122 72.05 -175.855 - 94 69.1905 182 1 1 -143.7 74.108 -174.85 - 94 133.717 183 1 1 -143.55 74.2574 -174.766 - 94 237.381 184 1 1 -143.35 74.5654 -174.661 - 94 123.9 498 6 1 -80.4319 14.6798 -24.45 - 94 156.785 495 5 1 -80.8648 14.5652 -54.45 - 94 289.566 496 4 1 -80.6731 14.5965 -84.45 - 94 140.635 972 4 0 -80.6068 14.5481 -85.85 - 94 135.905 504 3 1 -79.1859 13.6026 -114.45 - 94 158.732 967 3 0 -79.1722 13.566 -115.85 - 94 130.829 962 2 0 -78.6975 12.5778 -145.85 - 94 117.618 509 1 1 -78.1685 10.4434 -174.45 - 94 328.748 951 1 0 -78.1577 10.4091 -175.85 - 94 132.367 510 0 1 -77.8816 10.2822 -204.45 - 94 116.495 950 0 0 -77.8415 10.1534 -205.85 - 94 118.473 952 1 0 -78.245 10.45 -175.972 - 94 274.577 495 4 1 -80.9696 13.3291 -84.45 - 94 117.08 966 4 0 -80.9437 13.304 -85.85 - 94 144.009 497 3 1 -80.5301 13.0391 -114.45 - 94 94.5618 964 3 0 -80.5417 13.0154 -115.851 - 94 103.409 496 2 1 -80.8295 12.7055 -144.45 - 94 22.709 495 2 1 -80.85 12.72 -144.758 - 94 103.382 963 2 0 -80.9295 12.7585 -145.85 - 94 147.942 482 1 1 -83.4836 13.4998 -174.45 - 94 191.278 967 1 0 -83.6111 13.4945 -175.85 - 94 107.743 469 0 1 -86.2175 13.4233 -204.45 - 94 104.75 966 0 0 -86.0064 13.3206 -205.85 - 94 118.802 965 4 0 -81.0049 13.2407 -85.85 - 94 122.75 492 3 1 -81.5886 11.4338 -114.45 - 94 193.541 957 3 0 -81.4404 11.4589 -115.85 - 94 115.939 504 2 1 -79.1659 11.5959 -144.45 - 94 99.9711 958 2 0 -79.13 11.6731 -145.85 - 94 163.849 507 1 1 -78.5679 13.1627 -174.45 - 94 128.935 486 0 1 -82.726 14.627 -204.45 - 94 62.7259 969 0 0 -82.776 13.9544 -205.851 - 94 60.8842 968 0 0 -82.7842 13.85 -206.067 - 94 22.7782 876 1 1 -4.85 -29.8487 -174.511 - 94 129.011 956 3 0 -81.4103 11.4499 -115.899 - 94 111.442 958 3 0 -81.1116 11.7272 -115.85 - 94 51.5888 497 4 1 -80.65 13.3181 -84.6394 - 94 88.4114 498 4 1 -80.45 13.2859 -84.6572 - 94 77.059 499 4 1 -80.2492 13.2436 -84.6839 - 94 65.179 500 4 1 -80.05 13.2204 -84.6574 - 94 60.3929 502 4 1 -79.6492 13.1855 -84.629 -Number of digits in this event: 72 -Using G4ParticleGun... -Particle energy: 9.81344 LIN +Number of tracker hits in this event: 87 + 94 115.939 424 9 1 -95.1904 93.0487 65.55 + 94 107.808 1364 9 0 -95.1905 93.0475 64.15 + 94 105.866 424 8 1 -95.1935 93.0197 35.55 + 94 119.998 1364 8 0 -95.1945 93.0169 34.15 + 94 330.166 424 7 1 -95.2002 92.9507 5.55 + 94 140.443 1363 7 0 -95.199 92.9479 4.15 + 94 140.097 424 6 1 -95.1675 92.8882 -24.45 + 94 145.298 1363 6 0 -95.1671 92.8853 -25.85 + 94 124.251 424 5 1 -95.1618 92.8283 -54.45 + 94 354.333 1363 5 0 -95.1644 92.8252 -55.85 + 94 380.796 424 4 1 -95.2112 92.7614 -84.45 + 94 262.205 1363 4 0 -95.2118 92.7598 -85.85 + 94 131.006 424 3 1 -95.2176 92.7295 -114.45 + 94 180.336 1362 3 0 -95.219 92.7291 -115.85 + 94 638.906 424 2 1 -95.2559 92.7137 -144.45 + 94 450.329 1362 2 0 -95.2578 92.7126 -145.85 + 94 108.75 424 1 1 -95.2941 92.689 -174.45 + 94 121.791 1362 1 0 -95.2931 92.6837 -175.85 + 94 128.421 424 0 1 -95.2729 92.578 -204.45 + 94 125.55 1362 0 0 -95.2718 92.5736 -205.85 + 94 36.4273 1108 6 0 -63.6517 41.7349 -26.25 + 94 97.8003 1107 6 0 -63.5476 41.65 -26.2119 + 94 86.3298 1106 6 0 -63.4875 41.4499 -26.1579 + 94 64.7865 1105 6 0 -63.4295 41.2498 -26.0896 + 94 57.0108 1104 6 0 -63.3919 41.0488 -26.0676 + 94 123.351 1103 6 0 -63.3568 40.8497 -25.9846 + 94 18.3421 1102 6 0 -63.3676 40.65 -25.862 + 94 179.393 580 6 1 -63.8714 39.9162 -24.85 + 94 94.6315 581 6 1 -63.85 39.5006 -24.7074 + 94 17.1429 1090 6 0 -63.0218 38.0935 -25.85 + 94 503.393 1089 6 0 -63.0042 38.05 -25.8729 + 94 171 1361 0 0 -95.2751 92.55 -206.064 + 94 246.922 425 1 1 -95.1394 92.8363 -174.45 + 94 258.713 1363 1 0 -95.1291 92.838 -175.85 + 94 128.099 425 0 1 -94.9595 93.0141 -204.45 + 94 309.246 1364 0 0 -94.9319 93.0029 -205.85 + 94 149.454 806 2 0 -160.813 -18.7184 -146.25 + 94 30.3158 805 2 0 -161.174 -18.85 -145.944 + 94 114.408 89 2 1 -162.22 -19.1807 -144.85 + 94 164.684 88 2 1 -162.35 -19.0284 -144.57 + 94 273.883 803 2 0 -161.416 -19.3097 -145.85 + 94 143.109 762 2 0 -150.626 -27.5479 -146.25 + 94 161.122 426 1 1 -94.8281 92.8272 -174.45 + 94 116.956 429 0 1 -94.2078 92.0393 -204.45 + 94 118.535 1359 0 0 -94.271 91.9896 -205.85 + 94 128.943 1362 4 0 -95.3364 92.678 -85.85 + 94 20.7603 405 3 1 -99.1339 90.0239 -114.45 + 94 10.1639 404 3 1 -99.1624 90.15 -114.818 + 94 57.4484 1351 3 0 -99.2189 90.4837 -115.85 + 94 122.857 1352 3 0 -99.2288 90.55 -116.035 + 94 124.388 391 2 1 -101.821 102.024 -144.45 + 94 106.471 1411 2 0 -101.624 102.443 -145.85 + 94 91.3721 1412 2 0 -101.587 102.55 -146.19 + 94 128.183 416 1 1 -96.8581 112.854 -174.45 + 94 140.489 1465 1 0 -96.5987 113.217 -175.85 + 94 119.546 451 0 1 -89.7626 119.309 -204.451 + 94 119.374 1496 0 0 -89.5941 119.469 -205.85 + 94 123.523 423 3 1 -95.4816 92.7134 -114.45 + 94 119.239 1363 2 0 -95.1802 92.8438 -145.85 + 94 137.757 1364 1 0 -95.0853 93.0245 -175.85 + 94 135.581 426 0 1 -94.9012 93.0011 -204.45 + 94 53.0831 1287 2 0 16.6388 77.5553 -146.25 + 94 102.463 1288 2 0 16.653 77.65 -146.168 + 94 120.926 1289 2 0 16.8194 77.85 -146.104 + 94 77.0912 1290 2 0 17.1536 78.0502 -146.11 + 94 79.3578 1291 2 0 17.3456 78.25 -146.104 + 94 4.46864 1292 2 0 17.5259 78.45 -146.241 + 94 137.384 1452 2 0 42.7862 110.708 -146.249 + 94 493.991 1113 2 1 42.7583 110.911 -144.85 + 94 149.485 1112 2 1 42.65 111.223 -144.637 + 94 123.912 420 2 1 -96.0545 92.3366 -144.45 + 94 107.782 1360 2 0 -95.9193 92.3372 -145.851 + 94 130.806 437 1 1 -92.6228 92.4724 -174.45 + 94 139.891 1360 1 0 -92.4969 92.3344 -175.85 + 94 138.998 447 0 1 -90.6282 89.6672 -204.45 + 94 108.957 1348 0 0 -90.6396 89.6959 -205.85 + 94 209.937 1353 0 0 -19.3952 90.8618 -206.25 + 94 121.647 419 2 1 -96.15 92.3884 -144.507 + 94 115.857 418 2 1 -96.3503 92.5638 -144.636 + 94 57.2479 417 2 1 -96.55 92.8009 -144.767 + 94 156.176 1369 2 0 -97.4757 93.9507 -145.85 + 94 3.31174 1368 2 0 -97.6215 93.9497 -146.238 + 94 114.035 405 1 1 -99.0641 78.5121 -174.45 + 94 11.0906 404 1 1 -99.15 78.3474 -174.794 + 94 3.84383 1289 1 0 -99.3103 77.8554 -175.85 + 94 234.062 1288 1 0 -99.312 77.85 -175.861 + 94 41.9003 1287 1 0 -99.3124 77.6499 -176.172 +Number of digits in this event: 50 +Using G4ParticleGun... +Particle energy: 3.65425 LIN Particle: e- Event: 95 -Number of tracker hits in this event: 148 - 95 192.9 1174 11 1 54.9445 -30.1726 125.55 - 95 260.684 749 11 0 54.9433 -30.1723 124.15 - 95 116.706 1174 10 1 54.922 -30.1663 95.55 - 95 121.79 749 10 0 54.922 -30.1664 94.15 - 95 138.845 1174 9 1 54.9299 -30.1706 65.55 - 95 108.637 749 9 0 54.9293 -30.1686 64.15 - 95 118.547 1174 8 1 54.9155 -30.1307 35.55 - 95 102.533 749 8 0 54.9147 -30.1265 34.15 - 95 401.431 1174 7 1 54.9023 -30.0433 5.55 - 95 187.599 750 7 0 54.9027 -30.0387 4.15 - 95 127.347 1174 6 1 54.9165 -29.9428 -24.45 - 95 116.158 750 6 0 54.918 -29.9363 -25.85 - 95 164.341 1174 5 1 54.9474 -29.8035 -54.45 - 95 151.849 751 5 0 54.952 -29.7988 -55.85 - 95 370.663 1174 4 1 55.0428 -29.707 -84.45 - 95 485.719 751 4 0 55.0456 -29.7028 -85.85 - 95 305.328 1175 3 1 55.1126 -29.6136 -114.45 - 95 118.044 752 3 0 55.1134 -29.6096 -115.85 - 95 132.055 1175 2 1 55.1228 -29.5231 -144.45 - 95 132.508 752 2 0 55.1245 -29.5159 -145.85 - 95 223.42 1175 1 1 55.1622 -29.3675 -174.45 - 95 125.198 753 1 0 55.1629 -29.3587 -175.85 - 95 97.7016 1175 0 1 55.1834 -29.1695 -204.45 - 95 114.923 754 0 0 55.1884 -29.1597 -205.85 - 95 42.9029 921 4 0 82.714 4.36489 -86.25 - 95 1.38295 1377 9 1 95.6154 27.8534 65.15 - 95 94.6966 1218 3 0 50.8919 63.65 -115.961 - 95 178.636 1219 3 0 50.8156 63.85 -115.94 - 95 60.9624 1173 2 1 54.6918 -28.6316 -144.45 - 95 63.2795 1172 2 1 54.65 -28.6283 -144.643 - 95 106.922 756 2 0 54.5106 -28.7256 -145.85 - 95 166.095 1172 1 1 54.5942 -27.1847 -174.45 - 95 41.2533 764 1 0 54.6005 -27.1577 -175.85 - 95 92.4648 1176 1 1 55.2582 -26.9095 -174.85 - 95 266.756 1177 1 1 55.4501 -26.9283 -174.65 - 95 153.827 1178 1 1 55.65 -26.8899 -174.688 - 95 71.9005 698 3 0 70.4403 -40.3246 -116.25 - 95 37.0381 697 3 0 70.545 -40.4501 -115.991 - 95 84.606 1254 3 1 70.9907 -41.0992 -114.85 - 95 128.092 1255 3 1 71.05 -41.1845 -114.698 - 95 74.1617 1256 3 1 71.25 -41.4373 -114.61 - 95 66.6176 1257 3 1 71.45 -41.6847 -114.555 - 95 80.8788 1258 3 1 71.6504 -41.8665 -114.503 - 95 58.5769 1259 3 1 71.85 -42.0199 -114.486 - 95 67.4445 1175 4 1 55.05 -29.7086 -84.5211 - 95 60.0171 1176 4 1 55.2502 -29.8058 -84.666 - 95 42.8145 1177 4 1 55.45 -29.8218 -84.7375 - 95 64.5639 1178 4 1 55.6501 -29.8095 -84.7969 - 95 24.5876 1179 4 1 55.85 -29.849 -84.8146 - 95 79.7845 748 4 0 57.6857 -30.3832 -85.85 - 95 86.7809 747 4 0 57.8987 -30.45 -85.9502 - 95 61.1281 746 4 0 58.1495 -30.65 -86.0699 - 95 80.4386 745 4 0 58.3152 -30.85 -86.1237 - 95 4.87345 744 4 0 58.4532 -31.05 -86.238 - 95 114.916 462 4 0 100.573 -87.619 -86.25 - 95 24.713 461 4 0 100.555 -87.65 -85.9265 - 95 91.6168 1399 4 1 100.129 -88.4456 -84.85 - 95 10.1664 450 4 0 99.4943 -90.024 -85.8506 - 95 79.3144 449 4 0 99.4423 -90.15 -85.9104 - 95 105.086 448 4 0 99.3632 -90.35 -86.0005 - 95 117.507 447 4 0 99.315 -90.55 -86.0298 - 95 170.267 446 4 0 99.3036 -90.7501 -85.9469 - 95 11.0285 1169 3 1 53.8736 -28.7263 -114.45 - 95 103.456 1168 3 1 53.85 -28.7226 -114.485 - 95 30.297 1167 3 1 53.6498 -28.6938 -114.77 - 95 110.123 756 3 0 52.9035 -28.6653 -115.85 - 95 63.1067 757 3 0 52.7137 -28.65 -116.12 - 95 1.59804 1007 2 1 21.4545 -25.5464 -144.45 - 95 140.705 1006 2 1 21.45 -25.5536 -144.455 - 95 267.186 1005 2 1 21.25 -25.8909 -144.668 - 95 83.5604 763 2 0 20.1931 -27.2733 -145.85 - 95 314.938 762 2 0 20.0487 -27.45 -146.003 - 95 27.1736 761 2 0 19.8689 -27.6501 -146.187 - 95 2.36902 858 1 1 -8.44656 -53.9104 -174.45 - 95 176.805 857 1 1 -8.45001 -53.9164 -174.458 - 95 5.50929 623 1 0 -9.14622 -55.4345 -175.85 - 95 67.0045 622 1 0 -9.15327 -55.4501 -175.864 - 95 93.9355 621 1 0 -9.20727 -55.65 -176.011 - 95 35.2687 620 1 0 -9.25982 -55.85 -176.163 - 95 85.3249 840 0 1 -11.882 -89.4057 -204.45 - 95 115.402 841 0 1 -11.85 -89.5308 -204.589 - 95 4.27873 446 0 0 -11.4767 -90.9484 -205.85 - 95 109.699 445 0 0 -11.4763 -90.95 -205.851 - 95 74.0491 444 0 0 -11.4215 -91.1501 -206.033 - 95 1.08668 443 0 0 -11.3768 -91.35 -206.245 - 95 7.04946 261 0 0 -7.13778 -127.926 -206.25 - 95 58.1605 260 0 0 -7.13618 -127.95 -206.233 - 95 77.5081 259 0 0 -7.12419 -128.15 -206.075 - 95 33.2908 258 0 0 -7.08527 -128.35 -205.929 - 95 34.0764 866 0 1 -6.68633 -129.685 -204.85 - 95 158.326 867 0 1 -6.65 -129.81 -204.756 - 95 21.8535 894 0 1 -1.25 -132.172 -204.742 - 95 123.756 895 0 1 -1.05 -132.247 -204.751 - 95 323.728 896 0 1 -0.85 -132.38 -204.642 - 95 112.447 897 0 1 -0.649972 -132.408 -204.503 - 95 118.041 752 4 0 54.9766 -29.5931 -85.85 - 95 110.328 760 3 0 55.1042 -27.9222 -115.85 - 95 94.1628 1179 2 1 55.9358 -27.5142 -144.45 - 95 129.244 1186 1 1 57.4135 -27.8853 -174.45 - 95 134.243 761 1 0 57.3845 -27.8315 -175.85 - 95 104.35 1184 0 1 57.0196 -26.9416 -204.45 - 95 125.633 765 0 0 57.0593 -26.8943 -205.85 - 95 147.373 962 0 0 63.3315 12.4572 -206.25 - 95 15.1384 1212 0 1 62.4589 9.90744 -204.85 - 95 21.1072 945 0 0 60.8592 9.25 -205.877 - 95 4.58352 948 0 0 62.0462 9.75877 -205.85 - 95 29.8494 1207 0 1 61.5808 7.43838 -204.85 - 95 137.58 1173 3 1 54.6836 -29.572 -114.45 - 95 53.185 753 3 0 55.1593 -29.2889 -115.85 - 95 68.7553 754 3 0 55.2256 -29.25 -116.045 - 95 115.361 1227 2 1 65.5584 -22.8195 -144.45 - 95 41.8841 1228 2 1 65.65 -22.7604 -144.718 - 95 121.011 787 2 0 66.0329 -22.5207 -145.85 - 95 148.694 1272 1 1 74.462 -18.4916 -174.45 - 95 10.2047 809 1 0 74.819 -18.0628 -175.851 - 95 98.6268 810 1 0 74.83 -18.05 -175.893 - 95 3.53692 1311 0 1 82.4467 -11.2213 -204.45 - 95 100.421 1312 0 1 82.4502 -11.2184 -204.471 - 95 119.363 845 0 0 82.713 -11.0101 -205.85 - 95 125.227 1176 3 1 55.4141 -30.9693 -114.45 - 95 142.59 745 3 0 55.1798 -30.9743 -115.85 - 95 6.33268 1147 2 1 49.4566 -31.6962 -144.45 - 95 116.914 1146 2 1 49.4498 -31.706 -144.469 - 95 64.3843 738 2 0 48.9923 -32.362 -145.85 - 95 77.2269 737 2 0 48.9305 -32.4501 -146.029 - 95 79.198 1095 1 1 39.1389 -46.803 -174.45 - 95 45.2139 1094 1 1 39.05 -46.9855 -174.694 - 95 1.39491 661 1 0 38.6121 -47.8473 -175.85 - 95 146.906 660 1 0 38.6107 -47.85 -175.854 - 95 45.4559 659 1 0 38.5054 -48.05 -176.122 - 95 5.72469 1037 0 1 27.4568 -70.1202 -204.45 - 95 252.425 1036 0 1 27.45 -70.1396 -204.467 - 95 6.44461 1035 0 1 27.2499 -70.6362 -204.835 - 95 92.8832 538 0 0 26.5685 -72.2617 -205.85 - 95 108.385 537 0 0 26.4904 -72.45 -205.967 - 95 62.0675 536 0 0 26.416 -72.65 -206.091 - 95 22.693 535 0 0 26.3445 -72.85 -206.214 - 95 71.4889 1081 0 1 36.25 -179.66 -204.55 - 95 205.097 751 7 0 54.9437 -29.85 4.09348 - 95 108.347 1182 6 1 56.4737 -21.4236 -24.4503 - 95 184.842 795 6 0 56.289 -21.0183 -25.85 - 95 201.95 1232 6 1 66.616 -20.9942 -24.45 - 95 119.752 798 6 0 66.6815 -20.4383 -25.8502 - 95 3.87651 799 6 0 66.653 -20.25 -26.2375 - 95 152.156 871 6 0 54.9749 -5.73963 -26.25 - 95 111.207 1178 6 1 55.7312 -5.48992 -24.8498 - 95 60.7224 1179 6 1 55.85 -5.48082 -24.632 - 95 79.968 724 5 1 -35.1128 -105.254 -54.85 -Number of digits in this event: 47 +Number of tracker hits in this event: 85 + 95 178.981 965 11 1 13.2142 62.2042 125.55 + 95 141.609 1210 11 0 13.2124 62.2049 124.15 + 95 133.32 965 10 1 13.1748 62.2106 95.55 + 95 156.837 1210 10 0 13.1715 62.206 94.15 + 95 135.383 965 9 1 13.0996 62.1196 65.55 + 95 160.64 1210 9 0 13.1004 62.1176 64.15 + 95 141.176 965 8 1 13.1139 62.065 35.55 + 95 100.846 1210 8 0 13.112 62.0611 34.15 + 95 117.488 965 7 1 13.0791 61.9519 5.55 + 95 111.685 1209 7 0 13.0776 61.9419 4.15 + 95 114.416 964 6 1 13.0287 61.7362 -24.45 + 95 109.907 1208 6 0 13.0296 61.724 -25.85 + 95 381.465 964 5 1 13.0402 61.4878 -54.45 + 95 161.976 1207 5 0 13.0417 61.4716 -55.85 + 95 104.587 965 4 1 13.0554 61.1483 -84.45 + 95 116.034 1205 4 0 13.0706 61.1349 -85.85 + 95 155.185 966 3 1 13.3866 60.8892 -114.45 + 95 136.974 1204 3 0 13.4058 60.8693 -115.85 + 95 464.098 968 2 1 13.7506 60.4375 -144.45 + 95 93.5645 1201 2 0 13.7601 60.4145 -145.85 + 95 131.546 969 1 1 13.9234 59.9545 -174.45 + 95 113.018 1199 1 0 13.9223 59.9352 -175.85 + 95 124.897 969 0 1 13.8802 59.5703 -204.45 + 95 105.949 1197 0 0 13.8809 59.5461 -205.85 + 95 209.052 1207 2 0 13.6009 61.4698 -145.85 + 95 257.802 1206 2 0 13.6218 61.45 -146.009 + 95 53.8929 1196 0 0 14.3044 59.3503 -205.85 + 95 247.683 1466 14 0 -108.176 113.39 213.75 + 95 157.305 1201 6 0 12.601 60.45 -25.8531 + 95 64.5932 1028 6 0 42.6052 25.7608 -26.25 + 95 292.396 1027 6 0 42.6149 25.6487 -26.1187 + 95 136.834 1026 6 0 42.5826 25.45 -26.0564 + 95 357.515 1209 5 0 12.9722 61.964 -55.8509 + 95 83.9124 968 4 1 13.758 61.9189 -84.4503 + 95 199.923 967 4 1 13.65 61.9933 -84.7128 + 95 91.6547 1211 4 0 13.1632 62.3639 -85.85 + 95 69.3916 1212 4 0 13.0675 62.45 -86.0862 + 95 120.466 900 3 1 0.210191 73.929 -114.451 + 95 35.9248 1271 3 0 -0.0963047 74.413 -115.85 + 95 86.0124 1272 3 0 -0.123801 74.45 -115.962 + 95 114.478 857 2 1 -8.55376 84.9691 -144.45 + 95 125.756 856 2 1 -8.65 84.9943 -144.541 + 95 51.1785 855 2 1 -8.85075 85.0305 -144.737 + 95 0.0879232 854 2 1 -9.05 85.0454 -144.849 + 95 275.868 1325 2 0 -11.3804 85.1285 -145.85 + 95 138.272 423 1 1 -95.5459 66.8863 -174.45 + 95 558.538 422 1 1 -95.55 66.8791 -174.453 + 95 389.052 424 1 1 -95.35 64.7843 -174.746 + 95 528.171 425 1 1 -95.15 64.33 -174.696 + 95 89.3791 426 1 1 -94.9498 62.9116 -174.744 + 95 116.37 427 1 1 -94.7498 62.8159 -174.637 + 95 59.9286 859 2 1 -8.13647 84.668 -144.45 + 95 78.6073 860 2 1 -8.05 84.6065 -144.618 + 95 330.776 1321 2 0 -7.31806 84.3751 -145.85 + 95 79.102 1572 5 0 80.8907 134.668 -56.25 + 95 144.452 1573 5 0 80.7032 134.75 -56.0876 + 95 87.9177 1574 5 0 80.3616 134.95 -55.905 + 95 50.9248 1575 5 0 80.1749 135.15 -55.8948 + 95 217.182 1279 5 1 75.9915 138.244 -54.85 + 95 130.412 1278 5 1 75.8499 138.46 -54.8075 + 95 110.166 1589 5 0 77.269 138.135 -55.85 + 95 98.2909 1283 5 1 76.8122 139.684 -54.85 + 95 204.889 1320 2 0 -8.98264 84.25 -146.024 + 95 185.441 964 4 1 12.9277 61.9637 -84.45 + 95 139.195 1209 4 0 12.9234 61.9271 -85.85 + 95 118.268 964 3 1 13.0484 61.2247 -114.45 + 95 278.713 1205 3 0 13.0024 61.2267 -115.85 + 95 115.17 959 2 1 11.9887 61.4016 -144.45 + 95 141.563 961 1 1 12.2996 63.7679 -174.45 + 95 130.245 1218 1 0 12.2719 63.8022 -175.85 + 95 107.675 960 0 1 12.1235 64.5268 -204.45 + 95 137.159 1222 0 0 12.077 64.5912 -205.85 + 95 240.531 1238 3 0 45.2601 67.8029 -116.25 + 95 165.02 1196 5 1 59.3952 6.24762 -54.4501 + 95 77.2087 908 8 0 65.1616 1.85 33.7827 + 95 132.062 1564 0 1 133.009 4.51094 -204.45 + 95 175.016 1565 0 1 133.15 4.67536 -204.586 + 95 134.341 1091 6 0 170.569 38.3225 -26.25 + 95 16.4244 1750 6 1 170.177 38.2358 -24.8499 + 95 180.879 1749 6 1 170.15 38.2407 -24.826 + 95 11.6462 1147 0 0 18.3706 49.5479 -206.25 + 95 100.175 1146 0 0 18.3218 49.45 -205.936 + 95 121.725 1145 0 0 18.3752 49.25 -205.92 + 95 119.638 1144 0 0 18.3795 49.05 -206.116 + 95 104.934 975 0 0 40.1358 15.1724 -206.25 +Number of digits in this event: 48 Using G4ParticleGun... -Particle energy: 6.35952 LIN +Particle energy: 2.11215 LIN Particle: e- Event: 96 -Number of tracker hits in this event: 101 - 96 121.611 973 11 1 14.7849 41.5642 125.55 - 96 153.253 1107 11 0 14.7845 41.564 124.15 - 96 183.567 973 10 1 14.7769 41.561 95.55 - 96 283.526 1107 10 0 14.7762 41.5612 94.15 - 96 400.777 973 9 1 14.7626 41.5666 65.55 - 96 344.371 1107 9 0 14.7602 41.5709 64.15 - 96 252.023 973 8 1 14.7062 41.6491 35.55 - 96 178.176 1107 8 0 14.7014 41.6498 34.15 - 96 236.411 1108 8 0 14.7004 41.65 33.8663 - 96 126.277 972 7 1 14.6045 41.6635 5.55 - 96 107.024 1108 7 0 14.5983 41.665 4.15 - 96 355.901 972 6 1 14.4781 41.6908 -24.45 - 96 276.067 1108 6 0 14.4737 41.6935 -25.85 - 96 224.285 971 5 1 14.3808 41.7577 -54.45 - 96 154.085 1108 5 0 14.3721 41.757 -55.85 - 96 286.052 970 4 1 14.1964 41.7548 -84.45 - 96 106.409 1108 4 0 14.1859 41.7534 -85.85 - 96 166.87 969 3 1 13.9705 41.7407 -114.45 - 96 129.634 1108 3 0 13.9634 41.7458 -115.85 - 96 638.233 968 2 1 13.8226 41.8547 -144.45 - 96 120.463 1109 2 0 13.8134 41.8661 -145.85 - 96 466.055 967 1 1 13.6476 42.0914 -174.45 - 96 275.631 1110 1 0 13.6547 42.1073 -175.85 - 96 235.099 968 0 1 13.7891 42.4271 -204.45 - 96 216.231 1111 0 0 13.8007 42.4395 -205.85 - 96 114.757 968 1 1 13.65 42.1365 -174.622 - 96 2.89217 969 2 1 13.85 41.8725 -144.75 - 96 487.755 1108 2 0 13.7186 41.7559 -145.85 - 96 134.678 1108 1 0 13.6386 41.7612 -175.85 - 96 352.951 1108 0 0 13.7198 41.82 -205.85 - 96 130.702 696 3 0 62.521 -40.65 -116 - 96 220.073 695 3 0 62.6065 -40.85 -116.009 - 96 358.705 1107 1 0 13.5229 41.5705 -175.85 - 96 115.942 965 0 1 13.0751 41.6023 -204.45 - 96 189.837 1724 6 0 121.271 164.972 -26.25 - 96 45.5014 1723 6 0 121.469 164.95 -25.979 - 96 83.6824 971 6 1 14.4499 41.541 -24.6421 - 96 109.149 971 4 1 14.2954 41.7959 -84.45 - 96 246.065 1107 4 0 14.0858 41.5378 -85.85 - 96 44.6669 957 3 1 11.5481 36.1155 -114.45 - 96 91.5727 958 3 1 11.65 36.116 -114.539 - 96 46.1625 959 3 1 11.85 36.1134 -114.738 - 96 212.694 1080 3 0 13.2514 36.1791 -115.85 - 96 76.0634 1101 3 0 112.222 40.3453 -116.25 - 96 99.9562 1102 3 0 112.239 40.45 -116.069 - 96 69.179 1460 3 1 112.33 40.8619 -114.85 - 96 82.5765 1461 3 1 112.35 40.9015 -114.58 - 96 171.237 1462 3 1 112.55 40.902 -114.491 - 96 91.9274 1463 3 1 112.75 41.2586 -114.548 - 96 140.651 969 4 1 14.05 41.9564 -84.6064 - 96 18.2185 1112 4 0 13.3595 42.627 -85.85 - 96 110.491 1113 4 0 13.3389 42.65 -85.9115 - 96 240.688 970 2 1 14.137 41.6308 -144.451 - 96 128.692 959 1 1 11.9767 42.5765 -174.45 - 96 114.944 1113 1 0 11.8617 42.7713 -175.85 - 96 112.104 957 0 1 11.6038 46.8632 -204.45 - 96 122.225 1134 0 0 11.5205 46.9235 -205.85 - 96 111.586 972 1 1 14.4628 42.0431 -174.45 - 96 110.26 973 0 1 14.7084 42.4486 -204.45 - 96 157.759 972 8 1 14.5556 41.6966 35.55 - 96 361.401 973 7 1 14.798 42.2467 5.55 - 96 134.075 1111 7 0 14.8083 42.2648 4.15 - 96 137.989 975 6 1 15.058 42.6899 -24.45 - 96 120.839 1113 6 0 15.0755 42.7183 -25.85 - 96 127.253 976 5 1 15.3853 43.2568 -54.45 - 96 125.233 1116 5 0 15.4212 43.256 -55.85 - 96 113.532 981 4 1 16.4139 43.1435 -84.45 - 96 144.675 1115 4 0 16.5037 43.1296 -85.85 - 96 107.92 991 3 1 18.3893 42.9975 -114.45 - 96 152.011 1114 3 0 18.4331 43.0357 -115.85 - 96 123.602 997 2 1 19.5685 43.8749 -144.45 - 96 110.263 1119 2 0 19.6266 43.8988 -145.85 - 96 40.1635 1002 1 1 20.6436 44.6062 -174.45 - 96 61.3682 1003 1 1 20.65 44.6121 -174.6 - 96 123.49 1123 1 0 20.7008 44.6687 -175.851 - 96 141.682 1009 0 1 21.9129 46.0426 -204.45 - 96 112.67 1130 0 0 21.8713 46.0955 -205.85 - 96 58.116 1086 1 1 37.3667 46.1169 -174.85 - 96 6.42108 974 6 1 15.0499 42.6804 -24.8327 - 96 152.168 1107 6 0 14.496 41.65 -25.9754 - 96 189.92 767 4 1 -26.4641 -25.1573 -84.45 - 96 255.448 1109 9 0 11.9813 41.9214 64.15 - 96 119.645 1107 7 0 14.7444 41.4829 4.15 - 96 201.169 973 6 1 14.7491 41.4033 -24.45 - 96 131.765 1106 6 0 14.7494 41.4043 -25.85 - 96 140.138 973 5 1 14.7527 41.4297 -54.45 - 96 136.787 1106 5 0 14.7544 41.4331 -55.85 - 96 138.508 973 4 1 14.79 41.5026 -84.45 - 96 118.944 973 3 1 14.8193 41.5565 -114.45 - 96 121.681 1107 3 0 14.8228 41.5584 -115.85 - 96 264.021 974 2 1 14.8823 41.5955 -144.45 - 96 136.359 1107 2 0 14.8852 41.5964 -145.85 - 96 155.891 974 1 1 14.9452 41.6213 -174.45 - 96 114.378 974 0 1 15.0102 41.8089 -204.45 - 96 3.18043 975 2 1 15.0505 41.9625 -144.847 - 96 24.2581 1123 2 0 17.6821 44.7498 -145.85 - 96 80.2278 1124 2 0 17.747 44.85 -145.869 - 96 48.9645 1125 2 0 17.8261 45.05 -145.874 - 96 129.281 992 2 1 18.4628 51.0317 -144.85 - 96 173.298 991 2 1 18.45 51.3731 -144.687 - 96 90.5011 974 10 1 14.85 41.6171 95.3907 -Number of digits in this event: 66 -Using G4ParticleGun... -Particle energy: 9.34203 LIN +Number of tracker hits in this event: 46 + 96 116.31 1145 11 1 49.1974 -20.346 125.55 + 96 118.2 798 11 0 49.2002 -20.3438 124.15 + 96 169.371 1146 10 1 49.2507 -20.2919 95.55 + 96 127.295 798 10 0 49.2517 -20.2897 94.15 + 96 113.719 1146 9 1 49.275 -20.2518 65.55 + 96 84.4509 798 9 0 49.2788 -20.2504 64.15 + 96 12.4004 799 9 0 49.2798 -20.25 63.8072 + 96 192.828 1146 8 1 49.3489 -20.2228 35.55 + 96 104.866 799 8 0 49.3542 -20.2166 34.15 + 96 118.477 1147 7 1 49.4881 -20.0904 5.55 + 96 142.037 799 7 0 49.4944 -20.082 4.15 + 96 114.343 1147 6 1 49.6307 -19.9199 -24.45 + 96 115.346 800 6 0 49.6381 -19.9086 -25.85 + 96 102.181 1148 5 1 49.7932 -19.6946 -54.45 + 96 142.542 801 5 0 49.7986 -19.6884 -55.85 + 96 178.629 1149 4 1 49.896 -19.5632 -84.45 + 96 125.553 802 4 0 49.9024 -19.5522 -85.85 + 96 129.035 1149 3 1 50.0441 -19.3489 -114.45 + 96 154.001 803 3 0 50.0495 -19.3403 -115.85 + 96 222.091 1150 2 1 50.1557 -19.1589 -144.45 + 96 142.707 804 2 0 50.1597 -19.1505 -145.85 + 96 28.098 1150 1 1 50.2497 -18.9798 -174.45 + 96 89.9334 1151 1 1 50.25 -18.9794 -174.558 + 96 224.167 805 1 0 50.2531 -18.9741 -175.85 + 96 100.734 1151 0 1 50.3416 -18.8529 -204.45 + 96 175.693 806 0 0 50.3455 -18.845 -205.85 + 96 16.8052 1076 0 1 35.45 -22.0425 -204.613 + 96 53.1658 1081 1 1 36.25 78.9995 -174.849 + 96 202.808 826 1 0 46.4909 -14.837 -176.25 + 96 79.0136 1149 2 1 50.05 -19.2501 -144.68 + 96 267.886 803 2 0 49.2378 -19.25 -145.924 + 96 230.938 800 8 0 50.3427 -20.0137 34.15 + 96 308.393 1149 1 1 50.0101 -19.8993 -174.45 + 96 214.954 1148 1 1 49.85 -19.9738 -174.679 + 96 350.069 1147 1 1 49.65 -20.1438 -174.641 + 96 28.0951 658 2 0 25.568 -48.25 -146.035 + 96 169.833 807 1 0 49.8573 -18.6484 -175.85 + 96 147.596 801 1 0 49.6228 -19.7021 -175.85 + 96 132.025 802 1 0 49.5929 -19.6498 -176.035 + 96 165.958 1142 1 1 48.6089 -18.8726 -174.85 + 96 295.754 1141 1 1 48.45 -18.8179 -174.696 + 96 112.84 799 6 0 49.4708 -20.176 -25.85 + 96 54.1103 798 6 0 49.444 -20.25 -26.0736 + 96 204.138 756 6 0 44.1553 -28.7434 -26.25 + 96 181.826 1114 6 1 42.9911 -30.8545 -24.8499 + 96 170.022 1145 10 1 49.25 -20.2912 95.4946 +Number of digits in this event: 29 +Using G4ParticleGun... +Particle energy: 2.67007 LIN Particle: e- Event: 97 -Number of tracker hits in this event: 124 - 97 94.3497 1485 9 1 117.215 27.5296 65.55 - 97 179.929 1037 9 0 117.214 27.5294 64.15 - 97 107.542 1485 8 1 117.202 27.5268 35.55 - 97 117.711 1037 8 0 117.201 27.5267 34.15 - 97 102.639 1485 7 1 117.176 27.523 5.55 - 97 114.125 1037 7 0 117.175 27.5227 4.15 - 97 144.984 1485 6 1 117.15 27.5142 -24.45 - 97 13.1383 1484 6 1 117.15 27.5141 -24.8015 - 97 310.831 1037 6 0 117.149 27.5138 -25.85 - 97 236.207 1484 5 1 117.118 27.5038 -54.45 - 97 124.096 1037 5 0 117.117 27.5033 -55.85 - 97 146.317 1484 4 1 117.107 27.4913 -84.45 - 97 336.444 1037 4 0 117.107 27.4885 -85.85 - 97 187.187 1484 3 1 117.097 27.4174 -114.45 - 97 149.341 1036 3 0 117.096 27.4146 -115.85 - 97 449.589 1484 2 1 117.083 27.3622 -144.45 - 97 269.24 1036 2 0 117.079 27.3597 -145.85 - 97 577.056 1484 1 1 117.004 27.3269 -174.45 - 97 248.01 1036 1 0 116.979 27.2912 -175.85 - 97 226.432 1481 0 1 116.438 26.3998 -204.45 - 97 100.134 1031 0 0 116.402 26.3907 -205.85 - 97 152.366 489 3 0 100.622 -82.05 -116.164 - 97 73.5013 1205 5 1 61.1734 61.1914 -54.85 - 97 113.734 1204 5 1 61.05 61.2572 -54.5615 - 97 357.409 1485 1 1 117.15 27.2872 -174.551 - 97 355.959 1486 1 1 117.35 26.7613 -174.749 - 97 284.791 1487 1 1 117.55 26.2444 -174.769 - 97 187.612 1488 1 1 117.75 25.9313 -174.767 - 97 119.511 1489 1 1 117.95 25.6664 -174.743 - 97 89.1724 1490 1 1 118.15 25.3673 -174.735 - 97 53.0728 1491 1 1 118.35 25.2102 -174.732 - 97 73.1956 1492 1 1 118.55 25.1575 -174.741 - 97 285.163 1493 1 1 118.75 25.1016 -174.753 - 97 59.351 1494 1 1 118.95 25.0575 -174.749 - 97 67.8859 1495 1 1 119.15 24.9732 -174.711 - 97 120.714 1496 1 1 119.35 24.8492 -174.661 - 97 237.774 1497 1 1 119.55 24.6469 -174.559 - 97 145.921 1498 1 1 119.75 24.3935 -174.477 - 97 80.071 1013 1 0 119.083 22.8362 -175.85 - 97 2.27632 572 2 0 138.516 -65.45 -146.057 - 97 113.425 1482 0 1 116.666 27.0781 -204.45 - 97 120.035 1035 0 0 116.639 27.1215 -205.85 - 97 39.0593 318 6 1 -116.48 94.3787 -24.45 - 97 19.1252 1038 4 0 117.384 27.6503 -86.2162 - 97 136.719 1480 1 1 116.241 26.6503 -174.45 - 97 105.387 1032 1 0 116.266 26.6057 -175.85 - 97 107.21 1028 0 0 116.378 25.7015 -205.85 - 97 24.0017 1038 2 0 116.989 27.83 -145.85 - 97 81.8091 1039 2 0 116.982 27.85 -145.925 - 97 187.317 1467 1 1 113.692 36.4541 -174.45 - 97 41.3633 1084 1 0 113.73 37.0009 -175.85 - 97 84.9665 1085 1 0 113.728 37.0501 -175.99 - 97 120.32 1470 0 1 114.284 48.2588 -204.45 - 97 104.535 1142 0 0 114.16 48.4563 -205.85 - 97 326.092 1037 1 0 116.996 27.4701 -175.85 - 97 238.153 1483 0 1 116.943 27.4438 -204.45 - 97 129.172 1037 0 0 116.958 27.4813 -205.85 - 97 73.771 1033 0 0 116.369 26.7639 -205.85 - 97 78.8487 1032 0 0 116.271 26.65 -206.015 - 97 132.108 1136 0 0 97.4834 47.2558 -206.25 - 97 209.249 1137 0 0 97.1802 47.45 -206.014 - 97 7.5875 1378 0 1 95.7678 48.042 -204.85 - 97 139.809 1377 0 1 95.7498 48.0497 -204.829 - 97 127.516 1108 0 0 54.6182 41.7099 -206.25 - 97 111.614 1484 0 1 116.976 27.4606 -204.45 - 97 114.988 1036 0 0 116.974 27.4272 -205.85 - 97 134.109 1023 7 0 117.794 24.7405 4.15 - 97 24.3413 1493 5 1 118.931 26.4885 -54.45 - 97 152.88 1494 5 1 118.95 26.475 -54.5313 - 97 121.896 1030 5 0 119.26 26.2326 -55.85 - 97 97.5587 1532 4 1 126.624 19.3734 -84.45 - 97 96.8128 1533 4 1 126.75 19.3759 -84.6214 - 97 163.993 997 4 0 127.756 19.4999 -85.85 - 97 19.9177 1666 3 1 153.509 22.9812 -114.45 - 97 99.9564 1667 3 1 153.55 23.01 -114.508 - 97 17.9442 1668 3 1 153.75 23.1307 -114.787 - 97 64.0702 1017 3 0 154.526 23.5834 -115.85 - 97 88.3402 1018 3 0 154.65 23.65 -116.022 - 97 222.792 1797 2 1 179.617 34.3223 -144.45 - 97 36.7871 1075 2 0 179.51 35.2053 -145.85 - 97 100.663 1076 2 0 179.501 35.2501 -145.923 - 97 31.2731 1771 1 1 174.438 51.8083 -174.45 - 97 62.3921 1770 1 1 174.35 51.8302 -174.512 - 97 68.3942 1769 1 1 174.15 51.8817 -174.654 - 97 17.2889 1768 1 1 173.95 51.9102 -174.821 - 97 203.832 1160 1 0 172.684 52.0951 -175.85 - 97 98.261 1247 1 0 116.497 69.4609 -176.25 - 97 90.4224 1248 1 0 116.253 69.65 -176.1 - 97 49.6499 1249 1 0 116.077 69.85 -175.965 - 97 31.5745 1472 1 1 114.639 70.8601 -174.85 - 97 96.5661 1471 1 1 114.55 70.9079 -174.78 - 97 99.2533 1470 1 1 114.35 71.0221 -174.612 - 97 9.3654 1469 1 1 114.15 71.1352 -174.472 - 97 34.63 1239 2 0 98.0377 67.8583 -146.25 - 97 112.08 1238 2 0 97.9976 67.85 -146.16 - 97 1.94514 1389 2 1 97.9508 66.8296 -144.85 - 97 128.462 1388 2 1 97.95 66.823 -144.842 - 97 24.0933 1463 1 1 112.95 70.5687 -174.61 - 97 121.101 1042 5 0 117.061 28.545 -55.8503 - 97 81.109 1492 4 1 118.689 32.3507 -84.4503 - 97 69.5793 1493 4 1 118.75 32.3511 -84.655 - 97 145.309 1061 4 0 119.047 32.3904 -85.85 - 97 149.75 1529 3 1 126.011 32.4199 -114.45 - 97 31.4027 1530 3 1 126.15 32.4305 -114.769 - 97 141.58 1062 3 0 126.613 32.4536 -115.85 - 97 4.14024 1061 3 0 126.77 32.45 -116.238 - 97 151.793 1590 2 1 138.203 31.6787 -144.45 - 97 90.4685 1057 2 0 138.542 31.6234 -145.85 - 97 169.982 1631 1 1 146.375 32.1329 -174.45 - 97 131.322 1059 1 0 146.837 31.9248 -175.85 - 97 113.793 1680 0 1 156.227 28.5586 -204.45 - 97 43.3802 1681 0 1 156.35 28.5674 -204.717 - 97 146.062 1042 0 0 156.816 28.6157 -205.85 - 97 87.3173 1043 0 0 156.865 28.6502 -205.887 - 97 90.8021 1044 0 0 157.117 28.85 -206.01 - 97 161.798 1045 0 0 157.331 29.0502 -206.056 - 97 2.98639 1693 0 1 158.936 28.7709 -204.85 - 97 156.723 1694 0 1 158.95 28.768 -204.836 - 97 94.2209 1056 1 0 146.37 31.3529 -175.85 - 97 118.007 1589 2 1 138.15 31.6704 -144.541 - 97 275.379 1588 2 1 137.95 31.5353 -144.635 - 97 2.34671 1031 5 0 118.528 26.3228 -55.85 - 97 108.012 1519 5 1 124.022 24.3967 -54.85 - 97 13.0452 1019 5 0 122.929 23.9942 -55.85 -Number of digits in this event: 55 +Number of tracker hits in this event: 72 + 97 155.734 1289 8 1 77.9784 115.747 35.55 + 97 309.837 1478 8 0 77.9666 115.755 34.15 + 97 139.414 1288 7 1 77.7636 115.759 5.55 + 97 112.002 1478 7 0 77.7522 115.796 4.15 + 97 105.915 1287 6 1 77.5348 116.5 -24.45 + 97 124.73 1481 6 0 77.5039 116.527 -25.85 + 97 99.9706 1283 5 1 76.8166 117.05 -54.45 + 97 113.545 1484 5 0 76.7634 117.052 -55.85 + 97 140.7 1278 4 1 75.7079 117.184 -84.45 + 97 101.74 1485 4 0 75.6882 117.163 -85.85 + 97 140.205 1276 3 1 75.3064 116.738 -114.45 + 97 104.56 1482 3 0 75.2918 116.73 -115.85 + 97 279.264 1274 2 1 74.8981 116.631 -144.45 + 97 90.7943 1482 2 0 74.893 116.632 -145.85 + 97 112.789 1273 1 1 74.7237 116.64 -174.45 + 97 104.895 1482 1 0 74.7193 116.616 -175.85 + 97 187.577 1273 0 1 74.6558 116.12 -204.45 + 97 127.701 1479 0 0 74.6416 116.089 -205.85 + 97 185.466 1269 0 1 73.8925 121.381 -204.45 + 97 134.03 1506 0 0 73.8065 121.45 -205.85 + 97 37.2125 1270 0 1 74.05 121.475 -204.739 + 97 115.718 1508 0 0 74.6807 121.825 -205.85 + 97 50.4143 1479 8 0 77.8439 115.95 33.7684 + 97 92.7408 1422 6 1 104.596 83.4273 -24.45 + 97 14.8137 1423 6 1 104.75 83.2715 -24.6294 + 97 245.068 1287 0 1 77.5102 115.655 -204.45 + 97 242.199 1477 0 0 77.5062 115.655 -205.85 + 97 75.6283 1084 4 1 37.036 128.859 -84.85 + 97 114.5 1085 4 1 37.05 128.833 -84.552 + 97 126.839 1288 6 1 77.8356 115.704 -24.45 + 97 138.218 1477 6 0 77.5981 115.62 -25.85 + 97 35.7864 1262 5 1 72.4616 113.378 -54.45 + 97 110.13 1261 5 1 72.45 113.372 -54.4944 + 97 118.878 1465 5 0 72.0781 113.227 -55.85 + 97 30.1808 1219 4 1 63.8835 110.349 -84.45 + 97 95.3127 1218 4 1 63.85 110.337 -84.5563 + 97 135.749 1450 4 0 63.4515 110.207 -85.85 + 97 114.444 1171 3 1 54.3981 106.829 -114.45 + 97 117.323 1431 3 0 54.0128 106.491 -115.85 + 97 147.633 1129 2 1 45.9729 99.7613 -144.451 + 97 127.777 1395 2 0 45.5514 99.3309 -145.85 + 97 7.26833 1085 1 1 37.0564 90.8396 -174.45 + 97 179.262 1084 1 1 37.05 90.8317 -174.472 + 97 197.166 1350 1 0 36.6209 90.3176 -175.85 + 97 216.96 1062 0 1 32.5588 79.411 -204.45 + 97 166.157 1293 0 0 32.4539 78.8203 -205.85 + 97 107.003 1289 6 1 77.8867 115.708 -24.45 + 97 119.173 1476 6 0 78.2542 115.55 -25.9356 + 97 215.648 1314 5 1 82.8716 110.618 -54.45 + 97 22.2912 1444 5 0 83.1273 109.011 -55.8501 + 97 71.1428 1443 5 0 83.137 108.95 -55.9009 + 97 87.6908 1442 5 0 83.1559 108.75 -56.0683 + 97 9.08223 1441 5 0 83.1688 108.55 -56.2304 + 97 217.772 1327 4 1 85.6089 73.6298 -84.45 + 97 104.643 1259 4 0 85.1416 72.0439 -85.8501 + 97 67.4921 1258 4 0 85.1553 71.85 -85.9982 + 97 37.4138 1257 4 0 85.1913 71.65 -86.1565 + 97 228.251 1347 3 1 89.5379 36.1225 -114.45 + 97 193.716 1071 3 0 89.4764 34.4098 -115.85 + 97 74.3211 1070 3 0 89.4664 34.25 -115.988 + 97 41.7179 1069 3 0 89.4635 34.0499 -116.154 + 97 264.893 1347 2 1 89.4539 0.980885 -144.45 + 97 50.3348 1348 2 1 89.65 0.865004 -144.678 + 97 66.5931 902 2 0 90.5498 0.501502 -145.85 + 97 160.683 901 2 0 90.6724 0.449822 -146.006 + 97 72.6081 1455 1 1 111.27 -10.5746 -174.45 + 97 60.7391 1456 1 1 111.35 -10.6494 -174.652 + 97 7.72357 845 1 0 111.808 -11.0403 -175.85 + 97 101.344 844 1 0 111.82 -11.05 -175.882 + 97 144.761 1497 0 1 119.676 -20.3608 -204.45 + 97 51.4816 1498 0 1 119.75 -20.3988 -204.774 + 97 187.49 797 0 0 120.016 -20.5222 -205.851 +Number of digits in this event: 32 Using G4ParticleGun... -Particle energy: 5.5811 LIN +Particle energy: 8.1958 LIN Particle: e- Event: 98 -Number of tracker hits in this event: 54 - 98 108.308 1245 10 1 69.2289 67.6306 95.55 - 98 107.171 1237 10 0 69.2291 67.6296 94.15 - 98 124.293 1245 9 1 69.2407 67.6057 65.55 - 98 117.812 1237 9 0 69.2401 67.6025 64.15 - 98 142.553 1245 8 1 69.2301 67.5427 35.55 - 98 119.861 1237 8 0 69.2287 67.5365 34.15 - 98 123.787 1245 7 1 69.1935 67.4058 5.55 - 98 123.284 1236 7 0 69.1913 67.3995 4.15 - 98 120.795 1245 6 1 69.1395 67.2708 -24.45 - 98 120.641 1236 6 0 69.1396 67.2653 -25.85 - 98 193.391 1245 5 1 69.162 67.0757 -54.45 - 98 135.842 1235 5 0 69.1729 67.0814 -55.85 - 98 98.0213 1247 4 1 69.4792 67.0734 -84.45 - 98 133.657 1235 4 0 69.4959 67.09 -85.85 - 98 133.122 1249 3 1 69.9662 67.4897 -114.45 - 98 107.3 1237 3 0 69.99 67.5154 -115.85 - 98 4.39149 1784 4 0 177.251 177.029 -85.85 - 98 217.349 1791 5 0 147.013 178.493 -56.25 - 98 118.205 1790 5 0 146.615 178.35 -56.0548 - 98 277.139 1637 5 1 147.666 177.871 -54.8498 - 98 89.9471 881 0 0 121.883 -3.66238 -206.25 - 98 74.6097 1486 0 1 117.35 112.549 -204.713 - 98 256.048 1487 0 1 117.55 112.62 -204.607 - 98 57.0048 1488 0 1 117.75 112.521 -204.731 - 98 74.6679 1244 5 1 69.05 67.1005 -54.5836 - 98 18.2024 1243 5 1 68.85 67.0578 -54.8157 - 98 146.794 1233 5 0 68.1866 66.7487 -55.85 - 98 277.832 1191 5 0 -3.36229 58.2759 -56.25 - 98 59.2343 875 5 1 -4.93878 58.3923 -54.85 - 98 103.732 874 5 1 -5.05015 58.4022 -54.7408 - 98 104.62 873 5 1 -5.25084 58.4779 -54.594 - 98 35.3208 872 5 1 -5.45045 58.5743 -54.4557 - 98 51.0683 871 5 1 -5.65 58.5007 -54.4639 - 98 55.2547 870 5 1 -5.85 58.4898 -54.4727 - 98 95.4663 869 5 1 -6.05012 58.5475 -54.5294 - 98 91.3473 868 5 1 -6.25006 58.7228 -54.6276 - 98 18.5595 867 5 1 -6.45 58.9409 -54.8071 - 98 102.262 1195 5 0 -7.25107 59.169 -55.8501 - 98 64.9206 1194 5 0 -7.32851 59.05 -56.0632 - 98 160.49 1246 5 1 69.25 67.026 -54.5938 - 98 34.6949 1232 5 0 69.7027 66.4877 -55.8504 - 98 118.231 1231 5 0 69.7372 66.45 -55.9743 - 98 41.819 1474 7 1 114.95 -103.199 5.15114 - 98 2.41313 1476 7 1 115.35 -103.492 5.39106 - 98 136.402 1475 7 1 115.269 -103.496 5.55 - 98 125.257 1246 6 1 69.25 67.1524 -24.517 - 98 108.323 1235 6 0 69.312 67.1252 -25.8502 - 98 11.5718 1331 4 1 86.25 61.1284 -84.5951 - 98 243.196 1245 1 1 69.1037 67.4232 -174.45 - 98 225.235 1237 1 0 69.0993 67.4536 -175.85 - 98 155.869 1244 0 1 68.9632 68.1171 -204.45 - 98 109.209 1240 0 0 68.9591 68.153 -205.85 - 98 102.949 1245 0 1 69.0996 67.7208 -204.45 - 98 120.168 1238 0 0 69.191 67.7255 -205.85 -Number of digits in this event: 25 +Number of tracker hits in this event: 101 + 98 3.97514 1396 10 1 99.55 -49.8512 95.55 + 98 120.633 1397 10 1 99.55 -49.8512 95.5285 + 98 117.81 650 10 0 99.5509 -49.8513 94.15 + 98 117.929 1397 9 1 99.5707 -49.8537 65.55 + 98 292.398 650 9 0 99.5713 -49.8541 64.15 + 98 578.107 1397 8 1 99.5857 -49.8619 35.55 + 98 127.315 650 8 0 99.5857 -49.8625 34.15 + 98 130.472 1397 7 1 99.5865 -49.87 5.55 + 98 110.786 650 7 0 99.5849 -49.8706 4.15 + 98 78.5654 1397 6 1 99.55 -49.8828 -24.45 + 98 506.012 1396 6 1 99.55 -49.8828 -24.4798 + 98 241.935 650 6 0 99.5487 -49.8836 -25.85 + 98 104.915 1396 5 1 99.5162 -49.8985 -54.45 + 98 188.285 650 5 0 99.5145 -49.8991 -55.85 + 98 124.861 1396 4 1 99.4758 -49.9145 -84.45 + 98 263.765 650 4 0 99.4745 -49.9158 -85.85 + 98 140.895 1396 3 1 99.4466 -49.9385 -114.45 + 98 126.359 650 3 0 99.4458 -49.9388 -115.85 + 98 106.621 1396 2 1 99.429 -49.9476 -144.45 + 98 130.927 650 2 0 99.428 -49.9481 -145.85 + 98 119.045 1396 1 1 99.4143 -49.9547 -174.45 + 98 209.387 650 1 0 99.4128 -49.9547 -175.85 + 98 121.6 1396 0 1 99.3865 -49.9579 -204.45 + 98 137.425 650 0 0 99.3852 -49.9575 -205.85 + 98 99.5691 1395 6 1 99.35 -49.6502 -24.6458 + 98 27.2263 1359 1 1 92.0729 16.4524 -174.45 + 98 86.5742 1360 1 1 92.15 16.4761 -174.516 + 98 211.159 1361 1 1 92.3501 16.6066 -174.676 + 98 19.0241 1362 1 1 92.55 16.6011 -174.828 + 98 127.065 974 1 0 95.0511 15.0065 -175.85 + 98 164.271 973 1 0 95.2596 14.85 -175.983 + 98 9.16777 972 1 0 95.5028 14.65 -176.23 + 98 65.9156 1372 1 1 94.578 15.4647 -174.85 + 98 66.2957 1371 1 1 94.55 15.4363 -174.824 + 98 37.2451 1398 5 1 99.7689 -50.8959 -54.45 + 98 116.772 1397 5 1 99.75 -50.9231 -54.6013 + 98 132.205 644 5 0 99.597 -51.1614 -55.8502 + 98 17.5064 1377 4 1 95.5646 -57.0114 -84.45 + 98 87.2994 1376 4 1 95.55 -57.0278 -84.5327 + 98 257.169 613 4 0 95.332 -57.2852 -85.85 + 98 107.515 1350 3 1 90.3137 -63.1454 -114.45 + 98 43.9273 583 3 0 90.05 -63.3334 -116.068 + 98 113.493 1324 2 1 84.9556 -66.3518 -144.45 + 98 128.233 568 2 0 84.7244 -66.304 -145.85 + 98 147.392 1296 1 1 79.3786 -65.4452 -174.45 + 98 61.0946 571 1 0 79.1383 -65.7992 -175.85 + 98 60.0432 570 1 0 79.1018 -65.85 -176.046 + 98 108.373 1269 0 1 73.96 -73.0179 -204.45 + 98 139.611 1268 0 1 73.85 -73.1255 -204.717 + 98 26.7208 532 0 0 73.3634 -73.6164 -205.85 + 98 103.488 531 0 0 73.3305 -73.65 -205.929 + 98 163.494 1275 0 1 75.1418 -67.9004 -204.45 + 98 247.951 1274 0 1 75.0497 -67.8505 -204.615 + 98 119.05 562 0 0 74.561 -67.6223 -205.85 + 98 40.5301 641 0 0 71.1373 -51.7883 -206.25 + 98 83.2322 642 0 0 71.2021 -51.65 -206.14 + 98 78.3635 643 0 0 71.2129 -51.45 -205.949 + 98 21.2406 1254 0 1 70.8709 -49.9443 -204.85 + 98 176.022 1253 0 1 70.8499 -49.8705 -204.8 + 98 26.995 1252 0 1 70.65 -49.5215 -204.537 + 98 75.7139 1273 0 1 74.8496 -68.004 -204.714 + 98 9.34967 1272 0 1 74.6497 -68.036 -204.832 + 98 109.007 557 0 0 73.0341 -68.5072 -205.85 + 98 113.158 556 0 0 72.7165 -68.6501 -206.069 + 98 84.5682 612 4 0 95.3647 -57.45 -85.8792 + 98 121.599 611 4 0 95.4831 -57.65 -85.9707 + 98 95.2839 1358 4 1 91.8959 -58.0791 -84.85 + 98 160.09 600 4 0 91.8882 -59.8769 -85.85 + 98 52.842 649 6 0 99.9548 -50.05 -26.122 + 98 96.7948 644 8 0 100.011 -51.0611 34.1496 + 98 62.7262 643 8 0 100.118 -51.25 33.8825 + 98 117.897 1476 7 1 115.429 -68.0312 5.54992 + 98 68.534 1477 7 1 115.55 -67.6446 5.30918 + 98 21.8381 569 7 0 116.382 -66.1146 4.15 + 98 325.312 570 7 0 116.422 -66.0499 4.0991 + 98 89.9137 603 7 0 106.011 -59.338 3.75 + 98 32.0557 602 7 0 105.961 -59.45 4.01673 + 98 48.3253 1429 7 1 106.113 -59.7273 5.15 + 98 345.088 1430 7 1 106.15 -59.7768 5.32721 + 98 116.043 1431 7 1 106.35 -60.0644 5.3551 + 98 134.211 651 8 0 99.9597 -49.7053 34.15 + 98 6.57789 1434 7 1 107.143 -46.8932 5.55 + 98 96.8496 1435 7 1 107.15 -46.8909 5.51671 + 98 110.08 666 7 0 107.401 -46.8135 4.15 + 98 125.166 1460 6 1 112.236 -44.9249 -24.45 + 98 115.818 675 6 0 112.463 -44.9229 -25.85 + 98 197.497 1483 5 1 116.908 -45.177 -54.45 + 98 111.846 674 5 0 116.919 -45.1082 -55.8506 + 98 124.433 1487 4 1 117.661 -44.1781 -84.4502 + 98 145.845 678 4 0 117.79 -44.2878 -85.85 + 98 113.775 1501 3 1 120.371 -47.1842 -114.45 + 98 103.274 664 3 0 120.391 -47.1043 -115.85 + 98 143.812 1500 2 1 120.255 -45.8417 -144.45 + 98 118.909 669 2 0 120.088 -46.0713 -145.85 + 98 124.633 1471 1 1 114.431 -50.9715 -174.45 + 98 79.3623 643 1 0 114.184 -51.3613 -175.85 + 98 26.8255 642 1 0 114.129 -51.45 -176.147 + 98 69.9607 1442 0 1 108.589 -59.4262 -204.45 + 98 39.0897 1441 0 1 108.55 -59.4857 -204.692 + 98 109.213 601 0 0 108.355 -59.7661 -205.85 + 98 10.8647 600 0 0 108.293 -59.85 -206.212 +Number of digits in this event: 40 Using G4ParticleGun... -Particle energy: 6.35061 LIN +Particle energy: 5.82924 LIN Particle: e- Event: 99 -Number of tracker hits in this event: 69 - 99 210.122 1132 10 1 46.5407 82.6049 95.55 - 99 131.255 1312 10 0 46.5418 82.6029 94.15 - 99 118.176 1132 9 1 46.5686 82.565 65.55 - 99 104.988 1312 9 0 46.5673 82.5643 64.15 - 99 393.382 1132 8 1 46.5367 82.5531 35.55 - 99 152.985 1312 8 0 46.535 82.5521 34.15 - 99 100.053 1132 7 1 46.4973 82.5424 5.55 - 99 112.626 1312 7 0 46.4964 82.5407 4.15 - 99 112.674 1132 6 1 46.4857 82.5144 -24.45 - 99 125.001 1312 6 0 46.4854 82.513 -25.85 - 99 109.572 1132 5 1 46.4859 82.4842 -54.45 - 99 134.309 1312 5 0 46.4855 82.4846 -55.85 - 99 130.75 1132 4 1 46.4748 82.498 -84.45 - 99 123.64 1312 4 0 46.473 82.5012 -85.85 - 99 652.892 1131 3 1 46.4288 82.5531 -114.45 - 99 586.226 1312 3 0 46.4336 82.5534 -115.85 - 99 305.516 1132 2 1 46.5618 82.588 -144.45 - 99 105.331 1312 2 0 46.5699 82.5937 -145.85 - 99 242.579 1133 1 1 46.731 82.6992 -174.45 - 99 209.935 1313 1 0 46.7391 82.7275 -175.85 - 99 311.206 1133 0 1 46.8321 83.3419 -204.45 - 99 168.99 1316 0 0 46.8458 83.3756 -205.85 - 99 28.3065 713 0 0 25.7446 -37.25 -206.227 - 99 88.6163 1132 3 1 46.45 82.5673 -114.474 - 99 91.5677 1133 3 1 46.65 82.6789 -114.657 - 99 54.8686 1317 3 0 47.4844 83.5309 -115.85 - 99 69.4034 1318 3 0 47.5893 83.65 -115.995 - 99 16.556 1319 3 0 47.7155 83.85 -116.204 - 99 12.2134 1583 3 0 62.6725 136.927 -116.25 - 99 77.461 1584 3 0 62.6749 136.95 -116.223 - 99 73.9818 1585 3 0 62.7181 137.15 -116.034 - 99 69.7411 1214 3 1 62.9712 138.153 -114.85 - 99 141.551 1215 3 1 63.0502 138.329 -114.698 - 99 5.84581 1216 3 1 63.2501 138.716 -114.454 - 99 190.781 1131 2 1 46.308 82.4715 -144.45 - 99 218.759 1311 2 0 46.3321 82.417 -145.85 - 99 98.7843 1134 1 1 46.9567 81.2791 -174.45 - 99 107.372 1305 1 0 47.0268 81.1979 -175.85 - 99 205.014 1135 0 1 47.1727 79.2801 -204.45 - 99 129.285 1295 0 0 47.2752 79.1236 -205.85 - 99 166.564 1136 0 1 47.25 79.3416 -204.561 - 99 83.9023 1322 3 0 45.2372 84.48 -115.85 - 99 22.5624 1122 3 1 44.4789 84.3472 -114.85 - 99 121.744 1121 3 1 44.45 84.3389 -114.818 - 99 28.8065 241 11 1 -131.859 -104.855 125.15 - 99 102.914 1310 2 0 46.5756 82.1705 -145.85 - 99 127.932 1314 1 0 46.71 82.9005 -175.85 - 99 103.463 1317 0 0 46.6667 83.5487 -205.85 - 99 80.4537 1323 3 0 45.3747 84.65 -115.88 - 99 127.001 1324 3 0 45.2969 84.85 -115.946 - 99 216.546 1325 3 0 45.3601 85.0503 -116.187 - 99 106.25 1130 2 1 46.1334 82.4457 -144.451 - 99 92.3327 1126 1 1 45.4265 82.0702 -174.45 - 99 32.2615 1127 1 1 45.45 82.0203 -174.768 - 99 154.985 1308 1 0 45.5352 81.8433 -175.85 - 99 42.167 1139 0 1 48.0295 77.1284 -204.45 - 99 69.5554 1140 0 1 48.05 77.1084 -204.61 - 99 154.538 1284 0 0 48.196 76.9549 -205.85 - 99 186.73 1260 8 0 -42.4769 72.0773 33.75 - 99 20.6168 1259 8 0 -42.6241 72.05 33.893 - 99 99.5779 1131 8 1 46.45 82.5002 35.3911 - 99 109.55 1207 8 0 -117.064 61.5507 33.75 - 99 18.0174 1208 8 0 -117.174 61.6501 34.0951 - 99 85.6234 314 8 1 -117.258 61.8436 35.15 - 99 196.383 315 8 1 -117.15 61.8918 35.3707 - 99 84.3428 316 8 1 -116.95 61.8007 35.4583 - 99 489.928 317 8 1 -116.75 61.7329 35.4436 - 99 346.155 1132 0 1 46.5661 82.0947 -204.45 - 99 288.118 1310 0 0 46.5855 82.0703 -205.85 -Number of digits in this event: 35 +Number of tracker hits in this event: 83 + 99 98.4224 874 11 1 -5.06574 38.3908 125.55 + 99 167.422 1091 11 0 -5.06678 38.3913 124.15 + 99 132.081 874 10 1 -5.08919 38.4127 95.55 + 99 119.916 1091 10 0 -5.08986 38.4132 94.15 + 99 108.659 874 9 1 -5.1026 38.4331 65.55 + 99 139.968 1091 9 0 -5.10363 38.4328 64.15 + 99 176.131 874 8 1 -5.12711 38.4201 35.55 + 99 121.574 1091 8 0 -5.12894 38.4193 34.15 + 99 170.648 874 7 1 -5.16657 38.4004 5.55 + 99 106.26 1091 7 0 -5.16761 38.3962 4.15 + 99 325.236 874 6 1 -5.1969 38.3051 -24.45 + 99 258.909 1091 6 0 -5.19643 38.2987 -25.85 + 99 152.444 874 5 1 -5.18723 38.164 -54.45 + 99 177.15 1090 5 0 -5.18882 38.1588 -55.85 + 99 298.789 874 4 1 -5.22242 38.0572 -84.45 + 99 119.159 1090 4 0 -5.22416 38.052 -85.85 + 99 131.336 873 3 1 -5.25585 37.9497 -114.45 + 99 154.658 1089 3 0 -5.25959 37.9455 -115.85 + 99 173.196 873 2 1 -5.33046 37.8519 -144.45 + 99 133.127 1088 2 0 -5.33075 37.8454 -145.85 + 99 120.565 873 1 1 -5.33803 37.6967 -174.45 + 99 349.6 1088 1 0 -5.3269 37.6879 -175.85 + 99 101.456 874 0 1 -5.1115 37.5129 -204.45 + 99 157.488 1087 0 0 -5.1082 37.5068 -205.85 + 99 14.6647 988 1 0 31.004 17.85 -176.117 + 99 46.4452 490 3 1 -81.9831 -96.2739 -114.45 + 99 15.4182 1114 0 0 -1.14573 43.0047 -206.249 + 99 210.941 1115 0 0 -1.13516 43.05 -206.206 + 99 60.8035 1116 0 0 -1.08471 43.25 -206.002 + 99 206.686 895 0 1 -0.967091 44.2705 -204.85 + 99 110.757 1092 1 0 -10.2154 38.5509 -176.25 + 99 3.81599 1091 1 0 -10.3501 38.45 -175.86 + 99 1.4237 847 1 1 -10.6479 38.0981 -174.85 + 99 173.653 846 1 1 -10.6501 38.0957 -174.843 + 99 67.1587 848 1 1 -10.2528 37.6128 -174.45 + 99 178.531 849 1 1 -10.25 37.6428 -174.623 + 99 10.8979 850 1 1 -10.05 37.8075 -174.823 + 99 37.0218 1090 1 0 -9.30362 38.0671 -175.85 + 99 86.3888 1089 1 0 -9.26616 38.05 -175.946 + 99 121.063 875 6 1 -5.05 38.1904 -24.5698 + 99 129.918 341 1 0 119.07 -111.904 -176.25 + 99 116.373 342 1 0 119.286 -111.75 -176.151 + 99 66.2723 343 1 0 119.55 -111.55 -175.938 + 99 34.9815 1502 1 1 120.643 -111.086 -174.85 + 99 70.3839 1503 1 1 120.75 -111.065 -174.803 + 99 231.068 1504 1 1 120.95 -111.018 -174.74 + 99 109.178 1505 1 1 121.15 -110.506 -174.498 + 99 167.398 1506 1 1 121.35 -110.316 -174.526 + 99 92.6515 1507 1 1 121.55 -109.939 -174.456 + 99 84.0907 1508 1 1 121.75 -109.863 -174.585 + 99 88.6838 1509 1 1 121.95 -109.921 -174.723 + 99 252.075 1510 1 1 122.15 -109.962 -174.724 + 99 183.161 1091 5 0 -5.24235 38.3705 -55.9337 + 99 96.2223 873 4 1 -5.33633 38.7091 -84.45 + 99 119.438 1093 4 0 -5.38372 38.7392 -85.85 + 99 178.209 871 3 1 -5.67001 39.3214 -114.45 + 99 81.8072 1096 3 0 -5.72733 39.4258 -115.85 + 99 30.2606 1097 3 0 -5.74305 39.45 -116.174 + 99 22.1373 864 2 1 -7.24488 41.6673 -144.45 + 99 85.1335 863 2 1 -7.25 41.6701 -144.535 + 99 131.199 1108 2 0 -7.32681 41.7051 -145.85 + 99 117.129 855 1 1 -8.94337 42.5978 -174.45 + 99 152.645 1112 1 0 -9.04931 42.62 -175.85 + 99 192.317 844 0 1 -11.0829 43.507 -204.45 + 99 104.496 1091 4 0 -5.12081 38.4235 -85.85 + 99 132.681 872 3 1 -5.5998 38.3663 -114.45 + 99 166.54 1091 3 0 -5.49925 38.3176 -115.85 + 99 140.291 883 2 1 -3.40468 37.1338 -144.45 + 99 156.773 1084 2 0 -3.36425 37.0395 -145.85 + 99 147.212 888 1 1 -2.43923 34.9567 -174.45 + 99 113.217 1074 1 0 -2.38786 34.9282 -175.85 + 99 107.059 892 0 1 -1.63582 34.5013 -204.45 + 99 115.909 1072 0 0 -1.67914 34.4639 -205.85 + 99 101.992 284 0 0 16.9587 -123.15 -206.085 + 99 137.883 281 0 0 17.0096 -123.75 -206.169 + 99 87.0941 283 0 0 16.983 -123.35 -206.015 + 99 59.6888 282 0 0 16.8891 -123.55 -205.877 + 99 1.53202 981 0 1 16.2505 -124.676 -204.85 + 99 115.915 980 0 1 16.25 -124.677 -204.849 + 99 335.257 275 0 0 15.9558 -125.092 -205.85 + 99 22.5089 1085 2 0 -3.41567 37.05 -146.225 + 99 21.6396 1480 2 0 -71.0091 116.308 -146.25 + 99 236.832 1245 2 0 -118.098 69.1471 -146.25 +Number of digits in this event: 42 Run terminated. Run Summary Number of events processed : 100 - User=48.130000s Real=49.763542s Sys=0.020000s + User=45.490000s Real=47.169535s Sys=0.020000s End of Run 2 There are histograms that can be viewed with visualization: 6 h1 histograms(s) @@ -16763,6 +16611,6 @@ There are histograms that can be viewed with visualization: Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 21 of which, static: 0 -Dynamic pools deleted: 21 / Total memory freed: 0.28 MB +Number of memory pools allocated: 19 of which, static: 0 +Dynamic pools deleted: 19 / Total memory freed: 0.19 MB ============================================================ diff --git a/examples/advanced/gorad/gorad.out b/examples/advanced/gorad/gorad.out index ffdc39a752d..8f3cf810e12 100644 --- a/examples/advanced/gorad/gorad.out +++ b/examples/advanced/gorad/gorad.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -220,19 +220,19 @@ Index : 3 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 100000 - User=153.380000s Real=163.747664s Sys=0.100000s + User=152.610000s Real=158.345588s Sys=0.030000s /control/doifBatch /score/dumpAllQuantitiesToFile Probes Probes.csv /score/dumpAllQuantitiesToFile Probes Probes.csv # Mesh or volume name: Probes -- # Primitive scorer name: dose - bin 0,0,0 : statistical error 39.1279(%) - to reduce the statistical error below 10%, increase number of events approximately 15.3099 times. + bin 0,0,0 : statistical error 27.747(%) + to reduce the statistical error below 10%, increase number of events approximately 7.69898 times. # Mesh or volume name: Probes -- # Primitive scorer name: protonFlux - bin 0,0,0 : statistical error 35.5209(%) - to reduce the statistical error below 10%, increase number of events approximately 12.6174 times. + bin 0,0,0 : statistical error 33.5269(%) + to reduce the statistical error below 10%, increase number of events approximately 11.2405 times. # Mesh or volume name: Probes -- # Primitive scorer name: volFlx - bin 0,0,0 : statistical error 36.8385(%) - to reduce the statistical error below 10%, increase number of events approximately 13.5707 times. + bin 0,0,0 : statistical error 26.7392(%) + to reduce the statistical error below 10%, increase number of events approximately 7.14983 times. ================== Deleting memory pools =================== Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 1.2 MB +Dynamic pools deleted: 12 / Total memory freed: 2.4 MB ============================================================ diff --git a/examples/advanced/gorad/simpleCone.gdml b/examples/advanced/gorad/simpleCone.gdml index 80afabc110a..ee735ac014d 100644 --- a/examples/advanced/gorad/simpleCone.gdml +++ b/examples/advanced/gorad/simpleCone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/hadrontherapy/History b/examples/advanced/hadrontherapy/History index 3a2ca5ec57b..8b4895755a1 100644 --- a/examples/advanced/hadrontherapy/History +++ b/examples/advanced/hadrontherapy/History @@ -6,10 +6,13 @@ It must **not** be used as a substitute for writing good git commit messages! ------------------------------------------------------------------------------- -## 2024-04-24 Gabriele Cosmo (hadrontherapy-V11-01-02) +## 2024-04-24 Gabriele Cosmo (hadrontherapy-V11-02-01) - Fixed compilation error on Windows VC++ with C++20 Standard enabled. Make proper use of G4String in HadrontherapyInteractionParameters. +## 2024-03-27 A. Sciuto (hadrontherapy-V11-02-00) +- Update of the laser beamline macro and physics list + ## 2023-11-15 I. Hrivnacova (hadrontherapy-V11-01-01) - Updated macros using /vis/open: - Added a commented line for calling 'vis/open' without parameter diff --git a/examples/advanced/hadrontherapy/hadrontherapy.out b/examples/advanced/hadrontherapy/hadrontherapy.out index 2069514eb7b..edafedad16a 100644 --- a/examples/advanced/hadrontherapy/hadrontherapy.out +++ b/examples/advanced/hadrontherapy/hadrontherapy.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -45,14 +45,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -309,9 +316,9 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2ggOKVI : Emin= 0 eV Emax= 100 TeV CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 Lambda table from 100 MeV to 100 TeV, 20 bins/decade, spline: 0 @@ -694,12 +701,12 @@ Run 0 starts ... Run terminated. Run Summary Number of events processed : 500 - User=5.450000s Real=6.219716s Sys=0.070000s + User=5.250000s Real=5.568770s Sys=0.100000s Graphics systems deleted. Visualization Manager deleting... -The simulation took: 9.17605 s to run (real time) +The simulation took: 8.78874 s to run (real time) Dose is being written to Dose.out i j k Dose(Gy)================== Deleting memory pools =================== -Number of memory pools allocated: 14 of which, static: 0 -Dynamic pools deleted: 14 / Total memory freed: 0.28 MB +Number of memory pools allocated: 12 of which, static: 0 +Dynamic pools deleted: 12 / Total memory freed: 0.32 MB ============================================================ diff --git a/examples/advanced/hadrontherapy/macro/laserDrivenBeamline.mac b/examples/advanced/hadrontherapy/macro/laserDrivenBeamline.mac index 944dc81b244..42c21800750 100644 --- a/examples/advanced/hadrontherapy/macro/laserDrivenBeamline.mac +++ b/examples/advanced/hadrontherapy/macro/laserDrivenBeamline.mac @@ -39,10 +39,18 @@ /gps/pos/radius 0.0 mm /gps/pos/sigma_r 0.1 mm +# the incident surface is in the y-z plane +# +/gps/pos/rot1 0 1 0 +/gps/pos/rot2 0 0 1 + +# the beam is travelling along the x-axis without any angular dispersion (angular despersion set to 0.0) +# /gps/ang/rot1 0 0 1 /gps/ang/rot2 0 1 0 -/gps/pos/rot1 0 0 1 -/gps/pos/rot2 0 1 0 +/gps/ang/type beam1d +/gps/ang/sigma_r 0.028 deg + # ###########the beam energy is in gaussian profile #/gps/ene/type Gauss #/gps/ene/mono 7 MeV @@ -67,9 +75,14 @@ /gps/ene/ezero 2.272727273 ###################################################################### -###/vis/scene/create -###/vis/open OGL -####/vis/open ## open the default viewer +/vis/open OGLI 600x600-0+0 + +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors + +/vis/drawVolume /vis/viewer/set/background white /vis/viewer/set/viewpointThetaPhi 60 130 /vis/viewer/zoom 1.0 diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc index 59a0f77debd..8c012cc0cc1 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc @@ -30,9 +30,11 @@ // ****** SUGGESTED PHYSICS FOR ACCURATE SIMULATIONS ********* // ****** IN MEDICAL PHYSICS APPLICATIONS ********* // -// 'HADRONTHERAPY_1' and 'HADRONTHERAPY_2' are both suggested; +// 'HADRONTHERAPY_1' is more suited for protons only +// 'HADRONTHERAPY_2' is suggested for better precision with ions +// 'HADRONTHERAPY_3' test that uses Bertini cascade // It can be activated inside any macro file using the command: -// /Physics/addPhysics HADRONTHERAPY_1 (HADRONTHERAPY_2) +// /Physics/addPhysics HADRONTHERAPY_1 (HADRONTHERAPY_2) (HADRONTHERAPY_3) #include "G4SystemOfUnits.hh" #include "G4RunManager.hh" @@ -61,10 +63,14 @@ #include "G4ProcessManager.hh" #include "G4IonFluctuations.hh" #include "G4IonParametrisedLossModel.hh" +#include "G4EmParameters.hh" #include "G4ParallelWorldPhysics.hh" #include "G4EmLivermorePhysics.hh" #include "G4AutoDelete.hh" #include "G4HadronPhysicsQGSP_BIC_AllHP.hh" +#include "QGSP_BIC_HP.hh" +#include "G4HadronPhysicsQGSP_BERT.hh" +#include "G4HadronPhysicsQGSP_BERT_HP.hh" ///////////////////////////////////////////////////////////////////////////// HadrontherapyPhysicsList::HadrontherapyPhysicsList() : G4VModularPhysicsList() @@ -176,7 +182,7 @@ void HadrontherapyPhysicsList::AddPhysicsList(const G4String& name) } else if (name == "HADRONTHERAPY_2") { - // HP models are switched off + AddPhysicsList("standard_opt4"); hadronPhys.push_back( new G4DecayPhysics()); hadronPhys.push_back( new G4RadioactiveDecayPhysics()); @@ -184,10 +190,26 @@ void HadrontherapyPhysicsList::AddPhysicsList(const G4String& name) hadronPhys.push_back( new G4EmExtraPhysics()); hadronPhys.push_back( new G4HadronElasticPhysics()); hadronPhys.push_back( new G4StoppingPhysics()); - hadronPhys.push_back( new G4HadronPhysicsQGSP_BIC()); + hadronPhys.push_back( new G4HadronPhysicsQGSP_BIC_AllHP()); hadronPhys.push_back( new G4NeutronTrackingCut()); - G4cout << "HADRONTHERAPY_2 PHYSICS LIST has been activated" << G4endl; } + G4cout << "HADRONTHERAPY_2 PHYSICS LIST has been activated" << G4endl; + } + + else if (name == "HADRONTHERAPY_3"){ + AddPhysicsList("standard_opt4"); + hadronPhys.push_back( new G4DecayPhysics()); + hadronPhys.push_back( new G4RadioactiveDecayPhysics()); + hadronPhys.push_back( new G4IonBinaryCascadePhysics()); + hadronPhys.push_back( new G4EmExtraPhysics()); + hadronPhys.push_back( new G4HadronElasticPhysics()); + hadronPhys.push_back( new G4StoppingPhysics()); + hadronPhys.push_back( new G4HadronPhysicsQGSP_BERT_HP()); + hadronPhys.push_back( new G4NeutronTrackingCut()); + + G4cout << "HADRONTHERAPY_3 PHYSICS LIST has been activated" << G4endl; + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << " is not defined" @@ -204,6 +226,7 @@ void HadrontherapyPhysicsList::AddStepMax() // HadrontherapyStepMax* stepMaxProcess = new HadrontherapyStepMax(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); while ((*particleIterator)()){ diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml index c40e4374603..210f3586bd3 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml index 3cc3b2b6048..ae2b31bf0f5 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml index 8bec473b8e5..99f5830a5d6 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml index ac5c292c2b7..acf56ef7e6a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml index 897c643bfd7..cf75d82ee55 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml index 1f870fde296..0ea7fd7d19e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml index 9cd3ed964ec..e45d37047af 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml index ba388bfc4f5..e276af774fb 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml index 1185028cbf8..a4a7eb869ad 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml index 829ba030ba8..12b73f0c5f2 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml index eee7fed869f..ead8ec9afdc 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml index 6171b9d18d1..cfbaa264a4a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml index 395c41bbf00..e6be9d38bb9 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml index 8e770150b3d..e04f4fb0fd3 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml index b6917c3c92c..913052a608c 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml index 59adc107db3..1fa2b1fead9 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml index 0498deee57c..1d4c1143b33 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml index 19db8cfb987..698da4699fe 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml index dc339787905..5fbaccda510 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml index aec8ce36e42..429be0bf1c1 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml index 1193a639452..8c277abdfb3 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml index b5cb04922be..0e81831df60 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml index 04b0fc6efb0..02634bca98a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml index 3f4855ebecf..52b494476e0 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml index 30aa18c2d07..91a4f75d27a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml index 55515c6e001..a926f1e5957 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml index ea464e0239e..cf73e45ef90 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml index 4484477114a..f70a54c339c 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml index 930fc4d056d..b56ee2b654b 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml index c9152960713..0342fb5af05 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml @@ -1,6 +1,6 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml index 469d2684556..14ecfdd2d68 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml index d2b2c1a6a57..386959f0282 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml index 43b49783ae2..c6b960bc497 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml index 3bee6141823..dbf23461b80 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml index f777c012ae4..aeee6226831 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml index 1bf572625ce..b793fed3a43 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml index bfe04bcf28f..b800f5d3caa 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml index 3de6645830e..36ecac9b73b 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml index 2c81537f9b9..02717a8e59a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml index e2e77c1c2f6..986e71d564e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml index 59295c98463..51ce9ed28a3 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml index 4041b8b9feb..386827eb695 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml index 7aae1f9faf7..7e3fc99ba02 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml index 2cab509ee6c..d931ceb7d17 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml index a22607dabdc..646bece11c0 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml index 5199f482a40..1e1d4099a7c 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml index 75f3cab32aa..c8944c28840 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml index 2bf6bf776ae..69c88227e74 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml index 646173a8e5d..b79e6ca3223 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml index 5b64a9ae1e5..c6c1ebd0718 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml index 50c42156f60..20e20c5b774 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml index d6ed8174244..32f9c0b2424 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml index 73c827baad0..1c818232cd1 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml index 480f36c114a..5db6b694448 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml index 657dff5d8c0..39c3112110f 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml index 2f68054a010..8338ce9ee9f 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml index 41a9236fb8a..5dd3fcf26e2 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml index c40e4374603..210f3586bd3 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 3cc3b2b6048..ae2b31bf0f5 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/MIRDHead.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDHead.gdml index 64ccc82eedc..37719d78058 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml index 897c643bfd7..cf75d82ee55 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml index 1f870fde296..0ea7fd7d19e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml index 9cd3ed964ec..e45d37047af 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml index ba388bfc4f5..e276af774fb 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.gdml index 1185028cbf8..a4a7eb869ad 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.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 829ba030ba8..12b73f0c5f2 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml index eee7fed869f..ead8ec9afdc 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml index 6171b9d18d1..cfbaa264a4a 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml index 8e770150b3d..e04f4fb0fd3 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml index b6917c3c92c..913052a608c 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml index 59adc107db3..1fa2b1fead9 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml index 0498deee57c..1d4c1143b33 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml index 19db8cfb987..698da4699fe 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml index dc339787905..5fbaccda510 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml index e76a843f0f2..1084316cede 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml index 1193a639452..8c277abdfb3 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml index b5cb04922be..0e81831df60 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml index 04b0fc6efb0..02634bca98a 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml index afe33a816bc..2868cc0544b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml @@ -1,6 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml index 55515c6e001..a926f1e5957 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml index 6951aa198b9..60404b6130c 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml index 91f05f277a8..f4b3613f20c 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml index 772325406a0..8d6140177af 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml index 222ff4d539b..b56ee2b654b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml @@ -1,6 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml index 469d2684556..14ecfdd2d68 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml index d2b2c1a6a57..386959f0282 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml index bf198755b7d..2a4c17717ca 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml index 993baeabdef..b7c9c1e548c 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml index 0f4d4b4a985..d4adfa61aa9 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml index eada3664bd9..f7338b838a2 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml index aa789112596..8bc46c82535 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml index 3de6645830e..36ecac9b73b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml index 5ec2839cfd3..6548ee7b071 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml index 2c81537f9b9..02717a8e59a 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml index e2e77c1c2f6..986e71d564e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml index 59295c98463..51ce9ed28a3 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml index ee05ecdcb4c..386827eb695 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml @@ -1,6 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml index 2cab509ee6c..d931ceb7d17 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml index a22607dabdc..646bece11c0 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml index 5199f482a40..1e1d4099a7c 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml index 865c74c3fa2..b4e058d0fc7 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml index 646173a8e5d..b79e6ca3223 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml index 5b64a9ae1e5..c6c1ebd0718 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml index 50c42156f60..20e20c5b774 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml index 59c087664ce..2b821ba019a 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml index 5c53a23defb..468803a440f 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml index 65039c180d2..e9acfc5e943 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml index 657dff5d8c0..39c3112110f 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml index 2f68054a010..8338ce9ee9f 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/human_phantom.out b/examples/advanced/human_phantom/human_phantom.out index 6e7bc12e7f7..e142d40da0f 100644 --- a/examples/advanced/human_phantom/human_phantom.out +++ b/examples/advanced/human_phantom/human_phantom.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -114,10 +121,10 @@ sensitivity : 0 Construct Skull with mother volume physicalHead Checking overlaps for volume physicalSkull:0 (G4SubtractionSolid) ... OK! Skull created !!!!!! -Volume of Skull = 855.106 cm^3 +Volume of Skull = 846.921 cm^3 Material of Skull = skeleton Density of Material = 1.4862 g/cm^3 -Mass of Skull = 1270.86 g +Mass of Skull = 1258.69 g Construct Brain with mother physicalHead Checking overlaps for volume physicalBrain:0 (G4Ellipsoid) ... OK! Volume of Brain = 1470.27 cm^3 @@ -192,28 +199,28 @@ sensitivity : 0 Construct UpperSpine with mother volume physicalHead Checking overlaps for volume physicalUpperSpine:0 (G4SubtractionSolid) ... OK! UpperSpine created !!!!!! -Volume of UpperSpine = 126.407 cm^3 +Volume of UpperSpine = 126.45 cm^3 Material of UpperSpine = skeleton Density of Material = 1.4862 g/cm^3 -Mass of UpperSpine = 187.866 g +Mass of UpperSpine = 187.93 g MotherVolume: physicalTrunk sensitivity : 0 Construct LeftScapula with mother volume physicalTrunk Checking overlaps for volume physicalLeftScapula:0 (G4SubtractionSolid) ... OK! LeftScapula created !!!!!! -Volume of LeftScapula = 105.061 cm^3 +Volume of LeftScapula = 91.848 cm^3 Material of LeftScapula = skeleton Density of Material = 1.4862 g/cm^3 -Mass of LeftScapula = 156.141 g +Mass of LeftScapula = 136.505 g MotherVolume: physicalTrunk sensitivity : 0 Construct RightScapula with mother volume physicalTrunk Checking overlaps for volume physicalRightScapula:0 (G4SubtractionSolid) ... OK! RightScapula created !!!!!! -Volume of RightScapula = 78.6764 cm^3 +Volume of RightScapula = 106.747 cm^3 Material of RightScapula = skeleton Density of Material = 1.4862 g/cm^3 -Mass of RightScapula = 116.929 g +Mass of RightScapula = 158.647 g Construct LeftAdrenal with mother physicalTrunk Checking overlaps for volume physicalLeftAdrenal:0 (G4Ellipsoid) ... OK! Left LeftAdrenal created !!!!!! @@ -256,10 +263,10 @@ Mass of RightClavicle = 20.3099 g Construct SmallIntestine with mother volume physicalTrunk Checking overlaps for volume physicalSmallIntestine:0 (G4SubtractionSolid) ... OK! SmallIntestine created !!!!!! -Volume of SmallIntestine = 1020.69 cm^3 +Volume of SmallIntestine = 1020.2 cm^3 Material of SmallIntestine = soft_tissue Density of Material = 0.9869 g/cm^3 -Mass of SmallIntestine = 1007.32 g +Mass of SmallIntestine = 1006.83 g Construct RibCage with mother volume physicalTrunk Checking overlaps for volume physicalRibCage:0 (G4SubtractionSolid) ... OK! Checking overlaps for volume physicalRib:0 (G4SubtractionSolid) ... OK! @@ -275,10 +282,10 @@ Checking overlaps for volume physicalRib:0 (G4SubtractionSolid) ... OK! Checking overlaps for volume physicalRib:0 (G4SubtractionSolid) ... OK! Checking overlaps for volume physicalRib:0 (G4SubtractionSolid) ... OK! RibCage created !!!!!! -Volume of RibCage = 676.05 cm^3 +Volume of RibCage = 692.88 cm^3 Material of RibCage = skeleton Density of Material = 1.4862 g/cm^3 -Mass of RibCage = 1004.75 g +Mass of RibCage = 1029.76 g MotherVolume: physicalTrunk sensitivity : 0 Construct MiddleLowerSpine with mother volume physicalTrunk @@ -291,10 +298,10 @@ Mass of MiddleLowerSpine = 1120.57 g Construct Pelvis with mother volume physicalTrunk Checking overlaps for volume physicalPelvis:0 (G4SubtractionSolid) ... OK! Pelvis created !!!!!! -Volume of Pelvis = 622.268 cm^3 +Volume of Pelvis = 606.07 cm^3 Material of Pelvis = skeleton Density of Material = 1.4862 g/cm^3 -Mass of Pelvis = 924.814 g +Mass of Pelvis = 900.741 g Construct Stomach with mother volume physicalTrunk Checking overlaps for volume physicalStomach:0 (G4Ellipsoid) ... OK! Stomach created !!!!!! @@ -326,40 +333,40 @@ Mass of Spleen = 173.625 g Construct Pancreas with mother volume physicalTrunk Checking overlaps for volume physicalPancreas:0 (G4SubtractionSolid) ... OK! Pancreas created !!!!!! -Volume of Pancreas = 61.0779 cm^3 +Volume of Pancreas = 61.101 cm^3 Material of Pancreas = soft_tissue Density of Material = 0.9869 g/cm^3 -Mass of Pancreas = 60.2778 g +Mass of Pancreas = 60.3006 g Construct LeftKidney with mother volume physicalTrunk Checking overlaps for volume physicalLeftKidney:0 (G4SubtractionSolid) ... OK! Left LeftKidney created !!!!!! -Volume of LeftKidney = 143.927 cm^3 +Volume of LeftKidney = 144.001 cm^3 Material of LeftKidney = soft_tissue Density of Material = 0.9869 g/cm^3 -Mass of LeftKidney = 142.042 g +Mass of LeftKidney = 142.115 g Construct RightKidney with mother volume physicalTrunk Checking overlaps for volume physicalRightKidney:0 (G4SubtractionSolid) ... OK! RightKidney created !!!!!! -Volume of RightKidney = 144.006 cm^3 +Volume of RightKidney = 143.986 cm^3 Material of RightKidney = soft_tissue Density of Material = 0.9869 g/cm^3 -Mass of RightKidney = 142.119 g +Mass of RightKidney = 142.1 g Construct UrinaryBladder with mother volume physicalTrunk Checking overlaps for volume physicalUrinaryBladder:0 (G4SubtractionSolid) ... OK! UrinaryBladder created !!!!!! -Volume of UrinaryBladder = 46.8431 cm^3 +Volume of UrinaryBladder = 45.7615 cm^3 Material of UrinaryBladder = soft_tissue Density of Material = 0.9869 g/cm^3 -Mass of UrinaryBladder = 46.2295 g +Mass of UrinaryBladder = 45.1621 g MotherVolume: physicalWorld sensitivity : 0 Construct MaleGenitalia with mother volume physicalWorld Checking overlaps for volume physicalMaleGenitalia:0 (G4SubtractionSolid) ... OK! MaleGenitalia created !!!!!! -Volume of MaleGenitalia = 230.278 cm^3 +Volume of MaleGenitalia = 229.106 cm^3 Material of MaleGenitalia = soft_tissue Density of Material = 0.9869 g/cm^3 -Mass of MaleGenitalia = 227.261 g +Mass of MaleGenitalia = 226.105 g MotherVolume: physicalWorld sensitivity : 0 Construct LeftTeste with mother volume physicalMaleGenitalia @@ -578,9 +585,9 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2ggOKVI : Emin= 0 eV Emax= 100 TeV CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 Lambda table from 100 MeV to 100 TeV, 20 bins/decade, spline: 0 @@ -929,54 +936,53 @@ See commands in /vis/modeling/trajectories/ for other options. ... create ntuple T column : edep ntupleId 1 - done Number of events = 100 Energy Total in Run:logicalBrain, ID: 0, Energy Deposition (MeV): 0 -Energy Total in Run:logicalHead, ID: 1, Energy Deposition (MeV): 2.36397 -Analysis: organ 1 edep: 2.36397 +Energy Total in Run:logicalHead, ID: 1, Energy Deposition (MeV): 4.63096 +Analysis: organ 1 edep: 4.63096 Energy Total in Run:logicalHeart, ID: 2, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftAdrenal, ID: 3, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftArmBone, ID: 4, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftBreast, ID: 5, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftClavicle, ID: 6, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftKidney, ID: 7, Energy Deposition (MeV): 0 -Energy Total in Run:logicalLeftLeg, ID: 8, Energy Deposition (MeV): 9.27823 -Analysis: organ 8 edep: 9.27823 +Energy Total in Run:logicalLeftLeg, ID: 8, Energy Deposition (MeV): 14.3441 +Analysis: organ 8 edep: 14.3441 Energy Total in Run:logicalLeftLegBone, ID: 9, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftLung, ID: 10, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftOvary, ID: 11, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftScapula, ID: 12, Energy Deposition (MeV): 0 Energy Total in Run:logicalLeftTeste, ID: 13, Energy Deposition (MeV): 0 Energy Total in Run:logicalLowerLargeIntestine, ID: 14, Energy Deposition (MeV): 0 -Energy Total in Run:logicalMaleGenitalia, ID: 15, Energy Deposition (MeV): 0.432806 -Analysis: organ 15 edep: 0.432806 +Energy Total in Run:logicalMaleGenitalia, ID: 15, Energy Deposition (MeV): 0 Energy Total in Run:logicalMiddleLowerSpine, ID: 16, Energy Deposition (MeV): 0 Energy Total in Run:logicalPancreas, ID: 17, Energy Deposition (MeV): 0 Energy Total in Run:logicalPelvis, ID: 18, Energy Deposition (MeV): 0 -Energy Total in Run:logicalRibCage, ID: 19, Energy Deposition (MeV): 0 +Energy Total in Run:logicalRibCage, ID: 19, Energy Deposition (MeV): 0.659836 +Analysis: organ 19 edep: 0.659836 Energy Total in Run:logicalRightAdrenal, ID: 20, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightArmBone, ID: 21, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightBreast, ID: 22, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightClavicle, ID: 23, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightKidney, ID: 24, Energy Deposition (MeV): 0 -Energy Total in Run:logicalRightLeg, ID: 25, Energy Deposition (MeV): 11.4088 -Analysis: organ 25 edep: 11.4088 +Energy Total in Run:logicalRightLeg, ID: 25, Energy Deposition (MeV): 10.6217 +Analysis: organ 25 edep: 10.6217 Energy Total in Run:logicalRightLegBone, ID: 26, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightLung, ID: 27, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightOvary, ID: 28, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightScapula, ID: 29, Energy Deposition (MeV): 0 Energy Total in Run:logicalRightTeste, ID: 30, Energy Deposition (MeV): 0 -Energy Total in Run:logicalSkull, ID: 31, Energy Deposition (MeV): 0.492809 -Analysis: organ 31 edep: 0.492809 +Energy Total in Run:logicalSkull, ID: 31, Energy Deposition (MeV): 0 Energy Total in Run:logicalSmallIntestine, ID: 32, Energy Deposition (MeV): 0 Energy Total in Run:logicalSpleen, ID: 33, Energy Deposition (MeV): 0 Energy Total in Run:logicalStomach, ID: 34, Energy Deposition (MeV): 0 Energy Total in Run:logicalThymus, ID: 35, Energy Deposition (MeV): 0 Energy Total in Run:logicalThyroid, ID: 36, Energy Deposition (MeV): 0 -Energy Total in Run:logicalTrunk, ID: 37, Energy Deposition (MeV): 36.2498 -Analysis: organ 37 edep: 36.2498 +Energy Total in Run:logicalTrunk, ID: 37, Energy Deposition (MeV): 23.6957 +Analysis: organ 37 edep: 23.6957 Energy Total in Run:logicalUpperLargeIntestine, ID: 38, Energy Deposition (MeV): 0 Energy Total in Run:logicalUpperSpine, ID: 39, Energy Deposition (MeV): 0 Energy Total in Run:logicalUrinaryBladder, ID: 40, Energy Deposition (MeV): 0 Energy Total in Run:logicalUterus, ID: 41, Energy Deposition (MeV): 0 -Total Energy deposit in the body is: 60.2264 MeV +Total Energy deposit in the body is: 53.9523 MeV ... write file : human_phantom.root - done ... close file : human_phantom.root - done ... clear files - done diff --git a/examples/advanced/iort_therapy/iort_therapy.out b/examples/advanced/iort_therapy/iort_therapy.out index cc7dd516f90..910d85f7697 100644 --- a/examples/advanced/iort_therapy/iort_therapy.out +++ b/examples/advanced/iort_therapy/iort_therapy.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -41,14 +41,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -283,7 +290,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -596,11 +603,11 @@ Run 0 starts ... Run terminated. Run Summary Number of events processed : 2000 - User=10.160000s Real=11.616344s Sys=0.290000s + User=10.500000s Real=11.982035s Sys=0.390000s /score/dumpQuantityToFile boxMesh_1 dose dose.out Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 0.21 MB +Number of memory pools allocated: 10 of which, static: 0 +Dynamic pools deleted: 10 / Total memory freed: 0.16 MB ============================================================ diff --git a/examples/advanced/lAr_calorimeter/lAr_calorimeter.out b/examples/advanced/lAr_calorimeter/lAr_calorimeter.out index e570e894fa5..fdb9309ec2e 100644 --- a/examples/advanced/lAr_calorimeter/lAr_calorimeter.out +++ b/examples/advanced/lAr_calorimeter/lAr_calorimeter.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -49,14 +49,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -246,7 +253,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -802,7 +809,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -959,352 +966,352 @@ Read 2001 events from file data-tracks/tracks-20GeV.dat ---> Begin of event: 1 **** Primary : 1 Vertex : (5.55552,7.16569,32740) -Number of F1 Tiles with Positive energy : 68 +Number of F1 Tiles with Positive energy : 54 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.71242 4.9915 3.39494 +1.71242 3.03537 4.01962 Visible Energy in Hole Counter (MeV) -0 97.2195 +0 105.358 Visible Energy in Upstream Dead Materials -1593.29 +1787.77 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 56 +N Tracks out of world 66 N Secondaries 86 -EmEdep is=17275.1 MeV -HadEdep is=0.000679351 MeV -Edep in FCAL1 FCAl2 : 17275.1 0.000679351 +EmEdep is=16838.4 MeV +HadEdep is=0.702707 MeV +Edep in FCAL1 FCAl2 : 16838.4 0.702707 **** Primary : 2 Vertex : (-3.76032,10.9751,32740) -Number of F1 Tiles with Positive energy : 52 +Number of F1 Tiles with Positive energy : 59 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -2.53648 1.59117 1.79035 +1.94926 1.48626 1.79314 Visible Energy in Hole Counter (MeV) -0 0 +0 87.2435 Visible Energy in Upstream Dead Materials -156.103 +619.728 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 18 -N Secondaries 152 -EmEdep is=18255.7 MeV -HadEdep is=5.63652 MeV -Edep in FCAL1 FCAl2 : 18255.7 5.63652 +N Tracks out of world 34 +N Secondaries 148 +EmEdep is=18226 MeV +HadEdep is=0.22609 MeV +Edep in FCAL1 FCAl2 : 18226 0.22609 **** Primary : 3 Vertex : (13.1951,2.677,32740) -Number of F1 Tiles with Positive energy : 45 +Number of F1 Tiles with Positive energy : 40 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.71668 1.58931 1.60901 +2.20047 1.71766 1.68862 Visible Energy in Hole Counter (MeV) 0 0 Visible Energy in Upstream Dead Materials -4.35506 +5.10483 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 N Tracks out of world 1 -N Secondaries 203 -EmEdep is=19822.2 MeV +N Secondaries 314 +EmEdep is=19667.2 MeV HadEdep is=0 MeV -Edep in FCAL1 FCAl2 : 19822.2 0 +Edep in FCAL1 FCAl2 : 19667.2 0 **** Primary : 4 Vertex : (-8.66148,-8.80731,32740) -Number of F1 Tiles with Positive energy : 43 +Number of F1 Tiles with Positive energy : 50 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.83102 1.85519 1.81114 +1.78339 1.90408 1.91952 Visible Energy in Hole Counter (MeV) 0 0 Visible Energy in Upstream Dead Materials -5.65585 +1.32055 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 2 -N Secondaries 219 -EmEdep is=19869.4 MeV -HadEdep is=2.23224 MeV -Edep in FCAL1 FCAl2 : 19869.4 2.23224 +N Tracks out of world 4 +N Secondaries 177 +EmEdep is=19819.1 MeV +HadEdep is=0 MeV +Edep in FCAL1 FCAl2 : 19819.1 0 **** Primary : 5 Vertex : (4.75859,7.01622,32740) -Number of F1 Tiles with Positive energy : 52 +Number of F1 Tiles with Positive energy : 55 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.68817 1.61972 1.76689 +1.68968 1.59558 1.64609 Visible Energy in Hole Counter (MeV) -0 62.3292 +0 27.9469 Visible Energy in Upstream Dead Materials -550.14 +449.874 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 21 -N Secondaries 150 -EmEdep is=18313.1 MeV -HadEdep is=0.0037856 MeV -Edep in FCAL1 FCAl2 : 18313.1 0.0037856 +N Tracks out of world 17 +N Secondaries 250 +EmEdep is=18472.6 MeV +HadEdep is=0 MeV +Edep in FCAL1 FCAl2 : 18472.6 0 **** Primary : 6 Vertex : (1.94335,14.9228,32740) -Number of F1 Tiles with Positive energy : 53 -Number of F2 tiles with Positive energy : 1 +Number of F1 Tiles with Positive energy : 45 +Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.61396 1.53111 3.32556 +1.48109 1.58706 2.12178 Visible Energy in Hole Counter (MeV) -0 58.2913 +0 0 Visible Energy in Upstream Dead Materials -552.304 +4.5501 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 25 -N Secondaries 81 -EmEdep is=18602.8 MeV -HadEdep is=12.9152 MeV -Edep in FCAL1 FCAl2 : 18602.8 12.9152 +N Tracks out of world 0 +N Secondaries 149 +EmEdep is=19856.4 MeV +HadEdep is=3.72131 MeV +Edep in FCAL1 FCAl2 : 19856.4 3.72131 **** Primary : 7 Vertex : (-10.9878,-6.7949,32740) -Number of F1 Tiles with Positive energy : 63 +Number of F1 Tiles with Positive energy : 43 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.51306 1.67009 1.82002 +1.59286 1.61245 1.7611 Visible Energy in Hole Counter (MeV) -0 85.4183 +0 3.92682 Visible Energy in Upstream Dead Materials -4128.44 +10.9716 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 134 -N Secondaries 189 -EmEdep is=14208.6 MeV -HadEdep is=0.835295 MeV -Edep in FCAL1 FCAl2 : 14208.6 0.835295 +N Tracks out of world 2 +N Secondaries 280 +EmEdep is=19894.6 MeV +HadEdep is=0.171978 MeV +Edep in FCAL1 FCAl2 : 19894.6 0.171978 **** Primary : 8 Vertex : (10.9757,-1.49585,32740) -Number of F1 Tiles with Positive energy : 36 +Number of F1 Tiles with Positive energy : 44 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.62321 1.84881 2.02099 +1.76941 1.87474 1.74408 Visible Energy in Hole Counter (MeV) 0 0 Visible Energy in Upstream Dead Materials -1.90341 +8.88674 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 2 -N Secondaries 149 -EmEdep is=19862.9 MeV -HadEdep is=4.658 MeV -Edep in FCAL1 FCAl2 : 19862.9 4.658 +N Tracks out of world 4 +N Secondaries 116 +EmEdep is=19743.6 MeV +HadEdep is=0.31416 MeV +Edep in FCAL1 FCAl2 : 19743.6 0.31416 **** Primary : 9 Vertex : (-27.7734,3.36444,32740) -Number of F1 Tiles with Positive energy : 76 +Number of F1 Tiles with Positive energy : 60 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.80847 1.60739 1.79025 +1.9015 1.63699 1.93183 Visible Energy in Hole Counter (MeV) -0 105.854 +0 24.721 Visible Energy in Upstream Dead Materials -7056.98 +4096.61 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 179 -N Secondaries 169 -EmEdep is=10726.1 MeV -HadEdep is=0.988062 MeV -Edep in FCAL1 FCAl2 : 10726.1 0.988062 +N Tracks out of world 90 +N Secondaries 133 +EmEdep is=14118.8 MeV +HadEdep is=1.09897 MeV +Edep in FCAL1 FCAl2 : 14118.8 1.09897 **** Primary : 10 Vertex : (-22.5474,4.1006,32740) -Number of F1 Tiles with Positive energy : 48 +Number of F1 Tiles with Positive energy : 67 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.59194 1.82933 4.66041 +1.74206 2.11785 1.72674 Visible Energy in Hole Counter (MeV) -0 3.33317 +0 51.6985 Visible Energy in Upstream Dead Materials -5.27419 +4093.14 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 6 -N Secondaries 124 -EmEdep is=19675 MeV -HadEdep is=0.890693 MeV -Edep in FCAL1 FCAl2 : 19675 0.890693 +N Tracks out of world 105 +N Secondaries 109 +EmEdep is=13961.3 MeV +HadEdep is=7.84935 MeV +Edep in FCAL1 FCAl2 : 13961.3 7.84935 ---> Begin of event: 11 **** Primary : 11 Vertex : (-6.31939,21.5056,32740) -Number of F1 Tiles with Positive energy : 46 +Number of F1 Tiles with Positive energy : 47 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -2.01736 1.6237 1.90986 +1.86092 1.45769 1.55882 Visible Energy in Hole Counter (MeV) -0 0 +0 11.7118 Visible Energy in Upstream Dead Materials -10.983 +346.529 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 3 -N Secondaries 167 -EmEdep is=19800.6 MeV -HadEdep is=0 MeV -Edep in FCAL1 FCAl2 : 19800.6 0 +N Tracks out of world 13 +N Secondaries 293 +EmEdep is=19473.2 MeV +HadEdep is=0.757227 MeV +Edep in FCAL1 FCAl2 : 19473.2 0.757227 **** Primary : 12 Vertex : (17.1015,6.30557,32740) -Number of F1 Tiles with Positive energy : 50 +Number of F1 Tiles with Positive energy : 45 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.45432 1.85167 1.9857 +1.67656 1.56069 1.90166 Visible Energy in Hole Counter (MeV) -0 60.6365 +0 0 Visible Energy in Upstream Dead Materials -1184.08 +16.3173 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 42 -N Secondaries 111 -EmEdep is=18194.1 MeV -HadEdep is=2.67499 MeV -Edep in FCAL1 FCAl2 : 18194.1 2.67499 +N Tracks out of world 7 +N Secondaries 181 +EmEdep is=19853.3 MeV +HadEdep is=0.00799249 MeV +Edep in FCAL1 FCAl2 : 19853.3 0.00799249 **** Primary : 13 Vertex : (-24.9484,11.8659,32740) -Number of F1 Tiles with Positive energy : 29 +Number of F1 Tiles with Positive energy : 26 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.7354 2.42865 2.01398 +2.52734 1.9948 1.57958 Visible Energy in Hole Counter (MeV) -0 97.344 +0 109.532 Visible Energy in Upstream Dead Materials -18220.7 +18282.8 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 155 -N Secondaries 128 -EmEdep is=791.351 MeV -HadEdep is=1.49588 MeV -Edep in FCAL1 FCAl2 : 791.351 1.49588 +N Tracks out of world 171 +N Secondaries 207 +EmEdep is=782.719 MeV +HadEdep is=0.0817231 MeV +Edep in FCAL1 FCAl2 : 782.719 0.0817231 **** Primary : 14 Vertex : (-0.133696,18.3151,32740) -Number of F1 Tiles with Positive energy : 45 +Number of F1 Tiles with Positive energy : 55 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -2.4865 1.79014 1.79737 +1.7771 2.3913 1.7495 Visible Energy in Hole Counter (MeV) -0 0 +0 12.162 Visible Energy in Upstream Dead Materials -4.35476 +528.473 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 2 -N Secondaries 126 -EmEdep is=19877.4 MeV +N Tracks out of world 23 +N Secondaries 151 +EmEdep is=19150.5 MeV HadEdep is=0 MeV -Edep in FCAL1 FCAl2 : 19877.4 0 +Edep in FCAL1 FCAl2 : 19150.5 0 **** Primary : 15 Vertex : (17.3196,17.6617,32740) -Number of F1 Tiles with Positive energy : 50 +Number of F1 Tiles with Positive energy : 44 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.63956 2.09371 2.41155 +1.66202 1.93621 1.99633 Visible Energy in Hole Counter (MeV) 0 0 Visible Energy in Upstream Dead Materials -36.4364 +18.5078 Visible Energy in Tail Catcher Scintillator -0.141564 0 0 0 0 0 0 +0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 27 -N Secondaries 146 -EmEdep is=19244.7 MeV -HadEdep is=0.374207 MeV -Edep in FCAL1 FCAl2 : 19244.7 0.374207 +N Tracks out of world 3 +N Secondaries 316 +EmEdep is=19656.1 MeV +HadEdep is=53.6198 MeV +Edep in FCAL1 FCAl2 : 19656.1 53.6198 **** Primary : 16 Vertex : (-20.8489,10.8988,32740) -Number of F1 Tiles with Positive energy : 74 +Number of F1 Tiles with Positive energy : 66 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.62122 1.85988 1.79687 +1.64353 2.81167 3.77534 Visible Energy in Hole Counter (MeV) -0 174.846 +0 81.6881 Visible Energy in Upstream Dead Materials -5085.66 +4596.04 Visible Energy in Tail Catcher Scintillator -0 8.49472e-05 0.0635719 0 0 0 0 +0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber -0.0105334 4.15553 0 0 0 0 -N Tracks out of world 136 -N Secondaries 263 -EmEdep is=12797.5 MeV -HadEdep is=0.796058 MeV -Edep in FCAL1 FCAl2 : 12797.5 0.796058 +0 0 0 0 0 0 +N Tracks out of world 122 +N Secondaries 117 +EmEdep is=13281.8 MeV +HadEdep is=0.510999 MeV +Edep in FCAL1 FCAl2 : 13281.8 0.510999 **** Primary : 17 Vertex : (-9.96316,-9.33478,32740) -Number of F1 Tiles with Positive energy : 44 +Number of F1 Tiles with Positive energy : 73 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.66461 2.16064 1.5446 +3.20939 1.88559 1.67226 Visible Energy in Hole Counter (MeV) -0 0 +0 145.451 Visible Energy in Upstream Dead Materials -8.79454 +5976.83 Visible Energy in Tail Catcher Scintillator -0 0 0 0 0 0 0 +0.0684642 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber -0 0 0 0 0 0 -N Tracks out of world 2 -N Secondaries 178 -EmEdep is=19822.5 MeV -HadEdep is=5.45474 MeV -Edep in FCAL1 FCAl2 : 19822.5 5.45474 +0.135019 0 0 0 0 0 +N Tracks out of world 191 +N Secondaries 126 +EmEdep is=10977.6 MeV +HadEdep is=1.86355 MeV +Edep in FCAL1 FCAl2 : 10977.6 1.86355 **** Primary : 18 Vertex : (-9.96316,-9.33478,32740) -Number of F1 Tiles with Positive energy : 38 +Number of F1 Tiles with Positive energy : 58 Number of F2 tiles with Positive energy : 0 Visisble Energy in S1 , S2 , S3 in (MeV) -1.85821 2.27817 4.04479 +1.60874 1.49478 1.98963 Visible Energy in Hole Counter (MeV) -0 0 +0 22.1513 Visible Energy in Upstream Dead Materials -16.659 +4122.52 Visible Energy in Tail Catcher Scintillator 0 0 0 0 0 0 0 Visible Energy in Tail Catcher Absorber 0 0 0 0 0 0 -N Tracks out of world 5 -N Secondaries 203 -EmEdep is=19838.2 MeV -HadEdep is=3.89468 MeV -Edep in FCAL1 FCAl2 : 19838.2 3.89468 +N Tracks out of world 83 +N Secondaries 157 +EmEdep is=14287 MeV +HadEdep is=0.740534 MeV +Edep in FCAL1 FCAl2 : 14287 0.740534 Run terminated. Run Summary Number of events processed : 18 - User=7.660000s Real=8.185956s Sys=0.000000s + User=7.240000s Real=7.607723s Sys=0.000000s There are histograms that can be viewed with visualization: 4 h1 histograms(s) List them with "/analysis/list". @@ -1315,11 +1322,12 @@ There are histograms that can be viewed with visualization: Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x1b679b0 +UserPhysicsList deleted 0x1b68be0 +UserActionInitialization deleted 0x1d24ad0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -1327,25 +1335,23 @@ G4SDManager deleted. EventManager deleted. Units table cleared. TransportationManager deleted. -Total navigation history collections cleaned: 43 +Total navigation history collections cleaned: 47 G4RNGHelper object is deleted. ================== Deleting memory pools =================== -Pool ID '20G4NavigationLevelRep', size : 0.0596 MB +Pool ID '20G4NavigationLevelRep', size : 0.0663 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '17G4DynamicParticle', size : 0.0711 MB -Pool ID '16G4SmartVoxelNode', size : 0.112 MB -Pool ID '17G4SmartVoxelProxy', size : 0.0942 MB +Pool ID '17G4DynamicParticle', size : 0.0875 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB Pool ID '15G4HCofThisEvent', size : 0.000961 MB -Pool ID '7G4Track', size : 0.142 MB -Pool ID '18G4TouchableHistory', size : 0.00481 MB +Pool ID '7G4Track', size : 0.174 MB +Pool ID '18G4TouchableHistory', size : 0.00577 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB Pool ID '10G4Fragment', size : 0.00192 MB -Pool ID '17G4ReactionProduct', size : 0.00288 MB -Number of memory pools allocated: 14 of which, static: 0 -Dynamic pools deleted: 14 / Total memory freed: 0.49 MB +Pool ID '17G4ReactionProduct', size : 0.00192 MB +Number of memory pools allocated: 12 of which, static: 0 +Dynamic pools deleted: 12 / Total memory freed: 0.34 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/medical_linac/History b/examples/advanced/medical_linac/History index 68fe7b17891..951f525f010 100644 --- a/examples/advanced/medical_linac/History +++ b/examples/advanced/medical_linac/History @@ -4,7 +4,7 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! -## 2024-04-22 D. Konstantinov (medical_linac-V11-01-02) +## 2024-04-22 D. Konstantinov (medical_linac-V11-02-00) - Fixed a critical bug in the geometry of the medical linear accelerator's collimator. - Reduced the cut for TargetR in the medical linear accelerator from 1 cm to 1 mm. diff --git a/examples/advanced/medical_linac/medical_linac.out b/examples/advanced/medical_linac/medical_linac.out index 6adad6ad439..5399e997cdc 100644 --- a/examples/advanced/medical_linac/medical_linac.out +++ b/examples/advanced/medical_linac/medical_linac.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... diff --git a/examples/advanced/microbeam/microbeam.out b/examples/advanced/microbeam/microbeam.out index 1fce6017d2a..d4abe71da6a 100644 --- a/examples/advanced/microbeam/microbeam.out +++ b/examples/advanced/microbeam/microbeam.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -502,7 +502,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -804,7 +804,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eCoulombScattering : Emin= 0 eV Emax= 100 TeV -##### Create analysis manager 0x11b7150 +##### Create analysis manager 0xb9f7e0 Using analysis manager All Ntuples have been created -> Event # 1 generated diff --git a/examples/advanced/microelectronics/microelectronics.out b/examples/advanced/microelectronics/microelectronics.out index b22451d817c..c765943c9e4 100644 --- a/examples/advanced/microelectronics/microelectronics.out +++ b/examples/advanced/microelectronics/microelectronics.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -48,14 +48,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -343,7 +350,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model. See commands in /vis/modeling/trajectories/ for other options. ### Run 0 starts. -##### Create analysis manager 0x1b5c470 +##### Create analysis manager 0xf64560 Using analysis manager ... set ntuple merging row mode : row-wise - done ... create file : microelectronics.root - done @@ -355,17 +362,17 @@ Si Reading TCS file Elastic Total Cross file : Elastic/elsepa_elastic_cross_e_Si loaddata : Elastic/elsepa_elastic_cross_e_Si -Elastic Cumulated Diff Cross : /cvmfs/geant4.cern.ch/share/data/G4EMLOW8.5/microelec/Elastic/elsepa_elastic_cumulated_diffcross_e_Si.dat +Elastic Cumulated Diff Cross : /cvmfs/geant4.cern.ch/share/data/G4EMLOW8.6/microelec/Elastic/elsepa_elastic_cumulated_diffcross_e_Si.dat MicroElasticModel, Material 2 / 2 : G4_Si Si Reading TCS file Elastic Total Cross file : Elastic/elsepa_elastic_cross_e_Si loaddata : Elastic/elsepa_elastic_cross_e_Si -Elastic Cumulated Diff Cross : /cvmfs/geant4.cern.ch/share/data/G4EMLOW8.5/microelec/Elastic/elsepa_elastic_cumulated_diffcross_e_Si.dat +Elastic Cumulated Diff Cross : /cvmfs/geant4.cern.ch/share/data/G4EMLOW8.6/microelec/Elastic/elsepa_elastic_cumulated_diffcross_e_Si.dat Run terminated. Run Summary Number of events processed : 10 - User=0.350000s Real=0.577205s Sys=0.020000s + User=0.350000s Real=0.440977s Sys=0.020000s ... write file : microelectronics.root - done ... close file : microelectronics.root - done ... clear all data - done @@ -377,11 +384,12 @@ N e- : 3739 Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0xf149b0 +UserPhysicsList deleted 0xf2d110 +UserActionInitialization deleted 0xf5dba0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/advanced/nanobeam/nanobeam.out b/examples/advanced/nanobeam/nanobeam.out index e356d098dc5..28875e33647 100644 --- a/examples/advanced/nanobeam/nanobeam.out +++ b/examples/advanced/nanobeam/nanobeam.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -227,7 +227,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -294,7 +294,7 @@ Index : 0 used in the geometry : Yes ================================================================== -##### Create analysis manager 0x6cccd0 +##### Create analysis manager 0x147e000 Using analysis manager Ntuple-1 created Ntuple-2 created diff --git a/examples/advanced/purging_magnet/purging_magnet.out b/examples/advanced/purging_magnet/purging_magnet.out index bb988ed02d5..1a9b483e92c 100644 --- a/examples/advanced/purging_magnet/purging_magnet.out +++ b/examples/advanced/purging_magnet/purging_magnet.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -423,9 +430,9 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2ggOKVI : Emin= 0 eV Emax= 100 TeV CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 Lambda table from 100 MeV to 100 TeV, 20 bins/decade, spline: 0 diff --git a/examples/advanced/stim_pixe_tomography/stim_pixe_tomography.out b/examples/advanced/stim_pixe_tomography/stim_pixe_tomography.out index 1705bb312d2..9785a0326f0 100644 --- a/examples/advanced/stim_pixe_tomography/stim_pixe_tomography.out +++ b/examples/advanced/stim_pixe_tomography/stim_pixe_tomography.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -335,7 +342,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 applyCuts:1 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 applyCuts:1 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -863,7 +870,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -899,7 +906,7 @@ Projection_index 0 Slice_index 0 Pixel_index 0 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000552s Sys=0.000000s + User=0.000000s Real=0.000670s Sys=0.000000s /gps/direction 1.000000 0.000000 0.000000 /gps/pos/centre -36.000000 -14.400000 0.000000 um /run/beamOn 20 @@ -929,7 +936,7 @@ Projection_index 0 Slice_index 0 Pixel_index 1 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.009963s Sys=0.000000s + User=0.010000s Real=0.011682s Sys=0.000000s /gps/direction 1.000000 0.000000 0.000000 /gps/pos/centre -36.000000 0.000000 0.000000 um /run/beamOn 20 @@ -959,7 +966,7 @@ Projection_index 0 Slice_index 0 Pixel_index 2 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.009136s Sys=0.000000s + User=0.010000s Real=0.011324s Sys=0.000000s /gps/direction 1.000000 0.000000 0.000000 /gps/pos/centre -36.000000 14.400000 0.000000 um /run/beamOn 20 @@ -989,7 +996,7 @@ Projection_index 0 Slice_index 0 Pixel_index 3 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.007740s Sys=0.000000s + User=0.010000s Real=0.011803s Sys=0.000000s /gps/direction 1.000000 0.000000 0.000000 /gps/pos/centre -36.000000 28.800000 0.000000 um /run/beamOn 20 @@ -1019,7 +1026,7 @@ Projection_index 0 Slice_index 0 Pixel_index 4 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000141s Sys=0.000000s + User=0.000000s Real=0.000144s Sys=0.000000s /gps/direction 0.809017 0.587785 0.000000 /gps/pos/centre -12.196397 -44.459959 0.000000 um /run/beamOn 20 @@ -1049,7 +1056,7 @@ Projection_index 1 Slice_index 0 Pixel_index 0 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000128s Sys=0.000000s + User=0.000000s Real=0.000136s Sys=0.000000s /gps/direction 0.809017 0.587785 0.000000 /gps/pos/centre -20.660504 -32.810114 0.000000 um /run/beamOn 20 @@ -1079,7 +1086,7 @@ Projection_index 1 Slice_index 0 Pixel_index 1 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.006587s Sys=0.000000s + User=0.110000s Real=0.134704s Sys=0.000000s /gps/direction 0.809017 0.587785 0.000000 /gps/pos/centre -29.124612 -21.160269 0.000000 um /run/beamOn 20 @@ -1109,7 +1116,7 @@ Projection_index 1 Slice_index 0 Pixel_index 2 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.009768s Sys=0.000000s + User=0.010000s Real=0.013685s Sys=0.000000s /gps/direction 0.809017 0.587785 0.000000 /gps/pos/centre -37.588719 -9.510424 0.000000 um /run/beamOn 20 @@ -1139,7 +1146,7 @@ Projection_index 1 Slice_index 0 Pixel_index 3 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.006431s Sys=0.000000s + User=0.010000s Real=0.006293s Sys=0.000000s /gps/direction 0.809017 0.587785 0.000000 /gps/pos/centre -46.052827 2.139420 0.000000 um /run/beamOn 20 @@ -1169,7 +1176,7 @@ Projection_index 1 Slice_index 0 Pixel_index 4 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000299s Sys=0.000000s + User=0.000000s Real=0.000128s Sys=0.000000s /gps/direction 0.309017 0.951057 0.000000 /gps/pos/centre 16.265816 -43.137724 0.000000 um /run/beamOn 20 @@ -1199,7 +1206,7 @@ Projection_index 2 Slice_index 0 Pixel_index 0 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.002744s Sys=0.000000s + User=0.000000s Real=0.000122s Sys=0.000000s /gps/direction 0.309017 0.951057 0.000000 /gps/pos/centre 2.570602 -38.687879 0.000000 um /run/beamOn 20 @@ -1229,7 +1236,7 @@ Projection_index 2 Slice_index 0 Pixel_index 1 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.014268s Sys=0.000000s + User=0.010000s Real=0.009081s Sys=0.000000s /gps/direction 0.309017 0.951057 0.000000 /gps/pos/centre -11.124612 -34.238035 0.000000 um /run/beamOn 20 @@ -1259,7 +1266,7 @@ Projection_index 2 Slice_index 0 Pixel_index 2 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.009077s Sys=0.000000s + User=0.010000s Real=0.008885s Sys=0.000000s /gps/direction 0.309017 0.951057 0.000000 /gps/pos/centre -24.819826 -29.788190 0.000000 um /run/beamOn 20 @@ -1289,7 +1296,7 @@ Projection_index 2 Slice_index 0 Pixel_index 3 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.007457s Sys=0.000000s + User=0.010000s Real=0.009638s Sys=0.000000s /gps/direction 0.309017 0.951057 0.000000 /gps/pos/centre -38.515039 -25.338345 0.000000 um /run/beamOn 20 @@ -1319,7 +1326,7 @@ Projection_index 2 Slice_index 0 Pixel_index 4 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000287s Sys=0.000000s + User=0.000000s Real=0.000277s Sys=0.000000s /gps/direction -0.309017 0.951057 0.000000 /gps/pos/centre 38.515039 -25.338345 0.000000 um /run/beamOn 20 @@ -1349,7 +1356,7 @@ Projection_index 3 Slice_index 0 Pixel_index 0 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000142s Sys=0.000000s + User=0.000000s Real=0.000126s Sys=0.000000s /gps/direction -0.309017 0.951057 0.000000 /gps/pos/centre 24.819826 -29.788190 0.000000 um /run/beamOn 20 @@ -1379,7 +1386,7 @@ Projection_index 3 Slice_index 0 Pixel_index 1 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.014141s Sys=0.000000s + User=0.010000s Real=0.008423s Sys=0.000000s /gps/direction -0.309017 0.951057 0.000000 /gps/pos/centre 11.124612 -34.238035 0.000000 um /run/beamOn 20 @@ -1409,7 +1416,7 @@ Projection_index 3 Slice_index 0 Pixel_index 2 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.013377s Sys=0.000000s + User=0.010000s Real=0.008496s Sys=0.000000s /gps/direction -0.309017 0.951057 0.000000 /gps/pos/centre -2.570602 -38.687879 0.000000 um /run/beamOn 20 @@ -1439,7 +1446,7 @@ Projection_index 3 Slice_index 0 Pixel_index 3 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.013318s Sys=0.000000s + User=0.000000s Real=0.008615s Sys=0.000000s /gps/direction -0.309017 0.951057 0.000000 /gps/pos/centre -16.265816 -43.137724 0.000000 um /run/beamOn 20 @@ -1469,7 +1476,7 @@ Projection_index 3 Slice_index 0 Pixel_index 4 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000141s Sys=0.000000s + User=0.000000s Real=0.000129s Sys=0.000000s /gps/direction -0.809017 0.587785 0.000000 /gps/pos/centre 46.052827 2.139420 0.000000 um /run/beamOn 20 @@ -1499,7 +1506,7 @@ Projection_index 4 Slice_index 0 Pixel_index 0 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000153s Sys=0.000000s + User=0.000000s Real=0.000123s Sys=0.000000s /gps/direction -0.809017 0.587785 0.000000 /gps/pos/centre 37.588719 -9.510424 0.000000 um /run/beamOn 20 @@ -1529,7 +1536,7 @@ Projection_index 4 Slice_index 0 Pixel_index 1 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.009238s Sys=0.000000s + User=0.010000s Real=0.006655s Sys=0.000000s /gps/direction -0.809017 0.587785 0.000000 /gps/pos/centre 29.124612 -21.160269 0.000000 um /run/beamOn 20 @@ -1559,7 +1566,7 @@ Projection_index 4 Slice_index 0 Pixel_index 2 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.015879s Sys=0.000000s + User=0.010000s Real=0.010799s Sys=0.000000s /gps/direction -0.809017 0.587785 0.000000 /gps/pos/centre 20.660504 -32.810114 0.000000 um /run/beamOn 20 @@ -1589,7 +1596,7 @@ Projection_index 4 Slice_index 0 Pixel_index 3 Run terminated. Run Summary Number of events processed : 20 - User=0.010000s Real=0.007178s Sys=0.000000s + User=0.010000s Real=0.006283s Sys=0.000000s /gps/direction -0.809017 0.587785 0.000000 /gps/pos/centre 12.196397 -44.459959 0.000000 um /run/beamOn 20 @@ -1619,10 +1626,10 @@ Projection_index 4 Slice_index 0 Pixel_index 4 Run terminated. Run Summary Number of events processed : 20 - User=0.000000s Real=0.000149s Sys=0.000000s + User=0.000000s Real=0.000126s Sys=0.000000s Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== Number of memory pools allocated: 9 of which, static: 0 -Dynamic pools deleted: 9 / Total memory freed: 0.044 MB +Dynamic pools deleted: 9 / Total memory freed: 0.046 MB ============================================================ diff --git a/examples/advanced/underground_physics/underground_physics-alpha.out b/examples/advanced/underground_physics/underground_physics-alpha.out index 818533fa2c3..bc58b49d92b 100644 --- a/examples/advanced/underground_physics/underground_physics-alpha.out +++ b/examples/advanced/underground_physics/underground_physics-alpha.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -278,7 +285,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 GeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 GeV @@ -480,7 +487,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1000 ps Isomer production flag 1 Internal e- conversion flag 1 @@ -620,6 +627,7 @@ muPairProd: for mu- XStype:1 SubType=4 PHP check 1 CHECK HP NAMES 0 Enable DEBUG 0 + Use probability tables from njoy ======================================================= @@@ G4ParticleHPInelastic instantiated for particle neutron/n data directory is /cvmfs/geant4.cern.ch/share/data/G4NDL4.7.1/Inelastic @@ -800,7 +808,7 @@ WARNING: G4VisManager::IsValidView(): Attempt to draw when no graphics system Run terminated. Run Summary Number of events processed : 1 - User=1.470000s Real=1.725469s Sys=0.060000s + User=1.420000s Real=1.494897s Sys=0.050000s There are histograms that can be viewed with visualization: 12 h1 histograms(s) 2 h2 histograms(s) @@ -809,6 +817,6 @@ There are histograms that can be viewed with visualization: Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 18 of which, static: 0 -Dynamic pools deleted: 18 / Total memory freed: 28 MB +Number of memory pools allocated: 16 of which, static: 0 +Dynamic pools deleted: 16 / Total memory freed: 28 MB ============================================================ diff --git a/examples/advanced/underground_physics/underground_physics.out b/examples/advanced/underground_physics/underground_physics.out index e191f9a81e2..c0607747371 100644 --- a/examples/advanced/underground_physics/underground_physics.out +++ b/examples/advanced/underground_physics/underground_physics.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -251,7 +258,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 GeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 GeV @@ -453,7 +460,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1000 ps Isomer production flag 1 Internal e- conversion flag 1 @@ -593,6 +600,7 @@ muPairProd: for mu- XStype:1 SubType=4 PHP check 1 CHECK HP NAMES 0 Enable DEBUG 0 + Use probability tables from njoy ======================================================= @@@ G4ParticleHPInelastic instantiated for particle neutron/n data directory is /cvmfs/geant4.cern.ch/share/data/G4NDL4.7.1/Inelastic @@ -751,12 +759,7 @@ Setting was ignored. ---> Begin of event: 10 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 12 - Total energy in LXe: 10.551 keV - Average light collection time: 49.169 ns - Number of PMT hits (photoelectron equivalent): 12 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 10 @@ -773,10 +776,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 50 + Number of hits in LXe: 63 Total energy in LXe: 60 keV - Average light collection time: 39.6199 ns - Number of PMT hits (photoelectron equivalent): 64 + Average light collection time: 42.5145 ns + Number of PMT hits (photoelectron equivalent): 47 Event summary in file gamma_1000.out ---> End of event: 30 @@ -785,7 +788,12 @@ Setting was ignored. ---> Begin of event: 40 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 51 + Total energy in LXe: 60 keV + Average light collection time: 43.548 ns + Number of PMT hits (photoelectron equivalent): 59 + Event summary in file gamma_1000.out ---> End of event: 40 @@ -809,12 +817,7 @@ Setting was ignored. ---> Begin of event: 70 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 63 - Total energy in LXe: 60 keV - Average light collection time: 50.2129 ns - Number of PMT hits (photoelectron equivalent): 77 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 70 @@ -822,12 +825,7 @@ Setting was ignored. ---> Begin of event: 80 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 61 - Total energy in LXe: 60 keV - Average light collection time: 51.0338 ns - Number of PMT hits (photoelectron equivalent): 59 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 80 @@ -843,7 +841,12 @@ Setting was ignored. ---> Begin of event: 100 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 30 + Total energy in LXe: 30.2187 keV + Average light collection time: 54.9043 ns + Number of PMT hits (photoelectron equivalent): 36 + Event summary in file gamma_1000.out ---> End of event: 100 @@ -852,10 +855,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 72 + Number of hits in LXe: 52 Total energy in LXe: 60 keV - Average light collection time: 47.569 ns - Number of PMT hits (photoelectron equivalent): 64 + Average light collection time: 41.2768 ns + Number of PMT hits (photoelectron equivalent): 72 Event summary in file gamma_1000.out ---> End of event: 110 @@ -865,10 +868,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 52 - Total energy in LXe: 60 keV - Average light collection time: 38.8568 ns - Number of PMT hits (photoelectron equivalent): 63 + Number of hits in LXe: 29 + Total energy in LXe: 30.2187 keV + Average light collection time: 69.467 ns + Number of PMT hits (photoelectron equivalent): 27 Event summary in file gamma_1000.out ---> End of event: 120 @@ -877,7 +880,12 @@ Setting was ignored. ---> Begin of event: 130 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 20 + Total energy in LXe: 30.5479 keV + Average light collection time: 66.6562 ns + Number of PMT hits (photoelectron equivalent): 23 + Event summary in file gamma_1000.out ---> End of event: 130 @@ -886,10 +894,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 61 + Number of hits in LXe: 64 Total energy in LXe: 60 keV - Average light collection time: 45.7226 ns - Number of PMT hits (photoelectron equivalent): 85 + Average light collection time: 39.5752 ns + Number of PMT hits (photoelectron equivalent): 66 Event summary in file gamma_1000.out ---> End of event: 140 @@ -898,7 +906,12 @@ Setting was ignored. ---> Begin of event: 150 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 24 + Total energy in LXe: 30.2187 keV + Average light collection time: 49.9117 ns + Number of PMT hits (photoelectron equivalent): 78 + Event summary in file gamma_1000.out ---> End of event: 150 @@ -906,7 +919,12 @@ Setting was ignored. ---> Begin of event: 160 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 20 + Total energy in LXe: 30.2187 keV + Average light collection time: 49.891 ns + Number of PMT hits (photoelectron equivalent): 20 + Event summary in file gamma_1000.out ---> End of event: 160 @@ -922,7 +940,12 @@ Setting was ignored. ---> Begin of event: 180 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 30 + Total energy in LXe: 30.5479 keV + Average light collection time: 41.2845 ns + Number of PMT hits (photoelectron equivalent): 30 + Event summary in file gamma_1000.out ---> End of event: 180 @@ -930,7 +953,12 @@ Setting was ignored. ---> Begin of event: 190 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 47 + Total energy in LXe: 39.9974 keV + Average light collection time: 41.1909 ns + Number of PMT hits (photoelectron equivalent): 29 + Event summary in file gamma_1000.out ---> End of event: 190 @@ -938,7 +966,12 @@ Setting was ignored. ---> Begin of event: 200 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 16 + Total energy in LXe: 13.4452 keV + Average light collection time: 44.1654 ns + Number of PMT hits (photoelectron equivalent): 14 + Event summary in file gamma_1000.out ---> End of event: 200 @@ -962,12 +995,7 @@ Setting was ignored. ---> Begin of event: 230 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 28 - Total energy in LXe: 30.2187 keV - Average light collection time: 46.2931 ns - Number of PMT hits (photoelectron equivalent): 37 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 230 @@ -976,10 +1004,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 69 + Number of hits in LXe: 68 Total energy in LXe: 60 keV - Average light collection time: 41.1249 ns - Number of PMT hits (photoelectron equivalent): 47 + Average light collection time: 42.8095 ns + Number of PMT hits (photoelectron equivalent): 71 Event summary in file gamma_1000.out ---> End of event: 240 @@ -988,12 +1016,7 @@ Setting was ignored. ---> Begin of event: 250 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 27 - Total energy in LXe: 30.5479 keV - Average light collection time: 41.4264 ns - Number of PMT hits (photoelectron equivalent): 30 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 250 @@ -1001,12 +1024,7 @@ Setting was ignored. ---> Begin of event: 260 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 34 - Total energy in LXe: 30.2187 keV - Average light collection time: 48.6233 ns - Number of PMT hits (photoelectron equivalent): 24 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 260 @@ -1023,10 +1041,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 68 + Number of hits in LXe: 66 Total energy in LXe: 60 keV - Average light collection time: 48.2766 ns - Number of PMT hits (photoelectron equivalent): 71 + Average light collection time: 49.5928 ns + Number of PMT hits (photoelectron equivalent): 56 Event summary in file gamma_1000.out ---> End of event: 280 @@ -1035,12 +1053,7 @@ Setting was ignored. ---> Begin of event: 290 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 90 - Total energy in LXe: 50.3228 keV - Average light collection time: 44.2764 ns - Number of PMT hits (photoelectron equivalent): 50 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 290 @@ -1057,10 +1070,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 60 - Total energy in LXe: 60 keV - Average light collection time: 47.4875 ns - Number of PMT hits (photoelectron equivalent): 63 + Number of hits in LXe: 32 + Total energy in LXe: 30.2187 keV + Average light collection time: 40.1664 ns + Number of PMT hits (photoelectron equivalent): 25 Event summary in file gamma_1000.out ---> End of event: 310 @@ -1069,7 +1082,12 @@ Setting was ignored. ---> Begin of event: 320 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 49 + Total energy in LXe: 60 keV + Average light collection time: 45.7056 ns + Number of PMT hits (photoelectron equivalent): 60 + Event summary in file gamma_1000.out ---> End of event: 320 @@ -1077,12 +1095,7 @@ Setting was ignored. ---> Begin of event: 330 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 62 - Total energy in LXe: 60 keV - Average light collection time: 41.3024 ns - Number of PMT hits (photoelectron equivalent): 61 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 330 @@ -1090,12 +1103,7 @@ Setting was ignored. ---> Begin of event: 340 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 29 - Total energy in LXe: 30.2187 keV - Average light collection time: 36.147 ns - Number of PMT hits (photoelectron equivalent): 28 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 340 @@ -1119,12 +1127,7 @@ Setting was ignored. ---> Begin of event: 370 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 17 - Total energy in LXe: 26.3706 keV - Average light collection time: 34.2707 ns - Number of PMT hits (photoelectron equivalent): 15 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 370 @@ -1132,7 +1135,12 @@ Setting was ignored. ---> Begin of event: 380 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 73 + Total energy in LXe: 60 keV + Average light collection time: 42.7548 ns + Number of PMT hits (photoelectron equivalent): 63 + Event summary in file gamma_1000.out ---> End of event: 380 @@ -1140,12 +1148,7 @@ Setting was ignored. ---> Begin of event: 390 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 26 - Total energy in LXe: 26.4335 keV - Average light collection time: 45.373 ns - Number of PMT hits (photoelectron equivalent): 18 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 390 @@ -1153,7 +1156,12 @@ Setting was ignored. ---> Begin of event: 400 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 53 + Total energy in LXe: 60 keV + Average light collection time: 41.412 ns + Number of PMT hits (photoelectron equivalent): 57 + Event summary in file gamma_1000.out ---> End of event: 400 @@ -1185,11 +1193,11 @@ Setting was ignored. ---> Begin of event: 440 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 25 - Total energy in LXe: 30.2187 keV - Average light collection time: 62.1009 ns - Number of PMT hits (photoelectron equivalent): 40 + First hit in LXe: e- + Number of hits in LXe: 37 + Total energy in LXe: 18.1742 keV + Average light collection time: 32.3379 ns + Number of PMT hits (photoelectron equivalent): 20 Event summary in file gamma_1000.out ---> End of event: 440 @@ -1207,10 +1215,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 60 + Number of hits in LXe: 45 Total energy in LXe: 60 keV - Average light collection time: 50.0673 ns - Number of PMT hits (photoelectron equivalent): 69 + Average light collection time: 50.3792 ns + Number of PMT hits (photoelectron equivalent): 66 Event summary in file gamma_1000.out ---> End of event: 460 @@ -1219,7 +1227,12 @@ Setting was ignored. ---> Begin of event: 470 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 46 + Total energy in LXe: 60 keV + Average light collection time: 42.7526 ns + Number of PMT hits (photoelectron equivalent): 52 + Event summary in file gamma_1000.out ---> End of event: 470 @@ -1235,7 +1248,12 @@ Setting was ignored. ---> Begin of event: 490 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 28 + Total energy in LXe: 30.2187 keV + Average light collection time: 39.8683 ns + Number of PMT hits (photoelectron equivalent): 33 + Event summary in file gamma_1000.out ---> End of event: 490 @@ -1244,10 +1262,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 27 - Total energy in LXe: 30.5479 keV - Average light collection time: 40.9373 ns - Number of PMT hits (photoelectron equivalent): 35 + Number of hits in LXe: 42 + Total energy in LXe: 41.0989 keV + Average light collection time: 44.4851 ns + Number of PMT hits (photoelectron equivalent): 114 Event summary in file gamma_1000.out ---> End of event: 500 @@ -1256,7 +1274,12 @@ Setting was ignored. ---> Begin of event: 510 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 50 + Total energy in LXe: 60 keV + Average light collection time: 52.0572 ns + Number of PMT hits (photoelectron equivalent): 45 + Event summary in file gamma_1000.out ---> End of event: 510 @@ -1264,7 +1287,12 @@ Setting was ignored. ---> Begin of event: 520 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 44 + Total energy in LXe: 60 keV + Average light collection time: 42.3995 ns + Number of PMT hits (photoelectron equivalent): 55 + Event summary in file gamma_1000.out ---> End of event: 520 @@ -1272,12 +1300,7 @@ Setting was ignored. ---> Begin of event: 530 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 69 - Total energy in LXe: 60 keV - Average light collection time: 40.9197 ns - Number of PMT hits (photoelectron equivalent): 57 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 530 @@ -1294,8 +1317,6 @@ Setting was ignored. Primary Energy: 60 keV Total energy in LXe: 0 eV - Average light collection time: 43.0712 ns - Number of PMT hits (photoelectron equivalent): 128 ---> End of event: 550 @@ -1311,12 +1332,7 @@ Setting was ignored. ---> Begin of event: 570 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 58 - Total energy in LXe: 60 keV - Average light collection time: 37.1946 ns - Number of PMT hits (photoelectron equivalent): 83 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 570 @@ -1325,10 +1341,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 34 - Total energy in LXe: 30.2187 keV - Average light collection time: 53.5632 ns - Number of PMT hits (photoelectron equivalent): 39 + Number of hits in LXe: 61 + Total energy in LXe: 60 keV + Average light collection time: 57.7734 ns + Number of PMT hits (photoelectron equivalent): 57 Event summary in file gamma_1000.out ---> End of event: 580 @@ -1337,7 +1353,12 @@ Setting was ignored. ---> Begin of event: 590 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 47 + Total energy in LXe: 60 keV + Average light collection time: 44.3563 ns + Number of PMT hits (photoelectron equivalent): 64 + Event summary in file gamma_1000.out ---> End of event: 590 @@ -1345,12 +1366,7 @@ Setting was ignored. ---> Begin of event: 600 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 53 - Total energy in LXe: 60 keV - Average light collection time: 45.9217 ns - Number of PMT hits (photoelectron equivalent): 59 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 600 @@ -1374,11 +1390,11 @@ Setting was ignored. ---> Begin of event: 630 Primary Energy: 60 keV - First hit in LXe: e- - Number of hits in LXe: 42 - Total energy in LXe: 22.0677 keV - Average light collection time: 29.6429 ns - Number of PMT hits (photoelectron equivalent): 24 + First hit in LXe: gamma + Number of hits in LXe: 27 + Total energy in LXe: 30.2187 keV + Average light collection time: 47.06 ns + Number of PMT hits (photoelectron equivalent): 27 Event summary in file gamma_1000.out ---> End of event: 630 @@ -1412,10 +1428,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 20 - Total energy in LXe: 26.3706 keV - Average light collection time: 55.2454 ns - Number of PMT hits (photoelectron equivalent): 37 + Number of hits in LXe: 45 + Total energy in LXe: 60 keV + Average light collection time: 43.9358 ns + Number of PMT hits (photoelectron equivalent): 62 Event summary in file gamma_1000.out ---> End of event: 670 @@ -1432,12 +1448,7 @@ Setting was ignored. ---> Begin of event: 690 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 61 - Total energy in LXe: 60 keV - Average light collection time: 41.0589 ns - Number of PMT hits (photoelectron equivalent): 51 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 690 @@ -1469,12 +1480,7 @@ Setting was ignored. ---> Begin of event: 730 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 43 - Total energy in LXe: 60 keV - Average light collection time: 39.108 ns - Number of PMT hits (photoelectron equivalent): 68 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 730 @@ -1499,10 +1505,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 42 - Total energy in LXe: 30.2187 keV - Average light collection time: 25.0838 ns - Number of PMT hits (photoelectron equivalent): 36 + Number of hits in LXe: 29 + Total energy in LXe: 30.5479 keV + Average light collection time: 45.8688 ns + Number of PMT hits (photoelectron equivalent): 80 Event summary in file gamma_1000.out ---> End of event: 760 @@ -1519,7 +1525,12 @@ Setting was ignored. ---> Begin of event: 780 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 22 + Total energy in LXe: 25.4564 keV + Average light collection time: 53.854 ns + Number of PMT hits (photoelectron equivalent): 26 + Event summary in file gamma_1000.out ---> End of event: 780 @@ -1535,12 +1546,7 @@ Setting was ignored. ---> Begin of event: 800 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 45 - Total energy in LXe: 60 keV - Average light collection time: 55.9986 ns - Number of PMT hits (photoelectron equivalent): 71 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 800 @@ -1548,7 +1554,12 @@ Setting was ignored. ---> Begin of event: 810 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 31 + Total energy in LXe: 30.2187 keV + Average light collection time: 42.5683 ns + Number of PMT hits (photoelectron equivalent): 30 + Event summary in file gamma_1000.out ---> End of event: 810 @@ -1556,7 +1567,12 @@ Setting was ignored. ---> Begin of event: 820 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 20 + Total energy in LXe: 26.3706 keV + Average light collection time: 36.8862 ns + Number of PMT hits (photoelectron equivalent): 24 + Event summary in file gamma_1000.out ---> End of event: 820 @@ -1588,12 +1604,7 @@ Setting was ignored. ---> Begin of event: 860 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 65 - Total energy in LXe: 60 keV - Average light collection time: 44.1653 ns - Number of PMT hits (photoelectron equivalent): 53 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 860 @@ -1610,10 +1621,10 @@ Setting was ignored. Primary Energy: 60 keV First hit in LXe: gamma - Number of hits in LXe: 46 + Number of hits in LXe: 49 Total energy in LXe: 60 keV - Average light collection time: 42.9689 ns - Number of PMT hits (photoelectron equivalent): 49 + Average light collection time: 39.0463 ns + Number of PMT hits (photoelectron equivalent): 65 Event summary in file gamma_1000.out ---> End of event: 880 @@ -1622,12 +1633,7 @@ Setting was ignored. ---> Begin of event: 890 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 62 - Total energy in LXe: 60 keV - Average light collection time: 41.726 ns - Number of PMT hits (photoelectron equivalent): 50 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 890 @@ -1635,7 +1641,12 @@ Setting was ignored. ---> Begin of event: 900 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 57 + Total energy in LXe: 60 keV + Average light collection time: 42.1499 ns + Number of PMT hits (photoelectron equivalent): 65 + Event summary in file gamma_1000.out ---> End of event: 900 @@ -1651,12 +1662,7 @@ Setting was ignored. ---> Begin of event: 920 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 53 - Total energy in LXe: 60 keV - Average light collection time: 51.6368 ns - Number of PMT hits (photoelectron equivalent): 47 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 920 @@ -1672,7 +1678,12 @@ Setting was ignored. ---> Begin of event: 940 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 22 + Total energy in LXe: 30.5479 keV + Average light collection time: 54.8618 ns + Number of PMT hits (photoelectron equivalent): 32 + Event summary in file gamma_1000.out ---> End of event: 940 @@ -1688,7 +1699,12 @@ Setting was ignored. ---> Begin of event: 960 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 25 + Total energy in LXe: 30.2187 keV + Average light collection time: 37.2923 ns + Number of PMT hits (photoelectron equivalent): 19 + Event summary in file gamma_1000.out ---> End of event: 960 @@ -1696,12 +1712,7 @@ Setting was ignored. ---> Begin of event: 970 Primary Energy: 60 keV - First hit in LXe: gamma - Number of hits in LXe: 55 - Total energy in LXe: 60 keV - Average light collection time: 47.9392 ns - Number of PMT hits (photoelectron equivalent): 59 - Event summary in file gamma_1000.out + Total energy in LXe: 0 eV ---> End of event: 970 @@ -1717,7 +1728,12 @@ Setting was ignored. ---> Begin of event: 990 Primary Energy: 60 keV - Total energy in LXe: 0 eV + First hit in LXe: gamma + Number of hits in LXe: 67 + Total energy in LXe: 60 keV + Average light collection time: 50.4536 ns + Number of PMT hits (photoelectron equivalent): 79 + Event summary in file gamma_1000.out ---> End of event: 990 diff --git a/examples/advanced/xray_SiliconPoreOptics/History b/examples/advanced/xray_SiliconPoreOptics/History index 3fd76cda403..c34fbb2e19d 100644 --- a/examples/advanced/xray_SiliconPoreOptics/History +++ b/examples/advanced/xray_SiliconPoreOptics/History @@ -1,10 +1,15 @@ # Example Xray_SiliconPoreOptics History See `CONTRIBUTING.rst` for details of **required** info/format for each entry, -which **must** added in reverse chronological order (newest at the top). It must **not** -be used as a substitute for writing good git commit messages! +which **must** added in reverse chronological order (newest at the top). +It must **not** be used as a substitute for writing good git commit messages! -## 2023-11-15 I. Hrivnacova (xraysiliconporeoptics-V11-01-02) +------------------------------------------------------------------------------- + +## 2024-06-20 G.Cosmo (xraysiliconporeoptics-V11-02-00) +- Corrected GDML file. + +## 2023-11-15 I.Hrivnacova (xraysiliconporeoptics-V11-01-02) - Updated vis.mac: - Changed "/vis/open XYZ [600x600-0+0]" to "/vis/open" to allow run-time choices and simplified comments. diff --git a/examples/advanced/xray_SiliconPoreOptics/SiliconPoreOptics.out b/examples/advanced/xray_SiliconPoreOptics/SiliconPoreOptics.out index 8eb018f6fa3..1f523e670da 100644 --- a/examples/advanced/xray_SiliconPoreOptics/SiliconPoreOptics.out +++ b/examples/advanced/xray_SiliconPoreOptics/SiliconPoreOptics.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -89,7 +96,6 @@ Build geometry from GDML file: pores.gdml G4GDML: Reading 'pores.gdml'... G4GDML: Reading definitions... G4GDML: Reading materials... -G4Material WARNING: duplicate name of material Galactic G4GDML: Reading solids... G4GDML: Reading structure... G4GDML: Reading setup... @@ -212,7 +218,7 @@ msc: for e- SubType= 10 WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm eIoni: for e- XStype:3 SubType=2 @@ -264,7 +270,7 @@ msc: for e+ SubType= 10 WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm eIoni: for e+ XStype:3 SubType=2 @@ -291,7 +297,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -318,7 +324,7 @@ msc: for proton SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for proton XStype:3 SubType=2 @@ -450,7 +456,7 @@ msc: for anti_proton SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for anti_proton XStype:3 SubType=2 @@ -498,7 +504,7 @@ msc: for kaon+ SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for kaon+ XStype:3 SubType=2 @@ -546,7 +552,7 @@ msc: for kaon- SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for kaon- XStype:3 SubType=2 @@ -684,7 +690,7 @@ msc: for pi+ SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for pi+ XStype:3 SubType=2 @@ -732,7 +738,7 @@ msc: for pi- SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for pi- XStype:3 SubType=2 @@ -778,20 +784,13 @@ SingleCoulombScat: for pi- XStype:2 SubType=1 BuildTable=1 ========= Table of registered couples ============================ Index : 0 used in the geometry : Yes - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes Material : galactic_vacuum Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld -Index : 2 used in the geometry : Yes +Index : 1 used in the geometry : Yes Material : silicon_metal Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm Energy thresholds : gamma 6.93672 keV e- 546.311 keV e+ 525.593 keV proton 100 keV @@ -869,12 +868,12 @@ Setting was ignored. Run terminated. Run Summary Number of events processed : 5000 - User=28.380000s Real=30.248397s Sys=0.020000s + User=27.900000s Real=29.618214s Sys=0.010000s ... write file : output.root - done ... close file : output.root - done Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 11 of which, static: 0 -Dynamic pools deleted: 11 / Total memory freed: 0.019 MB +Number of memory pools allocated: 9 of which, static: 0 +Dynamic pools deleted: 9 / Total memory freed: 0.016 MB ============================================================ diff --git a/examples/advanced/xray_SiliconPoreOptics/pores.gdml b/examples/advanced/xray_SiliconPoreOptics/pores.gdml index 3124f4b5399..193952554d0 100644 --- a/examples/advanced/xray_SiliconPoreOptics/pores.gdml +++ b/examples/advanced/xray_SiliconPoreOptics/pores.gdml @@ -1,195 +1,192 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/xray_TESdetector/xray_TESdetector.gdml b/examples/advanced/xray_TESdetector/xray_TESdetector.gdml index 6bea5043a77..13d5a4eb769 100644 --- a/examples/advanced/xray_TESdetector/xray_TESdetector.gdml +++ b/examples/advanced/xray_TESdetector/xray_TESdetector.gdml @@ -1,4 +1,5 @@ - + + @@ -15302,4 +15303,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/xray_TESdetector/xray_TESdetector.out b/examples/advanced/xray_TESdetector/xray_TESdetector.out index d51f540d59d..607d95b32f0 100644 --- a/examples/advanced/xray_TESdetector/xray_TESdetector.out +++ b/examples/advanced/xray_TESdetector/xray_TESdetector.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -45,14 +45,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -352,7 +359,7 @@ msc: for e- SubType= 10 WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm eIoni: for e- XStype:3 SubType=2 @@ -403,7 +410,7 @@ msc: for e+ SubType= 10 WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm eIoni: for e+ XStype:3 SubType=2 @@ -429,7 +436,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -456,7 +463,7 @@ msc: for proton SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for proton XStype:3 SubType=2 @@ -560,7 +567,7 @@ msc: for anti_proton SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for anti_proton XStype:3 SubType=2 @@ -608,7 +615,7 @@ msc: for kaon+ SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for kaon+ XStype:3 SubType=2 @@ -656,7 +663,7 @@ msc: for kaon- SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for kaon- XStype:3 SubType=2 @@ -794,7 +801,7 @@ msc: for pi+ SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for pi+ XStype:3 SubType=2 @@ -842,7 +849,7 @@ msc: for pi- SubType= 10 WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=3 Llim=1 mm ===== EM models for the G4Region InnerRegion ====== - DummyModel : Emin= 0 eV Emax= 100 TeV + DummyModel : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm hIoni: for pi- XStype:3 SubType=2 @@ -1151,7 +1158,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1000 ps Isomer production flag 1 Internal e- conversion flag 1 @@ -1282,12 +1289,12 @@ Setting was ignored. Run terminated. Run Summary Number of events processed : 1000 - User=1.000000s Real=1.035226s Sys=0.000000s + User=0.840000s Real=0.937623s Sys=0.000000s ... write file : output.root - done ... close file : output.root - done Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 13 of which, static: 0 -Dynamic pools deleted: 13 / Total memory freed: 0.23 MB +Number of memory pools allocated: 11 of which, static: 0 +Dynamic pools deleted: 11 / Total memory freed: 0.055 MB ============================================================ diff --git a/examples/advanced/xray_fluorescence/xray_fluorescence.out b/examples/advanced/xray_fluorescence/xray_fluorescence.out index f289a52d709..57caeb7d7e0 100644 --- a/examples/advanced/xray_fluorescence/xray_fluorescence.out +++ b/examples/advanced/xray_fluorescence/xray_fluorescence.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -2311,14 +2311,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -2576,7 +2583,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -2979,7 +2986,7 @@ Created histos Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.002953s Sys=0.000000s + User=0.010000s Real=0.003194s Sys=0.000000s Going to save histograms ... write file : xrayfluo.root - done ... close file : xrayfluo.root - done @@ -2996,12 +3003,13 @@ Graphics systems deleted. Visualization Manager deleting... visManager deleted G4 kernel has come to Quit state. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x10c39f0 XrayFluoDetectorConstruction deleted -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +UserPhysicsList deleted 0x11458e0 +UserActionInitialization deleted 0x119bb70 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. XrayFluoPrimaryGeneratorMessenger deleted UserPrimaryGenerator deleted. @@ -3016,8 +3024,6 @@ G4RNGHelper object is deleted. ================== Deleting memory pools =================== Pool ID '20G4NavigationLevelRep', size : 0.00673 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '16G4SmartVoxelNode', size : 0.000961 MB -Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB @@ -3027,8 +3033,8 @@ Pool ID '17G4DynamicParticle', size : 0.000961 MB Pool ID '7G4Track', size : 0.000961 MB Pool ID '18G4TouchableHistory', size : 0.000961 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB -Number of memory pools allocated: 13 of which, static: 0 -Dynamic pools deleted: 13 / Total memory freed: 0.018 MB +Number of memory pools allocated: 11 of which, static: 0 +Dynamic pools deleted: 11 / Total memory freed: 0.016 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/advanced/xray_telescope/xray_telescope.out b/examples/advanced/xray_telescope/xray_telescope.out index e6d978c20df..545d9f41381 100644 --- a/examples/advanced/xray_telescope/xray_telescope.out +++ b/examples/advanced/xray_telescope/xray_telescope.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -209,7 +216,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -458,12 +465,12 @@ Opening output file xraytel ... done Run terminated. Run Summary Number of events processed : 1000 - User=0.020000s Real=0.021804s Sys=0.000000s + User=0.020000s Real=0.027286s Sys=0.000000s ########################################## WARNING: command "/vis/viewer/update" could not be applied: no current viewer. Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 14 of which, static: 0 -Dynamic pools deleted: 14 / Total memory freed: 0.023 MB +Number of memory pools allocated: 12 of which, static: 0 +Dynamic pools deleted: 12 / Total memory freed: 0.018 MB ============================================================ diff --git a/examples/basic/B1/exampleB1.cc b/examples/basic/B1/exampleB1.cc index 7bac255a926..f07d8c9a7a4 100644 --- a/examples/basic/B1/exampleB1.cc +++ b/examples/basic/B1/exampleB1.cc @@ -27,41 +27,40 @@ /// \file exampleB1.cc /// \brief Main program of the B1 example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "QBBC.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "QBBC.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" - -#include "Randomize.hh" +// #include "Randomize.hh" using namespace B1; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Optionally: choose a different Random engine... // G4Random::setTheEngine(new CLHEP::MTwistEngine); - //use G4SteppingVerboseWithUnits + // use G4SteppingVerboseWithUnits G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); // Construct the default run manager // - auto runManager = - G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); + auto runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); // Set mandatory initialization classes // @@ -90,11 +89,11 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( ! ui ) { + if (!ui) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/basic/B1/exampleB1.out b/examples/basic/B1/exampleB1.out index 309ec41aee0..389caa740a6 100644 --- a/examples/basic/B1/exampleB1.out +++ b/examples/basic/B1/exampleB1.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -43,14 +43,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -233,7 +240,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -794,7 +801,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -818,7 +825,7 @@ See commands in /vis/modeling/trajectories/ for other options. --------------------End of Global Run----------------------- The run consists of 1000 gamma of 6 MeV - Cumulated dose per run, in scoring volume : 42.4413 picoGy rms = 3.88774 picoGy + Cumulated dose per run, in scoring volume : 45.5475 picoGy rms = 3.92567 picoGy ------------------------------------------------------------ ### Run 1 starts. @@ -835,7 +842,7 @@ See commands in /vis/modeling/trajectories/ for other options. --------------------End of Global Run----------------------- The run consists of 1000 proton of 210 MeV - Cumulated dose per run, in scoring volume : 5.05669 nanoGy rms = 147.009 picoGy + Cumulated dose per run, in scoring volume : 4.70767 nanoGy rms = 144.639 picoGy ------------------------------------------------------------ Graphics systems deleted. diff --git a/examples/basic/B1/include/ActionInitialization.hh b/examples/basic/B1/include/ActionInitialization.hh index 29bf23e5535..23e0674fb73 100644 --- a/examples/basic/B1/include/ActionInitialization.hh +++ b/examples/basic/B1/include/ActionInitialization.hh @@ -47,7 +47,7 @@ class ActionInitialization : public G4VUserActionInitialization void Build() const override; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B1/include/DetectorConstruction.hh b/examples/basic/B1/include/DetectorConstruction.hh index 75d435188a9..3dae3502def 100644 --- a/examples/basic/B1/include/DetectorConstruction.hh +++ b/examples/basic/B1/include/DetectorConstruction.hh @@ -31,7 +31,6 @@ #define B1DetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh" -#include "globals.hh" class G4VPhysicalVolume; class G4LogicalVolume; @@ -55,7 +54,7 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4LogicalVolume* fScoringVolume = nullptr; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B1/include/EventAction.hh b/examples/basic/B1/include/EventAction.hh index 0a467001edc..03bb181cc48 100644 --- a/examples/basic/B1/include/EventAction.hh +++ b/examples/basic/B1/include/EventAction.hh @@ -33,6 +33,8 @@ #include "G4UserEventAction.hh" #include "globals.hh" +class G4Event; + namespace B1 { @@ -53,13 +55,11 @@ class EventAction : public G4UserEventAction private: RunAction* fRunAction = nullptr; - G4double fEdep = 0.; + G4double fEdep = 0.; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/basic/B1/include/PrimaryGeneratorAction.hh b/examples/basic/B1/include/PrimaryGeneratorAction.hh index 5d3c56bc41b..ca93c78e006 100644 --- a/examples/basic/B1/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B1/include/PrimaryGeneratorAction.hh @@ -31,8 +31,6 @@ #define B1PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "G4ParticleGun.hh" -#include "globals.hh" class G4ParticleGun; class G4Event; @@ -59,11 +57,11 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction const G4ParticleGun* GetParticleGun() const { return fParticleGun; } private: - G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 gun class + G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 gun class G4Box* fEnvelopeBox = nullptr; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B1/include/RunAction.hh b/examples/basic/B1/include/RunAction.hh index 9487cda0af6..80f361505b4 100644 --- a/examples/basic/B1/include/RunAction.hh +++ b/examples/basic/B1/include/RunAction.hh @@ -31,6 +31,7 @@ #define B1RunAction_h 1 #include "G4UserRunAction.hh" + #include "G4Accumulable.hh" #include "globals.hh" @@ -52,16 +53,15 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - void AddEdep (G4double edep); + void AddEdep(G4double edep); private: G4Accumulable fEdep = 0.; G4Accumulable fEdep2 = 0.; }; -} +} // namespace B1 #endif - diff --git a/examples/basic/B1/include/SteppingAction.hh b/examples/basic/B1/include/SteppingAction.hh index 8cbfdbb07a1..a97fb71aa45 100644 --- a/examples/basic/B1/include/SteppingAction.hh +++ b/examples/basic/B1/include/SteppingAction.hh @@ -31,9 +31,9 @@ #define B1SteppingAction_h 1 #include "G4UserSteppingAction.hh" -#include "globals.hh" class G4LogicalVolume; +class G4Step; namespace B1 { @@ -56,7 +56,7 @@ class SteppingAction : public G4UserSteppingAction G4LogicalVolume* fScoringVolume = nullptr; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B1/src/ActionInitialization.cc b/examples/basic/B1/src/ActionInitialization.cc index ed1e69747a7..5a981d18d4d 100644 --- a/examples/basic/B1/src/ActionInitialization.cc +++ b/examples/basic/B1/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B1::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" namespace B1 @@ -61,4 +62,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/basic/B1/src/DetectorConstruction.cc b/examples/basic/B1/src/DetectorConstruction.cc index d58b1caf53f..730d86940ae 100644 --- a/examples/basic/B1/src/DetectorConstruction.cc +++ b/examples/basic/B1/src/DetectorConstruction.cc @@ -29,16 +29,13 @@ #include "DetectorConstruction.hh" -#include "G4RunManager.hh" -#include "G4NistManager.hh" #include "G4Box.hh" #include "G4Cons.hh" -#include "G4Orb.hh" -#include "G4Sphere.hh" -#include "G4Trd.hh" #include "G4LogicalVolume.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4SystemOfUnits.hh" +#include "G4Trd.hh" namespace B1 { @@ -52,7 +49,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // Envelope parameters // - G4double env_sizeXY = 20*cm, env_sizeZ = 30*cm; + G4double env_sizeXY = 20 * cm, env_sizeZ = 30 * cm; G4Material* env_mat = nist->FindOrBuildMaterial("G4_WATER"); // Option to switch on/off checking of volumes overlaps @@ -62,109 +59,111 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // // World // - G4double world_sizeXY = 1.2*env_sizeXY; - G4double world_sizeZ = 1.2*env_sizeZ; + G4double world_sizeXY = 1.2 * env_sizeXY; + G4double world_sizeZ = 1.2 * env_sizeZ; G4Material* world_mat = nist->FindOrBuildMaterial("G4_AIR"); - auto solidWorld = new G4Box("World", // its name - 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size + auto solidWorld = + new G4Box("World", // its name + 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size auto logicWorld = new G4LogicalVolume(solidWorld, // its solid - world_mat, // its material - "World"); // its name + world_mat, // its material + "World"); // its name auto physWorld = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicWorld, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + G4ThreeVector(), // at (0,0,0) + logicWorld, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // // Envelope // - auto solidEnv = new G4Box("Envelope", // its name - 0.5 * env_sizeXY, 0.5 * env_sizeXY, 0.5 * env_sizeZ); // its size + auto solidEnv = new G4Box("Envelope", // its name + 0.5 * env_sizeXY, 0.5 * env_sizeXY, 0.5 * env_sizeZ); // its size auto logicEnv = new G4LogicalVolume(solidEnv, // its solid - env_mat, // its material - "Envelope"); // its name + env_mat, // its material + "Envelope"); // its name new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicEnv, // its logical volume - "Envelope", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + G4ThreeVector(), // at (0,0,0) + logicEnv, // its logical volume + "Envelope", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // // Shape 1 // G4Material* shape1_mat = nist->FindOrBuildMaterial("G4_A-150_TISSUE"); - G4ThreeVector pos1 = G4ThreeVector(0, 2*cm, -7*cm); + G4ThreeVector pos1 = G4ThreeVector(0, 2 * cm, -7 * cm); // Conical section shape - G4double shape1_rmina = 0.*cm, shape1_rmaxa = 2.*cm; - G4double shape1_rminb = 0.*cm, shape1_rmaxb = 4.*cm; - G4double shape1_hz = 3.*cm; - G4double shape1_phimin = 0.*deg, shape1_phimax = 360.*deg; + G4double shape1_rmina = 0. * cm, shape1_rmaxa = 2. * cm; + G4double shape1_rminb = 0. * cm, shape1_rmaxb = 4. * cm; + G4double shape1_hz = 3. * cm; + G4double shape1_phimin = 0. * deg, shape1_phimax = 360. * deg; auto solidShape1 = new G4Cons("Shape1", shape1_rmina, shape1_rmaxa, shape1_rminb, shape1_rmaxb, - shape1_hz, shape1_phimin, shape1_phimax); + shape1_hz, shape1_phimin, shape1_phimax); auto logicShape1 = new G4LogicalVolume(solidShape1, // its solid - shape1_mat, // its material - "Shape1"); // its name + shape1_mat, // its material + "Shape1"); // its name new G4PVPlacement(nullptr, // no rotation - pos1, // at position - logicShape1, // its logical volume - "Shape1", // its name - logicEnv, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + pos1, // at position + logicShape1, // its logical volume + "Shape1", // its name + logicEnv, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // // Shape 2 // G4Material* shape2_mat = nist->FindOrBuildMaterial("G4_BONE_COMPACT_ICRU"); - G4ThreeVector pos2 = G4ThreeVector(0, -1*cm, 7*cm); + G4ThreeVector pos2 = G4ThreeVector(0, -1 * cm, 7 * cm); // Trapezoid shape - G4double shape2_dxa = 12*cm, shape2_dxb = 12*cm; - G4double shape2_dya = 10*cm, shape2_dyb = 16*cm; - G4double shape2_dz = 6*cm; - auto solidShape2 = new G4Trd("Shape2", // its name - 0.5 * shape2_dxa, 0.5 * shape2_dxb, 0.5 * shape2_dya, 0.5 * shape2_dyb, - 0.5 * shape2_dz); // its size + G4double shape2_dxa = 12 * cm, shape2_dxb = 12 * cm; + G4double shape2_dya = 10 * cm, shape2_dyb = 16 * cm; + G4double shape2_dz = 6 * cm; + auto solidShape2 = + new G4Trd("Shape2", // its name + 0.5 * shape2_dxa, 0.5 * shape2_dxb, 0.5 * shape2_dya, 0.5 * shape2_dyb, + 0.5 * shape2_dz); // its size auto logicShape2 = new G4LogicalVolume(solidShape2, // its solid - shape2_mat, // its material - "Shape2"); // its name + shape2_mat, // its material + "Shape2"); // its name new G4PVPlacement(nullptr, // no rotation - pos2, // at position - logicShape2, // its logical volume - "Shape2", // its name - logicEnv, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + pos2, // at position + logicShape2, // its logical volume + "Shape2", // its name + logicEnv, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // Set Shape2 as scoring volume // fScoringVolume = logicShape2; // - //always return the physical World + // always return the physical World // return physWorld; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/basic/B1/src/EventAction.cc b/examples/basic/B1/src/EventAction.cc index 5df62a72576..ed5cbcb2abe 100644 --- a/examples/basic/B1/src/EventAction.cc +++ b/examples/basic/B1/src/EventAction.cc @@ -28,19 +28,15 @@ /// \brief Implementation of the B1::EventAction class #include "EventAction.hh" -#include "RunAction.hh" -#include "G4Event.hh" -#include "G4RunManager.hh" +#include "RunAction.hh" namespace B1 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(RunAction* runAction) -: fRunAction(runAction) -{} +EventAction::EventAction(RunAction* runAction) : fRunAction(runAction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,4 +55,4 @@ void EventAction::EndOfEventAction(const G4Event*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/basic/B1/src/PrimaryGeneratorAction.cc b/examples/basic/B1/src/PrimaryGeneratorAction.cc index 61fbca77c28..ce879ae5706 100644 --- a/examples/basic/B1/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B1/src/PrimaryGeneratorAction.cc @@ -29,13 +29,11 @@ #include "PrimaryGeneratorAction.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4RunManager.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" @@ -47,16 +45,15 @@ namespace B1 PrimaryGeneratorAction::PrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="gamma"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(6.*MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(6. * MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,9 +65,9 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { - //this function is called at the begining of ecah event + // this function is called at the begining of ecah event // // In order to avoid dependence of PrimaryGeneratorAction @@ -80,38 +77,33 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) G4double envSizeXY = 0; G4double envSizeZ = 0; - if (!fEnvelopeBox) - { - G4LogicalVolume* envLV - = G4LogicalVolumeStore::GetInstance()->GetVolume("Envelope"); - if ( envLV ) fEnvelopeBox = dynamic_cast(envLV->GetSolid()); + if (!fEnvelopeBox) { + G4LogicalVolume* envLV = G4LogicalVolumeStore::GetInstance()->GetVolume("Envelope"); + if (envLV) fEnvelopeBox = dynamic_cast(envLV->GetSolid()); } - if ( fEnvelopeBox ) { - envSizeXY = fEnvelopeBox->GetXHalfLength()*2.; - envSizeZ = fEnvelopeBox->GetZHalfLength()*2.; + if (fEnvelopeBox) { + envSizeXY = fEnvelopeBox->GetXHalfLength() * 2.; + envSizeZ = fEnvelopeBox->GetZHalfLength() * 2.; } - else { + else { G4ExceptionDescription msg; msg << "Envelope volume of box shape not found.\n"; msg << "Perhaps you have changed geometry.\n"; msg << "The gun will be place at the center."; - G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", - "MyCode0002",JustWarning,msg); + G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", "MyCode0002", JustWarning, msg); } G4double size = 0.8; - G4double x0 = size * envSizeXY * (G4UniformRand()-0.5); - G4double y0 = size * envSizeXY * (G4UniformRand()-0.5); + G4double x0 = size * envSizeXY * (G4UniformRand() - 0.5); + G4double y0 = size * envSizeXY * (G4UniformRand() - 0.5); G4double z0 = -0.5 * envSizeZ; - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - - +} // namespace B1 diff --git a/examples/basic/B1/src/RunAction.cc b/examples/basic/B1/src/RunAction.cc index 8286ddbd372..3f59eb2e5bf 100644 --- a/examples/basic/B1/src/RunAction.cc +++ b/examples/basic/B1/src/RunAction.cc @@ -28,17 +28,18 @@ /// \brief Implementation of the B1::RunAction class #include "RunAction.hh" -#include "PrimaryGeneratorAction.hh" + #include "DetectorConstruction.hh" -// #include "Run.hh" +#include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4Run.hh" #include "G4AccumulableManager.hh" -#include "G4LogicalVolumeStore.hh" #include "G4LogicalVolume.hh" -#include "G4UnitsTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleGun.hh" +#include "G4Run.hh" +#include "G4RunManager.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" namespace B1 { @@ -49,15 +50,15 @@ RunAction::RunAction() { // add new units for dose // - const G4double milligray = 1.e-3*gray; - const G4double microgray = 1.e-6*gray; - const G4double nanogray = 1.e-9*gray; - const G4double picogray = 1.e-12*gray; + const G4double milligray = 1.e-3 * gray; + const G4double microgray = 1.e-6 * gray; + const G4double nanogray = 1.e-9 * gray; + const G4double picogray = 1.e-12 * gray; - new G4UnitDefinition("milligray", "milliGy" , "Dose", milligray); - new G4UnitDefinition("microgray", "microGy" , "Dose", microgray); - new G4UnitDefinition("nanogray" , "nanoGy" , "Dose", nanogray); - new G4UnitDefinition("picogray" , "picoGy" , "Dose", picogray); + new G4UnitDefinition("milligray", "milliGy", "Dose", milligray); + new G4UnitDefinition("microgray", "microGy", "Dose", microgray); + new G4UnitDefinition("nanogray", "nanoGy", "Dose", nanogray); + new G4UnitDefinition("picogray", "picoGy", "Dose", picogray); // Register accumulable to the accumulable manager G4AccumulableManager* accumulableManager = G4AccumulableManager::Instance(); @@ -75,7 +76,6 @@ void RunAction::BeginOfRunAction(const G4Run*) // reset accumulables to their initial values G4AccumulableManager* accumulableManager = G4AccumulableManager::Instance(); accumulableManager->Reset(); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -91,17 +91,20 @@ void RunAction::EndOfRunAction(const G4Run* run) // Compute dose = total energy deposit in a run and its variance // - G4double edep = fEdep.GetValue(); + G4double edep = fEdep.GetValue(); G4double edep2 = fEdep2.GetValue(); - G4double rms = edep2 - edep*edep/nofEvents; - if (rms > 0.) rms = std::sqrt(rms); else rms = 0.; + G4double rms = edep2 - edep * edep / nofEvents; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; const auto detConstruction = static_cast( G4RunManager::GetRunManager()->GetUserDetectorConstruction()); G4double mass = detConstruction->GetScoringVolume()->GetMass(); - G4double dose = edep/mass; - G4double rmsDose = rms/mass; + G4double dose = edep / mass; + G4double rmsDose = rms / mass; // Run conditions // note: There is no primary generator action object for "master" @@ -109,48 +112,37 @@ void RunAction::EndOfRunAction(const G4Run* run) const auto generatorAction = static_cast( G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction()); G4String runCondition; - if (generatorAction) - { + if (generatorAction) { const G4ParticleGun* particleGun = generatorAction->GetParticleGun(); runCondition += particleGun->GetParticleDefinition()->GetParticleName(); runCondition += " of "; G4double particleEnergy = particleGun->GetParticleEnergy(); - runCondition += G4BestUnit(particleEnergy,"Energy"); + runCondition += G4BestUnit(particleEnergy, "Energy"); } // Print // if (IsMaster()) { - G4cout - << G4endl - << "--------------------End of Global Run-----------------------"; + G4cout << G4endl << "--------------------End of Global Run-----------------------"; } else { - G4cout - << G4endl - << "--------------------End of Local Run------------------------"; + G4cout << G4endl << "--------------------End of Local Run------------------------"; } - G4cout - << G4endl - << " The run consists of " << nofEvents << " "<< runCondition - << G4endl - << " Cumulated dose per run, in scoring volume : " - << G4BestUnit(dose,"Dose") << " rms = " << G4BestUnit(rmsDose,"Dose") - << G4endl - << "------------------------------------------------------------" - << G4endl - << G4endl; + G4cout << G4endl << " The run consists of " << nofEvents << " " << runCondition << G4endl + << " Cumulated dose per run, in scoring volume : " << G4BestUnit(dose, "Dose") + << " rms = " << G4BestUnit(rmsDose, "Dose") << G4endl + << "------------------------------------------------------------" << G4endl << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::AddEdep(G4double edep) { - fEdep += edep; - fEdep2 += edep*edep; + fEdep += edep; + fEdep2 += edep * edep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/basic/B1/src/SteppingAction.cc b/examples/basic/B1/src/SteppingAction.cc index ba72609f1f0..bfa665c7c3a 100644 --- a/examples/basic/B1/src/SteppingAction.cc +++ b/examples/basic/B1/src/SteppingAction.cc @@ -28,22 +28,21 @@ /// \brief Implementation of the B1::SteppingAction class #include "SteppingAction.hh" -#include "EventAction.hh" + #include "DetectorConstruction.hh" +#include "EventAction.hh" -#include "G4Step.hh" #include "G4Event.hh" -#include "G4RunManager.hh" #include "G4LogicalVolume.hh" +#include "G4RunManager.hh" +#include "G4Step.hh" namespace B1 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(EventAction* eventAction) -: fEventAction(eventAction) -{} +SteppingAction::SteppingAction(EventAction* eventAction) : fEventAction(eventAction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,9 +55,8 @@ void SteppingAction::UserSteppingAction(const G4Step* step) } // get volume of the current step - G4LogicalVolume* volume - = step->GetPreStepPoint()->GetTouchableHandle() - ->GetVolume()->GetLogicalVolume(); + G4LogicalVolume* volume = + step->GetPreStepPoint()->GetTouchableHandle()->GetVolume()->GetLogicalVolume(); // check if we are in scoring volume if (volume != fScoringVolume) return; @@ -70,4 +68,4 @@ void SteppingAction::UserSteppingAction(const G4Step* step) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/basic/B2/B2a/exampleB2a.cc b/examples/basic/B2/B2a/exampleB2a.cc index 0f1eaca50dc..f6546e6fe15 100644 --- a/examples/basic/B2/B2a/exampleB2a.cc +++ b/examples/basic/B2/B2a/exampleB2a.cc @@ -27,40 +27,39 @@ /// \file exampleB2a.cc /// \brief Main program of the B2a example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" +#include "G4StepLimiterPhysics.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "FTFP_BERT.hh" -#include "G4StepLimiterPhysics.hh" - -#include "Randomize.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Optionally: choose a different Random engine... // G4Random::setTheEngine(new CLHEP::MTwistEngine); - //use G4SteppingVerboseWithUnits + // use G4SteppingVerboseWithUnits G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); // Construct the default run manager // - auto runManager = - G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); + auto runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); // Set mandatory initialization classes // @@ -87,11 +86,11 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( ! ui ) { + if (!ui) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/basic/B2/B2a/exampleB2a.out b/examples/basic/B2/B2a/exampleB2a.out index f2ce3bf20bd..a414758a298 100644 --- a/examples/basic/B2/B2a/exampleB2a.out +++ b/examples/basic/B2/B2a/exampleB2a.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -304,7 +311,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -859,7 +866,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -884,21 +891,21 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 5 0 hits stored in this event >>> Event: 6 - 54 hits stored in this event + 0 hits stored in this event >>> Event: 7 - 41 hits stored in this event + 0 hits stored in this event >>> Event: 8 0 hits stored in this event >>> Event: 9 - 29 hits stored in this event + 0 hits stored in this event >>> Event: 10 - 43 hits stored in this event + 0 hits stored in this event >>> Event: 11 0 hits stored in this event >>> Event: 12 0 hits stored in this event >>> Event: 13 - 0 hits stored in this event + 136 hits stored in this event >>> Event: 14 0 hits stored in this event >>> Event: 15 @@ -914,27 +921,27 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 20 0 hits stored in this event >>> Event: 21 - 179 hits stored in this event + 0 hits stored in this event >>> Event: 22 0 hits stored in this event >>> Event: 23 - 49 hits stored in this event + 0 hits stored in this event >>> Event: 24 0 hits stored in this event >>> Event: 25 - 131 hits stored in this event + 0 hits stored in this event >>> Event: 26 0 hits stored in this event >>> Event: 27 - 162 hits stored in this event + 17 hits stored in this event >>> Event: 28 - 0 hits stored in this event + 194 hits stored in this event >>> Event: 29 0 hits stored in this event >>> Event: 30 - 39 hits stored in this event + 0 hits stored in this event >>> Event: 31 - 137 hits stored in this event + 9 hits stored in this event >>> Event: 32 0 hits stored in this event >>> Event: 33 @@ -944,7 +951,7 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 35 0 hits stored in this event >>> Event: 36 - 0 hits stored in this event + 67 hits stored in this event >>> Event: 37 0 hits stored in this event >>> Event: 38 @@ -954,15 +961,15 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 40 0 hits stored in this event >>> Event: 41 - 63 hits stored in this event ->>> Event: 42 0 hits stored in this event +>>> Event: 42 + 9 hits stored in this event >>> Event: 43 0 hits stored in this event >>> Event: 44 0 hits stored in this event >>> Event: 45 - 0 hits stored in this event + 292 hits stored in this event >>> Event: 46 0 hits stored in this event >>> Event: 47 @@ -974,7 +981,7 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 50 0 hits stored in this event >>> Event: 51 - 95 hits stored in this event + 0 hits stored in this event >>> Event: 52 0 hits stored in this event >>> Event: 53 @@ -982,15 +989,15 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 54 0 hits stored in this event >>> Event: 55 - 42 hits stored in this event + 0 hits stored in this event >>> Event: 56 - 85 hits stored in this event + 0 hits stored in this event >>> Event: 57 - 168 hits stored in this event + 0 hits stored in this event >>> Event: 58 0 hits stored in this event >>> Event: 59 - 62 hits stored in this event + 0 hits stored in this event >>> Event: 60 0 hits stored in this event >>> Event: 61 @@ -1000,23 +1007,23 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 63 0 hits stored in this event >>> Event: 64 - 0 hits stored in this event + 172 hits stored in this event >>> Event: 65 0 hits stored in this event >>> Event: 66 - 40 hits stored in this event + 0 hits stored in this event >>> Event: 67 0 hits stored in this event >>> Event: 68 0 hits stored in this event >>> Event: 69 - 0 hits stored in this event + 61 hits stored in this event >>> Event: 70 - 28 hits stored in this event + 0 hits stored in this event >>> Event: 71 0 hits stored in this event >>> Event: 72 - 0 hits stored in this event + 87 hits stored in this event >>> Event: 73 0 hits stored in this event >>> Event: 74 @@ -1074,205 +1081,205 @@ See commands in /vis/modeling/trajectories/ for other options. ### Run 1 starts. --> Event 0 starts. >>> Event: 0 - 798 hits stored in this event + 108 hits stored in this event >>> Event: 1 - 76 hits stored in this event + 91 hits stored in this event >>> Event: 2 - 87 hits stored in this event + 127 hits stored in this event >>> Event: 3 - 2003 hits stored in this event + 103 hits stored in this event >>> Event: 4 - 66 hits stored in this event + 169 hits stored in this event >>> Event: 5 - 396 hits stored in this event + 97 hits stored in this event >>> Event: 6 - 8275 hits stored in this event + 96 hits stored in this event >>> Event: 7 - 123 hits stored in this event + 161 hits stored in this event >>> Event: 8 - 183 hits stored in this event + 91 hits stored in this event >>> Event: 9 - 736 hits stored in this event + 79 hits stored in this event >>> Event: 10 - 121 hits stored in this event + 80 hits stored in this event >>> Event: 11 - 141 hits stored in this event + 100 hits stored in this event >>> Event: 12 - 97 hits stored in this event + 119 hits stored in this event >>> Event: 13 - 237 hits stored in this event + 151 hits stored in this event >>> Event: 14 - 103 hits stored in this event + 84 hits stored in this event >>> Event: 15 - 605 hits stored in this event + 126 hits stored in this event >>> Event: 16 - 105 hits stored in this event + 99 hits stored in this event >>> Event: 17 - 403 hits stored in this event + 88 hits stored in this event >>> Event: 18 - 195 hits stored in this event + 65 hits stored in this event >>> Event: 19 - 213 hits stored in this event + 99 hits stored in this event >>> Event: 20 - 159 hits stored in this event + 220 hits stored in this event >>> Event: 21 - 52 hits stored in this event + 86 hits stored in this event >>> Event: 22 - 141 hits stored in this event + 315 hits stored in this event >>> Event: 23 - 171 hits stored in this event + 99 hits stored in this event >>> Event: 24 - 103 hits stored in this event + 109 hits stored in this event >>> Event: 25 - 153 hits stored in this event + 482 hits stored in this event >>> Event: 26 - 62 hits stored in this event + 63 hits stored in this event >>> Event: 27 - 226 hits stored in this event + 135 hits stored in this event >>> Event: 28 - 152 hits stored in this event + 105 hits stored in this event >>> Event: 29 - 134 hits stored in this event + 196 hits stored in this event >>> Event: 30 - 106 hits stored in this event + 638 hits stored in this event >>> Event: 31 - 92 hits stored in this event + 184 hits stored in this event >>> Event: 32 - 76 hits stored in this event + 105 hits stored in this event >>> Event: 33 - 117 hits stored in this event + 74 hits stored in this event >>> Event: 34 - 79 hits stored in this event + 102 hits stored in this event >>> Event: 35 - 66 hits stored in this event + 289 hits stored in this event >>> Event: 36 - 328 hits stored in this event + 301 hits stored in this event >>> Event: 37 - 168 hits stored in this event + 96 hits stored in this event >>> Event: 38 - 73 hits stored in this event + 172 hits stored in this event >>> Event: 39 - 83 hits stored in this event + 116 hits stored in this event >>> Event: 40 - 4758 hits stored in this event + 151 hits stored in this event >>> Event: 41 - 90 hits stored in this event + 119 hits stored in this event >>> Event: 42 115 hits stored in this event >>> Event: 43 - 3947 hits stored in this event + 71 hits stored in this event >>> Event: 44 - 90 hits stored in this event + 56 hits stored in this event >>> Event: 45 - 59 hits stored in this event + 81 hits stored in this event >>> Event: 46 - 345 hits stored in this event + 48 hits stored in this event >>> Event: 47 - 673 hits stored in this event + 92 hits stored in this event >>> Event: 48 - 166 hits stored in this event + 124 hits stored in this event >>> Event: 49 - 70 hits stored in this event + 170 hits stored in this event >>> Event: 50 - 77 hits stored in this event + 67 hits stored in this event >>> Event: 51 - 71 hits stored in this event + 181 hits stored in this event >>> Event: 52 - 81 hits stored in this event + 461 hits stored in this event >>> Event: 53 - 220 hits stored in this event + 178 hits stored in this event >>> Event: 54 - 156 hits stored in this event + 357 hits stored in this event >>> Event: 55 - 346 hits stored in this event + 836 hits stored in this event >>> Event: 56 - 347 hits stored in this event + 115 hits stored in this event >>> Event: 57 - 194 hits stored in this event + 71 hits stored in this event >>> Event: 58 - 181 hits stored in this event + 59 hits stored in this event >>> Event: 59 - 358 hits stored in this event + 102 hits stored in this event >>> Event: 60 - 49 hits stored in this event + 1648 hits stored in this event >>> Event: 61 - 115 hits stored in this event + 970 hits stored in this event >>> Event: 62 - 157 hits stored in this event + 66 hits stored in this event >>> Event: 63 - 97 hits stored in this event + 105 hits stored in this event >>> Event: 64 - 131 hits stored in this event + 72 hits stored in this event >>> Event: 65 - 95 hits stored in this event + 97 hits stored in this event >>> Event: 66 - 67 hits stored in this event + 95 hits stored in this event >>> Event: 67 - 76 hits stored in this event + 235 hits stored in this event >>> Event: 68 - 72 hits stored in this event + 164 hits stored in this event >>> Event: 69 - 126 hits stored in this event + 174 hits stored in this event >>> Event: 70 - 81 hits stored in this event + 74 hits stored in this event >>> Event: 71 - 234 hits stored in this event + 1306 hits stored in this event >>> Event: 72 - 63 hits stored in this event + 85 hits stored in this event >>> Event: 73 - 130 hits stored in this event + 70 hits stored in this event >>> Event: 74 - 302 hits stored in this event + 47 hits stored in this event >>> Event: 75 - 61 hits stored in this event + 78 hits stored in this event >>> Event: 76 - 50 hits stored in this event + 153 hits stored in this event >>> Event: 77 - 1287 hits stored in this event + 132 hits stored in this event >>> Event: 78 - 382 hits stored in this event + 148 hits stored in this event >>> Event: 79 - 48 hits stored in this event + 91 hits stored in this event >>> Event: 80 - 147 hits stored in this event + 59 hits stored in this event >>> Event: 81 - 86 hits stored in this event + 54 hits stored in this event >>> Event: 82 - 90 hits stored in this event + 72 hits stored in this event >>> Event: 83 - 64 hits stored in this event + 124 hits stored in this event >>> Event: 84 - 147 hits stored in this event + 72 hits stored in this event >>> Event: 85 - 101 hits stored in this event + 97 hits stored in this event >>> Event: 86 - 74 hits stored in this event + 174 hits stored in this event >>> Event: 87 - 120 hits stored in this event + 76 hits stored in this event >>> Event: 88 - 74 hits stored in this event + 63 hits stored in this event >>> Event: 89 - 70 hits stored in this event + 76 hits stored in this event >>> Event: 90 - 70 hits stored in this event + 82 hits stored in this event >>> Event: 91 - 63 hits stored in this event + 589 hits stored in this event >>> Event: 92 - 69 hits stored in this event + 61 hits stored in this event >>> Event: 93 - 557 hits stored in this event + 101 hits stored in this event >>> Event: 94 - 72 hits stored in this event + 69 hits stored in this event >>> Event: 95 - 109 hits stored in this event + 82 hits stored in this event >>> Event: 96 - 62 hits stored in this event + 170 hits stored in this event >>> Event: 97 - 89 hits stored in this event + 189 hits stored in this event >>> Event: 98 - 157 hits stored in this event + 178 hits stored in this event >>> Event: 99 - 75 hits stored in this event + 7434 hits stored in this event ### Run 2 starts. --> Event 0 starts. diff --git a/examples/basic/B2/B2a/include/ActionInitialization.hh b/examples/basic/B2/B2a/include/ActionInitialization.hh index 56ff016fcd7..42105fa5809 100644 --- a/examples/basic/B2/B2a/include/ActionInitialization.hh +++ b/examples/basic/B2/B2a/include/ActionInitialization.hh @@ -47,8 +47,6 @@ class ActionInitialization : public G4VUserActionInitialization void Build() const override; }; -} +} // namespace B2 #endif - - diff --git a/examples/basic/B2/B2a/include/DetectorConstruction.hh b/examples/basic/B2/B2a/include/DetectorConstruction.hh index 71f253c001e..df67bc3f1fe 100644 --- a/examples/basic/B2/B2a/include/DetectorConstruction.hh +++ b/examples/basic/B2/B2a/include/DetectorConstruction.hh @@ -30,9 +30,9 @@ #ifndef B2aDetectorConstruction_h #define B2aDetectorConstruction_h 1 -#include "globals.hh" #include "G4VUserDetectorConstruction.hh" -#include "tls.hh" +#include "G4Threading.hh" +#include "globals.hh" class G4VPhysicalVolume; class G4LogicalVolume; @@ -59,10 +59,10 @@ class DetectorConstruction : public G4VUserDetectorConstruction void ConstructSDandField() override; // Set methods - void SetTargetMaterial (G4String ); - void SetChamberMaterial(G4String ); - void SetMaxStep (G4double ); - void SetCheckOverlaps(G4bool ); + void SetTargetMaterial(G4String); + void SetChamberMaterial(G4String); + void SetMaxStep(G4double); + void SetCheckOverlaps(G4bool); private: // methods @@ -70,24 +70,24 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4VPhysicalVolume* DefineVolumes(); // static data members - static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; - // magnetic field messenger + static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; + // magnetic field messenger // data members G4int fNbOfChambers = 0; - G4LogicalVolume* fLogicTarget = nullptr; // pointer to the logical Target - G4LogicalVolume** fLogicChamber = nullptr; // pointer to the logical Chamber + G4LogicalVolume* fLogicTarget = nullptr; // pointer to the logical Target + G4LogicalVolume** fLogicChamber = nullptr; // pointer to the logical Chamber - G4Material* fTargetMaterial = nullptr; // pointer to the target material - G4Material* fChamberMaterial = nullptr; // pointer to the chamber material + G4Material* fTargetMaterial = nullptr; // pointer to the target material + G4Material* fChamberMaterial = nullptr; // pointer to the chamber material - G4UserLimits* fStepLimit = nullptr; // pointer to user step limits + G4UserLimits* fStepLimit = nullptr; // pointer to user step limits - DetectorMessenger* fMessenger = nullptr; // messenger + DetectorMessenger* fMessenger = nullptr; // messenger - G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps + G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps }; -} +} // namespace B2a #endif diff --git a/examples/basic/B2/B2a/include/DetectorMessenger.hh b/examples/basic/B2/B2a/include/DetectorMessenger.hh index 2dde370b213..3551938ef39 100644 --- a/examples/basic/B2/B2a/include/DetectorMessenger.hh +++ b/examples/basic/B2/B2a/include/DetectorMessenger.hh @@ -30,12 +30,12 @@ #ifndef B2aDetectorMessenger_h #define B2aDetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithADoubleAndUnit; +class G4UIcommand; namespace B2a { @@ -49,26 +49,26 @@ class DetectorConstruction; /// - /B2/det/setChamberMaterial name /// - /B2/det/stepMax value unit -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - DetectorMessenger(DetectorConstruction* ); + DetectorMessenger(DetectorConstruction*); ~DetectorMessenger() override; void SetNewValue(G4UIcommand*, G4String) override; private: - DetectorConstruction* fDetectorConstruction = nullptr; + DetectorConstruction* fDetectorConstruction = nullptr; - G4UIdirectory* fDirectory = nullptr; - G4UIdirectory* fDetDirectory = nullptr; + G4UIdirectory* fDirectory = nullptr; + G4UIdirectory* fDetDirectory = nullptr; - G4UIcmdWithAString* fTargMatCmd = nullptr; - G4UIcmdWithAString* fChamMatCmd = nullptr; + G4UIcmdWithAString* fTargMatCmd = nullptr; + G4UIcmdWithAString* fChamMatCmd = nullptr; G4UIcmdWithADoubleAndUnit* fStepMaxCmd = nullptr; }; -} +} // namespace B2a #endif diff --git a/examples/basic/B2/B2a/include/EventAction.hh b/examples/basic/B2/B2a/include/EventAction.hh index fd1e073bbb5..18a8416610d 100644 --- a/examples/basic/B2/B2a/include/EventAction.hh +++ b/examples/basic/B2/B2a/include/EventAction.hh @@ -32,7 +32,7 @@ #include "G4UserEventAction.hh" -#include "globals.hh" +class G4Event; namespace B2 { @@ -45,10 +45,10 @@ class EventAction : public G4UserEventAction EventAction() = default; ~EventAction() override = default; - void BeginOfEventAction(const G4Event* ) override; - void EndOfEventAction(const G4Event* ) override; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2a/include/PrimaryGeneratorAction.hh b/examples/basic/B2/B2a/include/PrimaryGeneratorAction.hh index f670538d4db..b6553053f35 100644 --- a/examples/basic/B2/B2a/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B2/B2a/include/PrimaryGeneratorAction.hh @@ -31,7 +31,6 @@ #define B2PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" class G4ParticleGun; class G4Event; @@ -52,14 +51,14 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction PrimaryGeneratorAction(); ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event* ) override; + void GeneratePrimaries(G4Event*) override; - G4ParticleGun* GetParticleGun() {return fParticleGun;} + G4ParticleGun* GetParticleGun() { return fParticleGun; } private: - G4ParticleGun* fParticleGun = nullptr; // G4 particle gun + G4ParticleGun* fParticleGun = nullptr; // G4 particle gun }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2a/include/RunAction.hh b/examples/basic/B2/B2a/include/RunAction.hh index 18ce074dad6..f8476d7f01b 100644 --- a/examples/basic/B2/B2a/include/RunAction.hh +++ b/examples/basic/B2/B2a/include/RunAction.hh @@ -31,7 +31,6 @@ #define B2RunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -47,9 +46,9 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run* run) override; - void EndOfRunAction(const G4Run* run) override; + void EndOfRunAction(const G4Run* run) override; }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2a/include/TrackerHit.hh b/examples/basic/B2/B2a/include/TrackerHit.hh index 9af8143ae44..0a9d2584398 100644 --- a/examples/basic/B2/B2a/include/TrackerHit.hh +++ b/examples/basic/B2/B2a/include/TrackerHit.hh @@ -30,11 +30,11 @@ #ifndef B2TrackerHit_h #define B2TrackerHit_h 1 -#include "G4VHit.hh" -#include "G4THitsCollection.hh" #include "G4Allocator.hh" +#include "G4THitsCollection.hh" +#include "G4Threading.hh" #include "G4ThreeVector.hh" -#include "tls.hh" +#include "G4VHit.hh" namespace B2 { @@ -57,28 +57,28 @@ class TrackerHit : public G4VHit G4bool operator==(const TrackerHit&) const; inline void* operator new(size_t); - inline void operator delete(void*); + inline void operator delete(void*); // methods from base class void Draw() override; void Print() override; // Set methods - void SetTrackID (G4int track) { fTrackID = track; }; - void SetChamberNb(G4int chamb) { fChamberNb = chamb; }; - void SetEdep (G4double de) { fEdep = de; }; - void SetPos (G4ThreeVector xyz){ fPos = xyz; }; + void SetTrackID(G4int track) { fTrackID = track; }; + void SetChamberNb(G4int chamb) { fChamberNb = chamb; }; + void SetEdep(G4double de) { fEdep = de; }; + void SetPos(G4ThreeVector xyz) { fPos = xyz; }; // Get methods - G4int GetTrackID() const { return fTrackID; }; - G4int GetChamberNb() const { return fChamberNb; }; - G4double GetEdep() const { return fEdep; }; + G4int GetTrackID() const { return fTrackID; }; + G4int GetChamberNb() const { return fChamberNb; }; + G4double GetEdep() const { return fEdep; }; G4ThreeVector GetPos() const { return fPos; }; private: - G4int fTrackID = -1; - G4int fChamberNb = -1; - G4double fEdep = 0.; + G4int fTrackID = -1; + G4int fChamberNb = -1; + G4double fEdep = 0.; G4ThreeVector fPos; }; @@ -92,20 +92,19 @@ extern G4ThreadLocal G4Allocator* TrackerHitAllocator; inline void* TrackerHit::operator new(size_t) { - if(!TrackerHitAllocator) - TrackerHitAllocator = new G4Allocator; - return (void *) TrackerHitAllocator->MallocSingle(); + if (!TrackerHitAllocator) TrackerHitAllocator = new G4Allocator; + return (void*)TrackerHitAllocator->MallocSingle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void TrackerHit::operator delete(void *hit) +inline void TrackerHit::operator delete(void* hit) { - TrackerHitAllocator->FreeSingle((TrackerHit*) hit); + TrackerHitAllocator->FreeSingle((TrackerHit*)hit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2a/include/TrackerSD.hh b/examples/basic/B2/B2a/include/TrackerSD.hh index 91cafde9304..a7ef84e2e08 100644 --- a/examples/basic/B2/B2a/include/TrackerSD.hh +++ b/examples/basic/B2/B2a/include/TrackerSD.hh @@ -30,10 +30,10 @@ #ifndef B2TrackerSD_h #define B2TrackerSD_h 1 -#include "G4VSensitiveDetector.hh" - #include "TrackerHit.hh" +#include "G4VSensitiveDetector.hh" + #include class G4Step; @@ -51,19 +51,18 @@ namespace B2 class TrackerSD : public G4VSensitiveDetector { public: - TrackerSD(const G4String& name, - const G4String& hitsCollectionName); + TrackerSD(const G4String& name, const G4String& hitsCollectionName); ~TrackerSD() override = default; // methods from base class - void Initialize(G4HCofThisEvent* hitCollection) override; + void Initialize(G4HCofThisEvent* hitCollection) override; G4bool ProcessHits(G4Step* step, G4TouchableHistory* history) override; - void EndOfEvent(G4HCofThisEvent* hitCollection) override; + void EndOfEvent(G4HCofThisEvent* hitCollection) override; private: TrackerHitsCollection* fHitsCollection = nullptr; }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2a/src/ActionInitialization.cc b/examples/basic/B2/B2a/src/ActionInitialization.cc index 54ee4ed2d1b..a9ace0e522c 100644 --- a/examples/basic/B2/B2a/src/ActionInitialization.cc +++ b/examples/basic/B2/B2a/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B2::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" namespace B2 { @@ -53,5 +54,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2a/src/DetectorConstruction.cc b/examples/basic/B2/B2a/src/DetectorConstruction.cc index fec8ece563c..04546ad610b 100644 --- a/examples/basic/B2/B2a/src/DetectorConstruction.cc +++ b/examples/basic/B2/B2a/src/DetectorConstruction.cc @@ -28,29 +28,25 @@ /// \brief Implementation of the B2a::DetectorConstruction class #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" #include "TrackerSD.hh" +#include "G4AutoDelete.hh" +#include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GeometryManager.hh" +#include "G4GeometryTolerance.hh" +#include "G4GlobalMagFieldMessenger.hh" +#include "G4LogicalVolume.hh" #include "G4Material.hh" #include "G4NistManager.hh" +#include "G4PVPlacement.hh" #include "G4SDManager.hh" - -#include "G4Box.hh" +#include "G4SystemOfUnits.hh" #include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" - -#include "G4GeometryTolerance.hh" -#include "G4GeometryManager.hh" - #include "G4UserLimits.hh" - #include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4SystemOfUnits.hh" using namespace B2; @@ -59,8 +55,7 @@ namespace B2a //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ThreadLocal -G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; +G4ThreadLocal G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; DetectorConstruction::DetectorConstruction() { @@ -74,7 +69,7 @@ DetectorConstruction::DetectorConstruction() DetectorConstruction::~DetectorConstruction() { - delete [] fLogicChamber; + delete[] fLogicChamber; delete fStepLimit; delete fMessenger; } @@ -102,7 +97,7 @@ void DetectorConstruction::DefineMaterials() nistManager->FindOrBuildMaterial("G4_AIR"); // Lead defined using NIST Manager - fTargetMaterial = nistManager->FindOrBuildMaterial("G4_Pb"); + fTargetMaterial = nistManager->FindOrBuildMaterial("G4_Pb"); // Xenon gas defined using NIST Manager fChamberMaterial = nistManager->FindOrBuildMaterial("G4_Xe"); @@ -115,22 +110,22 @@ void DetectorConstruction::DefineMaterials() G4VPhysicalVolume* DetectorConstruction::DefineVolumes() { - G4Material* air = G4Material::GetMaterial("G4_AIR"); + G4Material* air = G4Material::GetMaterial("G4_AIR"); // Sizes of the principal geometrical components (solids) - G4double chamberSpacing = 80*cm; // from chamber center to center! + G4double chamberSpacing = 80 * cm; // from chamber center to center! - G4double chamberWidth = 20.0*cm; // width of the chambers - G4double targetLength = 5.0*cm; // full length of Target + G4double chamberWidth = 20.0 * cm; // width of the chambers + G4double targetLength = 5.0 * cm; // full length of Target - G4double trackerLength = (fNbOfChambers+1)*chamberSpacing; + G4double trackerLength = (fNbOfChambers + 1) * chamberSpacing; - G4double worldLength = 1.2 * (2*targetLength + trackerLength); + G4double worldLength = 1.2 * (2 * targetLength + trackerLength); - G4double targetRadius = 0.5*targetLength; // Radius of Target - targetLength = 0.5*targetLength; // Half length of the Target - G4double trackerSize = 0.5*trackerLength; // Half length of the Tracker + G4double targetRadius = 0.5 * targetLength; // Radius of Target + targetLength = 0.5 * targetLength; // Half length of the Target + G4double trackerSize = 0.5 * trackerLength; // Half length of the Tracker // Definitions of Solids, Logical Volumes, Physical Volumes @@ -139,114 +134,108 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() G4GeometryManager::GetInstance()->SetWorldMaximumExtent(worldLength); G4cout << "Computed tolerance = " - << G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()/mm - << " mm" << G4endl; + << G4GeometryTolerance::GetInstance()->GetSurfaceTolerance() / mm << " mm" << G4endl; - auto worldS = new G4Box("world", // its name - worldLength / 2, worldLength / 2, worldLength / 2); // its size - auto worldLV = new G4LogicalVolume(worldS, // its solid - air, // its material - "World"); // its name + auto worldS = new G4Box("world", // its name + worldLength / 2, worldLength / 2, worldLength / 2); // its size + auto worldLV = new G4LogicalVolume(worldS, // its solid + air, // its material + "World"); // its name // Must place the World Physical volume unrotated at (0,0,0). // auto worldPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - worldLV, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operations - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + worldLV, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operations + 0, // copy number + fCheckOverlaps); // checking overlaps // Target - G4ThreeVector positionTarget = G4ThreeVector(0,0,-(targetLength+trackerSize)); + G4ThreeVector positionTarget = G4ThreeVector(0, 0, -(targetLength + trackerSize)); auto targetS = new G4Tubs("target", 0., targetRadius, targetLength, 0. * deg, 360. * deg); fLogicTarget = new G4LogicalVolume(targetS, fTargetMaterial, "Target", nullptr, nullptr, nullptr); new G4PVPlacement(nullptr, // no rotation - positionTarget, // at (x,y,z) - fLogicTarget, // its logical volume - "Target", // its name - worldLV, // its mother volume - false, // no boolean operations - 0, // copy number - fCheckOverlaps); // checking overlaps - - G4cout << "Target is " << 2*targetLength/cm << " cm of " - << fTargetMaterial->GetName() << G4endl; + positionTarget, // at (x,y,z) + fLogicTarget, // its logical volume + "Target", // its name + worldLV, // its mother volume + false, // no boolean operations + 0, // copy number + fCheckOverlaps); // checking overlaps + + G4cout << "Target is " << 2 * targetLength / cm << " cm of " << fTargetMaterial->GetName() + << G4endl; // Tracker - G4ThreeVector positionTracker = G4ThreeVector(0,0,0); + G4ThreeVector positionTracker = G4ThreeVector(0, 0, 0); auto trackerS = new G4Tubs("tracker", 0, trackerSize, trackerSize, 0. * deg, 360. * deg); auto trackerLV = new G4LogicalVolume(trackerS, air, "Tracker", nullptr, nullptr, nullptr); new G4PVPlacement(nullptr, // no rotation - positionTracker, // at (x,y,z) - trackerLV, // its logical volume - "Tracker", // its name - worldLV, // its mother volume - false, // no boolean operations - 0, // copy number - fCheckOverlaps); // checking overlaps + positionTracker, // at (x,y,z) + trackerLV, // its logical volume + "Tracker", // its name + worldLV, // its mother volume + false, // no boolean operations + 0, // copy number + fCheckOverlaps); // checking overlaps // Visualization attributes G4VisAttributes boxVisAtt(G4Colour::White()); G4VisAttributes chamberVisAtt(G4Colour::Yellow()); - worldLV ->SetVisAttributes(boxVisAtt); - fLogicTarget ->SetVisAttributes(boxVisAtt); - trackerLV ->SetVisAttributes(boxVisAtt); + worldLV->SetVisAttributes(boxVisAtt); + fLogicTarget->SetVisAttributes(boxVisAtt); + trackerLV->SetVisAttributes(boxVisAtt); // Tracker segments - G4cout << "There are " << fNbOfChambers << " chambers in the tracker region. " - << G4endl - << "The chambers are " << chamberWidth/cm << " cm of " - << fChamberMaterial->GetName() << G4endl - << "The distance between chamber is " << chamberSpacing/cm << " cm" - << G4endl; + G4cout << "There are " << fNbOfChambers << " chambers in the tracker region. " << G4endl + << "The chambers are " << chamberWidth / cm << " cm of " << fChamberMaterial->GetName() + << G4endl << "The distance between chamber is " << chamberSpacing / cm << " cm" << G4endl; G4double firstPosition = -trackerSize + chamberSpacing; - G4double firstLength = trackerLength/10; - G4double lastLength = trackerLength; + G4double firstLength = trackerLength / 10; + G4double lastLength = trackerLength; - G4double halfWidth = 0.5*chamberWidth; + G4double halfWidth = 0.5 * chamberWidth; G4double rmaxFirst = 0.5 * firstLength; G4double rmaxIncr = 0.0; - if( fNbOfChambers > 0 ){ - rmaxIncr = 0.5 * (lastLength-firstLength)/(fNbOfChambers-1); - if (chamberSpacing < chamberWidth) { - G4Exception("DetectorConstruction::DefineVolumes()", - "InvalidSetup", FatalException, - "Width>Spacing"); + if (fNbOfChambers > 0) { + rmaxIncr = 0.5 * (lastLength - firstLength) / (fNbOfChambers - 1); + if (chamberSpacing < chamberWidth) { + G4Exception("DetectorConstruction::DefineVolumes()", "InvalidSetup", FatalException, + "Width>Spacing"); } } - for (G4int copyNo=0; copyNoSetVisAttributes(chamberVisAtt); + fLogicChamber[copyNo]->SetVisAttributes(chamberVisAtt); - new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0, 0, Zposition), // at (x,y,z) - fLogicChamber[copyNo], // its logical volume - "Chamber_PV", // its name - trackerLV, // its mother volume - false, // no boolean operations - copyNo, // copy number - fCheckOverlaps); // checking overlaps + new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0, 0, Zposition), // at (x,y,z) + fLogicChamber[copyNo], // its logical volume + "Chamber_PV", // its name + trackerLV, // its mother volume + false, // no boolean operations + copyNo, // copy number + fCheckOverlaps); // checking overlaps } // Example of User Limits @@ -256,7 +245,7 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() // // Sets a max step length in the tracker region, with G4StepLimiter - G4double maxStep = 0.5*chamberWidth; + G4double maxStep = 0.5 * chamberWidth; fStepLimit = new G4UserLimits(maxStep); trackerLV->SetUserLimits(fStepLimit); @@ -280,11 +269,11 @@ void DetectorConstruction::ConstructSDandField() // Sensitive detectors G4String trackerChamberSDname = "/TrackerChamberSD"; - auto aTrackerSD = new TrackerSD(trackerChamberSDname, "TrackerHitsCollection"); - G4SDManager::GetSDMpointer()->AddNewDetector(aTrackerSD); - // Setting aTrackerSD to all logical volumes with the same name + auto trackerSD = new TrackerSD(trackerChamberSDname, "TrackerHitsCollection"); + G4SDManager::GetSDMpointer()->AddNewDetector(trackerSD); + // Setting trackerSD to all logical volumes with the same name // of "Chamber_LV". - SetSensitiveDetector("Chamber_LV", aTrackerSD, true); + SetSensitiveDetector("Chamber_LV", trackerSD, true); // Create global magnetic field messenger. // Uniform magnetic field is then created automatically if @@ -303,22 +292,18 @@ void DetectorConstruction::SetTargetMaterial(G4String materialName) { G4NistManager* nistManager = G4NistManager::Instance(); - G4Material* pttoMaterial = - nistManager->FindOrBuildMaterial(materialName); + G4Material* pttoMaterial = nistManager->FindOrBuildMaterial(materialName); if (fTargetMaterial != pttoMaterial) { - if ( pttoMaterial ) { - fTargetMaterial = pttoMaterial; - if (fLogicTarget) fLogicTarget->SetMaterial(fTargetMaterial); - G4cout - << G4endl - << "----> The target is made of " << materialName << G4endl; - } else { - G4cout - << G4endl - << "--> WARNING from SetTargetMaterial : " - << materialName << " not found" << G4endl; - } + if (pttoMaterial) { + fTargetMaterial = pttoMaterial; + if (fLogicTarget) fLogicTarget->SetMaterial(fTargetMaterial); + G4cout << G4endl << "----> The target is made of " << materialName << G4endl; + } + else { + G4cout << G4endl << "--> WARNING from SetTargetMaterial : " << materialName << " not found" + << G4endl; + } } } @@ -328,25 +313,20 @@ void DetectorConstruction::SetChamberMaterial(G4String materialName) { G4NistManager* nistManager = G4NistManager::Instance(); - G4Material* pttoMaterial = - nistManager->FindOrBuildMaterial(materialName); + G4Material* pttoMaterial = nistManager->FindOrBuildMaterial(materialName); if (fChamberMaterial != pttoMaterial) { - if ( pttoMaterial ) { - fChamberMaterial = pttoMaterial; - for (G4int copyNo=0; copyNo - SetMaterial(fChamberMaterial); - } - G4cout - << G4endl - << "----> The chambers are made of " << materialName << G4endl; - } else { - G4cout - << G4endl - << "--> WARNING from SetChamberMaterial : " - << materialName << " not found" << G4endl; - } + if (pttoMaterial) { + fChamberMaterial = pttoMaterial; + for (G4int copyNo = 0; copyNo < fNbOfChambers; copyNo++) { + if (fLogicChamber[copyNo]) fLogicChamber[copyNo]->SetMaterial(fChamberMaterial); + } + G4cout << G4endl << "----> The chambers are made of " << materialName << G4endl; + } + else { + G4cout << G4endl << "--> WARNING from SetChamberMaterial : " << materialName << " not found" + << G4endl; + } } } @@ -354,7 +334,7 @@ void DetectorConstruction::SetChamberMaterial(G4String materialName) void DetectorConstruction::SetMaxStep(G4double maxStep) { - if ((fStepLimit)&&(maxStep>0.)) fStepLimit->SetMaxAllowedStep(maxStep); + if ((fStepLimit) && (maxStep > 0.)) fStepLimit->SetMaxAllowedStep(maxStep); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -366,4 +346,4 @@ void DetectorConstruction::SetCheckOverlaps(G4bool checkOverlaps) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} \ No newline at end of file +} // namespace B2a \ No newline at end of file diff --git a/examples/basic/B2/B2a/src/DetectorMessenger.cc b/examples/basic/B2/B2a/src/DetectorMessenger.cc index 7ab864f211f..d4a2da59959 100644 --- a/examples/basic/B2/B2a/src/DetectorMessenger.cc +++ b/examples/basic/B2/B2a/src/DetectorMessenger.cc @@ -28,19 +28,19 @@ /// \brief Implementation of the B2a::DetectorMessenger class #include "DetectorMessenger.hh" + #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" namespace B2a { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction* det) - : fDetectorConstruction(det) +DetectorMessenger::DetectorMessenger(DetectorConstruction* det) : fDetectorConstruction(det) { fDirectory = new G4UIdirectory("/B2/"); fDirectory->SetGuidance("UI commands specific to this example."); @@ -48,19 +48,19 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction* det) fDetDirectory = new G4UIdirectory("/B2/det/"); fDetDirectory->SetGuidance("Detector construction control"); - fTargMatCmd = new G4UIcmdWithAString("/B2/det/setTargetMaterial",this); + fTargMatCmd = new G4UIcmdWithAString("/B2/det/setTargetMaterial", this); fTargMatCmd->SetGuidance("Select Material of the Target."); - fTargMatCmd->SetParameterName("choice",false); - fTargMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fTargMatCmd->SetParameterName("choice", false); + fTargMatCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fChamMatCmd = new G4UIcmdWithAString("/B2/det/setChamberMaterial",this); + fChamMatCmd = new G4UIcmdWithAString("/B2/det/setChamberMaterial", this); fChamMatCmd->SetGuidance("Select Material of the Chamber."); - fChamMatCmd->SetParameterName("choice",false); - fChamMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fChamMatCmd->SetParameterName("choice", false); + fChamMatCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/B2/det/stepMax",this); + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/B2/det/stepMax", this); fStepMaxCmd->SetGuidance("Define a step max"); - fStepMaxCmd->SetParameterName("stepMax",false); + fStepMaxCmd->SetParameterName("stepMax", false); fStepMaxCmd->SetUnitCategory("Length"); fStepMaxCmd->AvailableForStates(G4State_Idle); } @@ -78,20 +78,21 @@ DetectorMessenger::~DetectorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fTargMatCmd ) - { fDetectorConstruction->SetTargetMaterial(newValue);} + if (command == fTargMatCmd) { + fDetectorConstruction->SetTargetMaterial(newValue); + } - if( command == fChamMatCmd ) - { fDetectorConstruction->SetChamberMaterial(newValue);} + if (command == fChamMatCmd) { + fDetectorConstruction->SetChamberMaterial(newValue); + } - if( command == fStepMaxCmd ) { - fDetectorConstruction - ->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + if (command == fStepMaxCmd) { + fDetectorConstruction->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2a diff --git a/examples/basic/B2/B2a/src/EventAction.cc b/examples/basic/B2/B2a/src/EventAction.cc index c7822014a17..37b3fe98b11 100644 --- a/examples/basic/B2/B2a/src/EventAction.cc +++ b/examples/basic/B2/B2a/src/EventAction.cc @@ -30,9 +30,7 @@ #include "EventAction.hh" #include "G4Event.hh" -#include "G4EventManager.hh" #include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" #include "G4ios.hh" namespace B2 @@ -40,8 +38,7 @@ namespace B2 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::BeginOfEventAction(const G4Event*) -{} +void EventAction::BeginOfEventAction(const G4Event*) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,19 +53,16 @@ void EventAction::EndOfEventAction(const G4Event* event) // periodic printing G4int eventID = event->GetEventID(); - if ( eventID < 100 || eventID % 100 == 0) { - G4cout << ">>> Event: " << eventID << G4endl; - if ( trajectoryContainer ) { - G4cout << " " << n_trajectories - << " trajectories stored in this event." << G4endl; + if (eventID < 100 || eventID % 100 == 0) { + G4cout << ">>> Event: " << eventID << G4endl; + if (trajectoryContainer) { + G4cout << " " << n_trajectories << " trajectories stored in this event." << G4endl; } G4VHitsCollection* hc = event->GetHCofThisEvent()->GetHC(0); - G4cout << " " - << hc->GetSize() << " hits stored in this event" << G4endl; + G4cout << " " << hc->GetSize() << " hits stored in this event" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc b/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc index 32e51c5ddfd..60c0580b8a4 100644 --- a/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc @@ -29,15 +29,12 @@ #include "PrimaryGeneratorAction.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4Event.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" -#include "Randomize.hh" namespace B2 { @@ -51,12 +48,12 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() // default particle kinematic - G4ParticleDefinition* particleDefinition - = G4ParticleTable::GetParticleTable()->FindParticle("proton"); + G4ParticleDefinition* particleDefinition = + G4ParticleTable::GetParticleTable()->FindParticle("proton"); fParticleGun->SetParticleDefinition(particleDefinition); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(3.0*GeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(3.0 * GeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,7 +65,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { // This function is called at the begining of event @@ -77,12 +74,12 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // from G4LogicalVolumeStore. G4double worldZHalfLength = 0; - G4LogicalVolume* worldLV - = G4LogicalVolumeStore::GetInstance()->GetVolume("World"); + G4LogicalVolume* worldLV = G4LogicalVolumeStore::GetInstance()->GetVolume("World"); G4Box* worldBox = nullptr; - if ( worldLV ) worldBox = dynamic_cast(worldLV->GetSolid()); - if ( worldBox ) worldZHalfLength = worldBox->GetZHalfLength(); - else { + if (worldLV) worldBox = dynamic_cast(worldLV->GetSolid()); + if (worldBox) + worldZHalfLength = worldBox->GetZHalfLength(); + else { G4cerr << "World volume of box not found." << G4endl; G4cerr << "Perhaps you have changed geometry." << G4endl; G4cerr << "The gun will be place in the center." << G4endl; @@ -90,12 +87,11 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // Starting a primary particle close to the world boundary. // - fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength+1*um)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength + 1 * um)); - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2a/src/RunAction.cc b/examples/basic/B2/B2a/src/RunAction.cc index 2e5ce1002ca..8315379f820 100644 --- a/examples/basic/B2/B2a/src/RunAction.cc +++ b/examples/basic/B2/B2a/src/RunAction.cc @@ -29,7 +29,6 @@ #include "RunAction.hh" -#include "G4Run.hh" #include "G4RunManager.hh" namespace B2 @@ -47,16 +46,14 @@ RunAction::RunAction() void RunAction::BeginOfRunAction(const G4Run*) { - //inform the runManager to save random number seed + // inform the runManager to save random number seed G4RunManager::GetRunManager()->SetRandomNumberStore(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EndOfRunAction(const G4Run* ) -{} +void RunAction::EndOfRunAction(const G4Run*) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2a/src/TrackerHit.cc b/examples/basic/B2/B2a/src/TrackerHit.cc index 3b9e8c3b496..ed85e45d861 100644 --- a/examples/basic/B2/B2a/src/TrackerHit.cc +++ b/examples/basic/B2/B2a/src/TrackerHit.cc @@ -28,10 +28,11 @@ /// \brief Implementation of the B2::TrackerHit class #include "TrackerHit.hh" -#include "G4UnitsTable.hh" -#include "G4VVisManager.hh" + #include "G4Circle.hh" #include "G4Colour.hh" +#include "G4UnitsTable.hh" +#include "G4VVisManager.hh" #include "G4VisAttributes.hh" #include @@ -45,7 +46,7 @@ G4ThreadLocal G4Allocator* TrackerHitAllocator = nullptr; G4bool TrackerHit::operator==(const TrackerHit& right) const { - return ( this == &right ) ? true : false; + return (this == &right) ? true : false; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -53,8 +54,7 @@ G4bool TrackerHit::operator==(const TrackerHit& right) const void TrackerHit::Draw() { G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - if(pVVisManager) - { + if (pVVisManager) { G4Circle circle(fPos); circle.SetScreenSize(4.); circle.SetFillStyle(G4Circle::filled); @@ -68,15 +68,11 @@ void TrackerHit::Draw() void TrackerHit::Print() { - G4cout - << " trackID: " << fTrackID << " chamberNb: " << fChamberNb - << "Edep: " - << std::setw(7) << G4BestUnit(fEdep,"Energy") - << " Position: " - << std::setw(7) << G4BestUnit( fPos,"Length") - << G4endl; + G4cout << " trackID: " << fTrackID << " chamberNb: " << fChamberNb << "Edep: " << std::setw(7) + << G4BestUnit(fEdep, "Energy") << " Position: " << std::setw(7) + << G4BestUnit(fPos, "Length") << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2 diff --git a/examples/basic/B2/B2a/src/TrackerSD.cc b/examples/basic/B2/B2a/src/TrackerSD.cc index b013e4a4637..f9597aabdcf 100644 --- a/examples/basic/B2/B2a/src/TrackerSD.cc +++ b/examples/basic/B2/B2a/src/TrackerSD.cc @@ -28,10 +28,11 @@ /// \brief Implementation of the B2::TrackerSD class #include "TrackerSD.hh" + #include "G4HCofThisEvent.hh" +#include "G4SDManager.hh" #include "G4Step.hh" #include "G4ThreeVector.hh" -#include "G4SDManager.hh" #include "G4ios.hh" namespace B2 @@ -39,9 +40,8 @@ namespace B2 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackerSD::TrackerSD(const G4String& name, - const G4String& hitsCollectionName) - : G4VSensitiveDetector(name) +TrackerSD::TrackerSD(const G4String& name, const G4String& hitsCollectionName) + : G4VSensitiveDetector(name) { collectionName.insert(hitsCollectionName); } @@ -52,37 +52,33 @@ void TrackerSD::Initialize(G4HCofThisEvent* hce) { // Create hits collection - fHitsCollection - = new TrackerHitsCollection(SensitiveDetectorName, collectionName[0]); + fHitsCollection = new TrackerHitsCollection(SensitiveDetectorName, collectionName[0]); // Add this collection in hce - G4int hcID - = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); - hce->AddHitsCollection( hcID, fHitsCollection ); + G4int hcID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); + hce->AddHitsCollection(hcID, fHitsCollection); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool TrackerSD::ProcessHits(G4Step* aStep, - G4TouchableHistory*) +G4bool TrackerSD::ProcessHits(G4Step* step, G4TouchableHistory*) { // energy deposit - G4double edep = aStep->GetTotalEnergyDeposit(); + G4double edep = step->GetTotalEnergyDeposit(); - if (edep==0.) return false; + if (edep == 0.) return false; auto newHit = new TrackerHit(); - newHit->SetTrackID (aStep->GetTrack()->GetTrackID()); - newHit->SetChamberNb(aStep->GetPreStepPoint()->GetTouchableHandle() - ->GetCopyNumber()); + newHit->SetTrackID(step->GetTrack()->GetTrackID()); + newHit->SetChamberNb(step->GetPreStepPoint()->GetTouchableHandle()->GetCopyNumber()); newHit->SetEdep(edep); - newHit->SetPos (aStep->GetPostStepPoint()->GetPosition()); + newHit->SetPos(step->GetPostStepPoint()->GetPosition()); - fHitsCollection->insert( newHit ); + fHitsCollection->insert(newHit); - //newHit->Print(); + // newHit->Print(); return true; } @@ -91,16 +87,15 @@ G4bool TrackerSD::ProcessHits(G4Step* aStep, void TrackerSD::EndOfEvent(G4HCofThisEvent*) { - if ( verboseLevel>1 ) { - std::size_t nofHits = fHitsCollection->entries(); - G4cout << G4endl - << "-------->Hits Collection: in this event they are " << nofHits - << " hits in the tracker chambers: " << G4endl; - for ( std::size_t i=0; iPrint(); + if (verboseLevel > 1) { + std::size_t nofHits = fHitsCollection->entries(); + G4cout << G4endl << "-------->Hits Collection: in this event they are " << nofHits + << " hits in the tracker chambers: " << G4endl; + for (std::size_t i = 0; i < nofHits; i++) + (*fHitsCollection)[i]->Print(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2b/exampleB2b.cc b/examples/basic/B2/B2b/exampleB2b.cc index 2b37f69c460..1aa8641a7a7 100644 --- a/examples/basic/B2/B2b/exampleB2b.cc +++ b/examples/basic/B2/B2b/exampleB2b.cc @@ -27,40 +27,39 @@ /// \file exampleB2b.cc /// \brief Main program of the B2b example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" +#include "G4StepLimiterPhysics.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "FTFP_BERT.hh" -#include "G4StepLimiterPhysics.hh" - -#include "Randomize.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Optionally: choose a different Random engine... // G4Random::setTheEngine(new CLHEP::MTwistEngine); - //use G4SteppingVerboseWithUnits + // use G4SteppingVerboseWithUnits G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); // Construct the default run manager // - auto runManager = - G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); + auto runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); // Set mandatory initialization classes // @@ -87,11 +86,11 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( ! ui ) { + if (!ui) { // barch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/basic/B2/B2b/exampleB2b.out b/examples/basic/B2/B2b/exampleB2b.out index 45edc939ed9..0466fad46fd 100644 --- a/examples/basic/B2/B2b/exampleB2b.out +++ b/examples/basic/B2/B2b/exampleB2b.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -300,7 +307,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -855,7 +862,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -884,13 +891,13 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 7 0 hits stored in this event >>> Event: 8 - 0 hits stored in this event + 28 hits stored in this event >>> Event: 9 0 hits stored in this event >>> Event: 10 - 16 hits stored in this event + 0 hits stored in this event >>> Event: 11 - 70 hits stored in this event + 0 hits stored in this event >>> Event: 12 0 hits stored in this event >>> Event: 13 @@ -902,13 +909,13 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 16 0 hits stored in this event >>> Event: 17 - 39 hits stored in this event + 0 hits stored in this event >>> Event: 18 - 43 hits stored in this event + 0 hits stored in this event >>> Event: 19 0 hits stored in this event >>> Event: 20 - 0 hits stored in this event + 9 hits stored in this event >>> Event: 21 0 hits stored in this event >>> Event: 22 @@ -926,29 +933,29 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 28 0 hits stored in this event >>> Event: 29 - 43 hits stored in this event + 0 hits stored in this event >>> Event: 30 0 hits stored in this event >>> Event: 31 - 99 hits stored in this event + 0 hits stored in this event >>> Event: 32 0 hits stored in this event >>> Event: 33 - 0 hits stored in this event + 22 hits stored in this event >>> Event: 34 - 0 hits stored in this event + 79 hits stored in this event >>> Event: 35 0 hits stored in this event >>> Event: 36 0 hits stored in this event >>> Event: 37 - 51 hits stored in this event + 0 hits stored in this event >>> Event: 38 - 120 hits stored in this event + 0 hits stored in this event >>> Event: 39 0 hits stored in this event >>> Event: 40 - 76 hits stored in this event + 0 hits stored in this event >>> Event: 41 0 hits stored in this event >>> Event: 42 @@ -956,7 +963,7 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 43 0 hits stored in this event >>> Event: 44 - 0 hits stored in this event + 99 hits stored in this event >>> Event: 45 0 hits stored in this event >>> Event: 46 @@ -972,17 +979,17 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 51 0 hits stored in this event >>> Event: 52 - 0 hits stored in this event + 112 hits stored in this event >>> Event: 53 0 hits stored in this event >>> Event: 54 - 0 hits stored in this event + 56 hits stored in this event >>> Event: 55 0 hits stored in this event >>> Event: 56 0 hits stored in this event >>> Event: 57 - 0 hits stored in this event + 21 hits stored in this event >>> Event: 58 0 hits stored in this event >>> Event: 59 @@ -990,21 +997,21 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 60 0 hits stored in this event >>> Event: 61 - 0 hits stored in this event + 63 hits stored in this event >>> Event: 62 - 101 hits stored in this event + 0 hits stored in this event >>> Event: 63 0 hits stored in this event >>> Event: 64 - 76 hits stored in this event + 0 hits stored in this event >>> Event: 65 0 hits stored in this event >>> Event: 66 0 hits stored in this event >>> Event: 67 - 103 hits stored in this event + 0 hits stored in this event >>> Event: 68 - 149 hits stored in this event + 0 hits stored in this event >>> Event: 69 0 hits stored in this event >>> Event: 70 @@ -1016,11 +1023,11 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 73 0 hits stored in this event >>> Event: 74 - 48 hits stored in this event ->>> Event: 75 0 hits stored in this event +>>> Event: 75 + 49 hits stored in this event >>> Event: 76 - 3 hits stored in this event + 0 hits stored in this event >>> Event: 77 0 hits stored in this event >>> Event: 78 @@ -1032,7 +1039,7 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 81 0 hits stored in this event >>> Event: 82 - 179 hits stored in this event + 0 hits stored in this event >>> Event: 83 0 hits stored in this event >>> Event: 84 @@ -1046,23 +1053,23 @@ See commands in /vis/modeling/trajectories/ for other options. >>> Event: 88 0 hits stored in this event >>> Event: 89 - 0 hits stored in this event + 331 hits stored in this event >>> Event: 90 0 hits stored in this event >>> Event: 91 - 31 hits stored in this event + 0 hits stored in this event >>> Event: 92 - 31 hits stored in this event + 0 hits stored in this event >>> Event: 93 0 hits stored in this event >>> Event: 94 - 1 hits stored in this event + 0 hits stored in this event >>> Event: 95 0 hits stored in this event >>> Event: 96 0 hits stored in this event >>> Event: 97 - 0 hits stored in this event + 46 hits stored in this event >>> Event: 98 0 hits stored in this event >>> Event: 99 @@ -1070,205 +1077,205 @@ See commands in /vis/modeling/trajectories/ for other options. ### Run 1 starts. --> Event 0 starts. >>> Event: 0 - 68 hits stored in this event + 85 hits stored in this event >>> Event: 1 - 408 hits stored in this event + 86 hits stored in this event >>> Event: 2 - 103 hits stored in this event + 328 hits stored in this event >>> Event: 3 - 107 hits stored in this event + 87 hits stored in this event >>> Event: 4 - 73 hits stored in this event + 120 hits stored in this event >>> Event: 5 - 80 hits stored in this event + 86 hits stored in this event >>> Event: 6 - 181 hits stored in this event + 105 hits stored in this event >>> Event: 7 - 77 hits stored in this event + 60 hits stored in this event >>> Event: 8 - 98 hits stored in this event + 121 hits stored in this event >>> Event: 9 - 2258 hits stored in this event + 86 hits stored in this event >>> Event: 10 - 161 hits stored in this event + 361 hits stored in this event >>> Event: 11 - 83 hits stored in this event + 185 hits stored in this event >>> Event: 12 - 124 hits stored in this event + 80 hits stored in this event >>> Event: 13 - 93 hits stored in this event + 67 hits stored in this event >>> Event: 14 - 379 hits stored in this event + 93 hits stored in this event >>> Event: 15 - 79 hits stored in this event + 76 hits stored in this event >>> Event: 16 - 309 hits stored in this event + 65 hits stored in this event >>> Event: 17 - 77 hits stored in this event + 81 hits stored in this event >>> Event: 18 - 63 hits stored in this event + 124 hits stored in this event >>> Event: 19 - 58 hits stored in this event + 121 hits stored in this event >>> Event: 20 - 62 hits stored in this event + 606 hits stored in this event >>> Event: 21 - 107 hits stored in this event + 66 hits stored in this event >>> Event: 22 - 214 hits stored in this event + 207 hits stored in this event >>> Event: 23 - 79 hits stored in this event + 289 hits stored in this event >>> Event: 24 - 361 hits stored in this event + 126 hits stored in this event >>> Event: 25 - 63 hits stored in this event + 79 hits stored in this event >>> Event: 26 - 64 hits stored in this event + 81 hits stored in this event >>> Event: 27 - 436 hits stored in this event + 170 hits stored in this event >>> Event: 28 - 102 hits stored in this event + 219 hits stored in this event >>> Event: 29 - 93 hits stored in this event + 186 hits stored in this event >>> Event: 30 - 109 hits stored in this event + 61 hits stored in this event >>> Event: 31 - 4239 hits stored in this event + 111 hits stored in this event >>> Event: 32 - 83 hits stored in this event + 52 hits stored in this event >>> Event: 33 - 73 hits stored in this event + 105 hits stored in this event >>> Event: 34 - 90 hits stored in this event + 72 hits stored in this event >>> Event: 35 - 94 hits stored in this event + 64 hits stored in this event >>> Event: 36 - 351 hits stored in this event + 107 hits stored in this event >>> Event: 37 - 55 hits stored in this event + 114 hits stored in this event >>> Event: 38 - 112 hits stored in this event + 119 hits stored in this event >>> Event: 39 - 465 hits stored in this event + 76 hits stored in this event >>> Event: 40 - 65 hits stored in this event + 79 hits stored in this event >>> Event: 41 - 1413 hits stored in this event + 105 hits stored in this event >>> Event: 42 - 93 hits stored in this event + 547 hits stored in this event >>> Event: 43 - 85 hits stored in this event + 71 hits stored in this event >>> Event: 44 - 212 hits stored in this event + 157 hits stored in this event >>> Event: 45 - 100 hits stored in this event + 104 hits stored in this event >>> Event: 46 - 155 hits stored in this event + 167 hits stored in this event >>> Event: 47 - 400 hits stored in this event + 134 hits stored in this event >>> Event: 48 - 285 hits stored in this event + 441 hits stored in this event >>> Event: 49 - 369 hits stored in this event + 79 hits stored in this event >>> Event: 50 - 76 hits stored in this event + 65 hits stored in this event >>> Event: 51 - 104 hits stored in this event + 260 hits stored in this event >>> Event: 52 - 71 hits stored in this event + 75 hits stored in this event >>> Event: 53 - 648 hits stored in this event + 274 hits stored in this event >>> Event: 54 - 127 hits stored in this event + 118 hits stored in this event >>> Event: 55 - 95 hits stored in this event + 93 hits stored in this event >>> Event: 56 - 59 hits stored in this event + 231 hits stored in this event >>> Event: 57 - 94 hits stored in this event + 92 hits stored in this event >>> Event: 58 - 108 hits stored in this event + 79 hits stored in this event >>> Event: 59 - 93 hits stored in this event + 85 hits stored in this event >>> Event: 60 - 92 hits stored in this event + 150 hits stored in this event >>> Event: 61 - 80 hits stored in this event + 598 hits stored in this event >>> Event: 62 - 97 hits stored in this event + 133 hits stored in this event >>> Event: 63 - 66 hits stored in this event + 74 hits stored in this event >>> Event: 64 - 248 hits stored in this event + 177 hits stored in this event >>> Event: 65 - 83 hits stored in this event + 73 hits stored in this event >>> Event: 66 - 69 hits stored in this event + 68 hits stored in this event >>> Event: 67 - 211 hits stored in this event + 65 hits stored in this event >>> Event: 68 - 605 hits stored in this event + 922 hits stored in this event >>> Event: 69 - 193 hits stored in this event + 50 hits stored in this event >>> Event: 70 - 1023 hits stored in this event + 128 hits stored in this event >>> Event: 71 - 51 hits stored in this event + 33582 hits stored in this event >>> Event: 72 - 48 hits stored in this event + 110 hits stored in this event >>> Event: 73 - 164 hits stored in this event + 119 hits stored in this event >>> Event: 74 - 71 hits stored in this event + 119 hits stored in this event >>> Event: 75 - 147 hits stored in this event + 122 hits stored in this event >>> Event: 76 - 92 hits stored in this event + 86 hits stored in this event >>> Event: 77 - 81 hits stored in this event + 929 hits stored in this event >>> Event: 78 - 84 hits stored in this event + 78 hits stored in this event >>> Event: 79 - 64 hits stored in this event + 66 hits stored in this event >>> Event: 80 - 242 hits stored in this event + 119 hits stored in this event >>> Event: 81 - 103 hits stored in this event + 225 hits stored in this event >>> Event: 82 - 497 hits stored in this event + 99 hits stored in this event >>> Event: 83 - 195 hits stored in this event + 75 hits stored in this event >>> Event: 84 - 83 hits stored in this event + 89 hits stored in this event >>> Event: 85 - 505 hits stored in this event + 108 hits stored in this event >>> Event: 86 - 151 hits stored in this event + 93 hits stored in this event >>> Event: 87 - 55 hits stored in this event + 100 hits stored in this event >>> Event: 88 - 140 hits stored in this event + 129 hits stored in this event >>> Event: 89 - 67 hits stored in this event + 87 hits stored in this event >>> Event: 90 - 90 hits stored in this event + 2147 hits stored in this event >>> Event: 91 - 67 hits stored in this event + 164 hits stored in this event >>> Event: 92 - 88 hits stored in this event + 47 hits stored in this event >>> Event: 93 - 391 hits stored in this event + 60 hits stored in this event >>> Event: 94 - 169 hits stored in this event + 184 hits stored in this event >>> Event: 95 - 46 hits stored in this event + 87 hits stored in this event >>> Event: 96 - 163 hits stored in this event + 262 hits stored in this event >>> Event: 97 - 183 hits stored in this event + 134 hits stored in this event >>> Event: 98 - 180 hits stored in this event + 68 hits stored in this event >>> Event: 99 - 118 hits stored in this event + 107 hits stored in this event ### Run 2 starts. --> Event 0 starts. diff --git a/examples/basic/B2/B2b/include/ActionInitialization.hh b/examples/basic/B2/B2b/include/ActionInitialization.hh index c3dc9c58ebe..bbf0f5e001a 100644 --- a/examples/basic/B2/B2b/include/ActionInitialization.hh +++ b/examples/basic/B2/B2b/include/ActionInitialization.hh @@ -47,8 +47,6 @@ class ActionInitialization : public G4VUserActionInitialization void Build() const override; }; -} +} // namespace B2 #endif - - diff --git a/examples/basic/B2/B2b/include/ChamberParameterisation.hh b/examples/basic/B2/B2b/include/ChamberParameterisation.hh index 4ec062e2297..9f976cadb7c 100644 --- a/examples/basic/B2/B2b/include/ChamberParameterisation.hh +++ b/examples/basic/B2/B2b/include/ChamberParameterisation.hh @@ -30,8 +30,8 @@ #ifndef B2bChamberParameterisation_h #define B2bChamberParameterisation_h 1 -#include "globals.hh" #include "G4VPVParameterisation.hh" +#include "globals.hh" class G4VPhysicalVolume; class G4Box; @@ -61,56 +61,39 @@ namespace B2b class ChamberParameterisation : public G4VPVParameterisation { public: - ChamberParameterisation(G4int noChambers, - G4double startZ, - G4double spacing, - G4double widthChamber, - G4double lengthInitial, - G4double lengthFinal ); + ChamberParameterisation(G4int noChambers, G4double startZ, G4double spacing, + G4double widthChamber, G4double lengthInitial, G4double lengthFinal); ~ChamberParameterisation() override = default; - void ComputeTransformation (const G4int copyNo, - G4VPhysicalVolume* physVol) const override; + void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume* physVol) const override; - void ComputeDimensions (G4Tubs & trackerLayer, const G4int copyNo, - const G4VPhysicalVolume* physVol) const override; + void ComputeDimensions(G4Tubs& trackerLayer, const G4int copyNo, + const G4VPhysicalVolume* physVol) const override; private: // Dummy declarations to get rid of warnings ... - void ComputeDimensions (G4Box&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Trd&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Trap&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Cons&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Sphere&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Orb&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Ellipsoid&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Torus&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Para&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Hype&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Polycone&,const G4int, - const G4VPhysicalVolume*) const override {} - void ComputeDimensions (G4Polyhedra&,const G4int, - const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Box&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Trd&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Trap&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Cons&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Sphere&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Orb&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Ellipsoid&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Torus&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Para&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Hype&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Polycone&, const G4int, const G4VPhysicalVolume*) const override {} + void ComputeDimensions(G4Polyhedra&, const G4int, const G4VPhysicalVolume*) const override {} private: - G4int fNoChambers; + G4int fNoChambers; G4double fStartZ; - G4double fHalfWidth; // The half-width of each tracker chamber - G4double fSpacing; // The distance between the chambers' center - G4double fRmaxFirst; // The first half-length - G4double fRmaxIncr; // The Increment for the half-length + G4double fHalfWidth; // The half-width of each tracker chamber + G4double fSpacing; // The distance between the chambers' center + G4double fRmaxFirst; // The first half-length + G4double fRmaxIncr; // The Increment for the half-length }; -} +} // namespace B2b #endif diff --git a/examples/basic/B2/B2b/include/DetectorConstruction.hh b/examples/basic/B2/B2b/include/DetectorConstruction.hh index 2d7c604ac85..9c9ba1db55f 100644 --- a/examples/basic/B2/B2b/include/DetectorConstruction.hh +++ b/examples/basic/B2/B2b/include/DetectorConstruction.hh @@ -30,9 +30,10 @@ #ifndef B2bDetectorConstruction_h #define B2bDetectorConstruction_h 1 -#include "globals.hh" #include "G4VUserDetectorConstruction.hh" -#include "tls.hh" + +#include "G4Threading.hh" +#include "globals.hh" class G4VPhysicalVolume; class G4LogicalVolume; @@ -59,10 +60,10 @@ class DetectorConstruction : public G4VUserDetectorConstruction void ConstructSDandField() override; // Set methods - void SetTargetMaterial (G4String ); - void SetChamberMaterial(G4String ); - void SetMaxStep (G4double ); - void SetCheckOverlaps(G4bool ); + void SetTargetMaterial(G4String); + void SetChamberMaterial(G4String); + void SetMaxStep(G4double); + void SetCheckOverlaps(G4bool); private: // methods @@ -70,22 +71,22 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4VPhysicalVolume* DefineVolumes(); // static data members - static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; - // magnetic field messenger + static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; + // magnetic field messenger // data members - G4LogicalVolume* fLogicTarget = nullptr; // pointer to the logical Target - G4LogicalVolume* fLogicChamber = nullptr; // pointer to the logical Chamber + G4LogicalVolume* fLogicTarget = nullptr; // pointer to the logical Target + G4LogicalVolume* fLogicChamber = nullptr; // pointer to the logical Chamber - G4Material* fTargetMaterial = nullptr; // pointer to the target material - G4Material* fChamberMaterial = nullptr; // pointer to the chamber material + G4Material* fTargetMaterial = nullptr; // pointer to the target material + G4Material* fChamberMaterial = nullptr; // pointer to the chamber material - G4UserLimits* fStepLimit = nullptr; // pointer to user step limits + G4UserLimits* fStepLimit = nullptr; // pointer to user step limits - DetectorMessenger* fMessenger = nullptr; // messenger + DetectorMessenger* fMessenger = nullptr; // messenger - G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps + G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps }; -} +} // namespace B2b #endif diff --git a/examples/basic/B2/B2b/include/DetectorMessenger.hh b/examples/basic/B2/B2b/include/DetectorMessenger.hh index 99a0e2f84a5..000f14430e9 100644 --- a/examples/basic/B2/B2b/include/DetectorMessenger.hh +++ b/examples/basic/B2/B2b/include/DetectorMessenger.hh @@ -30,12 +30,13 @@ #ifndef B2bDetectorMessenger_h #define B2bDetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithADoubleAndUnit; +class G4UIcommand; namespace B2b { @@ -49,26 +50,26 @@ class DetectorConstruction; /// - /B2/det/setChamberMaterial name /// - /B2/det/stepMax value unit -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - DetectorMessenger(DetectorConstruction* ); + DetectorMessenger(DetectorConstruction*); ~DetectorMessenger() override; void SetNewValue(G4UIcommand*, G4String) override; private: - DetectorConstruction* fDetectorConstruction = nullptr; + DetectorConstruction* fDetectorConstruction = nullptr; - G4UIdirectory* fDirectory = nullptr; - G4UIdirectory* fDetDirectory = nullptr; + G4UIdirectory* fDirectory = nullptr; + G4UIdirectory* fDetDirectory = nullptr; - G4UIcmdWithAString* fTargMatCmd = nullptr; - G4UIcmdWithAString* fChamMatCmd = nullptr; + G4UIcmdWithAString* fTargMatCmd = nullptr; + G4UIcmdWithAString* fChamMatCmd = nullptr; G4UIcmdWithADoubleAndUnit* fStepMaxCmd = nullptr; }; -} +} // namespace B2b #endif diff --git a/examples/basic/B2/B2b/include/EventAction.hh b/examples/basic/B2/B2b/include/EventAction.hh index 651b2af7d42..ba31d79c3d3 100644 --- a/examples/basic/B2/B2b/include/EventAction.hh +++ b/examples/basic/B2/B2b/include/EventAction.hh @@ -32,7 +32,7 @@ #include "G4UserEventAction.hh" -#include "globals.hh" +class G4Event; namespace B2 { @@ -45,10 +45,10 @@ class EventAction : public G4UserEventAction EventAction() = default; ~EventAction() override = default; - void BeginOfEventAction(const G4Event* ) override; - void EndOfEventAction(const G4Event* ) override; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2b/include/PrimaryGeneratorAction.hh b/examples/basic/B2/B2b/include/PrimaryGeneratorAction.hh index 2e4b1647963..3cf0ec1d4f5 100644 --- a/examples/basic/B2/B2b/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B2/B2b/include/PrimaryGeneratorAction.hh @@ -31,7 +31,6 @@ #define B2PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" class G4ParticleGun; class G4Event; @@ -52,14 +51,14 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction PrimaryGeneratorAction(); ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event* ) override; + void GeneratePrimaries(G4Event*) override; - G4ParticleGun* GetParticleGun() {return fParticleGun;} + G4ParticleGun* GetParticleGun() { return fParticleGun; } private: - G4ParticleGun* fParticleGun = nullptr; // G4 particle gun + G4ParticleGun* fParticleGun = nullptr; // G4 particle gun }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2b/include/RunAction.hh b/examples/basic/B2/B2b/include/RunAction.hh index 8f0eb907540..b38d07c292f 100644 --- a/examples/basic/B2/B2b/include/RunAction.hh +++ b/examples/basic/B2/B2b/include/RunAction.hh @@ -31,7 +31,6 @@ #define B2RunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -47,9 +46,9 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run* run) override; - void EndOfRunAction(const G4Run* run) override; + void EndOfRunAction(const G4Run* run) override; }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2b/include/TrackerHit.hh b/examples/basic/B2/B2b/include/TrackerHit.hh index 4a1e60520ea..4bc45f3f522 100644 --- a/examples/basic/B2/B2b/include/TrackerHit.hh +++ b/examples/basic/B2/B2b/include/TrackerHit.hh @@ -31,10 +31,12 @@ #define B2TrackerHit_h 1 #include "G4VHit.hh" -#include "G4THitsCollection.hh" + #include "G4Allocator.hh" +#include "G4THitsCollection.hh" +#include "G4Threading.hh" #include "G4ThreeVector.hh" -#include "tls.hh" +#include "globals.hh" namespace B2 { @@ -57,28 +59,28 @@ class TrackerHit : public G4VHit G4bool operator==(const TrackerHit&) const; inline void* operator new(size_t); - inline void operator delete(void*); + inline void operator delete(void*); // methods from base class void Draw() override; void Print() override; // Set methods - void SetTrackID (G4int track) { fTrackID = track; }; - void SetChamberNb(G4int chamb) { fChamberNb = chamb; }; - void SetEdep (G4double de) { fEdep = de; }; - void SetPos (G4ThreeVector xyz){ fPos = xyz; }; + void SetTrackID(G4int track) { fTrackID = track; }; + void SetChamberNb(G4int chamb) { fChamberNb = chamb; }; + void SetEdep(G4double de) { fEdep = de; }; + void SetPos(G4ThreeVector xyz) { fPos = xyz; }; // Get methods - G4int GetTrackID() const { return fTrackID; }; - G4int GetChamberNb() const { return fChamberNb; }; - G4double GetEdep() const { return fEdep; }; + G4int GetTrackID() const { return fTrackID; }; + G4int GetChamberNb() const { return fChamberNb; }; + G4double GetEdep() const { return fEdep; }; G4ThreeVector GetPos() const { return fPos; }; private: - G4int fTrackID = -1; - G4int fChamberNb = -1; - G4double fEdep = 0.; + G4int fTrackID = -1; + G4int fChamberNb = -1; + G4double fEdep = 0.; G4ThreeVector fPos; }; @@ -92,20 +94,19 @@ extern G4ThreadLocal G4Allocator* TrackerHitAllocator; inline void* TrackerHit::operator new(size_t) { - if(!TrackerHitAllocator) - TrackerHitAllocator = new G4Allocator; - return (void *) TrackerHitAllocator->MallocSingle(); + if (!TrackerHitAllocator) TrackerHitAllocator = new G4Allocator; + return (void*)TrackerHitAllocator->MallocSingle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void TrackerHit::operator delete(void *hit) +inline void TrackerHit::operator delete(void* hit) { - TrackerHitAllocator->FreeSingle((TrackerHit*) hit); + TrackerHitAllocator->FreeSingle((TrackerHit*)hit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2b/include/TrackerSD.hh b/examples/basic/B2/B2b/include/TrackerSD.hh index ec1e622d902..e5e0c5f3586 100644 --- a/examples/basic/B2/B2b/include/TrackerSD.hh +++ b/examples/basic/B2/B2b/include/TrackerSD.hh @@ -34,10 +34,11 @@ #include "TrackerHit.hh" -#include +#include "globals.hh" class G4Step; class G4HCofThisEvent; +class G4TouchableHistory; namespace B2 { @@ -51,19 +52,18 @@ namespace B2 class TrackerSD : public G4VSensitiveDetector { public: - TrackerSD(const G4String& name, - const G4String& hitsCollectionName); + TrackerSD(const G4String& name, const G4String& hitsCollectionName); ~TrackerSD() override = default; // methods from base class - void Initialize(G4HCofThisEvent* hitCollection) override; + void Initialize(G4HCofThisEvent* hitCollection) override; G4bool ProcessHits(G4Step* step, G4TouchableHistory* history) override; - void EndOfEvent(G4HCofThisEvent* hitCollection) override; + void EndOfEvent(G4HCofThisEvent* hitCollection) override; private: TrackerHitsCollection* fHitsCollection = nullptr; }; -} +} // namespace B2 #endif diff --git a/examples/basic/B2/B2b/src/ActionInitialization.cc b/examples/basic/B2/B2b/src/ActionInitialization.cc index 93bb44966f3..e1ca69bc15e 100644 --- a/examples/basic/B2/B2b/src/ActionInitialization.cc +++ b/examples/basic/B2/B2b/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B2::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" namespace B2 { @@ -53,5 +54,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2b/src/ChamberParameterisation.cc b/examples/basic/B2/B2b/src/ChamberParameterisation.cc index 17378b26c57..3123bab75b6 100644 --- a/examples/basic/B2/B2b/src/ChamberParameterisation.cc +++ b/examples/basic/B2/B2b/src/ChamberParameterisation.cc @@ -29,65 +29,62 @@ #include "ChamberParameterisation.hh" -#include "G4VPhysicalVolume.hh" +#include "G4SystemOfUnits.hh" #include "G4ThreeVector.hh" #include "G4Tubs.hh" -#include "G4SystemOfUnits.hh" +#include "G4VPhysicalVolume.hh" namespace B2b { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ChamberParameterisation::ChamberParameterisation( - G4int noChambers, - G4double startZ, // Z of center of first - G4double spacingZ, // Z spacing of centers - G4double widthChamber, - G4double lengthInitial, - G4double lengthFinal ) +ChamberParameterisation::ChamberParameterisation(G4int noChambers, + G4double startZ, // Z of center of first + G4double spacingZ, // Z spacing of centers + G4double widthChamber, G4double lengthInitial, + G4double lengthFinal) { - fNoChambers = noChambers; - fStartZ = startZ; - fHalfWidth = 0.5*widthChamber; - fSpacing = spacingZ; - fRmaxFirst = 0.5 * lengthInitial; - if( noChambers > 0 ){ - fRmaxIncr = 0.5 * (lengthFinal-lengthInitial)/(noChambers-1); - if (spacingZ < widthChamber) { - G4Exception("ChamberParameterisation::ChamberParameterisation()", - "InvalidSetup", FatalException, - "Width>Spacing"); - } - } + fNoChambers = noChambers; + fStartZ = startZ; + fHalfWidth = 0.5 * widthChamber; + fSpacing = spacingZ; + fRmaxFirst = 0.5 * lengthInitial; + if (noChambers > 0) { + fRmaxIncr = 0.5 * (lengthFinal - lengthInitial) / (noChambers - 1); + if (spacingZ < widthChamber) { + G4Exception("ChamberParameterisation::ChamberParameterisation()", "InvalidSetup", + FatalException, "Width>Spacing"); + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ChamberParameterisation::ComputeTransformation -(const G4int copyNo, G4VPhysicalVolume* physVol) const +void ChamberParameterisation::ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume* physVol) const { // Note: copyNo will start with zero! G4double Zposition = fStartZ + copyNo * fSpacing; - G4ThreeVector origin(0,0,Zposition); + G4ThreeVector origin(0, 0, Zposition); physVol->SetTranslation(origin); physVol->SetRotation(nullptr); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ChamberParameterisation::ComputeDimensions -(G4Tubs& trackerChamber, const G4int copyNo, const G4VPhysicalVolume*) const +void ChamberParameterisation::ComputeDimensions(G4Tubs& trackerChamber, const G4int copyNo, + const G4VPhysicalVolume*) const { // Note: copyNo will start with zero! G4double rmax = fRmaxFirst + copyNo * fRmaxIncr; trackerChamber.SetInnerRadius(0); trackerChamber.SetOuterRadius(rmax); trackerChamber.SetZHalfLength(fHalfWidth); - trackerChamber.SetStartPhiAngle(0.*deg); - trackerChamber.SetDeltaPhiAngle(360.*deg); + trackerChamber.SetStartPhiAngle(0. * deg); + trackerChamber.SetDeltaPhiAngle(360. * deg); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2b diff --git a/examples/basic/B2/B2b/src/DetectorConstruction.cc b/examples/basic/B2/B2b/src/DetectorConstruction.cc index 14e20fbd68a..0eb44e23bd1 100644 --- a/examples/basic/B2/B2b/src/DetectorConstruction.cc +++ b/examples/basic/B2/B2b/src/DetectorConstruction.cc @@ -28,31 +28,28 @@ /// \brief Implementation of the B2b::DetectorConstruction class #include "DetectorConstruction.hh" -#include "DetectorMessenger.hh" + #include "ChamberParameterisation.hh" +#include "DetectorMessenger.hh" #include "TrackerSD.hh" +#include "G4AutoDelete.hh" +#include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GeometryManager.hh" +#include "G4GeometryTolerance.hh" +#include "G4GlobalMagFieldMessenger.hh" +#include "G4LogicalVolume.hh" #include "G4Material.hh" #include "G4NistManager.hh" +#include "G4PVParameterised.hh" +#include "G4PVPlacement.hh" #include "G4SDManager.hh" - -#include "G4Box.hh" +#include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" #include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4PVParameterised.hh" -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" - -#include "G4GeometryTolerance.hh" -#include "G4GeometryManager.hh" - #include "G4UserLimits.hh" - #include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4SystemOfUnits.hh" using namespace B2; @@ -61,8 +58,7 @@ namespace B2b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ThreadLocal -G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; +G4ThreadLocal G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; DetectorConstruction::DetectorConstruction() { @@ -100,7 +96,7 @@ void DetectorConstruction::DefineMaterials() nistManager->FindOrBuildMaterial("G4_AIR"); // Lead defined using NIST Manager - fTargetMaterial = nistManager->FindOrBuildMaterial("G4_Pb"); + fTargetMaterial = nistManager->FindOrBuildMaterial("G4_Pb"); // Xenon gas defined using NIST Manager fChamberMaterial = nistManager->FindOrBuildMaterial("G4_Xe"); @@ -113,23 +109,23 @@ void DetectorConstruction::DefineMaterials() G4VPhysicalVolume* DetectorConstruction::DefineVolumes() { - G4Material* air = G4Material::GetMaterial("G4_AIR"); + G4Material* air = G4Material::GetMaterial("G4_AIR"); // Sizes of the principal geometrical components (solids) G4int NbOfChambers = 5; - G4double chamberSpacing = 80*cm; // from chamber center to center! + G4double chamberSpacing = 80 * cm; // from chamber center to center! - G4double chamberWidth = 20.0*cm; // width of the chambers - G4double targetLength = 5.0*cm; // full length of Target + G4double chamberWidth = 20.0 * cm; // width of the chambers + G4double targetLength = 5.0 * cm; // full length of Target - G4double trackerLength = (NbOfChambers+1)*chamberSpacing; + G4double trackerLength = (NbOfChambers + 1) * chamberSpacing; - G4double worldLength = 1.2 * (2*targetLength + trackerLength); + G4double worldLength = 1.2 * (2 * targetLength + trackerLength); - G4double targetRadius = 0.5*targetLength; // Radius of Target - targetLength = 0.5*targetLength; // Half length of the Target - G4double trackerSize = 0.5*trackerLength; // Half length of the Tracker + G4double targetRadius = 0.5 * targetLength; // Radius of Target + targetLength = 0.5 * targetLength; // Half length of the Target + G4double trackerSize = 0.5 * trackerLength; // Half length of the Tracker // Definitions of Solids, Logical Volumes, Physical Volumes @@ -138,58 +134,57 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() G4GeometryManager::GetInstance()->SetWorldMaximumExtent(worldLength); G4cout << "Computed tolerance = " - << G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()/mm - << " mm" << G4endl; + << G4GeometryTolerance::GetInstance()->GetSurfaceTolerance() / mm << " mm" << G4endl; - auto worldS = new G4Box("world", // its name - worldLength / 2, worldLength / 2, worldLength / 2); // its size - auto worldLV = new G4LogicalVolume(worldS, // its solid - air, // its material - "World"); // its name + auto worldS = new G4Box("world", // its name + worldLength / 2, worldLength / 2, worldLength / 2); // its size + auto worldLV = new G4LogicalVolume(worldS, // its solid + air, // its material + "World"); // its name // Must place the World Physical volume unrotated at (0,0,0). // auto worldPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - worldLV, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operations - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + worldLV, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operations + 0, // copy number + fCheckOverlaps); // checking overlaps // Target - G4ThreeVector positionTarget = G4ThreeVector(0,0,-(targetLength+trackerSize)); + G4ThreeVector positionTarget = G4ThreeVector(0, 0, -(targetLength + trackerSize)); auto targetS = new G4Tubs("target", 0., targetRadius, targetLength, 0. * deg, 360. * deg); fLogicTarget = new G4LogicalVolume(targetS, fTargetMaterial, "Target", nullptr, nullptr, nullptr); new G4PVPlacement(nullptr, // no rotation - positionTarget, // at (x,y,z) - fLogicTarget, // its logical volume - "Target", // its name - worldLV, // its mother volume - false, // no boolean operations - 0, // copy number - fCheckOverlaps); // checking overlaps - - G4cout << "Target is " << 2*targetLength/cm << " cm of " - << fTargetMaterial->GetName() << G4endl; + positionTarget, // at (x,y,z) + fLogicTarget, // its logical volume + "Target", // its name + worldLV, // its mother volume + false, // no boolean operations + 0, // copy number + fCheckOverlaps); // checking overlaps + + G4cout << "Target is " << 2 * targetLength / cm << " cm of " << fTargetMaterial->GetName() + << G4endl; // Tracker - G4ThreeVector positionTracker = G4ThreeVector(0,0,0); + G4ThreeVector positionTracker = G4ThreeVector(0, 0, 0); auto trackerS = new G4Tubs("tracker", 0, trackerSize, trackerSize, 0. * deg, 360. * deg); auto trackerLV = new G4LogicalVolume(trackerS, air, "Tracker", nullptr, nullptr, nullptr); new G4PVPlacement(nullptr, // no rotation - positionTracker, // at (x,y,z) - trackerLV, // its logical volume - "Tracker", // its name - worldLV, // its mother volume - false, // no boolean operations - 0, // copy number - fCheckOverlaps); // checking overlaps + positionTracker, // at (x,y,z) + trackerLV, // its logical volume + "Tracker", // its name + worldLV, // its mother volume + false, // no boolean operations + 0, // copy number + fCheckOverlaps); // checking overlaps // Tracker segments @@ -201,42 +196,38 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() new G4LogicalVolume(chamberS, fChamberMaterial, "Chamber", nullptr, nullptr, nullptr); G4double firstPosition = -trackerSize + chamberSpacing; - G4double firstLength = trackerLength/10; - G4double lastLength = trackerLength; + G4double firstLength = trackerLength / 10; + G4double lastLength = trackerLength; G4VPVParameterisation* chamberParam = - new ChamberParameterisation( - NbOfChambers, // NoChambers - firstPosition, // Z of center of first - chamberSpacing, // Z spacing of centers - chamberWidth, // chamber width - firstLength, // initial length - lastLength); // final length + new ChamberParameterisation(NbOfChambers, // NoChambers + firstPosition, // Z of center of first + chamberSpacing, // Z spacing of centers + chamberWidth, // chamber width + firstLength, // initial length + lastLength); // final length // dummy value : kZAxis -- modified by parameterised volume - new G4PVParameterised("Chamber", // their name - fLogicChamber, // their logical volume - trackerLV, // Mother logical volume - kZAxis, // Are placed along this axis - NbOfChambers, // Number of chambers - chamberParam, // The parametrisation - fCheckOverlaps); // checking overlaps - - G4cout << "There are " << NbOfChambers << " chambers in the tracker region. " - << G4endl - << "The chambers are " << chamberWidth/cm << " cm of " - << fChamberMaterial->GetName() << G4endl - << "The distance between chamber is " << chamberSpacing/cm << " cm" - << G4endl; + new G4PVParameterised("Chamber", // their name + fLogicChamber, // their logical volume + trackerLV, // Mother logical volume + kZAxis, // Are placed along this axis + NbOfChambers, // Number of chambers + chamberParam, // The parametrisation + fCheckOverlaps); // checking overlaps + + G4cout << "There are " << NbOfChambers << " chambers in the tracker region. " << G4endl + << "The chambers are " << chamberWidth / cm << " cm of " << fChamberMaterial->GetName() + << G4endl << "The distance between chamber is " << chamberSpacing / cm << " cm" << G4endl; // Visualization attributes G4VisAttributes boxVisAtt(G4Colour::White()); - worldLV ->SetVisAttributes(boxVisAtt); - fLogicTarget ->SetVisAttributes(boxVisAtt); - trackerLV ->SetVisAttributes(boxVisAtt); + worldLV->SetVisAttributes(boxVisAtt); + fLogicTarget->SetVisAttributes(boxVisAtt); + trackerLV->SetVisAttributes(boxVisAtt); G4VisAttributes chamberVisAtt(G4Colour::Yellow()); fLogicChamber->SetVisAttributes(chamberVisAtt); @@ -248,7 +239,7 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() // // Sets a max step length in the tracker region, with G4StepLimiter - G4double maxStep = 0.5*chamberWidth; + G4double maxStep = 0.5 * chamberWidth; fStepLimit = new G4UserLimits(maxStep); trackerLV->SetUserLimits(fStepLimit); @@ -272,9 +263,9 @@ void DetectorConstruction::ConstructSDandField() // Sensitive detectors G4String trackerChamberSDname = "B2/TrackerChamberSD"; - auto aTrackerSD = new TrackerSD(trackerChamberSDname, "TrackerHitsCollection"); - G4SDManager::GetSDMpointer()->AddNewDetector(aTrackerSD); - SetSensitiveDetector( fLogicChamber, aTrackerSD ); + auto trackerSD = new TrackerSD(trackerChamberSDname, "TrackerHitsCollection"); + G4SDManager::GetSDMpointer()->AddNewDetector(trackerSD); + SetSensitiveDetector(fLogicChamber, trackerSD); // Create global magnetic field messenger. // Uniform magnetic field is then created automatically if @@ -293,22 +284,18 @@ void DetectorConstruction::SetTargetMaterial(G4String materialName) { G4NistManager* nistManager = G4NistManager::Instance(); - G4Material* pttoMaterial = - nistManager->FindOrBuildMaterial(materialName); + G4Material* pttoMaterial = nistManager->FindOrBuildMaterial(materialName); if (fTargetMaterial != pttoMaterial) { - if ( pttoMaterial ) { - fTargetMaterial = pttoMaterial; - if (fLogicTarget) fLogicTarget->SetMaterial(fTargetMaterial); - G4cout - << G4endl - << "----> The target is made of " << materialName << G4endl; - } else { - G4cout - << G4endl - << "--> WARNING from SetTargetMaterial : " - << materialName << " not found" << G4endl; - } + if (pttoMaterial) { + fTargetMaterial = pttoMaterial; + if (fLogicTarget) fLogicTarget->SetMaterial(fTargetMaterial); + G4cout << G4endl << "----> The target is made of " << materialName << G4endl; + } + else { + G4cout << G4endl << "--> WARNING from SetTargetMaterial : " << materialName << " not found" + << G4endl; + } } } @@ -318,22 +305,18 @@ void DetectorConstruction::SetChamberMaterial(G4String materialName) { G4NistManager* nistManager = G4NistManager::Instance(); - G4Material* pttoMaterial = - nistManager->FindOrBuildMaterial(materialName); + G4Material* pttoMaterial = nistManager->FindOrBuildMaterial(materialName); if (fChamberMaterial != pttoMaterial) { - if ( pttoMaterial ) { - fChamberMaterial = pttoMaterial; - if (fLogicChamber) fLogicChamber->SetMaterial(fChamberMaterial); - G4cout - << G4endl - << "----> The chambers are made of " << materialName << G4endl; - } else { - G4cout - << G4endl - << "--> WARNING from SetChamberMaterial : " - << materialName << " not found" << G4endl; - } + if (pttoMaterial) { + fChamberMaterial = pttoMaterial; + if (fLogicChamber) fLogicChamber->SetMaterial(fChamberMaterial); + G4cout << G4endl << "----> The chambers are made of " << materialName << G4endl; + } + else { + G4cout << G4endl << "--> WARNING from SetChamberMaterial : " << materialName << " not found" + << G4endl; + } } } @@ -341,9 +324,9 @@ void DetectorConstruction::SetChamberMaterial(G4String materialName) void DetectorConstruction::SetMaxStep(G4double maxStep) { - if ((fStepLimit)&&(maxStep>0.)) fStepLimit->SetMaxAllowedStep(maxStep); + if ((fStepLimit) && (maxStep > 0.)) fStepLimit->SetMaxAllowedStep(maxStep); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2b diff --git a/examples/basic/B2/B2b/src/DetectorMessenger.cc b/examples/basic/B2/B2b/src/DetectorMessenger.cc index cd2ec4b9009..105d1f6f2bc 100644 --- a/examples/basic/B2/B2b/src/DetectorMessenger.cc +++ b/examples/basic/B2/B2b/src/DetectorMessenger.cc @@ -28,19 +28,19 @@ /// \brief Implementation of the B2b::DetectorMessenger class #include "DetectorMessenger.hh" + #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" namespace B2b { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) - : fDetectorConstruction(Det) +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetectorConstruction(Det) { fDirectory = new G4UIdirectory("/B2/"); fDirectory->SetGuidance("UI commands specific to this example."); @@ -48,19 +48,19 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) fDetDirectory = new G4UIdirectory("/B2/det/"); fDetDirectory->SetGuidance("Detector construction control"); - fTargMatCmd = new G4UIcmdWithAString("/B2/det/setTargetMaterial",this); + fTargMatCmd = new G4UIcmdWithAString("/B2/det/setTargetMaterial", this); fTargMatCmd->SetGuidance("Select Material of the Target."); - fTargMatCmd->SetParameterName("choice",false); - fTargMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fTargMatCmd->SetParameterName("choice", false); + fTargMatCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fChamMatCmd = new G4UIcmdWithAString("/B2/det/setChamberMaterial",this); + fChamMatCmd = new G4UIcmdWithAString("/B2/det/setChamberMaterial", this); fChamMatCmd->SetGuidance("Select Material of the Chamber."); - fChamMatCmd->SetParameterName("choice",false); - fChamMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fChamMatCmd->SetParameterName("choice", false); + fChamMatCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/B2/det/stepMax",this); + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/B2/det/stepMax", this); fStepMaxCmd->SetGuidance("Define a step max"); - fStepMaxCmd->SetParameterName("stepMax",false); + fStepMaxCmd->SetParameterName("stepMax", false); fStepMaxCmd->SetUnitCategory("Length"); fStepMaxCmd->AvailableForStates(G4State_Idle); } @@ -78,20 +78,21 @@ DetectorMessenger::~DetectorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fTargMatCmd ) - { fDetectorConstruction->SetTargetMaterial(newValue);} + if (command == fTargMatCmd) { + fDetectorConstruction->SetTargetMaterial(newValue); + } - if( command == fChamMatCmd ) - { fDetectorConstruction->SetChamberMaterial(newValue);} + if (command == fChamMatCmd) { + fDetectorConstruction->SetChamberMaterial(newValue); + } - if( command == fStepMaxCmd ) { - fDetectorConstruction - ->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + if (command == fStepMaxCmd) { + fDetectorConstruction->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2b diff --git a/examples/basic/B2/B2b/src/EventAction.cc b/examples/basic/B2/B2b/src/EventAction.cc index fe72ed1e9ce..f6c3147ca5c 100644 --- a/examples/basic/B2/B2b/src/EventAction.cc +++ b/examples/basic/B2/B2b/src/EventAction.cc @@ -30,18 +30,15 @@ #include "EventAction.hh" #include "G4Event.hh" -#include "G4EventManager.hh" #include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4ios.hh" +#include "globals.hh" namespace B2 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::BeginOfEventAction(const G4Event*) -{} +void EventAction::BeginOfEventAction(const G4Event*) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,19 +53,16 @@ void EventAction::EndOfEventAction(const G4Event* event) // periodic printing G4int eventID = event->GetEventID(); - if ( eventID < 100 || eventID % 100 == 0) { - G4cout << ">>> Event: " << eventID << G4endl; - if ( trajectoryContainer ) { - G4cout << " " << n_trajectories - << " trajectories stored in this event." << G4endl; + if (eventID < 100 || eventID % 100 == 0) { + G4cout << ">>> Event: " << eventID << G4endl; + if (trajectoryContainer) { + G4cout << " " << n_trajectories << " trajectories stored in this event." << G4endl; } G4VHitsCollection* hc = event->GetHCofThisEvent()->GetHC(0); - G4cout << " " - << hc->GetSize() << " hits stored in this event" << G4endl; + G4cout << " " << hc->GetSize() << " hits stored in this event" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2b/src/PrimaryGeneratorAction.cc b/examples/basic/B2/B2b/src/PrimaryGeneratorAction.cc index 8ba79b90a47..826daaa17f4 100644 --- a/examples/basic/B2/B2b/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B2/B2b/src/PrimaryGeneratorAction.cc @@ -29,15 +29,13 @@ #include "PrimaryGeneratorAction.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4Event.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" -#include "Randomize.hh" +#include "globals.hh" namespace B2 { @@ -51,12 +49,12 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() // default particle kinematic - G4ParticleDefinition* particleDefinition - = G4ParticleTable::GetParticleTable()->FindParticle("proton"); + G4ParticleDefinition* particleDefinition = + G4ParticleTable::GetParticleTable()->FindParticle("proton"); fParticleGun->SetParticleDefinition(particleDefinition); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(3.0*GeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(3.0 * GeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,7 +66,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { // This function is called at the begining of event @@ -77,12 +75,12 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // from G4LogicalVolumeStore. G4double worldZHalfLength = 0; - G4LogicalVolume* worldLV - = G4LogicalVolumeStore::GetInstance()->GetVolume("World"); + G4LogicalVolume* worldLV = G4LogicalVolumeStore::GetInstance()->GetVolume("World"); G4Box* worldBox = nullptr; - if ( worldLV ) worldBox = dynamic_cast(worldLV->GetSolid()); - if ( worldBox ) worldZHalfLength = worldBox->GetZHalfLength(); - else { + if (worldLV) worldBox = dynamic_cast(worldLV->GetSolid()); + if (worldBox) + worldZHalfLength = worldBox->GetZHalfLength(); + else { G4cerr << "World volume of box not found." << G4endl; G4cerr << "Perhaps you have changed geometry." << G4endl; G4cerr << "The gun will be place in the center." << G4endl; @@ -90,12 +88,11 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // Starting a primary particle close to the world boundary. // - fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength+1*um)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength + 1 * um)); - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2b/src/RunAction.cc b/examples/basic/B2/B2b/src/RunAction.cc index 5c095466ad6..ff3def8579b 100644 --- a/examples/basic/B2/B2b/src/RunAction.cc +++ b/examples/basic/B2/B2b/src/RunAction.cc @@ -29,7 +29,6 @@ #include "RunAction.hh" -#include "G4Run.hh" #include "G4RunManager.hh" namespace B2 @@ -47,16 +46,14 @@ RunAction::RunAction() void RunAction::BeginOfRunAction(const G4Run*) { - //inform the runManager to save random number seed + // inform the runManager to save random number seed G4RunManager::GetRunManager()->SetRandomNumberStore(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EndOfRunAction(const G4Run* ) -{} +void RunAction::EndOfRunAction(const G4Run*) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/B2b/src/TrackerHit.cc b/examples/basic/B2/B2b/src/TrackerHit.cc index a3321ab03e3..02ba9b9eaf4 100644 --- a/examples/basic/B2/B2b/src/TrackerHit.cc +++ b/examples/basic/B2/B2b/src/TrackerHit.cc @@ -28,10 +28,11 @@ /// \brief Implementation of the B2::TrackerHit class #include "TrackerHit.hh" -#include "G4UnitsTable.hh" -#include "G4VVisManager.hh" + #include "G4Circle.hh" #include "G4Colour.hh" +#include "G4UnitsTable.hh" +#include "G4VVisManager.hh" #include "G4VisAttributes.hh" #include @@ -45,7 +46,7 @@ G4ThreadLocal G4Allocator* TrackerHitAllocator = nullptr; G4bool TrackerHit::operator==(const TrackerHit& right) const { - return ( this == &right ) ? true : false; + return (this == &right) ? true : false; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -53,8 +54,7 @@ G4bool TrackerHit::operator==(const TrackerHit& right) const void TrackerHit::Draw() { G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - if(pVVisManager) - { + if (pVVisManager) { G4Circle circle(fPos); circle.SetScreenSize(4.); circle.SetFillStyle(G4Circle::filled); @@ -68,15 +68,11 @@ void TrackerHit::Draw() void TrackerHit::Print() { - G4cout - << " trackID: " << fTrackID << " chamberNb: " << fChamberNb - << "Edep: " - << std::setw(7) << G4BestUnit(fEdep,"Energy") - << " Position: " - << std::setw(7) << G4BestUnit( fPos,"Length") - << G4endl; + G4cout << " trackID: " << fTrackID << " chamberNb: " << fChamberNb << "Edep: " << std::setw(7) + << G4BestUnit(fEdep, "Energy") << " Position: " << std::setw(7) + << G4BestUnit(fPos, "Length") << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B2 diff --git a/examples/basic/B2/B2b/src/TrackerSD.cc b/examples/basic/B2/B2b/src/TrackerSD.cc index 7316e1106bb..a6ed790c4c5 100644 --- a/examples/basic/B2/B2b/src/TrackerSD.cc +++ b/examples/basic/B2/B2b/src/TrackerSD.cc @@ -28,20 +28,18 @@ /// \brief Implementation of the B2::TrackerSD class #include "TrackerSD.hh" + #include "G4HCofThisEvent.hh" -#include "G4Step.hh" -#include "G4ThreeVector.hh" #include "G4SDManager.hh" -#include "G4ios.hh" +#include "G4Step.hh" namespace B2 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackerSD::TrackerSD(const G4String& name, - const G4String& hitsCollectionName) - : G4VSensitiveDetector(name) +TrackerSD::TrackerSD(const G4String& name, const G4String& hitsCollectionName) + : G4VSensitiveDetector(name) { collectionName.insert(hitsCollectionName); } @@ -52,37 +50,33 @@ void TrackerSD::Initialize(G4HCofThisEvent* hce) { // Create hits collection - fHitsCollection - = new TrackerHitsCollection(SensitiveDetectorName, collectionName[0]); + fHitsCollection = new TrackerHitsCollection(SensitiveDetectorName, collectionName[0]); // Add this collection in hce - G4int hcID - = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); - hce->AddHitsCollection( hcID, fHitsCollection ); + G4int hcID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); + hce->AddHitsCollection(hcID, fHitsCollection); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool TrackerSD::ProcessHits(G4Step* aStep, - G4TouchableHistory*) +G4bool TrackerSD::ProcessHits(G4Step* step, G4TouchableHistory*) { // energy deposit - G4double edep = aStep->GetTotalEnergyDeposit(); + G4double edep = step->GetTotalEnergyDeposit(); - if (edep==0.) return false; + if (edep == 0.) return false; auto newHit = new TrackerHit(); - newHit->SetTrackID (aStep->GetTrack()->GetTrackID()); - newHit->SetChamberNb(aStep->GetPreStepPoint()->GetTouchableHandle() - ->GetCopyNumber()); + newHit->SetTrackID(step->GetTrack()->GetTrackID()); + newHit->SetChamberNb(step->GetPreStepPoint()->GetTouchableHandle()->GetCopyNumber()); newHit->SetEdep(edep); - newHit->SetPos (aStep->GetPostStepPoint()->GetPosition()); + newHit->SetPos(step->GetPostStepPoint()->GetPosition()); - fHitsCollection->insert( newHit ); + fHitsCollection->insert(newHit); - //newHit->Print(); + // newHit->Print(); return true; } @@ -91,16 +85,15 @@ G4bool TrackerSD::ProcessHits(G4Step* aStep, void TrackerSD::EndOfEvent(G4HCofThisEvent*) { - if ( verboseLevel>1 ) { - std::size_t nofHits = fHitsCollection->entries(); - G4cout << G4endl - << "-------->Hits Collection: in this event they are " << nofHits - << " hits in the tracker chambers: " << G4endl; - for ( std::size_t i=0; iPrint(); + if (verboseLevel > 1) { + std::size_t nofHits = fHitsCollection->entries(); + G4cout << G4endl << "-------->Hits Collection: in this event they are " << nofHits + << " hits in the tracker chambers: " << G4endl; + for (std::size_t i = 0; i < nofHits; i++) + (*fHitsCollection)[i]->Print(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B2 diff --git a/examples/basic/B2/History b/examples/basic/B2/History index ef7c2f40269..244122a735e 100644 --- a/examples/basic/B2/History +++ b/examples/basic/B2/History @@ -6,7 +6,7 @@ It must **not** be used as a substitute for writing good git commit messages! ------------------------------------------------------------------------------- -## 2024-01-22 Gabriele Cosmo (exampleB2-V11-01-04) +## 2024-01-22 Gabriele Cosmo (exampleB2-V11-02-00) - Updated PrimaryGeneratorAction::GeneratePrimaries() in all B2 examples to avoid nonsense placing of the initial position on the world boundary. diff --git a/examples/basic/B3/B3a/exampleB3a.cc b/examples/basic/B3/B3a/exampleB3a.cc index 802444a5b0f..92f60f06701 100644 --- a/examples/basic/B3/B3a/exampleB3a.cc +++ b/examples/basic/B3/B3a/exampleB3a.cc @@ -27,42 +27,41 @@ /// \file exampleB3a.cc /// \brief Main program of the B3a example -#include "G4Types.hh" +#include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "G4AnalysisManager.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" +#include "G4TScoreNtupleWriter.hh" +#include "G4Types.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" -#include "G4AnalysisManager.hh" -#include "G4TScoreNtupleWriter.hh" - -#include "Randomize.hh" - -#include "DetectorConstruction.hh" -#include "PhysicsList.hh" -#include "ActionInitialization.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv);} + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Optionally: choose a different Random engine... // G4Random::setTheEngine(new CLHEP::MTwistEngine); - //use G4SteppingVerboseWithUnits + // use G4SteppingVerboseWithUnits G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); // Construct the default run manager // - auto runManager = - G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); + auto runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); // Set mandatory initialization classes // @@ -92,16 +91,16 @@ int main(int argc,char** argv) G4TScoreNtupleWriter scoreNtupleWriter; scoreNtupleWriter.SetVerboseLevel(1); scoreNtupleWriter.SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output - // (the default in G4TScoreNtupleWriter) + // Note: merging ntuples is available only with Root output + // (the default in G4TScoreNtupleWriter) // Process macro or start UI session // - if ( ! ui ) { + if (!ui) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/basic/B3/B3a/exampleB3a.out b/examples/basic/B3/B3a/exampleB3a.out index 71ec5729ca8..f0424d1c6b8 100644 --- a/examples/basic/B3/B3a/exampleB3a.out +++ b/examples/basic/B3/B3a/exampleB3a.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -390,7 +397,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -466,7 +473,7 @@ Threshold for very long decay time at rest 1 y HADRONIC PROCESSES SUMMARY (verbose level 1) ------------------------------------------------------------------------- Hadronic Processes for GenericIon - Process: Radioactivation + Process: RadioactiveDecay msc: for alpha SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== @@ -733,8 +740,8 @@ Setting was ignored. --> Event 9000 starts. --------------------End of Global Run----------------------- - The run was 10000 events Nb of 'good' e+ annihilations: 1278 - Total dose in patient : 306.445 picoGy + The run was 10000 events Nb of 'good' e+ annihilations: 1308 + Total dose in patient : 305.937 picoGy ------------------------------------------------------------ ... write file : scoring.root - done diff --git a/examples/basic/B3/B3a/include/ActionInitialization.hh b/examples/basic/B3/B3a/include/ActionInitialization.hh index a6545666e5f..8b9f0deaa1f 100644 --- a/examples/basic/B3/B3a/include/ActionInitialization.hh +++ b/examples/basic/B3/B3a/include/ActionInitialization.hh @@ -47,10 +47,9 @@ class ActionInitialization : public G4VUserActionInitialization void BuildForMaster() const override; void Build() const override; - }; -} +} // namespace B3a //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B3/B3a/include/DetectorConstruction.hh b/examples/basic/B3/B3a/include/DetectorConstruction.hh index a44f023acaa..8201e90bb46 100644 --- a/examples/basic/B3/B3a/include/DetectorConstruction.hh +++ b/examples/basic/B3/B3a/include/DetectorConstruction.hh @@ -34,7 +34,6 @@ #include "globals.hh" class G4VPhysicalVolume; -class G4LogicalVolume; namespace B3 { @@ -60,9 +59,8 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4bool fCheckOverlaps = true; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3a/include/EventAction.hh b/examples/basic/B3/B3a/include/EventAction.hh index 9d9c963c8aa..235dddf15ae 100644 --- a/examples/basic/B3/B3a/include/EventAction.hh +++ b/examples/basic/B3/B3a/include/EventAction.hh @@ -50,8 +50,8 @@ class EventAction : public G4UserEventAction EventAction(RunAction* runAction); ~EventAction() override = default; - void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; private: RunAction* fRunAction = nullptr; @@ -59,10 +59,8 @@ class EventAction : public G4UserEventAction G4int fCollID_patient = -1; }; -} +} // namespace B3a //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/basic/B3/B3a/include/PhysicsList.hh b/examples/basic/B3/B3a/include/PhysicsList.hh index 4208f37f639..10e2efcd520 100644 --- a/examples/basic/B3/B3a/include/PhysicsList.hh +++ b/examples/basic/B3/B3a/include/PhysicsList.hh @@ -42,18 +42,17 @@ namespace B3 /// - G4RadioactiveDecayPhysics /// - G4EmStandardPhysics -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { -public: - PhysicsList(); - ~PhysicsList() override = default; + public: + PhysicsList(); + ~PhysicsList() override = default; - void SetCuts() override; + void SetCuts() override; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3a/include/PrimaryGeneratorAction.hh b/examples/basic/B3/B3a/include/PrimaryGeneratorAction.hh index ce90045af77..f568b8d9d09 100644 --- a/examples/basic/B3/B3a/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B3/B3a/include/PrimaryGeneratorAction.hh @@ -31,7 +31,6 @@ #define B3PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "G4ParticleGun.hh" #include "globals.hh" class G4ParticleGun; @@ -60,7 +59,7 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction G4ParticleGun* fParticleGun = nullptr; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B3/B3a/include/RunAction.hh b/examples/basic/B3/B3a/include/RunAction.hh index ecd60060556..88a286a75d1 100644 --- a/examples/basic/B3/B3a/include/RunAction.hh +++ b/examples/basic/B3/B3a/include/RunAction.hh @@ -31,9 +31,12 @@ #define B3aRunAction_h 1 #include "G4UserRunAction.hh" + #include "G4Accumulable.hh" #include "globals.hh" +class G4Run; + namespace B3a { @@ -46,19 +49,18 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - void CountEvent() { fGoodEvents += 1; }; + void CountEvent() { fGoodEvents += 1; }; void SumDose(G4double dose) { fSumDose += dose; }; -private: - G4Accumulable fGoodEvents = 0; + private: + G4Accumulable fGoodEvents = 0; G4Accumulable fSumDose = 0.; }; -} +} // namespace B3a //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3a/include/StackingAction.hh b/examples/basic/B3/B3a/include/StackingAction.hh index 7fb9390efc0..70e5d6636e9 100644 --- a/examples/basic/B3/B3a/include/StackingAction.hh +++ b/examples/basic/B3/B3a/include/StackingAction.hh @@ -31,7 +31,10 @@ #define B3StackingAction_h 1 #include "G4UserStackingAction.hh" -#include "globals.hh" + +#include "G4ClassificationOfNewTrack.hh" + +class G4Track; namespace B3 { @@ -50,9 +53,8 @@ class StackingAction : public G4UserStackingAction G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*) override; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3a/src/ActionInitialization.cc b/examples/basic/B3/B3a/src/ActionInitialization.cc index 7958ed5c9be..2832810490d 100644 --- a/examples/basic/B3/B3a/src/ActionInitialization.cc +++ b/examples/basic/B3/B3a/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B3a::ActionInitialization class #include "ActionInitialization.hh" -#include "RunAction.hh" + #include "EventAction.hh" #include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" #include "StackingAction.hh" using namespace B3; @@ -59,5 +60,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3a diff --git a/examples/basic/B3/B3a/src/DetectorConstruction.cc b/examples/basic/B3/B3a/src/DetectorConstruction.cc index e049693d01e..79e47b79743 100644 --- a/examples/basic/B3/B3a/src/DetectorConstruction.cc +++ b/examples/basic/B3/B3a/src/DetectorConstruction.cc @@ -29,21 +29,20 @@ #include "DetectorConstruction.hh" -#include "G4NistManager.hh" #include "G4Box.hh" -#include "G4Tubs.hh" #include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4RotationMatrix.hh" -#include "G4Transform3D.hh" -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" -#include "G4VPrimitiveScorer.hh" -#include "G4PSEnergyDeposit.hh" +#include "G4NistManager.hh" #include "G4PSDoseDeposit.hh" -#include "G4VisAttributes.hh" +#include "G4PSEnergyDeposit.hh" +#include "G4PVPlacement.hh" #include "G4PhysicalConstants.hh" +#include "G4RotationMatrix.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4Transform3D.hh" +#include "G4Tubs.hh" +#include "G4VisAttributes.hh" namespace B3 { @@ -63,14 +62,14 @@ void DetectorConstruction::DefineMaterials() G4bool isotopes = false; - G4Element* O = man->FindOrBuildElement("O" , isotopes); + G4Element* O = man->FindOrBuildElement("O", isotopes); G4Element* Si = man->FindOrBuildElement("Si", isotopes); G4Element* Lu = man->FindOrBuildElement("Lu", isotopes); auto LSO = new G4Material("Lu2SiO5", 7.4 * g / cm3, 3); LSO->AddElement(Lu, 2); LSO->AddElement(Si, 1); - LSO->AddElement(O , 5); + LSO->AddElement(O, 5); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -79,44 +78,45 @@ G4VPhysicalVolume* DetectorConstruction::Construct() { // Gamma detector Parameters // - G4double cryst_dX = 6*cm, cryst_dY = 6*cm, cryst_dZ = 3*cm; + G4double cryst_dX = 6 * cm, cryst_dY = 6 * cm, cryst_dZ = 3 * cm; G4int nb_cryst = 32; G4int nb_rings = 9; // - G4double dPhi = twopi/nb_cryst, half_dPhi = 0.5*dPhi; + G4double dPhi = twopi / nb_cryst, half_dPhi = 0.5 * dPhi; G4double cosdPhi = std::cos(half_dPhi); G4double tandPhi = std::tan(half_dPhi); // - G4double ring_R1 = 0.5*cryst_dY/tandPhi; - G4double ring_R2 = (ring_R1+cryst_dZ)/cosdPhi; + G4double ring_R1 = 0.5 * cryst_dY / tandPhi; + G4double ring_R2 = (ring_R1 + cryst_dZ) / cosdPhi; // - G4double detector_dZ = nb_rings*cryst_dX; + G4double detector_dZ = nb_rings * cryst_dX; // G4NistManager* nist = G4NistManager::Instance(); G4Material* default_mat = nist->FindOrBuildMaterial("G4_AIR"); - G4Material* cryst_mat = nist->FindOrBuildMaterial("Lu2SiO5"); + G4Material* cryst_mat = nist->FindOrBuildMaterial("Lu2SiO5"); // // World // - G4double world_sizeXY = 2.4*ring_R2; - G4double world_sizeZ = 1.2*detector_dZ; + G4double world_sizeXY = 2.4 * ring_R2; + G4double world_sizeZ = 1.2 * detector_dZ; - auto solidWorld = new G4Box("World", // its name - 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size + auto solidWorld = + new G4Box("World", // its name + 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size auto logicWorld = new G4LogicalVolume(solidWorld, // its solid - default_mat, // its material - "World"); // its name + default_mat, // its material + "World"); // its name auto physWorld = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicWorld, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + logicWorld, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // ring @@ -124,38 +124,38 @@ G4VPhysicalVolume* DetectorConstruction::Construct() auto solidRing = new G4Tubs("Ring", ring_R1, ring_R2, 0.5 * cryst_dX, 0., twopi); auto logicRing = new G4LogicalVolume(solidRing, // its solid - default_mat, // its material - "Ring"); // its name + default_mat, // its material + "Ring"); // its name // // define crystal // - G4double gap = 0.5*mm; //a gap for wrapping + G4double gap = 0.5 * mm; // a gap for wrapping G4double dX = cryst_dX - gap, dY = cryst_dY - gap; auto solidCryst = new G4Box("crystal", dX / 2, dY / 2, cryst_dZ / 2); auto logicCryst = new G4LogicalVolume(solidCryst, // its solid - cryst_mat, // its material - "CrystalLV"); // its name + cryst_mat, // its material + "CrystalLV"); // its name // place crystals within a ring // - for (G4int icrys = 0; icrys < nb_cryst ; icrys++) { - G4double phi = icrys*dPhi; - G4RotationMatrix rotm = G4RotationMatrix(); - rotm.rotateY(90*deg); + for (G4int icrys = 0; icrys < nb_cryst; icrys++) { + G4double phi = icrys * dPhi; + G4RotationMatrix rotm = G4RotationMatrix(); + rotm.rotateY(90 * deg); rotm.rotateZ(phi); - G4ThreeVector uz = G4ThreeVector(std::cos(phi), std::sin(phi),0.); - G4ThreeVector position = (ring_R1+0.5*cryst_dZ)*uz; - G4Transform3D transform = G4Transform3D(rotm,position); - - new G4PVPlacement(transform, //rotation,position - logicCryst, //its logical volume - "crystal", //its name - logicRing, //its mother volume - false, //no boolean operation - icrys, //copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector uz = G4ThreeVector(std::cos(phi), std::sin(phi), 0.); + G4ThreeVector position = (ring_R1 + 0.5 * cryst_dZ) * uz; + G4Transform3D transform = G4Transform3D(rotm, position); + + new G4PVPlacement(transform, // rotation,position + logicCryst, // its logical volume + "crystal", // its name + logicRing, // its mother volume + false, // no boolean operation + icrys, // copy number + fCheckOverlaps); // checking overlaps } // @@ -164,71 +164,71 @@ G4VPhysicalVolume* DetectorConstruction::Construct() auto solidDetector = new G4Tubs("Detector", ring_R1, ring_R2, 0.5 * detector_dZ, 0., twopi); auto logicDetector = new G4LogicalVolume(solidDetector, // its solid - default_mat, // its material - "Detector"); // its name + default_mat, // its material + "Detector"); // its name // // place rings within detector // - G4double OG = -0.5*(detector_dZ + cryst_dX); - for (G4int iring = 0; iring < nb_rings ; iring++) { + G4double OG = -0.5 * (detector_dZ + cryst_dX); + for (G4int iring = 0; iring < nb_rings; iring++) { OG += cryst_dX; new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0, 0, OG), // position - logicRing, // its logical volume - "ring", // its name - logicDetector, // its mother volume - false, // no boolean operation - iring, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(0, 0, OG), // position + logicRing, // its logical volume + "ring", // its name + logicDetector, // its mother volume + false, // no boolean operation + iring, // copy number + fCheckOverlaps); // checking overlaps } // // place detector in world // new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicDetector, // its logical volume - "Detector", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + logicDetector, // its logical volume + "Detector", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // patient // - G4double patient_radius = 8*cm; - G4double patient_dZ = 10*cm; + G4double patient_radius = 8 * cm; + G4double patient_dZ = 10 * cm; G4Material* patient_mat = nist->FindOrBuildMaterial("G4_BRAIN_ICRP"); auto solidPatient = new G4Tubs("Patient", 0., patient_radius, 0.5 * patient_dZ, 0., twopi); auto logicPatient = new G4LogicalVolume(solidPatient, // its solid - patient_mat, // its material - "PatientLV"); // its name + patient_mat, // its material + "PatientLV"); // its name // // place patient in world // new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicPatient, // its logical volume - "Patient", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + logicPatient, // its logical volume + "Patient", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // Visualization attributes // - logicRing->SetVisAttributes (G4VisAttributes::GetInvisible()); - logicDetector->SetVisAttributes (G4VisAttributes::GetInvisible()); + logicRing->SetVisAttributes(G4VisAttributes::GetInvisible()); + logicDetector->SetVisAttributes(G4VisAttributes::GetInvisible()); // Print materials G4cout << *(G4Material::GetMaterialTable()) << G4endl; - //always return the physical World + // always return the physical World // return physWorld; } @@ -245,7 +245,7 @@ void DetectorConstruction::ConstructSDandField() G4SDManager::GetSDMpointer()->AddNewDetector(cryst); G4VPrimitiveScorer* primitiv1 = new G4PSEnergyDeposit("edep"); cryst->RegisterPrimitive(primitiv1); - SetSensitiveDetector("CrystalLV",cryst); + SetSensitiveDetector("CrystalLV", cryst); // declare patient as a MultiFunctionalDetector scorer // @@ -253,10 +253,9 @@ void DetectorConstruction::ConstructSDandField() G4SDManager::GetSDMpointer()->AddNewDetector(patient); G4VPrimitiveScorer* primitiv2 = new G4PSDoseDeposit("dose"); patient->RegisterPrimitive(primitiv2); - SetSensitiveDetector("PatientLV",patient); + SetSensitiveDetector("PatientLV", patient); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3 diff --git a/examples/basic/B3/B3a/src/EventAction.cc b/examples/basic/B3/B3a/src/EventAction.cc index 6042916cfa7..c47bc2ef2a2 100644 --- a/examples/basic/B3/B3a/src/EventAction.cc +++ b/examples/basic/B3/B3a/src/EventAction.cc @@ -28,77 +28,72 @@ /// \brief Implementation of the B3a::EventAction class #include "EventAction.hh" + #include "RunAction.hh" -#include "G4RunManager.hh" #include "G4Event.hh" - -#include "G4SDManager.hh" #include "G4HCofThisEvent.hh" -#include "G4THitsMap.hh" -#include "G4UnitsTable.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4THitsMap.hh" +// #include "G4UnitsTable.hh" namespace B3a { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(RunAction* runAction) - : fRunAction(runAction) -{} +EventAction::EventAction(RunAction* runAction) : fRunAction(runAction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::BeginOfEventAction(const G4Event* /*evt*/) -{ } +void EventAction::BeginOfEventAction(const G4Event* /*evt*/) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt ) +void EventAction::EndOfEventAction(const G4Event* evt) { - //Hits collections + // Hits collections // G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); - if(!HCE) return; + if (!HCE) return; - // Get hits collections IDs + // Get hits collections IDs if (fCollID_cryst < 0) { G4SDManager* SDMan = G4SDManager::GetSDMpointer(); - fCollID_cryst = SDMan->GetCollectionID("crystal/edep"); + fCollID_cryst = SDMan->GetCollectionID("crystal/edep"); fCollID_patient = SDMan->GetCollectionID("patient/dose"); } - //Energy in crystals : identify 'good events' + // Energy in crystals : identify 'good events' // - const G4double eThreshold = 500*keV; + const G4double eThreshold = 500 * keV; G4int nbOfFired = 0; - auto evtMap = (G4THitsMap*)(HCE->GetHC(fCollID_cryst)); + auto evtMap = static_cast*>(HCE->GetHC(fCollID_cryst)); - std::map::iterator itr; - for (itr = evtMap->GetMap()->begin(); itr != evtMap->GetMap()->end(); itr++) { - ///G4int copyNb = (itr->first); - G4double edep = *(itr->second); - if (edep > eThreshold) nbOfFired++; - ///G4cout << "\n cryst" << copyNb << ": " << edep/keV << " keV "; + for (auto& mapElement : (*evtMap->GetMap())) { + auto edep = *(mapElement.second); + if (edep > eThreshold) ++nbOfFired; + // auto copyNb = mapElement.first; + // G4cout << "\n cryst" << copyNb << ": " << edep/keV << " keV "; } if (nbOfFired == 2) fRunAction->CountEvent(); - //Dose deposit in patient + // Dose deposit in patient // G4double dose = 0.; - evtMap = (G4THitsMap*)(HCE->GetHC(fCollID_patient)); + evtMap = static_cast*>(HCE->GetHC(fCollID_patient)); - for (itr = evtMap->GetMap()->begin(); itr != evtMap->GetMap()->end(); itr++) { - ///G4int copyNb = (itr->first); - dose = *(itr->second); + for (auto& mapElement : (*evtMap->GetMap())) { + dose += *(mapElement.second); + // auto copyNb = mapElement.first; + // G4cout << "\n patient" << copyNb << ": " << G4BestUnit(dose,"Dose"); } if (dose > 0.) fRunAction->SumDose(dose); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3a diff --git a/examples/basic/B3/B3a/src/PhysicsList.cc b/examples/basic/B3/B3a/src/PhysicsList.cc index eeeaa83e760..cbdd9d0bfeb 100644 --- a/examples/basic/B3/B3a/src/PhysicsList.cc +++ b/examples/basic/B3/B3a/src/PhysicsList.cc @@ -61,4 +61,4 @@ void PhysicsList::SetCuts() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B3 diff --git a/examples/basic/B3/B3a/src/PrimaryGeneratorAction.cc b/examples/basic/B3/B3a/src/PrimaryGeneratorAction.cc index 0ebbb361a4e..3ed2c9aab58 100644 --- a/examples/basic/B3/B3a/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B3/B3a/src/PrimaryGeneratorAction.cc @@ -29,13 +29,10 @@ #include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4Event.hh" +#include "G4ChargedGeantino.hh" +#include "G4IonTable.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4IonTable.hh" -#include "G4ParticleDefinition.hh" -#include "G4ChargedGeantino.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" @@ -47,17 +44,16 @@ namespace B3 PrimaryGeneratorAction::PrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4ParticleDefinition* particle - = particleTable->FindParticle("chargedgeantino"); + G4ParticleDefinition* particle = particleTable->FindParticle("chargedgeantino"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,0.)); - fParticleGun->SetParticleEnergy(1*eV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., 0.)); + fParticleGun->SetParticleEnergy(1 * eV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,39 +65,36 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { G4ParticleDefinition* particle = fParticleGun->GetParticleDefinition(); if (particle == G4ChargedGeantino::ChargedGeantino()) { - //fluorine + // fluorine G4int Z = 9, A = 18; - G4double ionCharge = 0.*eplus; - G4double excitEnergy = 0.*keV; + G4double ionCharge = 0. * eplus; + G4double excitEnergy = 0. * keV; - G4ParticleDefinition* ion - = G4IonTable::GetIonTable()->GetIon(Z,A,excitEnergy); + G4ParticleDefinition* ion = G4IonTable::GetIonTable()->GetIon(Z, A, excitEnergy); fParticleGun->SetParticleDefinition(ion); fParticleGun->SetParticleCharge(ionCharge); } // randomized position // - ///G4double x0 = 0*cm, y0 = 0*cm, z0 = 0*cm; - ///G4double dx0 = 0*cm, dy0 = 0*cm, dz0 = 0*cm; - G4double x0 = 4*cm, y0 = 4*cm, z0 = 4*cm; - G4double dx0 = 1*cm, dy0 = 1*cm, dz0 = 1*cm; - x0 += dx0*(G4UniformRand()-0.5); - y0 += dy0*(G4UniformRand()-0.5); - z0 += dz0*(G4UniformRand()-0.5); - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - - //create vertex + /// G4double x0 = 0*cm, y0 = 0*cm, z0 = 0*cm; + /// G4double dx0 = 0*cm, dy0 = 0*cm, dz0 = 0*cm; + G4double x0 = 4 * cm, y0 = 4 * cm, z0 = 4 * cm; + G4double dx0 = 1 * cm, dy0 = 1 * cm, dz0 = 1 * cm; + x0 += dx0 * (G4UniformRand() - 0.5); + y0 += dy0 * (G4UniformRand() - 0.5); + z0 += dz0 * (G4UniformRand() - 0.5); + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); + + // create vertex // - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - - +} // namespace B3 diff --git a/examples/basic/B3/B3a/src/RunAction.cc b/examples/basic/B3/B3a/src/RunAction.cc index 753d9f88b41..1cb3b7065b1 100644 --- a/examples/basic/B3/B3a/src/RunAction.cc +++ b/examples/basic/B3/B3a/src/RunAction.cc @@ -28,13 +28,15 @@ /// \brief Implementation of the B3a::RunAction class #include "RunAction.hh" + #include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4Run.hh" #include "G4AccumulableManager.hh" -#include "G4UnitsTable.hh" +#include "G4ParticleGun.hh" +#include "G4Run.hh" +#include "G4RunManager.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" using namespace B3; @@ -45,17 +47,17 @@ namespace B3a RunAction::RunAction() { - //add new units for dose + // add new units for dose // - const G4double milligray = 1.e-3*gray; - const G4double microgray = 1.e-6*gray; - const G4double nanogray = 1.e-9*gray; - const G4double picogray = 1.e-12*gray; + const G4double milligray = 1.e-3 * gray; + const G4double microgray = 1.e-6 * gray; + const G4double nanogray = 1.e-9 * gray; + const G4double picogray = 1.e-12 * gray; - new G4UnitDefinition("milligray", "milliGy" , "Dose", milligray); - new G4UnitDefinition("microgray", "microGy" , "Dose", microgray); - new G4UnitDefinition("nanogray" , "nanoGy" , "Dose", nanogray); - new G4UnitDefinition("picogray" , "picoGy" , "Dose", picogray); + new G4UnitDefinition("milligray", "milliGy", "Dose", milligray); + new G4UnitDefinition("microgray", "microGy", "Dose", microgray); + new G4UnitDefinition("nanogray", "nanoGy", "Dose", nanogray); + new G4UnitDefinition("picogray", "picoGy", "Dose", picogray); // Register accumulable to the accumulable manager G4AccumulableManager* accumulableManager = G4AccumulableManager::Instance(); @@ -73,7 +75,7 @@ void RunAction::BeginOfRunAction(const G4Run* run) G4AccumulableManager* accumulableManager = G4AccumulableManager::Instance(); accumulableManager->Reset(); - //inform the runManager to save random number seed + // inform the runManager to save random number seed G4RunManager::GetRunManager()->SetRandomNumberStore(false); } @@ -94,40 +96,26 @@ void RunAction::EndOfRunAction(const G4Run* run) const auto generatorAction = static_cast( G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction()); G4String partName; - if (generatorAction) - { - G4ParticleDefinition* particle - = generatorAction->GetParticleGun()->GetParticleDefinition(); + if (generatorAction) { + G4ParticleDefinition* particle = generatorAction->GetParticleGun()->GetParticleDefinition(); partName = particle->GetParticleName(); } // Print results // - if (IsMaster()) - { - G4cout - << G4endl - << "--------------------End of Global Run-----------------------" - << G4endl - << " The run was " << nofEvents << " events "; + if (IsMaster()) { + G4cout << G4endl << "--------------------End of Global Run-----------------------" << G4endl + << " The run was " << nofEvents << " events "; } - else - { - G4cout - << G4endl - << "--------------------End of Local Run------------------------" - << G4endl - << " The run was " << nofEvents << " "<< partName; + else { + G4cout << G4endl << "--------------------End of Local Run------------------------" << G4endl + << " The run was " << nofEvents << " " << partName; } - G4cout - << "; Nb of 'good' e+ annihilations: " << fGoodEvents.GetValue() << G4endl - << " Total dose in patient : " << G4BestUnit(fSumDose.GetValue(),"Dose") - << G4endl - << "------------------------------------------------------------" << G4endl - << G4endl; + G4cout << "; Nb of 'good' e+ annihilations: " << fGoodEvents.GetValue() << G4endl + << " Total dose in patient : " << G4BestUnit(fSumDose.GetValue(), "Dose") << G4endl + << "------------------------------------------------------------" << G4endl << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3a diff --git a/examples/basic/B3/B3a/src/StackingAction.cc b/examples/basic/B3/B3a/src/StackingAction.cc index a9feff3814b..e419842ed03 100644 --- a/examples/basic/B3/B3a/src/StackingAction.cc +++ b/examples/basic/B3/B3a/src/StackingAction.cc @@ -29,26 +29,26 @@ #include "StackingAction.hh" -#include "G4Track.hh" #include "G4NeutrinoE.hh" +#include "G4Track.hh" namespace B3 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* track) +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* track) { - //keep primary particle + // keep primary particle if (track->GetParentID() == 0) return fUrgent; - //kill secondary neutrino - if (track->GetDefinition() == G4NeutrinoE::NeutrinoE()) return fKill; - else return fUrgent; + // kill secondary neutrino + if (track->GetDefinition() == G4NeutrinoE::NeutrinoE()) + return fKill; + else + return fUrgent; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3 diff --git a/examples/basic/B3/B3b/exampleB3b.cc b/examples/basic/B3/B3b/exampleB3b.cc index 57cb8a435bb..690bc6e4913 100644 --- a/examples/basic/B3/B3b/exampleB3b.cc +++ b/examples/basic/B3/B3b/exampleB3b.cc @@ -27,42 +27,41 @@ /// \file exampleB3b.cc /// \brief Main program of the B3b example -#include "G4Types.hh" +#include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "G4AnalysisManager.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" +#include "G4TScoreNtupleWriter.hh" +#include "G4Types.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" -#include "G4AnalysisManager.hh" -#include "G4TScoreNtupleWriter.hh" - -#include "Randomize.hh" - -#include "DetectorConstruction.hh" -#include "PhysicsList.hh" -#include "ActionInitialization.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv);} + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Optionally: choose a different Random engine... // G4Random::setTheEngine(new CLHEP::MTwistEngine); - //use G4SteppingVerboseWithUnits + // use G4SteppingVerboseWithUnits G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); // Construct the default run manager // - auto runManager = - G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); + auto runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); // Set mandatory initialization classes // @@ -92,16 +91,16 @@ int main(int argc,char** argv) G4TScoreNtupleWriter scoreNtupleWriter; scoreNtupleWriter.SetVerboseLevel(1); scoreNtupleWriter.SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output - // (the default in G4TScoreNtupleWriter) + // Note: merging ntuples is available only with Root output + // (the default in G4TScoreNtupleWriter) // Process macro or start UI session // - if ( ! ui ) { + if (!ui) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/basic/B3/B3b/exampleB3b.out b/examples/basic/B3/B3b/exampleB3b.out index eb586b7d9fc..790ee4f7ab2 100644 --- a/examples/basic/B3/B3b/exampleB3b.out +++ b/examples/basic/B3/B3b/exampleB3b.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -42,14 +42,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -390,7 +397,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -466,7 +473,7 @@ Threshold for very long decay time at rest 1 y HADRONIC PROCESSES SUMMARY (verbose level 1) ------------------------------------------------------------------------- Hadronic Processes for GenericIon - Process: Radioactivation + Process: RadioactiveDecay msc: for alpha SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== @@ -735,9 +742,9 @@ Setting was ignored. --> Event 9000 starts. --------------------End of Global Run----------------------- - The run was 10000 events Nb of 'good' e+ annihilations: 1278 - Total dose in patient : 306.445 picoGy - Total dose in patient : 3.06445e-10 [sigma: 1.73409e-14 | error: 0.00565873 | coeff: 0.00565873 | eff: 1 | fom: 31229.3 | r2int: 3.2018e-05 | r2eff: 0 | hits: 10000 ] Gy + The run was 10000 events Nb of 'good' e+ annihilations: 1308 + Total dose in patient : 305.937 picoGy + Total dose in patient : 3.05937e-10 [sigma: 1.73788e-14 | error: 0.0056805 | coeff: 0.0056805 | eff: 1 | fom: 30990.3 | r2int: 3.22649e-05 | r2eff: 0 | hits: 10000 ] Gy ------------------------------------------------------------ ... write file : scoring.root - done diff --git a/examples/basic/B3/B3b/include/ActionInitialization.hh b/examples/basic/B3/B3b/include/ActionInitialization.hh index da6cb4b9e7a..c9bf64cf634 100644 --- a/examples/basic/B3/B3b/include/ActionInitialization.hh +++ b/examples/basic/B3/B3b/include/ActionInitialization.hh @@ -47,13 +47,10 @@ class ActionInitialization : public G4VUserActionInitialization void BuildForMaster() const override; void Build() const override; - }; -} +} // namespace B3b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/basic/B3/B3b/include/DetectorConstruction.hh b/examples/basic/B3/B3b/include/DetectorConstruction.hh index 2f02f947489..f582e4ef84c 100644 --- a/examples/basic/B3/B3b/include/DetectorConstruction.hh +++ b/examples/basic/B3/B3b/include/DetectorConstruction.hh @@ -34,7 +34,6 @@ #include "globals.hh" class G4VPhysicalVolume; -class G4LogicalVolume; namespace B3 { @@ -60,9 +59,8 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4bool fCheckOverlaps = true; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3b/include/PhysicsList.hh b/examples/basic/B3/B3b/include/PhysicsList.hh index b2529f4126e..4de98eb8128 100644 --- a/examples/basic/B3/B3b/include/PhysicsList.hh +++ b/examples/basic/B3/B3b/include/PhysicsList.hh @@ -42,18 +42,17 @@ namespace B3 /// - G4RadioactiveDecayPhysics /// - G4EmStandardPhysics -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { -public: - PhysicsList(); - ~PhysicsList() override = default; + public: + PhysicsList(); + ~PhysicsList() override = default; - void SetCuts() override; + void SetCuts() override; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3b/include/PrimaryGeneratorAction.hh b/examples/basic/B3/B3b/include/PrimaryGeneratorAction.hh index 75cb277a661..3e90ff8f959 100644 --- a/examples/basic/B3/B3b/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B3/B3b/include/PrimaryGeneratorAction.hh @@ -31,7 +31,6 @@ #define B3PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "G4ParticleGun.hh" #include "globals.hh" class G4ParticleGun; @@ -60,7 +59,7 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction G4ParticleGun* fParticleGun = nullptr; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B3/B3b/include/Run.hh b/examples/basic/B3/B3b/include/Run.hh index 29a58c60d1c..196106b0133 100644 --- a/examples/basic/B3/B3b/include/Run.hh +++ b/examples/basic/B3/B3b/include/Run.hh @@ -31,8 +31,9 @@ #define B3bRun_h 1 #include "G4Run.hh" -#include "globals.hh" + #include "G4StatAnalysis.hh" +#include "globals.hh" namespace B3b { @@ -53,7 +54,7 @@ class Run : public G4Run public: G4int GetNbGoodEvents() const { return fGoodEvents; } - G4double GetSumDose() const { return fSumDose; } + G4double GetSumDose() const { return fSumDose; } G4StatAnalysis GetStatDose() const { return fStatDose; } private: @@ -65,10 +66,8 @@ class Run : public G4Run G4StatAnalysis fStatDose; }; -} +} // namespace B3b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/basic/B3/B3b/include/RunAction.hh b/examples/basic/B3/B3b/include/RunAction.hh index 32582e949d7..89ee2261de7 100644 --- a/examples/basic/B3/B3b/include/RunAction.hh +++ b/examples/basic/B3/B3b/include/RunAction.hh @@ -31,7 +31,6 @@ #define B3bRunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -48,12 +47,11 @@ class RunAction : public G4UserRunAction G4Run* GenerateRun() override; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; }; -} +} // namespace B3b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3b/include/StackingAction.hh b/examples/basic/B3/B3b/include/StackingAction.hh index dc7cb661fb7..aa6738dcbcc 100644 --- a/examples/basic/B3/B3b/include/StackingAction.hh +++ b/examples/basic/B3/B3b/include/StackingAction.hh @@ -31,7 +31,8 @@ #define B3StackingAction_h 1 #include "G4UserStackingAction.hh" -#include "globals.hh" + +#include "G4ClassificationOfNewTrack.hh" namespace B3 { @@ -50,9 +51,8 @@ class StackingAction : public G4UserStackingAction G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*) override; }; -} +} // namespace B3 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B3/B3b/src/ActionInitialization.cc b/examples/basic/B3/B3b/src/ActionInitialization.cc index c68ec9bc21c..304a6030442 100644 --- a/examples/basic/B3/B3b/src/ActionInitialization.cc +++ b/examples/basic/B3/B3b/src/ActionInitialization.cc @@ -28,8 +28,9 @@ /// \brief Implementation of the B3b::ActionInitialization class #include "ActionInitialization.hh" -#include "RunAction.hh" + #include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" #include "StackingAction.hh" using namespace B3; @@ -55,5 +56,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3b diff --git a/examples/basic/B3/B3b/src/DetectorConstruction.cc b/examples/basic/B3/B3b/src/DetectorConstruction.cc index 481bad17878..0fbcb1a5ade 100644 --- a/examples/basic/B3/B3b/src/DetectorConstruction.cc +++ b/examples/basic/B3/B3b/src/DetectorConstruction.cc @@ -29,21 +29,20 @@ #include "DetectorConstruction.hh" -#include "G4NistManager.hh" #include "G4Box.hh" -#include "G4Tubs.hh" #include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4RotationMatrix.hh" -#include "G4Transform3D.hh" -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" -#include "G4VPrimitiveScorer.hh" -#include "G4PSEnergyDeposit.hh" +#include "G4NistManager.hh" #include "G4PSDoseDeposit.hh" -#include "G4VisAttributes.hh" +#include "G4PSEnergyDeposit.hh" +#include "G4PVPlacement.hh" #include "G4PhysicalConstants.hh" +#include "G4RotationMatrix.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4Transform3D.hh" +#include "G4Tubs.hh" +#include "G4VisAttributes.hh" namespace B3 { @@ -63,14 +62,14 @@ void DetectorConstruction::DefineMaterials() G4bool isotopes = false; - G4Element* O = man->FindOrBuildElement("O" , isotopes); + G4Element* O = man->FindOrBuildElement("O", isotopes); G4Element* Si = man->FindOrBuildElement("Si", isotopes); G4Element* Lu = man->FindOrBuildElement("Lu", isotopes); auto LSO = new G4Material("Lu2SiO5", 7.4 * g / cm3, 3); LSO->AddElement(Lu, 2); LSO->AddElement(Si, 1); - LSO->AddElement(O , 5); + LSO->AddElement(O, 5); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -79,44 +78,45 @@ G4VPhysicalVolume* DetectorConstruction::Construct() { // Gamma detector Parameters // - G4double cryst_dX = 6*cm, cryst_dY = 6*cm, cryst_dZ = 3*cm; + G4double cryst_dX = 6 * cm, cryst_dY = 6 * cm, cryst_dZ = 3 * cm; G4int nb_cryst = 32; G4int nb_rings = 9; // - G4double dPhi = twopi/nb_cryst, half_dPhi = 0.5*dPhi; + G4double dPhi = twopi / nb_cryst, half_dPhi = 0.5 * dPhi; G4double cosdPhi = std::cos(half_dPhi); G4double tandPhi = std::tan(half_dPhi); // - G4double ring_R1 = 0.5*cryst_dY/tandPhi; - G4double ring_R2 = (ring_R1+cryst_dZ)/cosdPhi; + G4double ring_R1 = 0.5 * cryst_dY / tandPhi; + G4double ring_R2 = (ring_R1 + cryst_dZ) / cosdPhi; // - G4double detector_dZ = nb_rings*cryst_dX; + G4double detector_dZ = nb_rings * cryst_dX; // G4NistManager* nist = G4NistManager::Instance(); G4Material* default_mat = nist->FindOrBuildMaterial("G4_AIR"); - G4Material* cryst_mat = nist->FindOrBuildMaterial("Lu2SiO5"); + G4Material* cryst_mat = nist->FindOrBuildMaterial("Lu2SiO5"); // // World // - G4double world_sizeXY = 2.4*ring_R2; - G4double world_sizeZ = 1.2*detector_dZ; + G4double world_sizeXY = 2.4 * ring_R2; + G4double world_sizeZ = 1.2 * detector_dZ; - auto solidWorld = new G4Box("World", // its name - 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size + auto solidWorld = + new G4Box("World", // its name + 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size auto logicWorld = new G4LogicalVolume(solidWorld, // its solid - default_mat, // its material - "World"); // its name + default_mat, // its material + "World"); // its name auto physWorld = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicWorld, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + logicWorld, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // ring @@ -124,38 +124,38 @@ G4VPhysicalVolume* DetectorConstruction::Construct() auto solidRing = new G4Tubs("Ring", ring_R1, ring_R2, 0.5 * cryst_dX, 0., twopi); auto logicRing = new G4LogicalVolume(solidRing, // its solid - default_mat, // its material - "Ring"); // its name + default_mat, // its material + "Ring"); // its name // // define crystal // - G4double gap = 0.5*mm; //a gap for wrapping + G4double gap = 0.5 * mm; // a gap for wrapping G4double dX = cryst_dX - gap, dY = cryst_dY - gap; auto solidCryst = new G4Box("crystal", dX / 2, dY / 2, cryst_dZ / 2); auto logicCryst = new G4LogicalVolume(solidCryst, // its solid - cryst_mat, // its material - "CrystalLV"); // its name + cryst_mat, // its material + "CrystalLV"); // its name // place crystals within a ring // - for (G4int icrys = 0; icrys < nb_cryst ; icrys++) { - G4double phi = icrys*dPhi; - G4RotationMatrix rotm = G4RotationMatrix(); - rotm.rotateY(90*deg); + for (G4int icrys = 0; icrys < nb_cryst; icrys++) { + G4double phi = icrys * dPhi; + G4RotationMatrix rotm = G4RotationMatrix(); + rotm.rotateY(90 * deg); rotm.rotateZ(phi); - G4ThreeVector uz = G4ThreeVector(std::cos(phi), std::sin(phi),0.); - G4ThreeVector position = (ring_R1+0.5*cryst_dZ)*uz; - G4Transform3D transform = G4Transform3D(rotm,position); - - new G4PVPlacement(transform, //rotation,position - logicCryst, //its logical volume - "crystal", //its name - logicRing, //its mother volume - false, //no boolean operation - icrys, //copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector uz = G4ThreeVector(std::cos(phi), std::sin(phi), 0.); + G4ThreeVector position = (ring_R1 + 0.5 * cryst_dZ) * uz; + G4Transform3D transform = G4Transform3D(rotm, position); + + new G4PVPlacement(transform, // rotation,position + logicCryst, // its logical volume + "crystal", // its name + logicRing, // its mother volume + false, // no boolean operation + icrys, // copy number + fCheckOverlaps); // checking overlaps } // @@ -164,71 +164,71 @@ G4VPhysicalVolume* DetectorConstruction::Construct() auto solidDetector = new G4Tubs("Detector", ring_R1, ring_R2, 0.5 * detector_dZ, 0., twopi); auto logicDetector = new G4LogicalVolume(solidDetector, // its solid - default_mat, // its material - "Detector"); // its name + default_mat, // its material + "Detector"); // its name // // place rings within detector // - G4double OG = -0.5*(detector_dZ + cryst_dX); - for (G4int iring = 0; iring < nb_rings ; iring++) { + G4double OG = -0.5 * (detector_dZ + cryst_dX); + for (G4int iring = 0; iring < nb_rings; iring++) { OG += cryst_dX; new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0, 0, OG), // position - logicRing, // its logical volume - "ring", // its name - logicDetector, // its mother volume - false, // no boolean operation - iring, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(0, 0, OG), // position + logicRing, // its logical volume + "ring", // its name + logicDetector, // its mother volume + false, // no boolean operation + iring, // copy number + fCheckOverlaps); // checking overlaps } // // place detector in world // new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicDetector, // its logical volume - "Detector", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + logicDetector, // its logical volume + "Detector", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // patient // - G4double patient_radius = 8*cm; - G4double patient_dZ = 10*cm; + G4double patient_radius = 8 * cm; + G4double patient_dZ = 10 * cm; G4Material* patient_mat = nist->FindOrBuildMaterial("G4_BRAIN_ICRP"); auto solidPatient = new G4Tubs("Patient", 0., patient_radius, 0.5 * patient_dZ, 0., twopi); auto logicPatient = new G4LogicalVolume(solidPatient, // its solid - patient_mat, // its material - "PatientLV"); // its name + patient_mat, // its material + "PatientLV"); // its name // // place patient in world // new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicPatient, // its logical volume - "Patient", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + logicPatient, // its logical volume + "Patient", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // Visualization attributes // - logicRing->SetVisAttributes (G4VisAttributes::GetInvisible()); - logicDetector->SetVisAttributes (G4VisAttributes::GetInvisible()); + logicRing->SetVisAttributes(G4VisAttributes::GetInvisible()); + logicDetector->SetVisAttributes(G4VisAttributes::GetInvisible()); // Print materials G4cout << *(G4Material::GetMaterialTable()) << G4endl; - //always return the physical World + // always return the physical World // return physWorld; } @@ -245,7 +245,7 @@ void DetectorConstruction::ConstructSDandField() G4SDManager::GetSDMpointer()->AddNewDetector(cryst); G4VPrimitiveScorer* primitiv1 = new G4PSEnergyDeposit("edep"); cryst->RegisterPrimitive(primitiv1); - SetSensitiveDetector("CrystalLV",cryst); + SetSensitiveDetector("CrystalLV", cryst); // declare patient as a MultiFunctionalDetector scorer // @@ -253,10 +253,9 @@ void DetectorConstruction::ConstructSDandField() G4SDManager::GetSDMpointer()->AddNewDetector(patient); G4VPrimitiveScorer* primitiv2 = new G4PSDoseDeposit("dose"); patient->RegisterPrimitive(primitiv2); - SetSensitiveDetector("PatientLV",patient); + SetSensitiveDetector("PatientLV", patient); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3 diff --git a/examples/basic/B3/B3b/src/PhysicsList.cc b/examples/basic/B3/B3b/src/PhysicsList.cc index 151b57c0b3c..e0ca5c7ca9b 100644 --- a/examples/basic/B3/B3b/src/PhysicsList.cc +++ b/examples/basic/B3/B3b/src/PhysicsList.cc @@ -61,4 +61,4 @@ void PhysicsList::SetCuts() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B3 diff --git a/examples/basic/B3/B3b/src/PrimaryGeneratorAction.cc b/examples/basic/B3/B3b/src/PrimaryGeneratorAction.cc index 92119eaa624..f7bba8eb963 100644 --- a/examples/basic/B3/B3b/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B3/B3b/src/PrimaryGeneratorAction.cc @@ -29,13 +29,10 @@ #include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4Event.hh" +#include "G4ChargedGeantino.hh" +#include "G4IonTable.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4IonTable.hh" -#include "G4ParticleDefinition.hh" -#include "G4ChargedGeantino.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" @@ -47,17 +44,16 @@ namespace B3 PrimaryGeneratorAction::PrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4ParticleDefinition* particle - = particleTable->FindParticle("chargedgeantino"); + G4ParticleDefinition* particle = particleTable->FindParticle("chargedgeantino"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,0.)); - fParticleGun->SetParticleEnergy(1*eV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., 0.)); + fParticleGun->SetParticleEnergy(1 * eV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,39 +65,36 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { G4ParticleDefinition* particle = fParticleGun->GetParticleDefinition(); if (particle == G4ChargedGeantino::ChargedGeantino()) { - //fluorine + // fluorine G4int Z = 9, A = 18; - G4double ionCharge = 0.*eplus; - G4double excitEnergy = 0.*keV; + G4double ionCharge = 0. * eplus; + G4double excitEnergy = 0. * keV; - G4ParticleDefinition* ion - = G4IonTable::GetIonTable()->GetIon(Z,A,excitEnergy); + G4ParticleDefinition* ion = G4IonTable::GetIonTable()->GetIon(Z, A, excitEnergy); fParticleGun->SetParticleDefinition(ion); fParticleGun->SetParticleCharge(ionCharge); } // randomized position // - ///G4double x0 = 0*cm, y0 = 0*cm, z0 = 0*cm; - ///G4double dx0 = 0*cm, dy0 = 0*cm, dz0 = 0*cm; - G4double x0 = 4*cm, y0 = 4*cm, z0 = 4*cm; - G4double dx0 = 1*cm, dy0 = 1*cm, dz0 = 1*cm; - x0 += dx0*(G4UniformRand()-0.5); - y0 += dy0*(G4UniformRand()-0.5); - z0 += dz0*(G4UniformRand()-0.5); - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - - //create vertex + /// G4double x0 = 0*cm, y0 = 0*cm, z0 = 0*cm; + /// G4double dx0 = 0*cm, dy0 = 0*cm, dz0 = 0*cm; + G4double x0 = 4 * cm, y0 = 4 * cm, z0 = 4 * cm; + G4double dx0 = 1 * cm, dy0 = 1 * cm, dz0 = 1 * cm; + x0 += dx0 * (G4UniformRand() - 0.5); + y0 += dy0 * (G4UniformRand() - 0.5); + z0 += dz0 * (G4UniformRand() - 0.5); + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); + + // create vertex // - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - - +} // namespace B3 diff --git a/examples/basic/B3/B3b/src/Run.cc b/examples/basic/B3/B3b/src/Run.cc index c5379d98429..f1c8b499a47 100644 --- a/examples/basic/B3/B3b/src/Run.cc +++ b/examples/basic/B3/B3b/src/Run.cc @@ -29,13 +29,12 @@ #include "Run.hh" -#include "G4RunManager.hh" #include "G4Event.hh" - -#include "G4SDManager.hh" #include "G4HCofThisEvent.hh" -#include "G4THitsMap.hh" +#include "G4RunManager.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4THitsMap.hh" namespace B3b { @@ -44,54 +43,52 @@ namespace B3b void Run::RecordEvent(const G4Event* event) { - if ( fCollID_cryst < 0 ) { - fCollID_cryst - = G4SDManager::GetSDMpointer()->GetCollectionID("crystal/edep"); - //G4cout << " fCollID_cryst: " << fCollID_cryst << G4endl; + if (fCollID_cryst < 0) { + fCollID_cryst = G4SDManager::GetSDMpointer()->GetCollectionID("crystal/edep"); + // G4cout << " fCollID_cryst: " << fCollID_cryst << G4endl; } - if ( fCollID_patient < 0 ) { - fCollID_patient - = G4SDManager::GetSDMpointer()->GetCollectionID("patient/dose"); - //G4cout << " fCollID_patient: " << fCollID_patient << G4endl; + if (fCollID_patient < 0) { + fCollID_patient = G4SDManager::GetSDMpointer()->GetCollectionID("patient/dose"); + // G4cout << " fCollID_patient: " << fCollID_patient << G4endl; } G4int evtNb = event->GetEventID(); - if (evtNb%fPrintModulo == 0) { + if (evtNb % fPrintModulo == 0) { G4cout << G4endl << "---> end of event: " << evtNb << G4endl; } - //Hits collections + // Hits collections // G4HCofThisEvent* HCE = event->GetHCofThisEvent(); - if(!HCE) return; + if (!HCE) return; - //Energy in crystals : identify 'good events' + // Energy in crystals : identify 'good events' // - const G4double eThreshold = 500*keV; + const G4double eThreshold = 500 * keV; G4int nbOfFired = 0; auto evtMap = static_cast*>(HCE->GetHC(fCollID_cryst)); - std::map::iterator itr; - for (itr = evtMap->GetMap()->begin(); itr != evtMap->GetMap()->end(); itr++) { - G4double edep = *(itr->second); + for (auto& mapElement : (*evtMap->GetMap())) { + auto edep = *(mapElement.second); if (edep > eThreshold) nbOfFired++; - ///G4int copyNb = (itr->first); - ///G4cout << G4endl << " cryst" << copyNb << ": " << edep/keV << " keV "; + // auto copyNb = mapElement.first; + // G4cout << "\n cryst" << copyNb << ": " << edep/keV << " keV "; } if (nbOfFired == 2) fGoodEvents++; - //Dose deposit in patient + // Dose deposit in patient // G4double dose = 0.; evtMap = static_cast*>(HCE->GetHC(fCollID_patient)); - for (itr = evtMap->GetMap()->begin(); itr != evtMap->GetMap()->end(); itr++) { - ///G4int copyNb = (itr->first); - dose = *(itr->second); + for (auto& mapElement : (*evtMap->GetMap())) { + dose += *(mapElement.second); + // auto copyNb = mapElement.first; + // G4cout << "\n patient" << copyNb << ": " << G4BestUnit(dose,"Dose"); } fSumDose += dose; fStatDose += dose; @@ -101,16 +98,15 @@ void Run::RecordEvent(const G4Event* event) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::Merge(const G4Run* aRun) +void Run::Merge(const G4Run* run) { - const Run* localRun = static_cast(aRun); + const Run* localRun = static_cast(run); fGoodEvents += localRun->fGoodEvents; - fSumDose += localRun->fSumDose; - fStatDose += localRun->fStatDose; - G4Run::Merge(aRun); + fSumDose += localRun->fSumDose; + fStatDose += localRun->fStatDose; + G4Run::Merge(run); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3b diff --git a/examples/basic/B3/B3b/src/RunAction.cc b/examples/basic/B3/B3b/src/RunAction.cc index 88cb12ad69d..aab0d686b8f 100644 --- a/examples/basic/B3/B3b/src/RunAction.cc +++ b/examples/basic/B3/B3b/src/RunAction.cc @@ -28,13 +28,15 @@ /// \brief Implementation of the B3b::RunAction class #include "RunAction.hh" -#include "Run.hh" + #include "PrimaryGeneratorAction.hh" +#include "Run.hh" +#include "G4ParticleGun.hh" #include "G4Run.hh" #include "G4RunManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" using namespace B3; @@ -45,23 +47,25 @@ namespace B3b RunAction::RunAction() { - //add new units for dose + // add new units for dose // - const G4double milligray = 1.e-3*gray; - const G4double microgray = 1.e-6*gray; - const G4double nanogray = 1.e-9*gray; - const G4double picogray = 1.e-12*gray; - - new G4UnitDefinition("milligray", "milliGy" , "Dose", milligray); - new G4UnitDefinition("microgray", "microGy" , "Dose", microgray); - new G4UnitDefinition("nanogray" , "nanoGy" , "Dose", nanogray); - new G4UnitDefinition("picogray" , "picoGy" , "Dose", picogray); + const G4double milligray = 1.e-3 * gray; + const G4double microgray = 1.e-6 * gray; + const G4double nanogray = 1.e-9 * gray; + const G4double picogray = 1.e-12 * gray; + + new G4UnitDefinition("milligray", "milliGy", "Dose", milligray); + new G4UnitDefinition("microgray", "microGy", "Dose", microgray); + new G4UnitDefinition("nanogray", "nanoGy", "Dose", nanogray); + new G4UnitDefinition("picogray", "picoGy", "Dose", picogray); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ return new Run; } +{ + return new Run; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,7 +73,7 @@ void RunAction::BeginOfRunAction(const G4Run* run) { G4cout << "### Run " << run->GetRunID() << " start." << G4endl; - //inform the runManager to save random number seed + // inform the runManager to save random number seed G4RunManager::GetRunManager()->SetRandomNumberStore(false); } @@ -86,48 +90,35 @@ void RunAction::EndOfRunAction(const G4Run* run) const auto generatorAction = static_cast( G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction()); G4String partName; - if (generatorAction) - { - G4ParticleDefinition* particle - = generatorAction->GetParticleGun()->GetParticleDefinition(); + if (generatorAction) { + G4ParticleDefinition* particle = generatorAction->GetParticleGun()->GetParticleDefinition(); partName = particle->GetParticleName(); } - //results + // results // const Run* b3Run = static_cast(run); G4int nbGoodEvents = b3Run->GetNbGoodEvents(); - G4double sumDose = b3Run->GetSumDose(); + G4double sumDose = b3Run->GetSumDose(); G4StatAnalysis statDose = b3Run->GetStatDose(); - //print + // print // - if (IsMaster()) - { - G4cout - << G4endl - << "--------------------End of Global Run-----------------------" - << G4endl - << " The run was " << nofEvents << " events "; + if (IsMaster()) { + G4cout << G4endl << "--------------------End of Global Run-----------------------" << G4endl + << " The run was " << nofEvents << " events "; } - else - { - G4cout - << G4endl - << "--------------------End of Local Run------------------------" - << G4endl - << " The run was " << nofEvents << " "<< partName; + else { + G4cout << G4endl << "--------------------End of Local Run------------------------" << G4endl + << " The run was " << nofEvents << " " << partName; } statDose /= gray; - G4cout - << "; Nb of 'good' e+ annihilations: " << nbGoodEvents << G4endl - << " Total dose in patient : " << G4BestUnit(sumDose, "Dose") << G4endl - << " Total dose in patient : " << statDose << " Gy" << G4endl - << "------------------------------------------------------------" << G4endl - << G4endl; + G4cout << "; Nb of 'good' e+ annihilations: " << nbGoodEvents << G4endl + << " Total dose in patient : " << G4BestUnit(sumDose, "Dose") << G4endl + << " Total dose in patient : " << statDose << " Gy" << G4endl + << "------------------------------------------------------------" << G4endl << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3b diff --git a/examples/basic/B3/B3b/src/StackingAction.cc b/examples/basic/B3/B3b/src/StackingAction.cc index edd57afba7b..2e03c3400e4 100644 --- a/examples/basic/B3/B3b/src/StackingAction.cc +++ b/examples/basic/B3/B3b/src/StackingAction.cc @@ -29,26 +29,26 @@ #include "StackingAction.hh" -#include "G4Track.hh" #include "G4NeutrinoE.hh" +#include "G4Track.hh" namespace B3 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* track) +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* track) { - //keep primary particle + // keep primary particle if (track->GetParentID() == 0) return fUrgent; - //kill secondary neutrino - if (track->GetDefinition() == G4NeutrinoE::NeutrinoE()) return fKill; - else return fUrgent; + // kill secondary neutrino + if (track->GetDefinition() == G4NeutrinoE::NeutrinoE()) + return fKill; + else + return fUrgent; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B3 diff --git a/examples/basic/B3/History b/examples/basic/B3/History index 04bebfabdc5..3db71bdbb5c 100644 --- a/examples/basic/B3/History +++ b/examples/basic/B3/History @@ -6,6 +6,9 @@ It must **not** be used as a substitute for writing good git commit messages! ------------------------------------------------------------------------------- +## 2024-05-07 I. Hrivnacova (exampleB3-V11-02-00) +- Looping over G4THitsMap via range for loop instead of iterators. + ## 2023-11-15 I. Hrivnacova (exampleB3-V11-01-01) - Updated vis.mac macros: Changed "/vis/open OGL [600x600-0+0]" to "/vis/open" to allow run-time choices diff --git a/examples/basic/B4/B4a/exampleB4a.cc b/examples/basic/B4/B4a/exampleB4a.cc index ea9d0e681a2..5be94380910 100644 --- a/examples/basic/B4/B4a/exampleB4a.cc +++ b/examples/basic/B4/B4a/exampleB4a.cc @@ -27,37 +27,37 @@ /// \file exampleB4a.cc /// \brief Main program of the B4a example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UIcommand.hh" #include "G4UImanager.hh" -#include "G4UIExecutive.hh" #include "G4VisExecutive.hh" -#include "FTFP_BERT.hh" -#include "Randomize.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " exampleB4a [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" - << G4endl; - G4cerr << " note: -t option is available only for multi-threaded mode." - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " exampleB4a [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" << G4endl; + G4cerr << " note: -t option is available only for multi-threaded mode." << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 7 ) { + if (argc > 7) { PrintUsage(); return 1; } @@ -68,15 +68,17 @@ int main(int argc,char** argv) #ifdef G4MULTITHREADED G4int nThreads = 0; #endif - for ( G4int i=1; i 0 ) { + if (nThreads > 0) { runManager->SetNumberOfThreads(nThreads); } #endif @@ -135,12 +136,12 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( macro.size() ) { + if (macro.size()) { // batch mode G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); + UImanager->ApplyCommand(command + macro); } - else { + else { // interactive mode : define UI session UImanager->ApplyCommand("/control/execute init_vis.mac"); if (ui->IsGUI()) { diff --git a/examples/basic/B4/B4a/exampleB4a.out b/examples/basic/B4/B4a/exampleB4a.out index 779a0e5d554..8f9dcd7feea 100644 --- a/examples/basic/B4/B4a/exampleB4a.out +++ b/examples/basic/B4/B4a/exampleB4a.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -276,7 +283,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -831,7 +838,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -857,17 +864,17 @@ Setting was ignored. ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 265.781 MeV total track length: 19.326 cm - Gap: total energy: 21.0561 MeV total track length: 10.6454 cm + Absorber: total energy: 279.218 MeV total track length: 20.3807 cm + Gap: total energy: 19.7181 MeV total track length: 9.43835 cm --> End of event 0 ----> print histograms statistic for the entire run - EAbs : mean = 265.781 MeV rms = 0 eV - EGap : mean = 21.0561 MeV rms = 0 eV - LAbs : mean = 19.326 cm rms = 0 fm - LGap : mean = 10.6454 cm rms = 0 fm + EAbs : mean = 279.218 MeV rms = 0 eV + EGap : mean = 19.7181 MeV rms = 0 eV + LAbs : mean = 20.3807 cm rms = 0 fm + LGap : mean = 9.43835 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -937,17 +944,17 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 273.124 MeV total track length: 20.1646 cm - Gap: total energy: 16.2656 MeV total track length: 7.73372 cm + Absorber: total energy: 253.71 MeV total track length: 18.3379 cm + Gap: total energy: 18.1797 MeV total track length: 8.925 cm --> End of event 0 ----> print histograms statistic for the entire run - EAbs : mean = 273.124 MeV rms = 0 eV - EGap : mean = 16.2656 MeV rms = 0 eV - LAbs : mean = 20.1646 cm rms = 0 fm - LGap : mean = 7.73372 cm rms = 0 fm + EAbs : mean = 253.71 MeV rms = 0 eV + EGap : mean = 18.1797 MeV rms = 0 eV + LAbs : mean = 18.3379 cm rms = 0 fm + LGap : mean = 8.925 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -963,17 +970,17 @@ There are histograms that can be viewed with visualization: ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 465.716 MeV total track length: 34.0047 cm - Gap: total energy: 15.1463 MeV total track length: 7.88173 cm + Absorber: total energy: 437.115 MeV total track length: 31.5725 cm + Gap: total energy: 19.1128 MeV total track length: 8.67887 cm --> End of event 0 ----> print histograms statistic for the entire run EAbs : mean = 0 eV rms = 0 eV - EGap : mean = 15.1463 MeV rms = 0 eV - LAbs : mean = 34.0047 cm rms = 0 fm - LGap : mean = 7.88173 cm rms = 0 fm + EGap : mean = 19.1128 MeV rms = 0 eV + LAbs : mean = 31.5725 cm rms = 0 fm + LGap : mean = 8.67887 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: diff --git a/examples/basic/B4/B4a/include/ActionInitialization.hh b/examples/basic/B4/B4a/include/ActionInitialization.hh index f68bc4de19c..ec824ffbf8c 100644 --- a/examples/basic/B4/B4a/include/ActionInitialization.hh +++ b/examples/basic/B4/B4a/include/ActionInitialization.hh @@ -32,10 +32,9 @@ #include "G4VUserActionInitialization.hh" - namespace B4 { - class DetectorConstruction; +class DetectorConstruction; } namespace B4a @@ -56,8 +55,6 @@ class ActionInitialization : public G4VUserActionInitialization B4::DetectorConstruction* fDetConstruction = nullptr; }; -} +} // namespace B4a #endif - - diff --git a/examples/basic/B4/B4a/include/DetectorConstruction.hh b/examples/basic/B4/B4a/include/DetectorConstruction.hh index 681b295f14c..86131772ac4 100644 --- a/examples/basic/B4/B4a/include/DetectorConstruction.hh +++ b/examples/basic/B4/B4a/include/DetectorConstruction.hh @@ -31,6 +31,8 @@ #define B4DetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh" + +#include "G4Threading.hh" #include "globals.hh" class G4VPhysicalVolume; @@ -76,28 +78,29 @@ class DetectorConstruction : public G4VUserDetectorConstruction // data members // - static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; - // magnetic field messenger + static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; + // magnetic field messenger - G4VPhysicalVolume* fAbsorberPV = nullptr; // the absorber physical volume - G4VPhysicalVolume* fGapPV = nullptr; // the gap physical volume + G4VPhysicalVolume* fAbsorberPV = nullptr; // the absorber physical volume + G4VPhysicalVolume* fGapPV = nullptr; // the gap physical volume - G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps + G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps }; // inline functions -inline const G4VPhysicalVolume* DetectorConstruction::GetAbsorberPV() const { +inline const G4VPhysicalVolume* DetectorConstruction::GetAbsorberPV() const +{ return fAbsorberPV; } -inline const G4VPhysicalVolume* DetectorConstruction::GetGapPV() const { +inline const G4VPhysicalVolume* DetectorConstruction::GetGapPV() const +{ return fGapPV; } -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4a/include/EventAction.hh b/examples/basic/B4/B4a/include/EventAction.hh index 6aeb5260186..785063cd1d2 100644 --- a/examples/basic/B4/B4a/include/EventAction.hh +++ b/examples/basic/B4/B4a/include/EventAction.hh @@ -33,6 +33,8 @@ #include "G4UserEventAction.hh" #include "globals.hh" +class G4Event; + namespace B4a { @@ -50,34 +52,34 @@ class EventAction : public G4UserEventAction EventAction() = default; ~EventAction() override = default; - void BeginOfEventAction(const G4Event* event) override; - void EndOfEventAction(const G4Event* event) override; + void BeginOfEventAction(const G4Event* event) override; + void EndOfEventAction(const G4Event* event) override; void AddAbs(G4double de, G4double dl); void AddGap(G4double de, G4double dl); private: - G4double fEnergyAbs = 0.; - G4double fEnergyGap = 0.; - G4double fTrackLAbs = 0.; - G4double fTrackLGap = 0.; + G4double fEnergyAbs = 0.; + G4double fEnergyGap = 0.; + G4double fTrackLAbs = 0.; + G4double fTrackLGap = 0.; }; // inline functions -inline void EventAction::AddAbs(G4double de, G4double dl) { +inline void EventAction::AddAbs(G4double de, G4double dl) +{ fEnergyAbs += de; fTrackLAbs += dl; } -inline void EventAction::AddGap(G4double de, G4double dl) { +inline void EventAction::AddGap(G4double de, G4double dl) +{ fEnergyGap += de; fTrackLGap += dl; } -} +} // namespace B4a //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/basic/B4/B4a/include/PrimaryGeneratorAction.hh b/examples/basic/B4/B4a/include/PrimaryGeneratorAction.hh index 6c43b1c90d7..2ae9ebf9d2f 100644 --- a/examples/basic/B4/B4a/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B4/B4a/include/PrimaryGeneratorAction.hh @@ -31,7 +31,6 @@ #define B4PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" class G4ParticleGun; class G4Event; @@ -48,17 +47,17 @@ namespace B4 class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - PrimaryGeneratorAction(); - ~PrimaryGeneratorAction() override; + public: + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event* event) override; + void GeneratePrimaries(G4Event* event) override; -private: - G4ParticleGun* fParticleGun = nullptr; // G4 particle gun + private: + G4ParticleGun* fParticleGun = nullptr; // G4 particle gun }; -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4a/include/RunAction.hh b/examples/basic/B4/B4a/include/RunAction.hh index 97cae21b304..5ed806a73a9 100644 --- a/examples/basic/B4/B4a/include/RunAction.hh +++ b/examples/basic/B4/B4a/include/RunAction.hh @@ -31,7 +31,6 @@ #define B4RunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -63,12 +62,11 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; }; -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4a/include/SteppingAction.hh b/examples/basic/B4/B4a/include/SteppingAction.hh index 8b2ddd10b1a..d693134564b 100644 --- a/examples/basic/B4/B4a/include/SteppingAction.hh +++ b/examples/basic/B4/B4a/include/SteppingAction.hh @@ -32,9 +32,11 @@ #include "G4UserSteppingAction.hh" +class G4Step; + namespace B4 { - class DetectorConstruction; +class DetectorConstruction; } namespace B4a @@ -50,19 +52,18 @@ class EventAction; class SteppingAction : public G4UserSteppingAction { -public: - SteppingAction(const B4::DetectorConstruction* detConstruction, - EventAction* eventAction); - ~SteppingAction() override = default; + public: + SteppingAction(const B4::DetectorConstruction* detConstruction, EventAction* eventAction); + ~SteppingAction() override = default; - void UserSteppingAction(const G4Step* step) override; + void UserSteppingAction(const G4Step* step) override; -private: - const B4::DetectorConstruction* fDetConstruction = nullptr; - EventAction* fEventAction = nullptr; + private: + const B4::DetectorConstruction* fDetConstruction = nullptr; + EventAction* fEventAction = nullptr; }; -} +} // namespace B4a //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4a/src/ActionInitialization.cc b/examples/basic/B4/B4a/src/ActionInitialization.cc index 4f97a02f7ab..08791faf52b 100644 --- a/examples/basic/B4/B4a/src/ActionInitialization.cc +++ b/examples/basic/B4/B4a/src/ActionInitialization.cc @@ -28,11 +28,11 @@ /// \brief Implementation of the B4a::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" -#include "DetectorConstruction.hh" using namespace B4; @@ -42,7 +42,7 @@ namespace B4a //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... ActionInitialization::ActionInitialization(DetectorConstruction* detConstruction) - : fDetConstruction(detConstruction) + : fDetConstruction(detConstruction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,9 +60,9 @@ void ActionInitialization::Build() const SetUserAction(new RunAction); auto eventAction = new EventAction; SetUserAction(eventAction); - SetUserAction(new SteppingAction(fDetConstruction,eventAction)); + SetUserAction(new SteppingAction(fDetConstruction, eventAction)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4a diff --git a/examples/basic/B4/B4a/src/DetectorConstruction.cc b/examples/basic/B4/B4a/src/DetectorConstruction.cc index e66c201acbc..d3160704dfb 100644 --- a/examples/basic/B4/B4a/src/DetectorConstruction.cc +++ b/examples/basic/B4/B4a/src/DetectorConstruction.cc @@ -29,34 +29,25 @@ #include "DetectorConstruction.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" - +#include "G4AutoDelete.hh" #include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GlobalMagFieldMessenger.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" - -#include "G4GeometryManager.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4VisAttributes.hh" namespace B4 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ThreadLocal -G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; +G4ThreadLocal G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,12 +72,12 @@ void DetectorConstruction::DefineMaterials() G4double a; // mass of a mole; G4double z; // z=mean number of protons; G4double density; - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - // The argon by NIST Manager is a gas with a different density + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + // The argon by NIST Manager is a gas with a different density // Vacuum - new G4Material("Galactic", z=1., a=1.01*g/mole,density= universe_mean_density, - kStateGas, 2.73*kelvin, 3.e-18*pascal); + new G4Material("Galactic", z = 1., a = 1.01 * g / mole, density = universe_mean_density, + kStateGas, 2.73 * kelvin, 3.e-18 * pascal); // Print materials G4cout << *(G4Material::GetMaterialTable()) << G4endl; @@ -98,147 +89,127 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() { // Geometry parameters G4int nofLayers = 10; - G4double absoThickness = 10.*mm; - G4double gapThickness = 5.*mm; - G4double calorSizeXY = 10.*cm; + G4double absoThickness = 10. * mm; + G4double gapThickness = 5. * mm; + G4double calorSizeXY = 10. * cm; auto layerThickness = absoThickness + gapThickness; auto calorThickness = nofLayers * layerThickness; auto worldSizeXY = 1.2 * calorSizeXY; - auto worldSizeZ = 1.2 * calorThickness; + auto worldSizeZ = 1.2 * calorThickness; // Get materials auto defaultMaterial = G4Material::GetMaterial("Galactic"); auto absorberMaterial = G4Material::GetMaterial("G4_Pb"); auto gapMaterial = G4Material::GetMaterial("liquidArgon"); - if ( ! defaultMaterial || ! absorberMaterial || ! gapMaterial ) { + if (!defaultMaterial || !absorberMaterial || !gapMaterial) { G4ExceptionDescription msg; msg << "Cannot retrieve materials already defined."; - G4Exception("DetectorConstruction::DefineVolumes()", - "MyCode0001", FatalException, msg); + G4Exception("DetectorConstruction::DefineVolumes()", "MyCode0001", FatalException, msg); } // // World // - auto worldS - = new G4Box("World", // its name - worldSizeXY/2, worldSizeXY/2, worldSizeZ/2); // its size + auto worldS = new G4Box("World", // its name + worldSizeXY / 2, worldSizeXY / 2, worldSizeZ / 2); // its size - auto worldLV - = new G4LogicalVolume( - worldS, // its solid - defaultMaterial, // its material - "World"); // its name + auto worldLV = new G4LogicalVolume(worldS, // its solid + defaultMaterial, // its material + "World"); // its name auto worldPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - worldLV, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + worldLV, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Calorimeter // - auto calorimeterS - = new G4Box("Calorimeter", // its name - calorSizeXY/2, calorSizeXY/2, calorThickness/2); // its size + auto calorimeterS = new G4Box("Calorimeter", // its name + calorSizeXY / 2, calorSizeXY / 2, calorThickness / 2); // its size - auto calorLV - = new G4LogicalVolume( - calorimeterS, // its solid - defaultMaterial, // its material - "Calorimeter"); // its name + auto calorLV = new G4LogicalVolume(calorimeterS, // its solid + defaultMaterial, // its material + "Calorimeter"); // its name new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - calorLV, // its logical volume - "Calorimeter", // its name - worldLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + calorLV, // its logical volume + "Calorimeter", // its name + worldLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Layer // - auto layerS - = new G4Box("Layer", // its name - calorSizeXY/2, calorSizeXY/2, layerThickness/2); // its size - - auto layerLV - = new G4LogicalVolume( - layerS, // its solid - defaultMaterial, // its material - "Layer"); // its name - - new G4PVReplica( - "Layer", // its name - layerLV, // its logical volume - calorLV, // its mother - kZAxis, // axis of replication - nofLayers, // number of replica - layerThickness); // witdth of replica + auto layerS = new G4Box("Layer", // its name + calorSizeXY / 2, calorSizeXY / 2, layerThickness / 2); // its size + + auto layerLV = new G4LogicalVolume(layerS, // its solid + defaultMaterial, // its material + "Layer"); // its name + + new G4PVReplica("Layer", // its name + layerLV, // its logical volume + calorLV, // its mother + kZAxis, // axis of replication + nofLayers, // number of replica + layerThickness); // witdth of replica // // Absorber // - auto absorberS - = new G4Box("Abso", // its name - calorSizeXY/2, calorSizeXY/2, absoThickness/2); // its size - - auto absorberLV - = new G4LogicalVolume( - absorberS, // its solid - absorberMaterial, // its material - "Abso"); // its name - - fAbsorberPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., -gapThickness / 2), // its position - absorberLV, // its logical volume - "Abso", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto absorberS = new G4Box("Abso", // its name + calorSizeXY / 2, calorSizeXY / 2, absoThickness / 2); // its size + + auto absorberLV = new G4LogicalVolume(absorberS, // its solid + absorberMaterial, // its material + "Abso"); // its name + + fAbsorberPV = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., -gapThickness / 2), // its position + absorberLV, // its logical volume + "Abso", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Gap // - auto gapS - = new G4Box("Gap", // its name - calorSizeXY/2, calorSizeXY/2, gapThickness/2); // its size - - auto gapLV - = new G4LogicalVolume( - gapS, // its solid - gapMaterial, // its material - "Gap"); // its name - - fGapPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., absoThickness / 2), // its position - gapLV, // its logical volume - "Gap", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto gapS = new G4Box("Gap", // its name + calorSizeXY / 2, calorSizeXY / 2, gapThickness / 2); // its size + + auto gapLV = new G4LogicalVolume(gapS, // its solid + gapMaterial, // its material + "Gap"); // its name + + fGapPV = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., absoThickness / 2), // its position + gapLV, // its logical volume + "Gap", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // print parameters // - G4cout - << G4endl - << "------------------------------------------------------------" << G4endl - << "---> The calorimeter is " << nofLayers << " layers of: [ " - << absoThickness/mm << "mm of " << absorberMaterial->GetName() - << " + " - << gapThickness/mm << "mm of " << gapMaterial->GetName() << " ] " << G4endl - << "------------------------------------------------------------" << G4endl; + G4cout << G4endl << "------------------------------------------------------------" << G4endl + << "---> The calorimeter is " << nofLayers << " layers of: [ " << absoThickness / mm + << "mm of " << absorberMaterial->GetName() << " + " << gapThickness / mm << "mm of " + << gapMaterial->GetName() << " ] " << G4endl + << "------------------------------------------------------------" << G4endl; // // Visualization attributes @@ -269,5 +240,4 @@ void DetectorConstruction::ConstructSDandField() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B4 diff --git a/examples/basic/B4/B4a/src/EventAction.cc b/examples/basic/B4/B4a/src/EventAction.cc index b92313dec0e..41429d394e4 100644 --- a/examples/basic/B4/B4a/src/EventAction.cc +++ b/examples/basic/B4/B4a/src/EventAction.cc @@ -28,14 +28,12 @@ /// \brief Implementation of the B4a::EventAction class #include "EventAction.hh" -#include "RunAction.hh" #include "G4AnalysisManager.hh" -#include "G4RunManager.hh" #include "G4Event.hh" +#include "G4RunManager.hh" #include "G4UnitsTable.hh" -#include "Randomize.hh" #include namespace B4a @@ -76,23 +74,17 @@ void EventAction::EndOfEventAction(const G4Event* event) // auto eventID = event->GetEventID(); auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress(); - if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) { - G4cout - << " Absorber: total energy: " << std::setw(7) - << G4BestUnit(fEnergyAbs,"Energy") - << " total track length: " << std::setw(7) - << G4BestUnit(fTrackLAbs,"Length") - << G4endl - << " Gap: total energy: " << std::setw(7) - << G4BestUnit(fEnergyGap,"Energy") - << " total track length: " << std::setw(7) - << G4BestUnit(fTrackLGap,"Length") - << G4endl; - - G4cout << "--> End of event " << eventID << "\n" << G4endl; + if ((printModulo > 0) && (eventID % printModulo == 0)) { + G4cout << " Absorber: total energy: " << std::setw(7) << G4BestUnit(fEnergyAbs, "Energy") + << " total track length: " << std::setw(7) << G4BestUnit(fTrackLAbs, "Length") + << G4endl << " Gap: total energy: " << std::setw(7) + << G4BestUnit(fEnergyGap, "Energy") << " total track length: " << std::setw(7) + << G4BestUnit(fTrackLGap, "Length") << G4endl; + + G4cout << "--> End of event " << eventID << "\n" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -} +} // namespace B4a diff --git a/examples/basic/B4/B4a/src/PrimaryGeneratorAction.cc b/examples/basic/B4/B4a/src/PrimaryGeneratorAction.cc index 3818a7270ec..976c6fd976c 100644 --- a/examples/basic/B4/B4a/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B4/B4a/src/PrimaryGeneratorAction.cc @@ -29,16 +29,13 @@ #include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4Event.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" -#include "Randomize.hh" +#include "globals.hh" namespace B4 { @@ -52,11 +49,10 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() // default particle kinematic // - auto particleDefinition - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + auto particleDefinition = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particleDefinition); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(300.*MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(300. * MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,7 +64,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { // This function is called at the begining of event @@ -81,29 +77,27 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // Check that the world volume has box shape G4Box* worldBox = nullptr; - if ( worldLV ) { + if (worldLV) { worldBox = dynamic_cast(worldLV->GetSolid()); } - if ( worldBox ) { + if (worldBox) { worldZHalfLength = worldBox->GetZHalfLength(); } - else { + else { G4ExceptionDescription msg; msg << "World volume of box shape not found." << G4endl; msg << "Perhaps you have changed geometry." << G4endl; msg << "The gun will be place in the center."; - G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", - "MyCode0002", JustWarning, msg); + G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", "MyCode0002", JustWarning, msg); } // Set gun position - fParticleGun - ->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4 diff --git a/examples/basic/B4/B4a/src/RunAction.cc b/examples/basic/B4/B4a/src/RunAction.cc index 63ef0d5497f..f69495445b4 100644 --- a/examples/basic/B4/B4a/src/RunAction.cc +++ b/examples/basic/B4/B4a/src/RunAction.cc @@ -30,10 +30,10 @@ #include "RunAction.hh" #include "G4AnalysisManager.hh" -#include "G4Run.hh" #include "G4RunManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" +#include "globals.hh" namespace B4 { @@ -51,21 +51,21 @@ RunAction::RunAction() auto analysisManager = G4AnalysisManager::Instance(); // Create directories - //analysisManager->SetHistoDirectoryName("histograms"); - //analysisManager->SetNtupleDirectoryName("ntuple"); + // analysisManager->SetHistoDirectoryName("histograms"); + // analysisManager->SetNtupleDirectoryName("ntuple"); analysisManager->SetVerboseLevel(1); analysisManager->SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output + // Note: merging ntuples is available only with Root output // Book histograms, ntuple // // Creating histograms - analysisManager->CreateH1("Eabs" ,"Edep in absorber", 110, 0., 330*MeV); - analysisManager->CreateH1("Egap" ,"Edep in gap", 100, 0., 30*MeV); - analysisManager->CreateH1("Labs" ,"trackL in absorber", 100, 0., 50*cm); - analysisManager->CreateH1("Lgap" ,"trackL in gap", 100, 0., 50*cm); - + analysisManager->CreateH1("Eabs", "Edep in absorber", 110, 0., 330 * MeV); + analysisManager->CreateH1("Egap", "Edep in gap", 100, 0., 30 * MeV); + analysisManager->CreateH1("Labs", "trackL in absorber", 100, 0., 50 * cm); + analysisManager->CreateH1("Lgap", "trackL in gap", 100, 0., 50 * cm); + // Creating ntuple // analysisManager->CreateNtuple("B4", "Edep and TrackL"); @@ -80,8 +80,8 @@ RunAction::RunAction() void RunAction::BeginOfRunAction(const G4Run* /*run*/) { - //inform the runManager to save random number seed - //G4RunManager::GetRunManager()->SetRandomNumberStore(true); + // inform the runManager to save random number seed + // G4RunManager::GetRunManager()->SetRandomNumberStore(true); // Get analysis manager auto analysisManager = G4AnalysisManager::Instance(); @@ -104,34 +104,26 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/) // print histogram statistics // auto analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->GetH1(1) ) { + if (analysisManager->GetH1(1)) { G4cout << G4endl << " ----> print histograms statistic "; - if(isMaster) { + if (isMaster) { G4cout << "for the entire run " << G4endl << G4endl; } else { G4cout << "for the local thread " << G4endl << G4endl; } - G4cout << " EAbs : mean = " - << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; - - G4cout << " EGap : mean = " - << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; - - G4cout << " LAbs : mean = " - << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; - - G4cout << " LGap : mean = " - << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; + G4cout << " EAbs : mean = " << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; + + G4cout << " EGap : mean = " << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; + + G4cout << " LAbs : mean = " << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; + + G4cout << " LGap : mean = " << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; } // save histograms & ntuple @@ -142,4 +134,4 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4 diff --git a/examples/basic/B4/B4a/src/SteppingAction.cc b/examples/basic/B4/B4a/src/SteppingAction.cc index 0678b73b413..40ab642e189 100644 --- a/examples/basic/B4/B4a/src/SteppingAction.cc +++ b/examples/basic/B4/B4a/src/SteppingAction.cc @@ -28,11 +28,12 @@ /// \brief Implementation of the B4a::SteppingAction class #include "SteppingAction.hh" -#include "EventAction.hh" + #include "DetectorConstruction.hh" +#include "EventAction.hh" #include "G4Step.hh" -#include "G4RunManager.hh" +#include "globals.hh" using namespace B4; @@ -43,15 +44,14 @@ namespace B4a SteppingAction::SteppingAction(const DetectorConstruction* detConstruction, EventAction* eventAction) - : fDetConstruction(detConstruction), - fEventAction(eventAction) + : fDetConstruction(detConstruction), fEventAction(eventAction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* step) { -// Collect energy and track length step by step + // Collect energy and track length step by step // get volume of the current step auto volume = step->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); @@ -61,19 +61,19 @@ void SteppingAction::UserSteppingAction(const G4Step* step) // step length G4double stepLength = 0.; - if ( step->GetTrack()->GetDefinition()->GetPDGCharge() != 0. ) { + if (step->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) { stepLength = step->GetStepLength(); } - if ( volume == fDetConstruction->GetAbsorberPV() ) { - fEventAction->AddAbs(edep,stepLength); + if (volume == fDetConstruction->GetAbsorberPV()) { + fEventAction->AddAbs(edep, stepLength); } - if ( volume == fDetConstruction->GetGapPV() ) { - fEventAction->AddGap(edep,stepLength); + if (volume == fDetConstruction->GetGapPV()) { + fEventAction->AddGap(edep, stepLength); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4a diff --git a/examples/basic/B4/B4b/exampleB4b.cc b/examples/basic/B4/B4b/exampleB4b.cc index 918680e4aee..b9e1adbf1f8 100644 --- a/examples/basic/B4/B4b/exampleB4b.cc +++ b/examples/basic/B4/B4b/exampleB4b.cc @@ -27,37 +27,37 @@ /// \file exampleB4b.cc /// \brief Main program of the B4b example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UIcommand.hh" #include "G4UImanager.hh" -#include "G4UIExecutive.hh" #include "G4VisExecutive.hh" -#include "FTFP_BERT.hh" -#include "Randomize.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " exampleB4b [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" - << G4endl; - G4cerr << " note: -t option is available only for multi-threaded mode." - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " exampleB4b [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" << G4endl; + G4cerr << " note: -t option is available only for multi-threaded mode." << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 7 ) { + if (argc > 7) { PrintUsage(); return 1; } @@ -68,15 +68,17 @@ int main(int argc,char** argv) #ifdef G4MULTITHREADED G4int nThreads = 0; #endif - for ( G4int i=1; i 0 ) { + if (nThreads > 0) { runManager->SetNumberOfThreads(nThreads); } #endif @@ -134,12 +135,12 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( macro.size() ) { + if (macro.size()) { // batch mode G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); + UImanager->ApplyCommand(command + macro); } - else { + else { // interactive mode : define UI session UImanager->ApplyCommand("/control/execute init_vis.mac"); if (ui->IsGUI()) { diff --git a/examples/basic/B4/B4b/exampleB4b.out b/examples/basic/B4/B4b/exampleB4b.out index 309ce269a93..5e04bb0e480 100644 --- a/examples/basic/B4/B4b/exampleB4b.out +++ b/examples/basic/B4/B4b/exampleB4b.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -276,7 +283,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -831,7 +838,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -858,17 +865,17 @@ Setting was ignored. ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 265.781 MeV total track length: 19.326 cm - Gap: total energy: 21.0561 MeV total track length: 10.6454 cm + Absorber: total energy: 279.218 MeV total track length: 20.3807 cm + Gap: total energy: 19.7181 MeV total track length: 9.43835 cm --> End of event 0 ----> print histograms statistic for the entire run - EAbs : mean = 265.781 MeV rms = 0 eV - EGap : mean = 21.0561 MeV rms = 0 eV - LAbs : mean = 19.326 cm rms = 0 fm - LGap : mean = 10.6454 cm rms = 0 fm + EAbs : mean = 279.218 MeV rms = 0 eV + EGap : mean = 19.7181 MeV rms = 0 eV + LAbs : mean = 20.3807 cm rms = 0 fm + LGap : mean = 9.43835 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -939,17 +946,17 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 273.124 MeV total track length: 20.1646 cm - Gap: total energy: 16.2656 MeV total track length: 7.73372 cm + Absorber: total energy: 253.71 MeV total track length: 18.3379 cm + Gap: total energy: 18.1797 MeV total track length: 8.925 cm --> End of event 0 ----> print histograms statistic for the entire run - EAbs : mean = 273.124 MeV rms = 0 eV - EGap : mean = 16.2656 MeV rms = 0 eV - LAbs : mean = 20.1646 cm rms = 0 fm - LGap : mean = 7.73372 cm rms = 0 fm + EAbs : mean = 253.71 MeV rms = 0 eV + EGap : mean = 18.1797 MeV rms = 0 eV + LAbs : mean = 18.3379 cm rms = 0 fm + LGap : mean = 8.925 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -966,17 +973,17 @@ There are histograms that can be viewed with visualization: ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 465.716 MeV total track length: 34.0047 cm - Gap: total energy: 15.1463 MeV total track length: 7.88173 cm + Absorber: total energy: 437.115 MeV total track length: 31.5725 cm + Gap: total energy: 19.1128 MeV total track length: 8.67887 cm --> End of event 0 ----> print histograms statistic for the entire run EAbs : mean = 0 eV rms = 0 eV - EGap : mean = 15.1463 MeV rms = 0 eV - LAbs : mean = 34.0047 cm rms = 0 fm - LGap : mean = 7.88173 cm rms = 0 fm + EGap : mean = 19.1128 MeV rms = 0 eV + LAbs : mean = 31.5725 cm rms = 0 fm + LGap : mean = 8.67887 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: diff --git a/examples/basic/B4/B4b/include/ActionInitialization.hh b/examples/basic/B4/B4b/include/ActionInitialization.hh index db6c7802813..a2efc91c03b 100644 --- a/examples/basic/B4/B4b/include/ActionInitialization.hh +++ b/examples/basic/B4/B4b/include/ActionInitialization.hh @@ -32,10 +32,9 @@ #include "G4VUserActionInitialization.hh" - namespace B4 { - class DetectorConstruction; +class DetectorConstruction; } namespace B4b @@ -56,8 +55,6 @@ class ActionInitialization : public G4VUserActionInitialization B4::DetectorConstruction* fDetConstruction = nullptr; }; -} +} // namespace B4b #endif - - diff --git a/examples/basic/B4/B4b/include/DetectorConstruction.hh b/examples/basic/B4/B4b/include/DetectorConstruction.hh index 2645d63ea51..98c625bff44 100644 --- a/examples/basic/B4/B4b/include/DetectorConstruction.hh +++ b/examples/basic/B4/B4b/include/DetectorConstruction.hh @@ -25,12 +25,14 @@ // // /// \file B4/B4b/include/DetectorConstruction.hh -/// \brief Definition of the DetectorConstruction class +/// \brief Definition of the B4::DetectorConstruction class #ifndef B4DetectorConstruction_h #define B4DetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh" + +#include "G4Threading.hh" #include "globals.hh" class G4VPhysicalVolume; @@ -76,28 +78,29 @@ class DetectorConstruction : public G4VUserDetectorConstruction // data members // - static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; - // magnetic field messenger + static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; + // magnetic field messenger - G4VPhysicalVolume* fAbsorberPV = nullptr; // the absorber physical volume - G4VPhysicalVolume* fGapPV = nullptr; // the gap physical volume + G4VPhysicalVolume* fAbsorberPV = nullptr; // the absorber physical volume + G4VPhysicalVolume* fGapPV = nullptr; // the gap physical volume - G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps + G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps }; // inline functions -inline const G4VPhysicalVolume* DetectorConstruction::GetAbsorberPV() const { +inline const G4VPhysicalVolume* DetectorConstruction::GetAbsorberPV() const +{ return fAbsorberPV; } -inline const G4VPhysicalVolume* DetectorConstruction::GetGapPV() const { +inline const G4VPhysicalVolume* DetectorConstruction::GetGapPV() const +{ return fGapPV; } -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4b/include/EventAction.hh b/examples/basic/B4/B4b/include/EventAction.hh index 28147492c18..746b9d1dfb0 100644 --- a/examples/basic/B4/B4b/include/EventAction.hh +++ b/examples/basic/B4/B4b/include/EventAction.hh @@ -33,6 +33,8 @@ #include "G4UserEventAction.hh" #include "globals.hh" +class G4Event; + namespace B4b { @@ -48,19 +50,17 @@ class EventAction : public G4UserEventAction EventAction() = default; ~EventAction() override = default; - void BeginOfEventAction(const G4Event* event) override; - void EndOfEventAction(const G4Event* event) override; + void BeginOfEventAction(const G4Event* event) override; + void EndOfEventAction(const G4Event* event) override; private: // methods - void PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, - G4double gapEdep, G4double gapTrackLength) const; + void PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, G4double gapEdep, + G4double gapTrackLength) const; }; -} +} // namespace B4b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/basic/B4/B4b/include/PrimaryGeneratorAction.hh b/examples/basic/B4/B4b/include/PrimaryGeneratorAction.hh index 365ce52da62..a22aa410013 100644 --- a/examples/basic/B4/B4b/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B4/B4b/include/PrimaryGeneratorAction.hh @@ -25,13 +25,12 @@ // // /// \file B4/B4b/include/PrimaryGeneratorAction.hh -/// \brief Definition of the PrimaryGeneratorAction class +/// \brief Definition of the B4::PrimaryGeneratorAction class #ifndef B4PrimaryGeneratorAction_h #define B4PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" class G4ParticleGun; class G4Event; @@ -48,17 +47,17 @@ namespace B4 class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - PrimaryGeneratorAction(); - ~PrimaryGeneratorAction() override; + public: + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event* event) override; + void GeneratePrimaries(G4Event* event) override; -private: - G4ParticleGun* fParticleGun = nullptr; // G4 particle gun + private: + G4ParticleGun* fParticleGun = nullptr; // G4 particle gun }; -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4b/include/RunAction.hh b/examples/basic/B4/B4b/include/RunAction.hh index bc7ae60e959..2f0b879989e 100644 --- a/examples/basic/B4/B4b/include/RunAction.hh +++ b/examples/basic/B4/B4b/include/RunAction.hh @@ -31,7 +31,6 @@ #define B4bRunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -65,12 +64,11 @@ class RunAction : public G4UserRunAction G4Run* GenerateRun() override; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; }; -} +} // namespace B4b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4b/include/RunData.hh b/examples/basic/B4/B4b/include/RunData.hh index 401dfd27455..c726f5f73ab 100644 --- a/examples/basic/B4/B4b/include/RunData.hh +++ b/examples/basic/B4/B4b/include/RunData.hh @@ -59,48 +59,51 @@ const G4int kDim = 2; class RunData : public G4Run { -public: - RunData() = default; - ~RunData() override = default; + public: + RunData() = default; + ~RunData() override = default; - void Add(G4int id, G4double de, G4double dl); - void FillPerEvent(); + void Add(G4int id, G4double de, G4double dl); + void FillPerEvent(); - void Reset(); + void Reset(); - // Get methods - G4String GetVolumeName(G4int id) const; - G4double GetEdep(G4int id) const; - G4double GetTrackLength(G4int id) const; + // Get methods + G4String GetVolumeName(G4int id) const; + G4double GetEdep(G4int id) const; + G4double GetTrackLength(G4int id) const; -private: - std::array fVolumeNames = { "Absorber", "Gap" }; - std::array fEdep = { 0., 0. }; - std::array fTrackLength = { 0., 0. }; + private: + std::array fVolumeNames = {"Absorber", "Gap"}; + std::array fEdep = {0., 0.}; + std::array fTrackLength = {0., 0.}; }; // inline functions -inline void RunData::Add(G4int id, G4double de, G4double dl) { +inline void RunData::Add(G4int id, G4double de, G4double dl) +{ fEdep[id] += de; fTrackLength[id] += dl; } -inline G4String RunData::GetVolumeName(G4int id) const { +inline G4String RunData::GetVolumeName(G4int id) const +{ return fVolumeNames[id]; } -inline G4double RunData::GetEdep(G4int id) const { +inline G4double RunData::GetEdep(G4int id) const +{ return fEdep[id]; } -inline G4double RunData::GetTrackLength(G4int id) const { +inline G4double RunData::GetTrackLength(G4int id) const +{ return fTrackLength[id]; } -} +} // namespace B4b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4b/include/SteppingAction.hh b/examples/basic/B4/B4b/include/SteppingAction.hh index df4697ef32e..74ff131393f 100644 --- a/examples/basic/B4/B4b/include/SteppingAction.hh +++ b/examples/basic/B4/B4b/include/SteppingAction.hh @@ -32,6 +32,8 @@ #include "G4UserSteppingAction.hh" +class G4Step; + namespace B4 { class DetectorConstruction; @@ -48,17 +50,17 @@ namespace B4b class SteppingAction : public G4UserSteppingAction { -public: - SteppingAction(const B4::DetectorConstruction* detConstruction); - ~SteppingAction() override = default; + public: + SteppingAction(const B4::DetectorConstruction* detConstruction); + ~SteppingAction() override = default; - void UserSteppingAction(const G4Step* step) override; + void UserSteppingAction(const G4Step* step) override; -private: - const B4::DetectorConstruction* fDetConstruction = nullptr; + private: + const B4::DetectorConstruction* fDetConstruction = nullptr; }; -} +} // namespace B4b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4b/src/ActionInitialization.cc b/examples/basic/B4/B4b/src/ActionInitialization.cc index bad61c7351b..2761966f60b 100644 --- a/examples/basic/B4/B4b/src/ActionInitialization.cc +++ b/examples/basic/B4/B4b/src/ActionInitialization.cc @@ -28,12 +28,11 @@ /// \brief Implementation of the B4b::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" -#include "G4MTRunManager.hh" -#include "DetectorConstruction.hh" using namespace B4; @@ -43,7 +42,7 @@ namespace B4b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... ActionInitialization::ActionInitialization(DetectorConstruction* detConstruction) - : fDetConstruction(detConstruction) + : fDetConstruction(detConstruction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -65,4 +64,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4b diff --git a/examples/basic/B4/B4b/src/DetectorConstruction.cc b/examples/basic/B4/B4b/src/DetectorConstruction.cc index c29cbd88924..0d25bd5dea9 100644 --- a/examples/basic/B4/B4b/src/DetectorConstruction.cc +++ b/examples/basic/B4/B4b/src/DetectorConstruction.cc @@ -25,38 +25,29 @@ // // /// \file B4/B4b/src/DetectorConstruction.cc -/// \brief Implementation of the B4:DetectorConstruction class +/// \brief Implementation of the B4::DetectorConstruction class #include "DetectorConstruction.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" - +#include "G4AutoDelete.hh" #include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GlobalMagFieldMessenger.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" - -#include "G4GeometryManager.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4VisAttributes.hh" namespace B4 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ThreadLocal -G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; +G4ThreadLocal G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,12 +72,12 @@ void DetectorConstruction::DefineMaterials() G4double a; // mass of a mole; G4double z; // z=mean number of protons; G4double density; - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - // The argon by NIST Manager is a gas with a different density + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + // The argon by NIST Manager is a gas with a different density // Vacuum - new G4Material("Galactic", z=1., a=1.01*g/mole,density= universe_mean_density, - kStateGas, 2.73*kelvin, 3.e-18*pascal); + new G4Material("Galactic", z = 1., a = 1.01 * g / mole, density = universe_mean_density, + kStateGas, 2.73 * kelvin, 3.e-18 * pascal); // Print materials G4cout << *(G4Material::GetMaterialTable()) << G4endl; @@ -98,147 +89,127 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() { // Geometry parameters G4int nofLayers = 10; - G4double absoThickness = 10.*mm; - G4double gapThickness = 5.*mm; - G4double calorSizeXY = 10.*cm; + G4double absoThickness = 10. * mm; + G4double gapThickness = 5. * mm; + G4double calorSizeXY = 10. * cm; auto layerThickness = absoThickness + gapThickness; auto calorThickness = nofLayers * layerThickness; auto worldSizeXY = 1.2 * calorSizeXY; - auto worldSizeZ = 1.2 * calorThickness; + auto worldSizeZ = 1.2 * calorThickness; // Get materials auto defaultMaterial = G4Material::GetMaterial("Galactic"); auto absorberMaterial = G4Material::GetMaterial("G4_Pb"); auto gapMaterial = G4Material::GetMaterial("liquidArgon"); - if ( ! defaultMaterial || ! absorberMaterial || ! gapMaterial ) { + if (!defaultMaterial || !absorberMaterial || !gapMaterial) { G4ExceptionDescription msg; msg << "Cannot retrieve materials already defined."; - G4Exception("DetectorConstruction::DefineVolumes()", - "MyCode0001", FatalException, msg); + G4Exception("DetectorConstruction::DefineVolumes()", "MyCode0001", FatalException, msg); } // // World // - auto worldS - = new G4Box("World", // its name - worldSizeXY/2, worldSizeXY/2, worldSizeZ/2); // its size + auto worldS = new G4Box("World", // its name + worldSizeXY / 2, worldSizeXY / 2, worldSizeZ / 2); // its size - auto worldLV - = new G4LogicalVolume( - worldS, // its solid - defaultMaterial, // its material - "World"); // its name + auto worldLV = new G4LogicalVolume(worldS, // its solid + defaultMaterial, // its material + "World"); // its name auto worldPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - worldLV, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + worldLV, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Calorimeter // - auto calorimeterS - = new G4Box("Calorimeter", // its name - calorSizeXY/2, calorSizeXY/2, calorThickness/2); // its size + auto calorimeterS = new G4Box("Calorimeter", // its name + calorSizeXY / 2, calorSizeXY / 2, calorThickness / 2); // its size - auto calorLV - = new G4LogicalVolume( - calorimeterS, // its solid - defaultMaterial, // its material - "Calorimeter"); // its name + auto calorLV = new G4LogicalVolume(calorimeterS, // its solid + defaultMaterial, // its material + "Calorimeter"); // its name new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - calorLV, // its logical volume - "Calorimeter", // its name - worldLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + calorLV, // its logical volume + "Calorimeter", // its name + worldLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Layer // - auto layerS - = new G4Box("Layer", // its name - calorSizeXY/2, calorSizeXY/2, layerThickness/2); // its size - - auto layerLV - = new G4LogicalVolume( - layerS, // its solid - defaultMaterial, // its material - "Layer"); // its name - - new G4PVReplica( - "Layer", // its name - layerLV, // its logical volume - calorLV, // its mother - kZAxis, // axis of replication - nofLayers, // number of replica - layerThickness); // witdth of replica + auto layerS = new G4Box("Layer", // its name + calorSizeXY / 2, calorSizeXY / 2, layerThickness / 2); // its size + + auto layerLV = new G4LogicalVolume(layerS, // its solid + defaultMaterial, // its material + "Layer"); // its name + + new G4PVReplica("Layer", // its name + layerLV, // its logical volume + calorLV, // its mother + kZAxis, // axis of replication + nofLayers, // number of replica + layerThickness); // witdth of replica // // Absorber // - auto absorberS - = new G4Box("Abso", // its name - calorSizeXY/2, calorSizeXY/2, absoThickness/2); // its size - - auto absorberLV - = new G4LogicalVolume( - absorberS, // its solid - absorberMaterial, // its material - "Abso"); // its name - - fAbsorberPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., -gapThickness / 2), // its position - absorberLV, // its logical volume - "Abso", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto absorberS = new G4Box("Abso", // its name + calorSizeXY / 2, calorSizeXY / 2, absoThickness / 2); // its size + + auto absorberLV = new G4LogicalVolume(absorberS, // its solid + absorberMaterial, // its material + "Abso"); // its name + + fAbsorberPV = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., -gapThickness / 2), // its position + absorberLV, // its logical volume + "Abso", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Gap // - auto gapS - = new G4Box("Gap", // its name - calorSizeXY/2, calorSizeXY/2, gapThickness/2); // its size - - auto gapLV - = new G4LogicalVolume( - gapS, // its solid - gapMaterial, // its material - "Gap"); // its name - - fGapPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., absoThickness / 2), // its position - gapLV, // its logical volume - "Gap", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto gapS = new G4Box("Gap", // its name + calorSizeXY / 2, calorSizeXY / 2, gapThickness / 2); // its size + + auto gapLV = new G4LogicalVolume(gapS, // its solid + gapMaterial, // its material + "Gap"); // its name + + fGapPV = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., absoThickness / 2), // its position + gapLV, // its logical volume + "Gap", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // print parameters // - G4cout - << G4endl - << "------------------------------------------------------------" << G4endl - << "---> The calorimeter is " << nofLayers << " layers of: [ " - << absoThickness/mm << "mm of " << absorberMaterial->GetName() - << " + " - << gapThickness/mm << "mm of " << gapMaterial->GetName() << " ] " << G4endl - << "------------------------------------------------------------" << G4endl; + G4cout << G4endl << "------------------------------------------------------------" << G4endl + << "---> The calorimeter is " << nofLayers << " layers of: [ " << absoThickness / mm + << "mm of " << absorberMaterial->GetName() << " + " << gapThickness / mm << "mm of " + << gapMaterial->GetName() << " ] " << G4endl + << "------------------------------------------------------------" << G4endl; // // Visualization attributes @@ -269,5 +240,4 @@ void DetectorConstruction::ConstructSDandField() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace B4 diff --git a/examples/basic/B4/B4b/src/EventAction.cc b/examples/basic/B4/B4b/src/EventAction.cc index 8d11bc63a56..57907a72f08 100644 --- a/examples/basic/B4/B4b/src/EventAction.cc +++ b/examples/basic/B4/B4b/src/EventAction.cc @@ -28,13 +28,13 @@ /// \brief Implementation of the B4b::EventAction class #include "EventAction.hh" + #include "RunData.hh" -#include "G4RunManager.hh" #include "G4Event.hh" +#include "G4RunManager.hh" #include "G4UnitsTable.hh" -#include "Randomize.hh" #include namespace B4b @@ -42,31 +42,22 @@ namespace B4b //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::PrintEventStatistics( - G4double absoEdep, G4double absoTrackLength, - G4double gapEdep, G4double gapTrackLength) const -{ +void EventAction::PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, + G4double gapEdep, G4double gapTrackLength) const +{ // print event statistics - G4cout - << " Absorber: total energy: " - << std::setw(7) << G4BestUnit(absoEdep, "Energy") - << " total track length: " - << std::setw(7) << G4BestUnit(absoTrackLength, "Length") - << G4endl - << " Gap: total energy: " - << std::setw(7) << G4BestUnit(gapEdep, "Energy") - << " total track length: " - << std::setw(7) << G4BestUnit(gapTrackLength, "Length") - << G4endl; + G4cout << " Absorber: total energy: " << std::setw(7) << G4BestUnit(absoEdep, "Energy") + << " total track length: " << std::setw(7) << G4BestUnit(absoTrackLength, "Length") + << G4endl << " Gap: total energy: " << std::setw(7) << G4BestUnit(gapEdep, "Energy") + << " total track length: " << std::setw(7) << G4BestUnit(gapTrackLength, "Length") + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::BeginOfEventAction(const G4Event* /*event*/) { - auto runData - = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + auto runData = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); runData->Reset(); } @@ -74,25 +65,20 @@ void EventAction::BeginOfEventAction(const G4Event* /*event*/) void EventAction::EndOfEventAction(const G4Event* event) { - auto runData - = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + auto runData = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); runData->FillPerEvent(); - //print per event (modulo n) + // print per event (modulo n) // auto eventID = event->GetEventID(); auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress(); - if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) { - PrintEventStatistics( - runData->GetEdep(kAbs), - runData->GetTrackLength(kAbs), - runData->GetEdep(kGap), - runData->GetTrackLength(kGap)); - G4cout << "--> End of event " << eventID << "\n" << G4endl; + if ((printModulo > 0) && (eventID % printModulo == 0)) { + PrintEventStatistics(runData->GetEdep(kAbs), runData->GetTrackLength(kAbs), + runData->GetEdep(kGap), runData->GetTrackLength(kGap)); + G4cout << "--> End of event " << eventID << "\n" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4b diff --git a/examples/basic/B4/B4b/src/PrimaryGeneratorAction.cc b/examples/basic/B4/B4b/src/PrimaryGeneratorAction.cc index f179cac9978..86b05b49901 100644 --- a/examples/basic/B4/B4b/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B4/B4b/src/PrimaryGeneratorAction.cc @@ -29,16 +29,13 @@ #include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4Event.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" -#include "Randomize.hh" +#include "globals.hh" namespace B4 { @@ -52,11 +49,10 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() // default particle kinematic // - auto particleDefinition - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + auto particleDefinition = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particleDefinition); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(300.*MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(300. * MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,7 +64,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { // This function is called at the begining of event @@ -81,29 +77,27 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // Check that the world volume has box shape G4Box* worldBox = nullptr; - if ( worldLV ) { + if (worldLV) { worldBox = dynamic_cast(worldLV->GetSolid()); } - if ( worldBox ) { + if (worldBox) { worldZHalfLength = worldBox->GetZHalfLength(); } - else { + else { G4ExceptionDescription msg; msg << "World volume of box shape not found." << G4endl; msg << "Perhaps you have changed geometry." << G4endl; msg << "The gun will be place in the center."; - G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", - "MyCode0002", JustWarning, msg); + G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", "MyCode0002", JustWarning, msg); } // Set gun position - fParticleGun - ->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4 diff --git a/examples/basic/B4/B4b/src/RunAction.cc b/examples/basic/B4/B4b/src/RunAction.cc index 7683ffbdf85..49f81318d3c 100644 --- a/examples/basic/B4/B4b/src/RunAction.cc +++ b/examples/basic/B4/B4b/src/RunAction.cc @@ -28,13 +28,15 @@ /// \brief Implementation of the B4b::RunAction class #include "RunAction.hh" + #include "RunData.hh" #include "G4AnalysisManager.hh" #include "G4Run.hh" #include "G4RunManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" +#include "globals.hh" namespace B4b { @@ -52,21 +54,21 @@ RunAction::RunAction() auto analysisManager = G4AnalysisManager::Instance(); // Create directories - //analysisManager->SetHistoDirectoryName("histograms"); - //analysisManager->SetNtupleDirectoryName("ntuple"); + // analysisManager->SetHistoDirectoryName("histograms"); + // analysisManager->SetNtupleDirectoryName("ntuple"); analysisManager->SetVerboseLevel(1); analysisManager->SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output + // Note: merging ntuples is available only with Root output // Book histograms, ntuple // // Creating histograms - analysisManager->CreateH1("Eabs" ,"Edep in absorber", 110, 0., 330*MeV); - analysisManager->CreateH1("Egap" ,"Edep in gap", 100, 0., 30*MeV); - analysisManager->CreateH1("Labs" ,"trackL in absorber", 100, 0., 50*cm); - analysisManager->CreateH1("Lgap" ,"trackL in gap", 100, 0., 50*cm); - + analysisManager->CreateH1("Eabs", "Edep in absorber", 110, 0., 330 * MeV); + analysisManager->CreateH1("Egap", "Edep in gap", 100, 0., 30 * MeV); + analysisManager->CreateH1("Labs", "trackL in absorber", 100, 0., 50 * cm); + analysisManager->CreateH1("Lgap", "trackL in gap", 100, 0., 50 * cm); + // Creating ntuple // analysisManager->CreateNtuple("B4", "Edep and TrackL"); @@ -90,8 +92,8 @@ void RunAction::BeginOfRunAction(const G4Run* run) { G4cout << "### Run " << run->GetRunID() << " start." << G4endl; - //inform the runManager to save random number seed - //G4RunManager::GetRunManager()->SetRandomNumberStore(true); + // inform the runManager to save random number seed + // G4RunManager::GetRunManager()->SetRandomNumberStore(true); // Get analysis manager auto analysisManager = G4AnalysisManager::Instance(); @@ -109,48 +111,39 @@ void RunAction::BeginOfRunAction(const G4Run* run) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EndOfRunAction(const G4Run* /*aRun*/) +void RunAction::EndOfRunAction(const G4Run* /*run*/) { // print histogram statistics // auto analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->GetH1(1) ) { + if (analysisManager->GetH1(1)) { G4cout << G4endl << " ----> print histograms statistic "; - if(isMaster) { + if (isMaster) { G4cout << "for the entire run " << G4endl << G4endl; } else { G4cout << "for the local thread " << G4endl << G4endl; } - G4cout << " EAbs : mean = " - << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; - - G4cout << " EGap : mean = " - << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; - - G4cout << " LAbs : mean = " - << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; - - G4cout << " LGap : mean = " - << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; + G4cout << " EAbs : mean = " << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; + + G4cout << " EGap : mean = " << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; + + G4cout << " LAbs : mean = " << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; + + G4cout << " LGap : mean = " << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; } // save histograms & ntuple // analysisManager->Write(); analysisManager->CloseFile(); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4b diff --git a/examples/basic/B4/B4b/src/RunData.cc b/examples/basic/B4/B4b/src/RunData.cc index e7789e4f479..6f5f46515bf 100644 --- a/examples/basic/B4/B4b/src/RunData.cc +++ b/examples/basic/B4/B4b/src/RunData.cc @@ -30,8 +30,6 @@ #include "RunData.hh" #include "G4AnalysisManager.hh" -#include "G4RunManager.hh" -#include "G4UnitsTable.hh" namespace B4b { @@ -46,15 +44,15 @@ void RunData::FillPerEvent() // accumulate statistic // in the order of the histograms, ntuple columns declarations G4int counter = 0; - for ( auto edep : fEdep ) { + for (auto edep : fEdep) { analysisManager->FillH1(counter, edep); analysisManager->FillNtupleDColumn(counter++, edep); } - for ( auto trackLength : fTrackLength ) { + for (auto trackLength : fTrackLength) { analysisManager->FillH1(counter, trackLength); analysisManager->FillNtupleDColumn(counter++, trackLength); } - + analysisManager->AddNtupleRow(); } @@ -62,14 +60,14 @@ void RunData::FillPerEvent() void RunData::Reset() { - for ( auto& edep : fEdep ) { + for (auto& edep : fEdep) { edep = 0.; } - for ( auto& trackLength : fTrackLength ) { + for (auto& trackLength : fTrackLength) { trackLength = 0.; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4b diff --git a/examples/basic/B4/B4b/src/SteppingAction.cc b/examples/basic/B4/B4b/src/SteppingAction.cc index 0dfb2f4ac5e..8cac57d211f 100644 --- a/examples/basic/B4/B4b/src/SteppingAction.cc +++ b/examples/basic/B4/B4b/src/SteppingAction.cc @@ -28,11 +28,12 @@ /// \brief Implementation of the B4b::SteppingAction class #include "SteppingAction.hh" -#include "RunData.hh" + #include "DetectorConstruction.hh" +#include "RunData.hh" -#include "G4Step.hh" #include "G4RunManager.hh" +#include "G4Step.hh" using namespace B4; @@ -43,14 +44,13 @@ namespace B4b SteppingAction::SteppingAction(const DetectorConstruction* detConstruction) : fDetConstruction(detConstruction) -{ -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* step) { -// Collect energy and track length step by step + // Collect energy and track length step by step // get volume of the current step auto volume = step->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); @@ -60,22 +60,21 @@ void SteppingAction::UserSteppingAction(const G4Step* step) // step length G4double stepLength = 0.; - if ( step->GetTrack()->GetDefinition()->GetPDGCharge() != 0. ) { + if (step->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) { stepLength = step->GetStepLength(); } - auto runData = static_cast - (G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + auto runData = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - if ( volume == fDetConstruction->GetAbsorberPV() ) { + if (volume == fDetConstruction->GetAbsorberPV()) { runData->Add(kAbs, edep, stepLength); } - if ( volume == fDetConstruction->GetGapPV() ) { + if (volume == fDetConstruction->GetGapPV()) { runData->Add(kGap, edep, stepLength); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4b diff --git a/examples/basic/B4/B4c/exampleB4c.cc b/examples/basic/B4/B4c/exampleB4c.cc index e5c98fbf0e9..611e5ec851e 100644 --- a/examples/basic/B4/B4c/exampleB4c.cc +++ b/examples/basic/B4/B4c/exampleB4c.cc @@ -27,37 +27,37 @@ /// \file exampleB4c.cc /// \brief Main program of the B4c example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UIcommand.hh" #include "G4UImanager.hh" -#include "G4UIExecutive.hh" #include "G4VisExecutive.hh" -#include "FTFP_BERT.hh" -#include "Randomize.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " exampleB4c [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" - << G4endl; - G4cerr << " note: -t option is available only for multi-threaded mode." - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " exampleB4c [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" << G4endl; + G4cerr << " note: -t option is available only for multi-threaded mode." << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 7 ) { + if (argc > 7) { PrintUsage(); return 1; } @@ -68,15 +68,17 @@ int main(int argc,char** argv) #ifdef G4MULTITHREADED G4int nThreads = 0; #endif - for ( G4int i=1; i 0 ) { + if (nThreads > 0) { runManager->SetNumberOfThreads(nThreads); } #endif @@ -134,12 +135,12 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( macro.size() ) { + if (macro.size()) { // batch mode G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); + UImanager->ApplyCommand(command + macro); } - else { + else { // interactive mode : define UI session UImanager->ApplyCommand("/control/execute init_vis.mac"); if (ui->IsGUI()) { diff --git a/examples/basic/B4/B4c/exampleB4c.out b/examples/basic/B4/B4c/exampleB4c.out index 1ac25e8f16a..7e6f778a132 100644 --- a/examples/basic/B4/B4c/exampleB4c.out +++ b/examples/basic/B4/B4c/exampleB4c.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -276,7 +283,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -831,7 +838,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -857,17 +864,17 @@ Setting was ignored. ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 265.781 MeV total track length: 19.326 cm - Gap: total energy: 21.0561 MeV total track length: 10.6454 cm + Absorber: total energy: 279.218 MeV total track length: 20.3807 cm + Gap: total energy: 19.7181 MeV total track length: 9.43835 cm --> End of event: 0 ----> print histograms statistic for the entire run - EAbs : mean = 265.781 MeV rms = 0 eV - EGap : mean = 21.0561 MeV rms = 0 eV - LAbs : mean = 19.326 cm rms = 0 fm - LGap : mean = 10.6454 cm rms = 0 fm + EAbs : mean = 279.218 MeV rms = 0 eV + EGap : mean = 19.7181 MeV rms = 0 eV + LAbs : mean = 20.3807 cm rms = 0 fm + LGap : mean = 9.43835 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -937,17 +944,17 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 273.124 MeV total track length: 20.1646 cm - Gap: total energy: 16.2656 MeV total track length: 7.73372 cm + Absorber: total energy: 253.71 MeV total track length: 18.3379 cm + Gap: total energy: 18.1797 MeV total track length: 8.925 cm --> End of event: 0 ----> print histograms statistic for the entire run - EAbs : mean = 273.124 MeV rms = 0 eV - EGap : mean = 16.2656 MeV rms = 0 eV - LAbs : mean = 20.1646 cm rms = 0 fm - LGap : mean = 7.73372 cm rms = 0 fm + EAbs : mean = 253.71 MeV rms = 0 eV + EGap : mean = 18.1797 MeV rms = 0 eV + LAbs : mean = 18.3379 cm rms = 0 fm + LGap : mean = 8.925 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -963,17 +970,17 @@ There are histograms that can be viewed with visualization: ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 465.716 MeV total track length: 34.0047 cm - Gap: total energy: 15.1463 MeV total track length: 7.88173 cm + Absorber: total energy: 437.115 MeV total track length: 31.5725 cm + Gap: total energy: 19.1128 MeV total track length: 8.67887 cm --> End of event: 0 ----> print histograms statistic for the entire run EAbs : mean = 0 eV rms = 0 eV - EGap : mean = 15.1463 MeV rms = 0 eV - LAbs : mean = 34.0047 cm rms = 0 fm - LGap : mean = 7.88173 cm rms = 0 fm + EGap : mean = 19.1128 MeV rms = 0 eV + LAbs : mean = 31.5725 cm rms = 0 fm + LGap : mean = 8.67887 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: diff --git a/examples/basic/B4/B4c/include/ActionInitialization.hh b/examples/basic/B4/B4c/include/ActionInitialization.hh index c6acb14266a..631355b6885 100644 --- a/examples/basic/B4/B4c/include/ActionInitialization.hh +++ b/examples/basic/B4/B4c/include/ActionInitialization.hh @@ -47,8 +47,6 @@ class ActionInitialization : public G4VUserActionInitialization void Build() const override; }; -} +} // namespace B4c #endif - - diff --git a/examples/basic/B4/B4c/include/CalorHit.hh b/examples/basic/B4/B4c/include/CalorHit.hh index 553e945ab4d..b230e0ef73d 100644 --- a/examples/basic/B4/B4c/include/CalorHit.hh +++ b/examples/basic/B4/B4c/include/CalorHit.hh @@ -30,11 +30,12 @@ #ifndef B4cCalorHit_h #define B4cCalorHit_h 1 -#include "G4VHit.hh" -#include "G4THitsCollection.hh" #include "G4Allocator.hh" -#include "G4ThreeVector.hh" +#include "G4THitsCollection.hh" #include "G4Threading.hh" +#include "G4ThreeVector.hh" +#include "G4VHit.hh" +#include "globals.hh" namespace B4c { @@ -57,10 +58,10 @@ class CalorHit : public G4VHit G4bool operator==(const CalorHit&) const; inline void* operator new(size_t); - inline void operator delete(void*); + inline void operator delete(void*); // methods from base class - void Draw() override{} + void Draw() override {} void Print() override; // methods to handle data @@ -71,8 +72,8 @@ class CalorHit : public G4VHit G4double GetTrackLength() const; private: - G4double fEdep = 0.; ///< Energy deposit in the sensitive volume - G4double fTrackLength = 0.; ///< Track length in the sensitive volume + G4double fEdep = 0.; ///< Energy deposit in the sensitive volume + G4double fTrackLength = 0.; ///< Track length in the sensitive volume }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -88,33 +89,36 @@ inline void* CalorHit::operator new(size_t) if (!CalorHitAllocator) { CalorHitAllocator = new G4Allocator; } - void *hit; - hit = (void *) CalorHitAllocator->MallocSingle(); + void* hit; + hit = (void*)CalorHitAllocator->MallocSingle(); return hit; } -inline void CalorHit::operator delete(void *hit) +inline void CalorHit::operator delete(void* hit) { if (!CalorHitAllocator) { CalorHitAllocator = new G4Allocator; } - CalorHitAllocator->FreeSingle((CalorHit*) hit); + CalorHitAllocator->FreeSingle((CalorHit*)hit); } -inline void CalorHit::Add(G4double de, G4double dl) { +inline void CalorHit::Add(G4double de, G4double dl) +{ fEdep += de; fTrackLength += dl; } -inline G4double CalorHit::GetEdep() const { +inline G4double CalorHit::GetEdep() const +{ return fEdep; } -inline G4double CalorHit::GetTrackLength() const { +inline G4double CalorHit::GetTrackLength() const +{ return fTrackLength; } -} +} // namespace B4c //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4c/include/CalorimeterSD.hh b/examples/basic/B4/B4c/include/CalorimeterSD.hh index b322f3ddf54..713041ef75e 100644 --- a/examples/basic/B4/B4c/include/CalorimeterSD.hh +++ b/examples/basic/B4/B4c/include/CalorimeterSD.hh @@ -30,14 +30,14 @@ #ifndef B4cCalorimeterSD_h #define B4cCalorimeterSD_h 1 -#include "G4VSensitiveDetector.hh" - #include "CalorHit.hh" -#include +#include "G4VSensitiveDetector.hh" +#include "globals.hh" class G4Step; class G4HCofThisEvent; +class G4TouchableHistory; namespace B4c { @@ -53,24 +53,21 @@ namespace B4c class CalorimeterSD : public G4VSensitiveDetector { public: - CalorimeterSD(const G4String& name, - const G4String& hitsCollectionName, - G4int nofCells); + CalorimeterSD(const G4String& name, const G4String& hitsCollectionName, G4int nofCells); ~CalorimeterSD() override = default; // methods from base class - void Initialize(G4HCofThisEvent* hitCollection) override; + void Initialize(G4HCofThisEvent* hitCollection) override; G4bool ProcessHits(G4Step* step, G4TouchableHistory* history) override; - void EndOfEvent(G4HCofThisEvent* hitCollection) override; + void EndOfEvent(G4HCofThisEvent* hitCollection) override; private: CalorHitsCollection* fHitsCollection = nullptr; G4int fNofCells = 0; }; -} +} // namespace B4c //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4c/include/DetectorConstruction.hh b/examples/basic/B4/B4c/include/DetectorConstruction.hh index 36c68f6b325..ae0cdd7a67d 100644 --- a/examples/basic/B4/B4c/include/DetectorConstruction.hh +++ b/examples/basic/B4/B4c/include/DetectorConstruction.hh @@ -31,6 +31,8 @@ #define B4cDetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh" + +#include "G4Threading.hh" #include "globals.hh" class G4VPhysicalVolume; @@ -73,16 +75,15 @@ class DetectorConstruction : public G4VUserDetectorConstruction // data members // - static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; - // magnetic field messenger + static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; + // magnetic field messenger - G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps - G4int fNofLayers = -1; // number of layers + G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps + G4int fNofLayers = -1; // number of layers }; -} +} // namespace B4c //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4c/include/EventAction.hh b/examples/basic/B4/B4c/include/EventAction.hh index 307cab7b991..7caaf3cd075 100644 --- a/examples/basic/B4/B4c/include/EventAction.hh +++ b/examples/basic/B4/B4c/include/EventAction.hh @@ -36,6 +36,8 @@ #include "globals.hh" +class G4Event; + namespace B4c { @@ -47,29 +49,26 @@ namespace B4c class EventAction : public G4UserEventAction { -public: - EventAction() = default; - ~EventAction() override = default; + public: + EventAction() = default; + ~EventAction() override = default; - void BeginOfEventAction(const G4Event* event) override; - void EndOfEventAction(const G4Event* event) override; + void BeginOfEventAction(const G4Event* event) override; + void EndOfEventAction(const G4Event* event) override; -private: - // methods - CalorHitsCollection* GetHitsCollection(G4int hcID, - const G4Event* event) const; - void PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, - G4double gapEdep, G4double gapTrackLength) const; + private: + // methods + CalorHitsCollection* GetHitsCollection(G4int hcID, const G4Event* event) const; + void PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, G4double gapEdep, + G4double gapTrackLength) const; - // data members - G4int fAbsHCID = -1; - G4int fGapHCID = -1; + // data members + G4int fAbsHCID = -1; + G4int fGapHCID = -1; }; -} +} // namespace B4c //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/basic/B4/B4c/include/PrimaryGeneratorAction.hh b/examples/basic/B4/B4c/include/PrimaryGeneratorAction.hh index 3be9622bbdc..ce05cd20ab4 100644 --- a/examples/basic/B4/B4c/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B4/B4c/include/PrimaryGeneratorAction.hh @@ -25,13 +25,12 @@ // // /// \file B4/B4c/include/PrimaryGeneratorAction.hh -/// \brief Definition of the PrimaryGeneratorAction class +/// \brief Definition of the B4::PrimaryGeneratorAction class #ifndef B4PrimaryGeneratorAction_h #define B4PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" class G4ParticleGun; class G4Event; @@ -48,17 +47,17 @@ namespace B4 class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - PrimaryGeneratorAction(); - ~PrimaryGeneratorAction() override; + public: + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event* event) override; + void GeneratePrimaries(G4Event* event) override; -private: - G4ParticleGun* fParticleGun = nullptr; // G4 particle gun + private: + G4ParticleGun* fParticleGun = nullptr; // G4 particle gun }; -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4c/include/RunAction.hh b/examples/basic/B4/B4c/include/RunAction.hh index 41894044751..6559b44e220 100644 --- a/examples/basic/B4/B4c/include/RunAction.hh +++ b/examples/basic/B4/B4c/include/RunAction.hh @@ -31,7 +31,6 @@ #define B4RunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -63,12 +62,11 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; }; -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/basic/B4/B4c/src/ActionInitialization.cc b/examples/basic/B4/B4c/src/ActionInitialization.cc index 02fd0ea6b43..5fe3759185a 100644 --- a/examples/basic/B4/B4c/src/ActionInitialization.cc +++ b/examples/basic/B4/B4c/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B4c::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" using namespace B4; @@ -55,4 +56,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4c diff --git a/examples/basic/B4/B4c/src/CalorHit.cc b/examples/basic/B4/B4c/src/CalorHit.cc index 79b55b96b41..5faf527c291 100644 --- a/examples/basic/B4/B4c/src/CalorHit.cc +++ b/examples/basic/B4/B4c/src/CalorHit.cc @@ -28,11 +28,8 @@ /// \brief Implementation of the B4c::CalorHit class #include "CalorHit.hh" + #include "G4UnitsTable.hh" -#include "G4VVisManager.hh" -#include "G4Circle.hh" -#include "G4Colour.hh" -#include "G4VisAttributes.hh" #include @@ -45,21 +42,17 @@ G4ThreadLocal G4Allocator* CalorHitAllocator = nullptr; G4bool CalorHit::operator==(const CalorHit& right) const { - return ( this == &right ) ? true : false; + return (this == &right) ? true : false; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void CalorHit::Print() { - G4cout - << "Edep: " - << std::setw(7) << G4BestUnit(fEdep,"Energy") - << " track length: " - << std::setw(7) << G4BestUnit( fTrackLength,"Length") - << G4endl; + G4cout << "Edep: " << std::setw(7) << G4BestUnit(fEdep, "Energy") + << " track length: " << std::setw(7) << G4BestUnit(fTrackLength, "Length") << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4c diff --git a/examples/basic/B4/B4c/src/CalorimeterSD.cc b/examples/basic/B4/B4c/src/CalorimeterSD.cc index a5387b9d2ae..4a22a29a222 100644 --- a/examples/basic/B4/B4c/src/CalorimeterSD.cc +++ b/examples/basic/B4/B4c/src/CalorimeterSD.cc @@ -28,22 +28,19 @@ /// \brief Implementation of the B4c::CalorimeterSD class #include "CalorimeterSD.hh" + #include "G4HCofThisEvent.hh" -#include "G4Step.hh" -#include "G4ThreeVector.hh" #include "G4SDManager.hh" -#include "G4ios.hh" +#include "G4Step.hh" namespace B4c { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -CalorimeterSD::CalorimeterSD(const G4String& name, - const G4String& hitsCollectionName, +CalorimeterSD::CalorimeterSD(const G4String& name, const G4String& hitsCollectionName, G4int nofCells) - : G4VSensitiveDetector(name), - fNofCells(nofCells) + : G4VSensitiveDetector(name), fNofCells(nofCells) { collectionName.insert(hitsCollectionName); } @@ -53,36 +50,33 @@ CalorimeterSD::CalorimeterSD(const G4String& name, void CalorimeterSD::Initialize(G4HCofThisEvent* hce) { // Create hits collection - fHitsCollection - = new CalorHitsCollection(SensitiveDetectorName, collectionName[0]); + fHitsCollection = new CalorHitsCollection(SensitiveDetectorName, collectionName[0]); // Add this collection in hce - auto hcID - = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); - hce->AddHitsCollection( hcID, fHitsCollection ); + auto hcID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); + hce->AddHitsCollection(hcID, fHitsCollection); // Create hits // fNofCells for cells + one more for total sums - for (G4int i=0; iinsert(new CalorHit()); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool CalorimeterSD::ProcessHits(G4Step* step, - G4TouchableHistory*) +G4bool CalorimeterSD::ProcessHits(G4Step* step, G4TouchableHistory*) { // energy deposit auto edep = step->GetTotalEnergyDeposit(); // step length G4double stepLength = 0.; - if ( step->GetTrack()->GetDefinition()->GetPDGCharge() != 0. ) { + if (step->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) { stepLength = step->GetStepLength(); } - if ( edep==0. && stepLength == 0. ) return false; + if (edep == 0. && stepLength == 0.) return false; auto touchable = (step->GetPreStepPoint()->GetTouchable()); @@ -91,16 +85,14 @@ G4bool CalorimeterSD::ProcessHits(G4Step* step, // Get hit accounting data for this cell auto hit = (*fHitsCollection)[layerNumber]; - if ( ! hit ) { + if (!hit) { G4ExceptionDescription msg; msg << "Cannot access hit " << layerNumber; - G4Exception("CalorimeterSD::ProcessHits()", - "MyCode0004", FatalException, msg); + G4Exception("CalorimeterSD::ProcessHits()", "MyCode0004", FatalException, msg); } // Get hit for total accounting - auto hitTotal - = (*fHitsCollection)[fHitsCollection->entries()-1]; + auto hitTotal = (*fHitsCollection)[fHitsCollection->entries() - 1]; // Add values hit->Add(edep, stepLength); @@ -113,16 +105,15 @@ G4bool CalorimeterSD::ProcessHits(G4Step* step, void CalorimeterSD::EndOfEvent(G4HCofThisEvent*) { - if ( verboseLevel>1 ) { - auto nofHits = fHitsCollection->entries(); - G4cout - << G4endl - << "-------->Hits Collection: in this event they are " << nofHits - << " hits in the tracker chambers: " << G4endl; - for ( std::size_t i=0; iPrint(); + if (verboseLevel > 1) { + auto nofHits = fHitsCollection->entries(); + G4cout << G4endl << "-------->Hits Collection: in this event they are " << nofHits + << " hits in the tracker chambers: " << G4endl; + for (std::size_t i = 0; i < nofHits; ++i) + (*fHitsCollection)[i]->Print(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4c diff --git a/examples/basic/B4/B4c/src/DetectorConstruction.cc b/examples/basic/B4/B4c/src/DetectorConstruction.cc index 058cd750692..c27d585b8f7 100644 --- a/examples/basic/B4/B4c/src/DetectorConstruction.cc +++ b/examples/basic/B4/B4c/src/DetectorConstruction.cc @@ -28,32 +28,29 @@ /// \brief Implementation of the B4c::DetectorConstruction class #include "DetectorConstruction.hh" + #include "CalorimeterSD.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "G4AutoDelete.hh" #include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GlobalMagFieldMessenger.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" - -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - #include "G4PhysicalConstants.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4VisAttributes.hh" namespace B4c { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ThreadLocal -G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; +G4ThreadLocal G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -78,12 +75,12 @@ void DetectorConstruction::DefineMaterials() G4double a; // mass of a mole; G4double z; // z=mean number of protons; G4double density; - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - // The argon by NIST Manager is a gas with a different density + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + // The argon by NIST Manager is a gas with a different density // Vacuum - new G4Material("Galactic", z=1., a=1.01*g/mole,density= universe_mean_density, - kStateGas, 2.73*kelvin, 3.e-18*pascal); + new G4Material("Galactic", z = 1., a = 1.01 * g / mole, density = universe_mean_density, + kStateGas, 2.73 * kelvin, 3.e-18 * pascal); // Print materials G4cout << *(G4Material::GetMaterialTable()) << G4endl; @@ -95,147 +92,127 @@ G4VPhysicalVolume* DetectorConstruction::DefineVolumes() { // Geometry parameters fNofLayers = 10; - G4double absoThickness = 10.*mm; - G4double gapThickness = 5.*mm; - G4double calorSizeXY = 10.*cm; + G4double absoThickness = 10. * mm; + G4double gapThickness = 5. * mm; + G4double calorSizeXY = 10. * cm; auto layerThickness = absoThickness + gapThickness; auto calorThickness = fNofLayers * layerThickness; auto worldSizeXY = 1.2 * calorSizeXY; - auto worldSizeZ = 1.2 * calorThickness; + auto worldSizeZ = 1.2 * calorThickness; // Get materials auto defaultMaterial = G4Material::GetMaterial("Galactic"); auto absorberMaterial = G4Material::GetMaterial("G4_Pb"); auto gapMaterial = G4Material::GetMaterial("liquidArgon"); - if ( ! defaultMaterial || ! absorberMaterial || ! gapMaterial ) { + if (!defaultMaterial || !absorberMaterial || !gapMaterial) { G4ExceptionDescription msg; msg << "Cannot retrieve materials already defined."; - G4Exception("DetectorConstruction::DefineVolumes()", - "MyCode0001", FatalException, msg); + G4Exception("DetectorConstruction::DefineVolumes()", "MyCode0001", FatalException, msg); } // // World // - auto worldS - = new G4Box("World", // its name - worldSizeXY/2, worldSizeXY/2, worldSizeZ/2); // its size + auto worldS = new G4Box("World", // its name + worldSizeXY / 2, worldSizeXY / 2, worldSizeZ / 2); // its size - auto worldLV - = new G4LogicalVolume( - worldS, // its solid - defaultMaterial, // its material - "World"); // its name + auto worldLV = new G4LogicalVolume(worldS, // its solid + defaultMaterial, // its material + "World"); // its name auto worldPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - worldLV, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + worldLV, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Calorimeter // - auto calorimeterS - = new G4Box("Calorimeter", // its name - calorSizeXY/2, calorSizeXY/2, calorThickness/2); // its size + auto calorimeterS = new G4Box("Calorimeter", // its name + calorSizeXY / 2, calorSizeXY / 2, calorThickness / 2); // its size - auto calorLV - = new G4LogicalVolume( - calorimeterS, // its solid - defaultMaterial, // its material - "Calorimeter"); // its name + auto calorLV = new G4LogicalVolume(calorimeterS, // its solid + defaultMaterial, // its material + "Calorimeter"); // its name new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - calorLV, // its logical volume - "Calorimeter", // its name - worldLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + calorLV, // its logical volume + "Calorimeter", // its name + worldLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Layer // - auto layerS - = new G4Box("Layer", // its name - calorSizeXY/2, calorSizeXY/2, layerThickness/2); //its size - - auto layerLV - = new G4LogicalVolume( - layerS, // its solid - defaultMaterial, // its material - "Layer"); // its name - - new G4PVReplica( - "Layer", // its name - layerLV, // its logical volume - calorLV, // its mother - kZAxis, // axis of replication - fNofLayers, // number of replica - layerThickness); // witdth of replica + auto layerS = new G4Box("Layer", // its name + calorSizeXY / 2, calorSizeXY / 2, layerThickness / 2); // its size + + auto layerLV = new G4LogicalVolume(layerS, // its solid + defaultMaterial, // its material + "Layer"); // its name + + new G4PVReplica("Layer", // its name + layerLV, // its logical volume + calorLV, // its mother + kZAxis, // axis of replication + fNofLayers, // number of replica + layerThickness); // witdth of replica // // Absorber // - auto absorberS - = new G4Box("Abso", // its name - calorSizeXY/2, calorSizeXY/2, absoThickness/2); // its size - - auto absorberLV - = new G4LogicalVolume( - absorberS, // its solid - absorberMaterial, // its material - "AbsoLV"); // its name - - new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., -gapThickness / 2), // its position - absorberLV, // its logical volume - "Abso", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto absorberS = new G4Box("Abso", // its name + calorSizeXY / 2, calorSizeXY / 2, absoThickness / 2); // its size + + auto absorberLV = new G4LogicalVolume(absorberS, // its solid + absorberMaterial, // its material + "AbsoLV"); // its name + + new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., -gapThickness / 2), // its position + absorberLV, // its logical volume + "Abso", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Gap // - auto gapS - = new G4Box("Gap", // its name - calorSizeXY/2, calorSizeXY/2, gapThickness/2); // its size - - auto gapLV - = new G4LogicalVolume( - gapS, // its solid - gapMaterial, // its material - "GapLV"); // its name - - new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., absoThickness / 2), // its position - gapLV, // its logical volume - "Gap", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto gapS = new G4Box("Gap", // its name + calorSizeXY / 2, calorSizeXY / 2, gapThickness / 2); // its size + + auto gapLV = new G4LogicalVolume(gapS, // its solid + gapMaterial, // its material + "GapLV"); // its name + + new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., absoThickness / 2), // its position + gapLV, // its logical volume + "Gap", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // print parameters // - G4cout - << G4endl - << "------------------------------------------------------------" << G4endl - << "---> The calorimeter is " << fNofLayers << " layers of: [ " - << absoThickness/mm << "mm of " << absorberMaterial->GetName() - << " + " - << gapThickness/mm << "mm of " << gapMaterial->GetName() << " ] " << G4endl - << "------------------------------------------------------------" << G4endl; + G4cout << G4endl << "------------------------------------------------------------" << G4endl + << "---> The calorimeter is " << fNofLayers << " layers of: [ " << absoThickness / mm + << "mm of " << absorberMaterial->GetName() << " + " << gapThickness / mm << "mm of " + << gapMaterial->GetName() << " ] " << G4endl + << "------------------------------------------------------------" << G4endl; // // Visualization attributes @@ -258,15 +235,13 @@ void DetectorConstruction::ConstructSDandField() // // Sensitive detectors // - auto absoSD - = new CalorimeterSD("AbsorberSD", "AbsorberHitsCollection", fNofLayers); + auto absoSD = new CalorimeterSD("AbsorberSD", "AbsorberHitsCollection", fNofLayers); G4SDManager::GetSDMpointer()->AddNewDetector(absoSD); - SetSensitiveDetector("AbsoLV",absoSD); + SetSensitiveDetector("AbsoLV", absoSD); - auto gapSD - = new CalorimeterSD("GapSD", "GapHitsCollection", fNofLayers); + auto gapSD = new CalorimeterSD("GapSD", "GapHitsCollection", fNofLayers); G4SDManager::GetSDMpointer()->AddNewDetector(gapSD); - SetSensitiveDetector("GapLV",gapSD); + SetSensitiveDetector("GapLV", gapSD); // // Magnetic field @@ -284,4 +259,4 @@ void DetectorConstruction::ConstructSDandField() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4c diff --git a/examples/basic/B4/B4c/src/EventAction.cc b/examples/basic/B4/B4c/src/EventAction.cc index 1273839fe3d..8557ae8e29f 100644 --- a/examples/basic/B4/B4c/src/EventAction.cc +++ b/examples/basic/B4/B4c/src/EventAction.cc @@ -28,17 +28,16 @@ /// \brief Implementation of the B4c::EventAction class #include "EventAction.hh" -#include "CalorimeterSD.hh" + #include "CalorHit.hh" #include "G4AnalysisManager.hh" -#include "G4RunManager.hh" #include "G4Event.hh" -#include "G4SDManager.hh" #include "G4HCofThisEvent.hh" +#include "G4RunManager.hh" +#include "G4SDManager.hh" #include "G4UnitsTable.hh" -#include "Randomize.hh" #include namespace B4c @@ -46,19 +45,14 @@ namespace B4c //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -CalorHitsCollection* -EventAction::GetHitsCollection(G4int hcID, - const G4Event* event) const +CalorHitsCollection* EventAction::GetHitsCollection(G4int hcID, const G4Event* event) const { - auto hitsCollection - = static_cast( - event->GetHCofThisEvent()->GetHC(hcID)); + auto hitsCollection = static_cast(event->GetHCofThisEvent()->GetHC(hcID)); - if ( ! hitsCollection ) { + if (!hitsCollection) { G4ExceptionDescription msg; msg << "Cannot access hitsCollection ID " << hcID; - G4Exception("EventAction::GetHitsCollection()", - "MyCode0003", FatalException, msg); + G4Exception("EventAction::GetHitsCollection()", "MyCode0003", FatalException, msg); } return hitsCollection; @@ -66,39 +60,29 @@ EventAction::GetHitsCollection(G4int hcID, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::PrintEventStatistics( - G4double absoEdep, G4double absoTrackLength, - G4double gapEdep, G4double gapTrackLength) const +void EventAction::PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, + G4double gapEdep, G4double gapTrackLength) const { // print event statistics - G4cout - << " Absorber: total energy: " - << std::setw(7) << G4BestUnit(absoEdep, "Energy") - << " total track length: " - << std::setw(7) << G4BestUnit(absoTrackLength, "Length") - << G4endl - << " Gap: total energy: " - << std::setw(7) << G4BestUnit(gapEdep, "Energy") - << " total track length: " - << std::setw(7) << G4BestUnit(gapTrackLength, "Length") - << G4endl; + G4cout << " Absorber: total energy: " << std::setw(7) << G4BestUnit(absoEdep, "Energy") + << " total track length: " << std::setw(7) << G4BestUnit(absoTrackLength, "Length") + << G4endl << " Gap: total energy: " << std::setw(7) << G4BestUnit(gapEdep, "Energy") + << " total track length: " << std::setw(7) << G4BestUnit(gapTrackLength, "Length") + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::BeginOfEventAction(const G4Event* /*event*/) -{} +void EventAction::BeginOfEventAction(const G4Event* /*event*/) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::EndOfEventAction(const G4Event* event) { // Get hits collections IDs (only once) - if ( fAbsHCID == -1 ) { - fAbsHCID - = G4SDManager::GetSDMpointer()->GetCollectionID("AbsorberHitsCollection"); - fGapHCID - = G4SDManager::GetSDMpointer()->GetCollectionID("GapHitsCollection"); + if (fAbsHCID == -1) { + fAbsHCID = G4SDManager::GetSDMpointer()->GetCollectionID("AbsorberHitsCollection"); + fGapHCID = G4SDManager::GetSDMpointer()->GetCollectionID("GapHitsCollection"); } // Get hits collections @@ -106,18 +90,17 @@ void EventAction::EndOfEventAction(const G4Event* event) auto gapHC = GetHitsCollection(fGapHCID, event); // Get hit with total values - auto absoHit = (*absoHC)[absoHC->entries()-1]; - auto gapHit = (*gapHC)[gapHC->entries()-1]; + auto absoHit = (*absoHC)[absoHC->entries() - 1]; + auto gapHit = (*gapHC)[gapHC->entries() - 1]; // Print per event (modulo n) // auto eventID = event->GetEventID(); auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress(); - if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) { - PrintEventStatistics( - absoHit->GetEdep(), absoHit->GetTrackLength(), - gapHit->GetEdep(), gapHit->GetTrackLength()); - G4cout << "--> End of event: " << eventID << "\n" << G4endl; + if ((printModulo > 0) && (eventID % printModulo == 0)) { + PrintEventStatistics(absoHit->GetEdep(), absoHit->GetTrackLength(), gapHit->GetEdep(), + gapHit->GetTrackLength()); + G4cout << "--> End of event: " << eventID << "\n" << G4endl; } // Fill histograms, ntuple @@ -142,4 +125,4 @@ void EventAction::EndOfEventAction(const G4Event* event) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4c diff --git a/examples/basic/B4/B4c/src/PrimaryGeneratorAction.cc b/examples/basic/B4/B4c/src/PrimaryGeneratorAction.cc index 8e9fc7bcd72..c7bdfbfed01 100644 --- a/examples/basic/B4/B4c/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B4/B4c/src/PrimaryGeneratorAction.cc @@ -29,16 +29,13 @@ #include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4Event.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" -#include "Randomize.hh" +#include "globals.hh" namespace B4 { @@ -52,11 +49,10 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() // default particle kinematic // - auto particleDefinition - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + auto particleDefinition = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particleDefinition); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(300.*MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(300. * MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,7 +64,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { // This function is called at the begining of event @@ -81,29 +77,27 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // Check that the world volume has box shape G4Box* worldBox = nullptr; - if ( worldLV ) { + if (worldLV) { worldBox = dynamic_cast(worldLV->GetSolid()); } - if ( worldBox ) { + if (worldBox) { worldZHalfLength = worldBox->GetZHalfLength(); } - else { + else { G4ExceptionDescription msg; msg << "World volume of box shape not found." << G4endl; msg << "Perhaps you have changed geometry." << G4endl; msg << "The gun will be place in the center."; - G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", - "MyCode0002", JustWarning, msg); + G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", "MyCode0002", JustWarning, msg); } // Set gun position - fParticleGun - ->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4 diff --git a/examples/basic/B4/B4c/src/RunAction.cc b/examples/basic/B4/B4c/src/RunAction.cc index 7334ca88511..c70cb6ba134 100644 --- a/examples/basic/B4/B4c/src/RunAction.cc +++ b/examples/basic/B4/B4c/src/RunAction.cc @@ -30,10 +30,10 @@ #include "RunAction.hh" #include "G4AnalysisManager.hh" -#include "G4Run.hh" #include "G4RunManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" +#include "globals.hh" namespace B4 { @@ -51,20 +51,20 @@ RunAction::RunAction() auto analysisManager = G4AnalysisManager::Instance(); // Create directories - //analysisManager->SetHistoDirectoryName("histograms"); - //analysisManager->SetNtupleDirectoryName("ntuple"); + // analysisManager->SetHistoDirectoryName("histograms"); + // analysisManager->SetNtupleDirectoryName("ntuple"); analysisManager->SetVerboseLevel(1); analysisManager->SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output + // Note: merging ntuples is available only with Root output // Book histograms, ntuple // // Creating histograms - analysisManager->CreateH1("Eabs","Edep in absorber", 110, 0., 330*MeV); - analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 30*MeV); - analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 50*cm); - analysisManager->CreateH1("Lgap","trackL in gap", 100, 0., 50*cm); + analysisManager->CreateH1("Eabs", "Edep in absorber", 110, 0., 330 * MeV); + analysisManager->CreateH1("Egap", "Edep in gap", 100, 0., 30 * MeV); + analysisManager->CreateH1("Labs", "trackL in absorber", 100, 0., 50 * cm); + analysisManager->CreateH1("Lgap", "trackL in gap", 100, 0., 50 * cm); // Creating ntuple // @@ -80,8 +80,8 @@ RunAction::RunAction() void RunAction::BeginOfRunAction(const G4Run* /*run*/) { - //inform the runManager to save random number seed - //G4RunManager::GetRunManager()->SetRandomNumberStore(true); + // inform the runManager to save random number seed + // G4RunManager::GetRunManager()->SetRandomNumberStore(true); // Get analysis manager auto analysisManager = G4AnalysisManager::Instance(); @@ -104,34 +104,26 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/) // print histogram statistics // auto analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->GetH1(1) ) { + if (analysisManager->GetH1(1)) { G4cout << G4endl << " ----> print histograms statistic "; - if(isMaster) { + if (isMaster) { G4cout << "for the entire run " << G4endl << G4endl; } else { G4cout << "for the local thread " << G4endl << G4endl; } - G4cout << " EAbs : mean = " - << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; - - G4cout << " EGap : mean = " - << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; - - G4cout << " LAbs : mean = " - << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; - - G4cout << " LGap : mean = " - << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; + G4cout << " EAbs : mean = " << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; + + G4cout << " EGap : mean = " << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; + + G4cout << " LAbs : mean = " << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; + + G4cout << " LGap : mean = " << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; } // save histograms & ntuple @@ -142,4 +134,4 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4 diff --git a/examples/basic/B4/B4d/exampleB4d.cc b/examples/basic/B4/B4d/exampleB4d.cc index 18380ba6eb6..8ea5ab7a24e 100644 --- a/examples/basic/B4/B4d/exampleB4d.cc +++ b/examples/basic/B4/B4d/exampleB4d.cc @@ -27,39 +27,39 @@ /// \file exampleB4d.cc /// \brief Main program of the B4d example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4AnalysisManager.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" #include "G4TScoreNtupleWriter.hh" +#include "G4UIExecutive.hh" #include "G4UIcommand.hh" #include "G4UImanager.hh" -#include "G4UIExecutive.hh" #include "G4VisExecutive.hh" -#include "FTFP_BERT.hh" -#include "Randomize.hh" +// #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " exampleB4d [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" - << G4endl; - G4cerr << " note: -t option is available only for multi-threaded mode." - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " exampleB4d [-m macro ] [-u UIsession] [-t nThreads] [-vDefault]" << G4endl; + G4cerr << " note: -t option is available only for multi-threaded mode." << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 7 ) { + if (argc > 7) { PrintUsage(); return 1; } @@ -70,15 +70,17 @@ int main(int argc,char** argv) #ifdef G4MULTITHREADED G4int nThreads = 0; #endif - for ( G4int i=1; i 0 ) { + if (nThreads > 0) { runManager->SetNumberOfThreads(nThreads); } #endif @@ -142,17 +143,17 @@ int main(int argc,char** argv) G4TScoreNtupleWriter scoreNtupleWriter; scoreNtupleWriter.SetVerboseLevel(1); scoreNtupleWriter.SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output - // (the default in G4TScoreNtupleWriter) + // Note: merging ntuples is available only with Root output + // (the default in G4TScoreNtupleWriter) // Process macro or start UI session // - if ( macro.size() ) { + if (macro.size()) { // batch mode G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); + UImanager->ApplyCommand(command + macro); } - else { + else { // interactive mode : define UI session UImanager->ApplyCommand("/control/execute init_vis.mac"); if (ui->IsGUI()) { diff --git a/examples/basic/B4/B4d/exampleB4d.out b/examples/basic/B4/B4d/exampleB4d.out index 8e9b062f2dd..32357141d3b 100644 --- a/examples/basic/B4/B4d/exampleB4d.out +++ b/examples/basic/B4/B4d/exampleB4d.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -280,7 +287,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -835,7 +842,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -861,17 +868,17 @@ Setting was ignored. ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 265.781 MeV total track length: 19.326 cm - Gap: total energy: 21.0561 MeV total track length: 10.6454 cm + Absorber: total energy: 279.218 MeV total track length: 20.3807 cm + Gap: total energy: 19.7181 MeV total track length: 9.43835 cm --> End of event: 0 ----> print histograms statistic for the entire run - EAbs : mean = 265.781 MeV rms = 0 eV - EGap : mean = 21.0561 MeV rms = 0 eV - LAbs : mean = 19.326 cm rms = 0 fm - LGap : mean = 10.6454 cm rms = 0 fm + EAbs : mean = 279.218 MeV rms = 0 eV + EGap : mean = 19.7181 MeV rms = 0 eV + LAbs : mean = 20.3807 cm rms = 0 fm + LGap : mean = 9.43835 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -941,17 +948,17 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 273.124 MeV total track length: 20.1646 cm - Gap: total energy: 16.2656 MeV total track length: 7.73372 cm + Absorber: total energy: 253.71 MeV total track length: 18.3379 cm + Gap: total energy: 18.1797 MeV total track length: 8.925 cm --> End of event: 0 ----> print histograms statistic for the entire run - EAbs : mean = 273.124 MeV rms = 0 eV - EGap : mean = 16.2656 MeV rms = 0 eV - LAbs : mean = 20.1646 cm rms = 0 fm - LGap : mean = 7.73372 cm rms = 0 fm + EAbs : mean = 253.71 MeV rms = 0 eV + EGap : mean = 18.1797 MeV rms = 0 eV + LAbs : mean = 18.3379 cm rms = 0 fm + LGap : mean = 8.925 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -967,17 +974,17 @@ There are histograms that can be viewed with visualization: ... open analysis file : B4.root - done Using --> Event 0 starts. - Absorber: total energy: 465.716 MeV total track length: 34.0047 cm - Gap: total energy: 15.1463 MeV total track length: 7.88173 cm + Absorber: total energy: 437.115 MeV total track length: 31.5725 cm + Gap: total energy: 19.1128 MeV total track length: 8.67887 cm --> End of event: 0 ----> print histograms statistic for the entire run EAbs : mean = 0 eV rms = 0 eV - EGap : mean = 15.1463 MeV rms = 0 eV - LAbs : mean = 34.0047 cm rms = 0 fm - LGap : mean = 7.88173 cm rms = 0 fm + EGap : mean = 19.1128 MeV rms = 0 eV + LAbs : mean = 31.5725 cm rms = 0 fm + LGap : mean = 8.67887 cm rms = 0 fm ... write file : B4.root - done ... close file : B4.root - done There are histograms that can be viewed with visualization: @@ -989,4 +996,4 @@ There are histograms that can be viewed with visualization: EndOfRunAction and Reset() in your BeginOfRunAction. Graphics systems deleted. Visualization Manager deleting... -### deleting chargedFilter 0x1f5cf00 +### deleting chargedFilter 0xb7fb80 diff --git a/examples/basic/B4/B4d/include/ActionInitialization.hh b/examples/basic/B4/B4d/include/ActionInitialization.hh index 79819439ccf..4d01d1b6680 100644 --- a/examples/basic/B4/B4d/include/ActionInitialization.hh +++ b/examples/basic/B4/B4d/include/ActionInitialization.hh @@ -47,8 +47,6 @@ class ActionInitialization : public G4VUserActionInitialization void Build() const override; }; -} +} // namespace B4d #endif - - diff --git a/examples/basic/B4/B4d/include/DetectorConstruction.hh b/examples/basic/B4/B4d/include/DetectorConstruction.hh index c4fb91b2792..b8db675624b 100644 --- a/examples/basic/B4/B4d/include/DetectorConstruction.hh +++ b/examples/basic/B4/B4d/include/DetectorConstruction.hh @@ -73,13 +73,13 @@ class DetectorConstruction : public G4VUserDetectorConstruction // data members // - static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; - // magnetic field messenger + static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger; + // magnetic field messenger - G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps + G4bool fCheckOverlaps = true; // option to activate checking of volumes overlaps }; -} +} // namespace B4d //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4d/include/EventAction.hh b/examples/basic/B4/B4d/include/EventAction.hh index b49f688808c..acb874fc64a 100644 --- a/examples/basic/B4/B4d/include/EventAction.hh +++ b/examples/basic/B4/B4d/include/EventAction.hh @@ -31,10 +31,11 @@ #define EventAction_h 1 #include "G4UserEventAction.hh" - -#include "G4THitsMap.hh" #include "globals.hh" +class G4Event; +template class G4THitsMap; + namespace B4d { @@ -46,29 +47,28 @@ namespace B4d class EventAction : public G4UserEventAction { -public: - EventAction() = default; - ~EventAction() override = default; + public: + EventAction() = default; + ~EventAction() override = default; - void BeginOfEventAction(const G4Event* event) override; - void EndOfEventAction(const G4Event* event) override; + void BeginOfEventAction(const G4Event* event) override; + void EndOfEventAction(const G4Event* event) override; -private: - // methods - G4THitsMap* GetHitsCollection(G4int hcID, - const G4Event* event) const; - G4double GetSum(G4THitsMap* hitsMap) const; - void PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, - G4double gapEdep, G4double gapTrackLength) const; + private: + // methods + G4THitsMap* GetHitsCollection(G4int hcID, const G4Event* event) const; + G4double GetSum(G4THitsMap* hitsMap) const; + void PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, G4double gapEdep, + G4double gapTrackLength) const; - // data members - G4int fAbsoEdepHCID = -1; - G4int fGapEdepHCID = -1; - G4int fAbsoTrackLengthHCID = -1; - G4int fGapTrackLengthHCID = -1; + // data members + G4int fAbsoEdepHCID = -1; + G4int fGapEdepHCID = -1; + G4int fAbsoTrackLengthHCID = -1; + G4int fGapTrackLengthHCID = -1; }; -} +} // namespace B4d //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4d/include/PrimaryGeneratorAction.hh b/examples/basic/B4/B4d/include/PrimaryGeneratorAction.hh index 3d0e1709acf..da0ae5becf9 100644 --- a/examples/basic/B4/B4d/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B4/B4d/include/PrimaryGeneratorAction.hh @@ -25,13 +25,12 @@ // // /// \file B4/B4d/include/PrimaryGeneratorAction.hh -/// \brief Definition of the PrimaryGeneratorAction class +/// \brief Definition of the B4::PrimaryGeneratorAction class #ifndef B4PrimaryGeneratorAction_h #define B4PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" class G4ParticleGun; class G4Event; @@ -48,17 +47,17 @@ namespace B4 class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - PrimaryGeneratorAction(); - ~PrimaryGeneratorAction() override; + public: + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event* event) override; + void GeneratePrimaries(G4Event* event) override; -private: - G4ParticleGun* fParticleGun = nullptr; // G4 particle gun + private: + G4ParticleGun* fParticleGun = nullptr; // G4 particle gun }; -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4d/include/RunAction.hh b/examples/basic/B4/B4d/include/RunAction.hh index aedbd35992c..e89558988eb 100644 --- a/examples/basic/B4/B4d/include/RunAction.hh +++ b/examples/basic/B4/B4d/include/RunAction.hh @@ -31,7 +31,6 @@ #define B4RunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -63,10 +62,10 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; }; -} +} // namespace B4 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B4/B4d/src/ActionInitialization.cc b/examples/basic/B4/B4d/src/ActionInitialization.cc index 36aabb37e88..14b0ae3798e 100644 --- a/examples/basic/B4/B4d/src/ActionInitialization.cc +++ b/examples/basic/B4/B4d/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B4d::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" using namespace B4; @@ -55,4 +56,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4d diff --git a/examples/basic/B4/B4d/src/DetectorConstruction.cc b/examples/basic/B4/B4d/src/DetectorConstruction.cc index aeca012e15f..a94e696651f 100644 --- a/examples/basic/B4/B4d/src/DetectorConstruction.cc +++ b/examples/basic/B4/B4d/src/DetectorConstruction.cc @@ -29,36 +29,31 @@ #include "DetectorConstruction.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" - +#include "G4AutoDelete.hh" #include "G4Box.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4PVReplica.hh" +#include "G4Colour.hh" #include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" - -#include "G4SDManager.hh" -#include "G4SDChargedFilter.hh" +#include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4MultiFunctionalDetector.hh" -#include "G4VPrimitiveScorer.hh" +#include "G4NistManager.hh" #include "G4PSEnergyDeposit.hh" #include "G4PSTrackLength.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" #include "G4PhysicalConstants.hh" +#include "G4SDChargedFilter.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4VPrimitiveScorer.hh" +#include "G4VisAttributes.hh" namespace B4d { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ThreadLocal -G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; +G4ThreadLocal G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = nullptr; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -83,12 +78,12 @@ void DetectorConstruction::DefineMaterials() G4double a; // mass of a mole; G4double z; // z=mean number of protons; G4double density; - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - // The argon by NIST Manager is a gas with a different density + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + // The argon by NIST Manager is a gas with a different density // Vacuum - new G4Material("Galactic", z=1., a=1.01*g/mole,density= universe_mean_density, - kStateGas, 2.73*kelvin, 3.e-18*pascal); + new G4Material("Galactic", z = 1., a = 1.01 * g / mole, density = universe_mean_density, + kStateGas, 2.73 * kelvin, 3.e-18 * pascal); // Print materials G4cout << *(G4Material::GetMaterialTable()) << G4endl; @@ -99,148 +94,128 @@ void DetectorConstruction::DefineMaterials() G4VPhysicalVolume* DetectorConstruction::DefineVolumes() { // Geometry parameters - G4int nofLayers = 10; - G4double absoThickness = 10.*mm; - G4double gapThickness = 5.*mm; - G4double calorSizeXY = 10.*cm; + G4int nofLayers = 10; + G4double absoThickness = 10. * mm; + G4double gapThickness = 5. * mm; + G4double calorSizeXY = 10. * cm; - auto layerThickness = absoThickness + gapThickness; - auto calorThickness = nofLayers * layerThickness; - auto worldSizeXY = 1.2 * calorSizeXY; - auto worldSizeZ = 1.2 * calorThickness; + auto layerThickness = absoThickness + gapThickness; + auto calorThickness = nofLayers * layerThickness; + auto worldSizeXY = 1.2 * calorSizeXY; + auto worldSizeZ = 1.2 * calorThickness; // Get materials auto defaultMaterial = G4Material::GetMaterial("Galactic"); auto absorberMaterial = G4Material::GetMaterial("G4_Pb"); auto gapMaterial = G4Material::GetMaterial("liquidArgon"); - if ( ! defaultMaterial || ! absorberMaterial || ! gapMaterial ) { + if (!defaultMaterial || !absorberMaterial || !gapMaterial) { G4ExceptionDescription msg; msg << "Cannot retrieve materials already defined."; - G4Exception("DetectorConstruction::DefineVolumes()", - "MyCode0001", FatalException, msg); + G4Exception("DetectorConstruction::DefineVolumes()", "MyCode0001", FatalException, msg); } // // World // - auto worldS - = new G4Box("World", // its name - worldSizeXY/2, worldSizeXY/2, worldSizeZ/2); // its size + auto worldS = new G4Box("World", // its name + worldSizeXY / 2, worldSizeXY / 2, worldSizeZ / 2); // its size - auto worldLV - = new G4LogicalVolume( - worldS, // its solid - defaultMaterial, // its material - "World"); // its name + auto worldLV = new G4LogicalVolume(worldS, // its solid + defaultMaterial, // its material + "World"); // its name auto worldPV = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - worldLV, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + worldLV, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Calorimeter // - auto calorimeterS - = new G4Box("Calorimeter", // its name - calorSizeXY/2, calorSizeXY/2, calorThickness/2); // its size + auto calorimeterS = new G4Box("Calorimeter", // its name + calorSizeXY / 2, calorSizeXY / 2, calorThickness / 2); // its size - auto calorLV - = new G4LogicalVolume( - calorimeterS, // its solid - defaultMaterial, // its material - "Calorimeter"); // its name + auto calorLV = new G4LogicalVolume(calorimeterS, // its solid + defaultMaterial, // its material + "Calorimeter"); // its name new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - calorLV, // its logical volume - "Calorimeter", // its name - worldLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + G4ThreeVector(), // at (0,0,0) + calorLV, // its logical volume + "Calorimeter", // its name + worldLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Layer // - auto layerS - = new G4Box("Layer", // its name - calorSizeXY/2, calorSizeXY/2, layerThickness/2); // its size - - auto layerLV - = new G4LogicalVolume( - layerS, // its solid - defaultMaterial, // its material - "Layer"); // its name - - new G4PVReplica( - "Layer", // its name - layerLV, // its logical volume - calorLV, // its mother - kZAxis, // axis of replication - nofLayers, // number of replica - layerThickness); // witdth of replica + auto layerS = new G4Box("Layer", // its name + calorSizeXY / 2, calorSizeXY / 2, layerThickness / 2); // its size + + auto layerLV = new G4LogicalVolume(layerS, // its solid + defaultMaterial, // its material + "Layer"); // its name + + new G4PVReplica("Layer", // its name + layerLV, // its logical volume + calorLV, // its mother + kZAxis, // axis of replication + nofLayers, // number of replica + layerThickness); // witdth of replica // // Absorber // - auto absorberS - = new G4Box("Abso", // its name - calorSizeXY/2, calorSizeXY/2, absoThickness/2); // its size - - auto absorberLV - = new G4LogicalVolume( - absorberS, // its solid - absorberMaterial, // its material - "AbsoLV"); // its name - - new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., -gapThickness / 2), // its position - absorberLV, // its logical volume - "Abso", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto absorberS = new G4Box("Abso", // its name + calorSizeXY / 2, calorSizeXY / 2, absoThickness / 2); // its size + + auto absorberLV = new G4LogicalVolume(absorberS, // its solid + absorberMaterial, // its material + "AbsoLV"); // its name + + new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., -gapThickness / 2), // its position + absorberLV, // its logical volume + "Abso", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // Gap // - auto gapS - = new G4Box("Gap", // its name - calorSizeXY/2, calorSizeXY/2, gapThickness/2); // its size - - auto gapLV - = new G4LogicalVolume( - gapS, // its solid - gapMaterial, // its material - "GapLV"); // its name - - new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0., 0., absoThickness / 2), // its position - gapLV, // its logical volume - "Gap", // its name - layerLV, // its mother volume - false, // no boolean operation - 0, // copy number - fCheckOverlaps); // checking overlaps + auto gapS = new G4Box("Gap", // its name + calorSizeXY / 2, calorSizeXY / 2, gapThickness / 2); // its size + + auto gapLV = new G4LogicalVolume(gapS, // its solid + gapMaterial, // its material + "GapLV"); // its name + + new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0., 0., absoThickness / 2), // its position + gapLV, // its logical volume + "Gap", // its name + layerLV, // its mother volume + false, // no boolean operation + 0, // copy number + fCheckOverlaps); // checking overlaps // // print parameters // - G4cout - << G4endl - << "------------------------------------------------------------" << G4endl - << "---> The calorimeter is " << nofLayers << " layers of: [ " - << absoThickness/mm << "mm of " << absorberMaterial->GetName() - << " + " - << gapThickness/mm << "mm of " << gapMaterial->GetName() << " ] " << G4endl - << "------------------------------------------------------------" << G4endl; + G4cout << G4endl << "------------------------------------------------------------" << G4endl + << "---> The calorimeter is " << nofLayers << " layers of: [ " << absoThickness / mm + << "mm of " << absorberMaterial->GetName() << " + " << gapThickness / mm << "mm of " + << gapMaterial->GetName() << " ] " << G4endl + << "------------------------------------------------------------" << G4endl; // // Visualization attributes @@ -274,10 +249,10 @@ void DetectorConstruction::ConstructSDandField() primitive = new G4PSTrackLength("TrackLength"); auto charged = new G4SDChargedFilter("chargedFilter"); - primitive ->SetFilter(charged); + primitive->SetFilter(charged); absDetector->RegisterPrimitive(primitive); - SetSensitiveDetector("AbsoLV",absDetector); + SetSensitiveDetector("AbsoLV", absDetector); // declare Gap as a MultiFunctionalDetector scorer // @@ -288,10 +263,10 @@ void DetectorConstruction::ConstructSDandField() gapDetector->RegisterPrimitive(primitive); primitive = new G4PSTrackLength("TrackLength"); - primitive ->SetFilter(charged); + primitive->SetFilter(charged); gapDetector->RegisterPrimitive(primitive); - SetSensitiveDetector("GapLV",gapDetector); + SetSensitiveDetector("GapLV", gapDetector); // // Magnetic field @@ -309,4 +284,4 @@ void DetectorConstruction::ConstructSDandField() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4d diff --git a/examples/basic/B4/B4d/src/EventAction.cc b/examples/basic/B4/B4d/src/EventAction.cc index 4a7e98e725f..d19baeec70f 100644 --- a/examples/basic/B4/B4d/src/EventAction.cc +++ b/examples/basic/B4/B4d/src/EventAction.cc @@ -30,13 +30,13 @@ #include "EventAction.hh" #include "G4AnalysisManager.hh" -#include "G4RunManager.hh" #include "G4Event.hh" -#include "G4SDManager.hh" #include "G4HCofThisEvent.hh" +#include "G4RunManager.hh" +#include "G4SDManager.hh" +#include "G4THitsMap.hh" #include "G4UnitsTable.hh" -#include "Randomize.hh" #include namespace B4d @@ -44,19 +44,14 @@ namespace B4d //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4THitsMap* -EventAction::GetHitsCollection(G4int hcID, - const G4Event* event) const +G4THitsMap* EventAction::GetHitsCollection(G4int hcID, const G4Event* event) const { - auto hitsCollection - = static_cast*>( - event->GetHCofThisEvent()->GetHC(hcID)); + auto hitsCollection = static_cast*>(event->GetHCofThisEvent()->GetHC(hcID)); - if ( ! hitsCollection ) { + if (!hitsCollection) { G4ExceptionDescription msg; msg << "Cannot access hitsCollection ID " << hcID; - G4Exception("EventAction::GetHitsCollection()", - "MyCode0003", FatalException, msg); + G4Exception("EventAction::GetHitsCollection()", "MyCode0003", FatalException, msg); } return hitsCollection; @@ -67,7 +62,7 @@ EventAction::GetHitsCollection(G4int hcID, G4double EventAction::GetSum(G4THitsMap* hitsMap) const { G4double sumValue = 0.; - for ( auto it : *hitsMap->GetMap() ) { + for (auto it : *hitsMap->GetMap()) { // hitsMap->GetMap() returns the map of std::map sumValue += *(it.second); } @@ -76,44 +71,32 @@ G4double EventAction::GetSum(G4THitsMap* hitsMap) const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::PrintEventStatistics( - G4double absoEdep, G4double absoTrackLength, - G4double gapEdep, G4double gapTrackLength) const +void EventAction::PrintEventStatistics(G4double absoEdep, G4double absoTrackLength, + G4double gapEdep, G4double gapTrackLength) const { // Print event statistics // - G4cout - << " Absorber: total energy: " - << std::setw(7) << G4BestUnit(absoEdep, "Energy") - << " total track length: " - << std::setw(7) << G4BestUnit(absoTrackLength, "Length") - << G4endl - << " Gap: total energy: " - << std::setw(7) << G4BestUnit(gapEdep, "Energy") - << " total track length: " - << std::setw(7) << G4BestUnit(gapTrackLength, "Length") - << G4endl; + G4cout << " Absorber: total energy: " << std::setw(7) << G4BestUnit(absoEdep, "Energy") + << " total track length: " << std::setw(7) << G4BestUnit(absoTrackLength, "Length") + << G4endl << " Gap: total energy: " << std::setw(7) << G4BestUnit(gapEdep, "Energy") + << " total track length: " << std::setw(7) << G4BestUnit(gapTrackLength, "Length") + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::BeginOfEventAction(const G4Event* /*event*/) -{} +void EventAction::BeginOfEventAction(const G4Event* /*event*/) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::EndOfEventAction(const G4Event* event) { - // Get hist collections IDs - if ( fAbsoEdepHCID == -1 ) { - fAbsoEdepHCID - = G4SDManager::GetSDMpointer()->GetCollectionID("Absorber/Edep"); - fGapEdepHCID - = G4SDManager::GetSDMpointer()->GetCollectionID("Gap/Edep"); - fAbsoTrackLengthHCID - = G4SDManager::GetSDMpointer()->GetCollectionID("Absorber/TrackLength"); - fGapTrackLengthHCID - = G4SDManager::GetSDMpointer()->GetCollectionID("Gap/TrackLength"); + // Get hist collections IDs + if (fAbsoEdepHCID == -1) { + fAbsoEdepHCID = G4SDManager::GetSDMpointer()->GetCollectionID("Absorber/Edep"); + fGapEdepHCID = G4SDManager::GetSDMpointer()->GetCollectionID("Gap/Edep"); + fAbsoTrackLengthHCID = G4SDManager::GetSDMpointer()->GetCollectionID("Absorber/TrackLength"); + fGapTrackLengthHCID = G4SDManager::GetSDMpointer()->GetCollectionID("Gap/TrackLength"); } // Get sum values from hits collections @@ -121,10 +104,8 @@ void EventAction::EndOfEventAction(const G4Event* event) auto absoEdep = GetSum(GetHitsCollection(fAbsoEdepHCID, event)); auto gapEdep = GetSum(GetHitsCollection(fGapEdepHCID, event)); - auto absoTrackLength - = GetSum(GetHitsCollection(fAbsoTrackLengthHCID, event)); - auto gapTrackLength - = GetSum(GetHitsCollection(fGapTrackLengthHCID, event)); + auto absoTrackLength = GetSum(GetHitsCollection(fAbsoTrackLengthHCID, event)); + auto gapTrackLength = GetSum(GetHitsCollection(fGapTrackLengthHCID, event)); // get analysis manager auto analysisManager = G4AnalysisManager::Instance(); @@ -144,16 +125,16 @@ void EventAction::EndOfEventAction(const G4Event* event) analysisManager->FillNtupleDColumn(3, gapTrackLength); analysisManager->AddNtupleRow(); - //print per event (modulo n) + // print per event (modulo n) // auto eventID = event->GetEventID(); auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress(); - if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) { + if ((printModulo > 0) && (eventID % printModulo == 0)) { PrintEventStatistics(absoEdep, absoTrackLength, gapEdep, gapTrackLength); - G4cout << "--> End of event: " << eventID << "\n" << G4endl; + G4cout << "--> End of event: " << eventID << "\n" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4d diff --git a/examples/basic/B4/B4d/src/PrimaryGeneratorAction.cc b/examples/basic/B4/B4d/src/PrimaryGeneratorAction.cc index 17f5fd142af..466983706f1 100644 --- a/examples/basic/B4/B4d/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B4/B4d/src/PrimaryGeneratorAction.cc @@ -29,16 +29,13 @@ #include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4Event.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" -#include "Randomize.hh" +#include "globals.hh" namespace B4 { @@ -52,11 +49,10 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() // default particle kinematic // - auto particleDefinition - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + auto particleDefinition = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particleDefinition); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(300.*MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(300. * MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,7 +64,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) { // This function is called at the begining of event @@ -81,29 +77,27 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // Check that the world volume has box shape G4Box* worldBox = nullptr; - if ( worldLV ) { + if (worldLV) { worldBox = dynamic_cast(worldLV->GetSolid()); } - if ( worldBox ) { + if (worldBox) { worldZHalfLength = worldBox->GetZHalfLength(); } - else { + else { G4ExceptionDescription msg; msg << "World volume of box shape not found." << G4endl; msg << "Perhaps you have changed geometry." << G4endl; msg << "The gun will be place in the center."; - G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", - "MyCode0002", JustWarning, msg); + G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", "MyCode0002", JustWarning, msg); } // Set gun position - fParticleGun - ->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength)); - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(event); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4 diff --git a/examples/basic/B4/B4d/src/RunAction.cc b/examples/basic/B4/B4d/src/RunAction.cc index 41e7971e1ac..9ce6dc99cca 100644 --- a/examples/basic/B4/B4d/src/RunAction.cc +++ b/examples/basic/B4/B4d/src/RunAction.cc @@ -30,10 +30,10 @@ #include "RunAction.hh" #include "G4AnalysisManager.hh" -#include "G4Run.hh" #include "G4RunManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" +#include "globals.hh" namespace B4 { @@ -51,20 +51,20 @@ RunAction::RunAction() auto analysisManager = G4AnalysisManager::Instance(); // Create directories - //analysisManager->SetHistoDirectoryName("histograms"); - //analysisManager->SetNtupleDirectoryName("ntuple"); + // analysisManager->SetHistoDirectoryName("histograms"); + // analysisManager->SetNtupleDirectoryName("ntuple"); analysisManager->SetVerboseLevel(1); analysisManager->SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output + // Note: merging ntuples is available only with Root output // Book histograms, ntuple // // Creating histograms - analysisManager->CreateH1("Eabs","Edep in absorber", 110, 0., 330*MeV); - analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 30*MeV); - analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 50*cm); - analysisManager->CreateH1("Lgap","trackL in gap", 100, 0., 50*cm); + analysisManager->CreateH1("Eabs", "Edep in absorber", 110, 0., 330 * MeV); + analysisManager->CreateH1("Egap", "Edep in gap", 100, 0., 30 * MeV); + analysisManager->CreateH1("Labs", "trackL in absorber", 100, 0., 50 * cm); + analysisManager->CreateH1("Lgap", "trackL in gap", 100, 0., 50 * cm); // Creating ntuple // @@ -80,8 +80,8 @@ RunAction::RunAction() void RunAction::BeginOfRunAction(const G4Run* /*run*/) { - //inform the runManager to save random number seed - //G4RunManager::GetRunManager()->SetRandomNumberStore(true); + // inform the runManager to save random number seed + // G4RunManager::GetRunManager()->SetRandomNumberStore(true); // Get analysis manager auto analysisManager = G4AnalysisManager::Instance(); @@ -104,34 +104,26 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/) // print histogram statistics // auto analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->GetH1(1) ) { + if (analysisManager->GetH1(1)) { G4cout << G4endl << " ----> print histograms statistic "; - if(isMaster) { + if (isMaster) { G4cout << "for the entire run " << G4endl << G4endl; } else { G4cout << "for the local thread " << G4endl << G4endl; } - G4cout << " EAbs : mean = " - << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; - - G4cout << " EGap : mean = " - << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; - - G4cout << " LAbs : mean = " - << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; - - G4cout << " LGap : mean = " - << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") - << " rms = " - << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; + G4cout << " EAbs : mean = " << G4BestUnit(analysisManager->GetH1(0)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(0)->rms(), "Energy") << G4endl; + + G4cout << " EGap : mean = " << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") + << " rms = " << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl; + + G4cout << " LAbs : mean = " << G4BestUnit(analysisManager->GetH1(2)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(2)->rms(), "Length") << G4endl; + + G4cout << " LGap : mean = " << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length") + << " rms = " << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl; } // save histograms & ntuple @@ -142,4 +134,4 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B4 diff --git a/examples/basic/B5/exampleB5.cc b/examples/basic/B5/exampleB5.cc index ad090f8b69a..11ea67f5791 100644 --- a/examples/basic/B5/exampleB5.cc +++ b/examples/basic/B5/exampleB5.cc @@ -27,26 +27,27 @@ /// \file exampleB5.cc /// \brief Main program of the basic B5 example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" +#include "G4StepLimiterPhysics.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "FTFP_BERT.hh" -#include "G4StepLimiterPhysics.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Use G4SteppingVerboseWithUnits G4int precision = 4; @@ -54,8 +55,7 @@ int main(int argc,char** argv) // Construct the default run manager // - auto runManager = - G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); + auto runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); // Mandatory user initialization classes runManager->SetUserInitialization(new B5::DetectorConstruction); @@ -76,16 +76,16 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager auto UImanager = G4UImanager::GetUIpointer(); - if ( !ui ) { + if (!ui) { // execute an argument macro file if exist G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { UImanager->ApplyCommand("/control/execute init_vis.mac"); if (ui->IsGUI()) { - UImanager->ApplyCommand("/control/execute gui.mac"); + UImanager->ApplyCommand("/control/execute gui.mac"); } // start interactive session ui->SessionStart(); diff --git a/examples/basic/B5/exampleB5.out b/examples/basic/B5/exampleB5.out index 6f1fed5d789..4db3dbbe887 100644 --- a/examples/basic/B5/exampleB5.out +++ b/examples/basic/B5/exampleB5.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -374,7 +381,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -929,7 +936,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -960,65 +967,43 @@ Setting was ignored. Hodoscope 1 has 1 hits. Hodoscope[7] 4.9870027260872 (nsec) Hodoscope 2 has 0 hits. -Drift Chamber 1 has 56 hits. - Layer[0] : time 6.6721589964328 (nsec) --- local (x,y) -1.4822035449926, -9.6734357591965 - Layer[0] : time 6.6728214323741 (nsec) --- local (x,y) -11.92467629837, 16.946813885429 - Layer[0] : time 6.820322754587 (nsec) --- local (x,y) -63.907031131929, 200.19519230766 - Layer[0] : time 6.7027285905631 (nsec) --- local (x,y) 79.30917165189, 25.710340032627 - Layer[0] : time 6.6745713618676 (nsec) --- local (x,y) -17.385881193975, 9.5681747175665 - Layer[0] : time 6.6730970255536 (nsec) --- local (x,y) 4.4908777531255, 20.213347743627 - Layer[0] : time 6.6755754490768 (nsec) --- local (x,y) -9.3190275570977, -30.913866753807 - Layer[0] : time 6.6753094695141 (nsec) --- local (x,y) -30.996124292565, -13.33806340635 - Layer[0] : time 6.9858991557382 (nsec) --- local (x,y) 196.50900023113, 64.238297592603 - Layer[0] : time 6.6953818768575 (nsec) --- local (x,y) 41.171038374958, 51.182762506305 - Layer[0] : time 6.8212159723676 (nsec) --- local (x,y) 25.226774852983, -143.95979511747 - Layer[0] : time 6.6952650658329 (nsec) --- local (x,y) 16.908369166641, -34.156433346216 - Layer[1] : time 8.3409636616684 (nsec) --- local (x,y) -2.962935526074, -19.289206807017 - Layer[1] : time 8.3422850894053 (nsec) --- local (x,y) -23.783001733188, 33.772096521023 - Layer[1] : time 8.4018987467201 (nsec) --- local (x,y) 158.0767975453, 51.234540016437 - Layer[1] : time 8.3457727194237 (nsec) --- local (x,y) -34.641633294665, 19.106476864636 - Layer[1] : time 8.3428390333866 (nsec) --- local (x,y) 8.971892166439, 40.315899264599 - Layer[1] : time 8.3477642938147 (nsec) --- local (x,y) -18.59305495452, -61.576180510201 - Layer[1] : time 8.3472330314166 (nsec) --- local (x,y) -61.740770023215, -26.583225824258 - Layer[1] : time 9.0297380909185 (nsec) --- local (x,y) 404.40626126422, 111.7628042911 - Layer[1] : time 8.3873027247107 (nsec) --- local (x,y) 82.169414794134, 102.06133529257 - Layer[1] : time 8.6384554487608 (nsec) --- local (x,y) 49.978247028489, -287.35641601075 - Layer[1] : time 8.3870555381136 (nsec) --- local (x,y) 33.602294766451, -68.285121046052 - Layer[2] : time 10.009774079774 (nsec) --- local (x,y) -4.446728136116, -28.993221997734 - Layer[2] : time 10.179703402899 (nsec) --- local (x,y) -29.901897835139, -3.0200695790158 - Layer[2] : time 10.011744611882 (nsec) --- local (x,y) -35.634407202718, 50.565299476307 - Layer[2] : time 10.101069486551 (nsec) --- local (x,y) 236.84027426897, 76.774139994253 - Layer[2] : time 10.016979476583 (nsec) --- local (x,y) -51.952264811058, 28.627930212116 - Layer[2] : time 38.230012191908 (nsec) --- local (x,y) -944.14675704807, 184.73667450251 - Layer[2] : time 10.012580299493 (nsec) --- local (x,y) 13.474334357316, 60.407990021442 - Layer[2] : time 10.019930504501 (nsec) --- local (x,y) -27.933887738251, -92.106835250551 - Layer[2] : time 10.01914877412 (nsec) --- local (x,y) -92.448353766575, -39.825536839607 - Layer[2] : time 11.073122248637 (nsec) --- local (x,y) 611.85474659409, 158.94793895021 - Layer[2] : time 10.079267375027 (nsec) --- local (x,y) 123.15899689696, 153.07193219135 - Layer[2] : time 10.079108622575 (nsec) --- local (x,y) 50.644578407598, -103.35490364254 - Layer[3] : time 11.678587454415 (nsec) --- local (x,y) -5.8860981464493, -38.748348557519 - Layer[3] : time 11.681203400946 (nsec) --- local (x,y) -47.487638601192, 67.350601580674 - Layer[3] : time 11.800243787949 (nsec) --- local (x,y) 315.60599137348, 102.32650244303 - Layer[3] : time 11.688178271698 (nsec) --- local (x,y) -69.189551223233, 38.155360398192 - Layer[3] : time 36.514514191772 (nsec) --- local (x,y) -826.89001101978, 175.35180210625 - Layer[3] : time 11.682322562905 (nsec) --- local (x,y) 17.974556330743, 80.507901537563 - Layer[3] : time 11.692097283437 (nsec) --- local (x,y) -37.28374175156, -122.63723096662 - Layer[3] : time 11.691064448954 (nsec) --- local (x,y) -123.15820236794, -53.061681643303 - Layer[3] : time 13.11629828133 (nsec) --- local (x,y) 819.23101464669, 204.90447526489 - Layer[3] : time 11.771233154337 (nsec) --- local (x,y) 164.22042688957, 204.02384714385 - Layer[3] : time 11.771156339646 (nsec) --- local (x,y) 67.676312822778, -138.39139073625 - Layer[4] : time 13.34739763645 (nsec) --- local (x,y) -7.3597618278446, -48.448805388767 - Layer[4] : time 13.350662156193 (nsec) --- local (x,y) -59.341524744508, 84.135080149002 - Layer[4] : time 13.499401348537 (nsec) --- local (x,y) 394.34278579753, 127.86776226177 - Layer[4] : time 13.359389558482 (nsec) --- local (x,y) -86.477070268959, 47.785610606849 - Layer[4] : time 34.798957558282 (nsec) --- local (x,y) -709.55598234197, 165.96642414382 - Layer[4] : time 13.352065602433 (nsec) --- local (x,y) 22.472483390995, 100.61388426981 - Layer[4] : time 13.36427940107 (nsec) --- local (x,y) -46.713329953043, -153.21824587856 - Layer[4] : time 13.362987798808 (nsec) --- local (x,y) -153.9134727608, -66.279320249838 - Layer[4] : time 13.463175883266 (nsec) --- local (x,y) 205.18785966643, 254.97876757263 - Layer[4] : time 13.46316603725 (nsec) --- local (x,y) 84.523863898885, -173.34098452002 +Drift Chamber 1 has 34 hits. + Layer[0] : time 6.6726483777458 (nsec) --- local (x,y) -2.670535957086, -15.459053892831 + Layer[0] : time 6.6724364438581 (nsec) --- local (x,y) -13.23780862396, 11.700787877165 + Layer[0] : time 6.7007314325618 (nsec) --- local (x,y) 24.720678661792, 72.55430677598 + Layer[0] : time 6.6746364704571 (nsec) --- local (x,y) -10.985158643528, -17.637883173522 + Layer[0] : time 6.6730472864275 (nsec) --- local (x,y) -19.404032595146, 5.5189721190572 + Layer[0] : time 6.9266659511772 (nsec) --- local (x,y) -149.19886338227, -143.37147151472 + Layer[0] : time 6.6951976041626 (nsec) --- local (x,y) -17.297275022687, -63.322804462041 + Layer[0] : time 6.7888806014905 (nsec) --- local (x,y) -20.111069201463, -160.77906025403 + Layer[0] : time 6.818604417594 (nsec) --- local (x,y) -127.37502702727, -85.362878844913 + Layer[1] : time 8.3419372616408 (nsec) --- local (x,y) -5.3332073099432, -30.802133406915 + Layer[1] : time 8.3415176165109 (nsec) --- local (x,y) -26.390080633209, 23.326526720805 + Layer[1] : time 8.3979088565519 (nsec) --- local (x,y) 49.282198983599, 144.58714542264 + Layer[1] : time 8.3458876712761 (nsec) --- local (x,y) -21.859635320069, -35.069195575231 + Layer[1] : time 8.3427336053094 (nsec) --- local (x,y) -38.674938512116, 10.999108474538 + Layer[1] : time 8.8478629023622 (nsec) --- local (x,y) -297.99883911916, -284.63633515014 + Layer[1] : time 8.3868059018484 (nsec) --- local (x,y) -34.337423084557, -126.06141036647 + Layer[1] : time 8.6326062030466 (nsec) --- local (x,y) -253.83896982921, -169.7212111701 + Layer[2] : time 10.011225033619 (nsec) --- local (x,y) -7.9895583635407, -46.135170769761 + Layer[2] : time 10.01059699837 (nsec) --- local (x,y) -39.544037574704, 34.927161466643 + Layer[2] : time 10.095073608334 (nsec) --- local (x,y) 73.847802219364, 216.5914881433 + Layer[2] : time 10.017158870351 (nsec) --- local (x,y) -32.826710887442, -52.611822916749 + Layer[2] : time 10.012419985165 (nsec) --- local (x,y) -57.933979073616, 16.521774472672 + Layer[2] : time 10.078298403532 (nsec) --- local (x,y) -51.05325756474, -188.60253278252 + Layer[2] : time 10.445925203612 (nsec) --- local (x,y) -379.99270523119, -253.28064639878 + Layer[3] : time 11.680508403759 (nsec) --- local (x,y) -10.598675463029, -61.432985776839 + Layer[3] : time 11.679674022053 (nsec) --- local (x,y) -52.678591797351, 46.519214687581 + Layer[3] : time 11.792239835867 (nsec) --- local (x,y) 98.406138266742, 288.60074937808 + Layer[3] : time 11.688484723609 (nsec) --- local (x,y) -43.987877415929, -70.495756737718 + Layer[3] : time 11.682103339446 (nsec) --- local (x,y) -77.161785798256, 22.070482154642 + Layer[3] : time 11.769767390493 (nsec) --- local (x,y) -67.679283060943, -251.10823799979 + Layer[4] : time 13.349791951958 (nsec) --- local (x,y) -13.180543780017, -76.736903122195 + Layer[4] : time 13.348747335519 (nsec) --- local (x,y) -65.785613619161, 58.094357305148 + Layer[4] : time 13.359795786022 (nsec) --- local (x,y) -55.032106933021, -88.327164570999 + Layer[4] : time 13.351788490385 (nsec) --- local (x,y) -96.391692871751, 27.659586492481 Drift Chamber 2 has 0 hits. -EM Calorimeter has 0 hits. Total Edep is 0 (MeV) +EM Calorimeter has 8 hits. Total Edep is 1330.2273843407 (MeV) Hadron Calorimeter has 0 hits. Total Edep is 0 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done @@ -1036,28 +1021,35 @@ There are histograms that can be viewed with visualization: ... open analysis file : B5.root - done --> Event 0 starts. ->>> Event 0 >>> Simulation truth : pi+ (-0,0,100000) +>>> Event 0 >>> Simulation truth : pi+ (0,0,100000) Hodoscope 1 has 1 hits. - Hodoscope[7] 4.9867880803686 (nsec) -Hodoscope 2 has 3 hits. - Hodoscope[10] 42.693649641004 (nsec) - Hodoscope[6] 197.74973267955 (nsec) - Hodoscope[19] 330.57125766074 (nsec) + Hodoscope[7] 4.9867880803883 (nsec) +Hodoscope 2 has 10 hits. + Hodoscope[10] 42.693776378762 (nsec) + Hodoscope[21] 277.31081302495 (nsec) + Hodoscope[15] 55.873792498349 (nsec) + Hodoscope[11] 432.42272832113 (nsec) + Hodoscope[3] 445.37425939279 (nsec) + Hodoscope[4] 344.76454843821 (nsec) + Hodoscope[6] 56.071344077312 (nsec) + Hodoscope[23] 354.28393498159 (nsec) + Hodoscope[16] 527.29893705636 (nsec) + Hodoscope[13] 437.50952698677 (nsec) Drift Chamber 1 has 6 hits. - Layer[0] : time 6.6709548384743 (nsec) --- local (x,y) -0.012564933216036, 0.007866177926627 - Layer[1] : time 8.3387769398974 (nsec) --- local (x,y) -0.028931447680493, 0.010539167128364 - Layer[2] : time 10.006599041186 (nsec) --- local (x,y) -0.043557151747646, 0.01490744741792 - Layer[3] : time 11.674421142342 (nsec) --- local (x,y) -0.056262825061967, 0.020481508839876 - Layer[4] : time 13.342243243339 (nsec) --- local (x,y) -0.067405755386409, 0.023947939695749 - Layer[4] : time 13.834324793052 (nsec) --- local (x,y) -209.67646572764, -115.6486101701 + Layer[0] : time 6.6709548381997 (nsec) --- local (x,y) -0.002682465132296, 0.0062123828560278 + Layer[0] : time 6.8983882452069 (nsec) --- local (x,y) -72.650122610623, 250.07943892006 + Layer[1] : time 8.3387769394958 (nsec) --- local (x,y) -0.0054707039837512, 0.019902898989213 + Layer[2] : time 10.006599040766 (nsec) --- local (x,y) -0.010167442711037, 0.032725837248744 + Layer[3] : time 11.674421141944 (nsec) --- local (x,y) -0.014068348299887, 0.044648782490179 + Layer[4] : time 13.342243243137 (nsec) --- local (x,y) -0.018911672191209, 0.056301006563936 Drift Chamber 2 has 5 hits. - Layer[0] : time 34.366343359515 (nsec) --- local (x,y) -82.691675424759, 0.069128989656796 - Layer[1] : time 36.035074941749 (nsec) --- local (x,y) -99.206208706362, 0.069455992938329 - Layer[2] : time 37.703806326176 (nsec) --- local (x,y) -115.71894544954, 0.069155082521461 - Layer[3] : time 39.372538337907 (nsec) --- local (x,y) -132.23737747472, 0.065989309783318 - Layer[4] : time 41.041270845161 (nsec) --- local (x,y) -148.76030852486, 0.061416145800082 -EM Calorimeter has 57 hits. Total Edep is 1142.575416269 (MeV) -Hadron Calorimeter has 15 hits. Total Edep is 3942.7745814578 (MeV) + Layer[0] : time 34.366460711945 (nsec) --- local (x,y) -82.787696455557, 0.19450595441458 + Layer[1] : time 36.035194662319 (nsec) --- local (x,y) -99.323720581466, 0.1990617006355 + Layer[2] : time 37.703928811244 (nsec) --- local (x,y) -115.86154576292, 0.20197002738172 + Layer[3] : time 39.372662759407 (nsec) --- local (x,y) -132.39755023373, 0.20441553494352 + Layer[4] : time 41.04139639115 (nsec) --- local (x,y) -148.93068469023, 0.20540122778311 +EM Calorimeter has 70 hits. Total Edep is 17852.510954768 (MeV) +Hadron Calorimeter has 18 hits. Total Edep is 3491.4427191217 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done @@ -1076,24 +1068,25 @@ There are histograms that can be viewed with visualization: >>> Event 0 >>> Simulation truth : e+ (-0,0,100000) Hodoscope 1 has 1 hits. - Hodoscope[7] 4.9867832233226 (nsec) + Hodoscope[7] 4.9867832233112 (nsec) Hodoscope 2 has 1 hits. - Hodoscope[9] 43.185848553056 (nsec) -Drift Chamber 1 has 5 hits. - Layer[0] : time 6.6709483410564 (nsec) --- local (x,y) -0.0047743732727774, 0.011356748444902 - Layer[1] : time 8.3387688178547 (nsec) --- local (x,y) -0.0099045019833213, 0.025812638205056 - Layer[2] : time 10.006589294915 (nsec) --- local (x,y) -0.015754135524696, 0.042508367670453 - Layer[3] : time 11.674409772233 (nsec) --- local (x,y) -0.021901005073573, 0.061305912520884 - Layer[4] : time 13.34223024966 (nsec) --- local (x,y) -0.027398680506712, 0.081140722569001 + Hodoscope[9] 43.186002215912 (nsec) +Drift Chamber 1 has 6 hits. + Layer[0] : time 6.670948340625 (nsec) --- local (x,y) 0.0073211601586285, 0.013184225918185 + Layer[0] : time 9.8122797492774 (nsec) --- local (x,y) 312.71134569564, 284.81004195729 + Layer[1] : time 8.3387688171895 (nsec) --- local (x,y) 0.0098260138838844, 0.025734973476443 + Layer[2] : time 10.006589293717 (nsec) --- local (x,y) 0.010605902796119, 0.038054218070042 + Layer[3] : time 11.674409770463 (nsec) --- local (x,y) 0.010815725734307, 0.052876709723874 + Layer[4] : time 13.342230247337 (nsec) --- local (x,y) 0.013009619247829, 0.068783939190756 Drift Chamber 2 has 6 hits. - Layer[0] : time 34.848591802078 (nsec) --- local (x,y) -147.6342136119, 0.306853664945 - Layer[1] : time 36.519317837246 (nsec) --- local (x,y) -177.16086742212, 0.32061388621719 - Layer[2] : time 38.190043893631 (nsec) --- local (x,y) -206.68762765944, 0.33723593555939 - Layer[3] : time 39.860769660351 (nsec) --- local (x,y) -236.21291535254, 0.35273560365648 - Layer[3] : time 40.379439971992 (nsec) --- local (x,y) -176.77725255764, 26.991008689086 - Layer[4] : time 41.531495604721 (nsec) --- local (x,y) -265.73910367421, 0.37297276277405 -EM Calorimeter has 48 hits. Total Edep is 81343.746913814 (MeV) -Hadron Calorimeter has 7 hits. Total Edep is 123.638701527 (MeV) + Layer[0] : time 34.848759153407 (nsec) --- local (x,y) -147.50796217691, 0.2246569071903 + Layer[0] : time 34.863435375881 (nsec) --- local (x,y) -148.97926606319, -4.8232355454257 + Layer[1] : time 36.519482832009 (nsec) --- local (x,y) -177.02262981075, 0.23718191943914 + Layer[2] : time 38.190206227092 (nsec) --- local (x,y) -206.53585636471, 0.24590834880824 + Layer[3] : time 39.860928973385 (nsec) --- local (x,y) -236.04578202111, 0.25401929413388 + Layer[4] : time 41.531651938048 (nsec) --- local (x,y) -265.55681902607, 0.26081352705045 +EM Calorimeter has 49 hits. Total Edep is 76401.581521515 (MeV) +Hadron Calorimeter has 7 hits. Total Edep is 210.27083725289 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done @@ -1112,23 +1105,25 @@ There are histograms that can be viewed with visualization: >>> Event 0 >>> Simulation truth : proton (-0,0,10000) Hodoscope 1 has 1 hits. - Hodoscope[7] 5.0086864583541 (nsec) -Hodoscope 2 has 1 hits. - Hodoscope[9] 43.373958825678 (nsec) -Drift Chamber 1 has 5 hits. - Layer[0] : time 6.700254010437 (nsec) --- local (x,y) -0.080604475329773, 0.20040501931477 - Layer[1] : time 8.3754052935081 (nsec) --- local (x,y) -0.13899785990349, 0.30962288168873 - Layer[2] : time 10.05055671955 (nsec) --- local (x,y) -0.19645076036912, 0.41349959930053 - Layer[3] : time 11.725708300347 (nsec) --- local (x,y) -0.29182451321001, 0.52607860397482 - Layer[4] : time 13.400860094904 (nsec) --- local (x,y) -0.4066069041044, 0.63589688182847 + Hodoscope[7] 5.0086863284267 (nsec) +Hodoscope 2 has 2 hits. + Hodoscope[9] 43.375683330743 (nsec) + Hodoscope[11] 167.0696713933 (nsec) +Drift Chamber 1 has 6 hits. + Layer[0] : time 6.7002543381721 (nsec) --- local (x,y) 0.061699955795404, 0.13367778139925 + Layer[0] : time 6.9856455219212 (nsec) --- local (x,y) -214.37744560602, -58.151419376056 + Layer[1] : time 8.3754061149888 (nsec) --- local (x,y) 0.095134965797631, 0.15163072174932 + Layer[2] : time 10.050558032821 (nsec) --- local (x,y) 0.10184023469292, 0.14259846746547 + Layer[3] : time 11.725710156547 (nsec) --- local (x,y) 0.065130155847375, 0.10109565903693 + Layer[4] : time 13.400862454082 (nsec) --- local (x,y) 0.012542485167561, 0.069696686791965 Drift Chamber 2 has 5 hits. - Layer[0] : time 34.999909305647 (nsec) --- local (x,y) -149.28477085256, 0.77265055289576 - Layer[1] : time 36.678002632239 (nsec) --- local (x,y) -178.91919269018, 0.69364407042384 - Layer[2] : time 38.356098373132 (nsec) --- local (x,y) -208.56447255031, 0.59995854762277 - Layer[3] : time 40.034199209742 (nsec) --- local (x,y) -238.23426857593, 0.51894717644812 - Layer[4] : time 41.712299575113 (nsec) --- local (x,y) -267.90043927745, 0.43969236952927 -EM Calorimeter has 41 hits. Total Edep is 322.64128980258 (MeV) -Hadron Calorimeter has 10 hits. Total Edep is 378.88362068771 (MeV) + Layer[0] : time 35.00161826807 (nsec) --- local (x,y) -148.215910084, 0.064369430189429 + Layer[1] : time 36.679712005433 (nsec) --- local (x,y) -177.84766387749, 0.11131009603679 + Layer[2] : time 38.357812947108 (nsec) --- local (x,y) -207.51499347779, 0.1717486083707 + Layer[3] : time 40.035915288661 (nsec) --- local (x,y) -237.18858466969, 0.29177227374236 + Layer[4] : time 41.714021565584 (nsec) --- local (x,y) -266.88125849306, 0.40198631631247 +EM Calorimeter has 44 hits. Total Edep is 3336.5504212072 (MeV) +Hadron Calorimeter has 13 hits. Total Edep is 83.793786862242 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done @@ -1145,25 +1140,22 @@ There are histograms that can be viewed with visualization: ... open analysis file : B5.root - done --> Event 0 starts. ->>> Event 0 >>> Simulation truth : pi+ (0,0,10000) +>>> Event 0 >>> Simulation truth : pi+ (-0,0,10000) Hodoscope 1 has 1 hits. - Hodoscope[7] 4.987268929493 (nsec) -Hodoscope 2 has 1 hits. - Hodoscope[10] 42.700591618656 (nsec) -Drift Chamber 1 has 5 hits. - Layer[0] : time 6.671598555074 (nsec) --- local (x,y) 0.14156993146394, 0.014142204394384 - Layer[1] : time 8.3395819437515 (nsec) --- local (x,y) 0.2547102118336, -0.017420240144924 - Layer[2] : time 10.007565326997 (nsec) --- local (x,y) 0.355902424217, -0.041634467094993 - Layer[3] : time 11.675548702134 (nsec) --- local (x,y) 0.44041814526411, -0.055987738239863 - Layer[4] : time 13.343532085372 (nsec) --- local (x,y) 0.53371099692729, -0.047019446057488 -Drift Chamber 2 has 5 hits. - Layer[0] : time 34.372002432762 (nsec) --- local (x,y) -85.920266678061, -1.015864969874 - Layer[1] : time 36.040993167937 (nsec) --- local (x,y) -103.29915735297, -1.1716412817074 - Layer[2] : time 37.709982098382 (nsec) --- local (x,y) -120.66247463685, -1.3235178043638 - Layer[3] : time 39.378972902783 (nsec) --- local (x,y) -138.04189106656, -1.4811061577737 - Layer[4] : time 41.047960458957 (nsec) --- local (x,y) -155.39309938047, -1.6524310317859 -EM Calorimeter has 38 hits. Total Edep is 3621.9414544828 (MeV) -Hadron Calorimeter has 10 hits. Total Edep is 159.43856945724 (MeV) + Hodoscope[7] 4.9872689240519 (nsec) +Hodoscope 2 has 0 hits. +Drift Chamber 1 has 8 hits. + Layer[0] : time 9.6401713841559 (nsec) --- local (x,y) 710.6646447744, 42.987480887565 + Layer[0] : time 9.8390975052805 (nsec) --- local (x,y) 133.39514901258, 285.38162769857 + Layer[0] : time 6.6764363922637 (nsec) --- local (x,y) -17.704214866223, -26.647240764308 + Layer[0] : time 12.245613277157 (nsec) --- local (x,y) 658.12078579518, 11.286923074097 + Layer[1] : time 8.3492931100349 (nsec) --- local (x,y) -35.628173991906, -53.451032789776 + Layer[2] : time 10.022170667797 (nsec) --- local (x,y) -53.641689364472, -80.310818909386 + Layer[3] : time 11.695055245156 (nsec) --- local (x,y) -71.636226834283, -107.22182786876 + Layer[4] : time 13.367942633087 (nsec) --- local (x,y) -89.714333400313, -134.09197032737 +Drift Chamber 2 has 0 hits. +EM Calorimeter has 0 hits. Total Edep is 0 (MeV) +Hadron Calorimeter has 0 hits. Total Edep is 0 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done @@ -1182,24 +1174,24 @@ There are histograms that can be viewed with visualization: >>> Event 0 >>> Simulation truth : e+ (0,0,10000) Hodoscope 1 has 1 hits. - Hodoscope[7] 4.9867832450551 (nsec) -Hodoscope 2 has 2 hits. - Hodoscope[9] 43.190901007661 (nsec) - Hodoscope[19] 350.40549268189 (nsec) -Drift Chamber 1 has 5 hits. - Layer[0] : time 6.6709485048277 (nsec) --- local (x,y) 0.25605417449134, -0.045118934508723 - Layer[1] : time 8.3387691714772 (nsec) --- local (x,y) 0.48800515593711, 0.005625589485922 - Layer[2] : time 10.006589815111 (nsec) --- local (x,y) 0.70502626196937, 0.054611759169878 - Layer[3] : time 11.674410458874 (nsec) --- local (x,y) 0.92165209627348, 0.10665364356059 - Layer[4] : time 13.34223111523 (nsec) --- local (x,y) 1.1428028215122, 0.17198554708176 + Hodoscope[7] 4.9867832405997 (nsec) +Hodoscope 2 has 1 hits. + Hodoscope[9] 43.182800390766 (nsec) +Drift Chamber 1 has 6 hits. + Layer[0] : time 6.6709484551684 (nsec) --- local (x,y) -0.22090305053347, 0.066588872793262 + Layer[1] : time 8.3387690461902 (nsec) --- local (x,y) -0.36924457881958, 0.17498975959799 + Layer[2] : time 10.006589645974 (nsec) --- local (x,y) -0.53419078543706, 0.27107912552322 + Layer[3] : time 11.674410244719 (nsec) --- local (x,y) -0.70207018328634, 0.3599249414491 + Layer[4] : time 13.342230840744 (nsec) --- local (x,y) -0.8511332755974, 0.473496820504 + Layer[4] : time 13.997855839059 (nsec) --- local (x,y) 111.25988038367, -217.31047115656 Drift Chamber 2 has 5 hits. - Layer[0] : time 34.85353597247 (nsec) --- local (x,y) -145.40548046639, 1.863671028296 - Layer[1] : time 36.524287563919 (nsec) --- local (x,y) -175.06103538054, 2.0777658413771 - Layer[2] : time 38.195035697592 (nsec) --- local (x,y) -204.69904579892, 2.2960646997014 - Layer[3] : time 39.865786125844 (nsec) --- local (x,y) -234.34856897763, 2.5289654174187 - Layer[4] : time 41.536529636178 (nsec) --- local (x,y) -263.96295849009, 2.7714414554343 -EM Calorimeter has 23 hits. Total Edep is 9595.1335701371 (MeV) -Hadron Calorimeter has 2 hits. Total Edep is 4.9114005815533 (MeV) + Layer[0] : time 34.845535364772 (nsec) --- local (x,y) -149.59879458049, 1.9563998487088 + Layer[1] : time 36.516262971347 (nsec) --- local (x,y) -179.1332840874, 2.0491820954648 + Layer[2] : time 38.186991205514 (nsec) --- local (x,y) -208.67098982402, 2.1333217170481 + Layer[3] : time 39.857716556029 (nsec) --- local (x,y) -238.19397508757, 2.235793645926 + Layer[4] : time 41.528442278096 (nsec) --- local (x,y) -267.71886149383, 2.3340750050045 +EM Calorimeter has 18 hits. Total Edep is 9422.5150523877 (MeV) +Hadron Calorimeter has 2 hits. Total Edep is 1.7568025649655 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done @@ -1216,27 +1208,25 @@ There are histograms that can be viewed with visualization: ... open analysis file : B5.root - done --> Event 0 starts. ->>> Event 0 >>> Simulation truth : proton (-0,0,1000) +>>> Event 0 >>> Simulation truth : proton (0,0,1000) Hodoscope 1 has 1 hits. - Hodoscope[7] 6.8390085809004 (nsec) + Hodoscope[7] 6.8391001829207 (nsec) Hodoscope 2 has 1 hits. - Hodoscope[8] 59.389647043886 (nsec) -Drift Chamber 1 has 7 hits. - Layer[0] : time 9.1545559121732 (nsec) --- local (x,y) -1.1025366266271, 0.44503777748203 - Layer[1] : time 11.448065499954 (nsec) --- local (x,y) -1.7997508862323, 0.47352479817837 - Layer[1] : time 11.501528778405 (nsec) --- local (x,y) 85.791388208765, 19.187634894322 - Layer[2] : time 13.742248007633 (nsec) --- local (x,y) -2.9445821234758, 0.1845061452325 - Layer[2] : time 14.222644776212 (nsec) --- local (x,y) 334.06924434064, 88.094159663268 - Layer[3] : time 16.036653184904 (nsec) --- local (x,y) -4.137557207698, 0.06246099035273 - Layer[4] : time 18.331277484932 (nsec) --- local (x,y) -4.8997455095607, 0.10034696819956 + Hodoscope[9] 59.388193743042 (nsec) +Drift Chamber 1 has 5 hits. + Layer[0] : time 9.1528621049605 (nsec) --- local (x,y) 0.32482730163322, -2.4357003316704 + Layer[1] : time 11.444459007444 (nsec) --- local (x,y) 0.2528682274619, -4.3611803672758 + Layer[2] : time 13.736307927339 (nsec) --- local (x,y) 0.22120964659181, -6.3076631384454 + Layer[3] : time 16.028408290254 (nsec) --- local (x,y) 0.30987950108901, -8.5806046234649 + Layer[4] : time 18.320700311448 (nsec) --- local (x,y) 0.63536370744962, -10.80852521507 Drift Chamber 2 has 5 hits. - Layer[0] : time 47.893370883085 (nsec) --- local (x,y) -189.14658443857, 24.148406139458 - Layer[1] : time 50.196429563071 (nsec) --- local (x,y) -222.31450168978, 27.099308584782 - Layer[2] : time 52.499839748856 (nsec) --- local (x,y) -255.52298176283, 30.265957200367 - Layer[3] : time 54.803625186475 (nsec) --- local (x,y) -289.00211239269, 33.113650869895 - Layer[4] : time 57.107813719588 (nsec) --- local (x,y) -322.84675421033, 35.857732538507 -EM Calorimeter has 6 hits. Total Edep is 301.17517895635 (MeV) -Hadron Calorimeter has 4 hits. Total Edep is 6.2447979602919 (MeV) + Layer[0] : time 47.908009317685 (nsec) --- local (x,y) -155.01112697814, -34.745530130759 + Layer[1] : time 50.208378964652 (nsec) --- local (x,y) -186.55262032559, -36.809167253659 + Layer[2] : time 52.508933427837 (nsec) --- local (x,y) -218.08505590067, -38.725720148306 + Layer[3] : time 54.809347877503 (nsec) --- local (x,y) -248.37458533036, -40.120353889959 + Layer[4] : time 57.109935673283 (nsec) --- local (x,y) -278.15707288549, -41.330960828909 +EM Calorimeter has 6 hits. Total Edep is 364.36642792611 (MeV) +Hadron Calorimeter has 1 hits. Total Edep is 0.31811752647332 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done @@ -1255,23 +1245,23 @@ There are histograms that can be viewed with visualization: >>> Event 0 >>> Simulation truth : pi+ (-0,0,1000) Hodoscope 1 has 1 hits. - Hodoscope[7] 5.0351329352219 (nsec) + Hodoscope[7] 5.0351318078072 (nsec) Hodoscope 2 has 1 hits. - Hodoscope[10] 43.092237104992 (nsec) + Hodoscope[10] 43.072896590196 (nsec) Drift Chamber 1 has 5 hits. - Layer[0] : time 6.735695081763 (nsec) --- local (x,y) -0.36083548706362, -0.81294437704916 - Layer[1] : time 8.419756646312 (nsec) --- local (x,y) -0.77735820896473, -1.1550057955732 - Layer[2] : time 10.103821551468 (nsec) --- local (x,y) -1.2336948834428, -1.298829338105 - Layer[3] : time 11.787889785467 (nsec) --- local (x,y) -1.6005589359156, -1.4750632855232 - Layer[4] : time 13.471961289751 (nsec) --- local (x,y) -2.1637438855601, -1.6528312369168 + Layer[0] : time 6.7356923333028 (nsec) --- local (x,y) -0.85873375950705, 1.6341856338631 + Layer[1] : time 8.4197550753428 (nsec) --- local (x,y) -1.3130141551809, 3.5622457876611 + Layer[2] : time 10.103818545477 (nsec) --- local (x,y) -1.6766366175687, 5.3749721386629 + Layer[3] : time 11.787884116455 (nsec) --- local (x,y) -2.1285577151727, 7.1093526761477 + Layer[4] : time 13.471955975347 (nsec) --- local (x,y) -3.1745188564809, 8.8945187605438 Drift Chamber 2 has 5 hits. - Layer[0] : time 34.683278071473 (nsec) --- local (x,y) -91.124120128253, -0.19235132996835 - Layer[1] : time 36.368377521842 (nsec) --- local (x,y) -108.2296713104, 0.56180503268855 - Layer[2] : time 38.053461812836 (nsec) --- local (x,y) -125.17984019478, 1.2807011060618 - Layer[3] : time 39.738574042391 (nsec) --- local (x,y) -142.32582589116, 1.9853114209418 - Layer[4] : time 41.423677591975 (nsec) --- local (x,y) -159.33624367304, 2.5758502093774 -EM Calorimeter has 11 hits. Total Edep is 737.01213135361 (MeV) -Hadron Calorimeter has 0 hits. Total Edep is 0 (MeV) + Layer[0] : time 34.664282312828 (nsec) --- local (x,y) -92.682607258069, 29.077500946997 + Layer[1] : time 36.349260230187 (nsec) --- local (x,y) -108.8250631018, 30.633262316121 + Layer[2] : time 38.034261315287 (nsec) --- local (x,y) -125.14753595421, 32.241213853556 + Layer[3] : time 39.719311095294 (nsec) --- local (x,y) -141.88330022045, 33.704712574853 + Layer[4] : time 41.404361855542 (nsec) --- local (x,y) -158.57684989402, 35.124246922144 +EM Calorimeter has 5 hits. Total Edep is 196.69605970148 (MeV) +Hadron Calorimeter has 6 hits. Total Edep is 42.471579465713 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done @@ -1290,23 +1280,24 @@ There are histograms that can be viewed with visualization: >>> Event 0 >>> Simulation truth : e+ (0,0,1000) Hodoscope 1 has 1 hits. - Hodoscope[7] 4.9867847499081 (nsec) + Hodoscope[7] 4.9867843864763 (nsec) Hodoscope 2 has 1 hits. - Hodoscope[8] 43.204085826359 (nsec) + Hodoscope[9] 43.208367138885 (nsec) Drift Chamber 1 has 5 hits. - Layer[0] : time 6.6709683559073 (nsec) --- local (x,y) 1.7175054765822, 1.6243100292157 - Layer[1] : time 8.3388059390126 (nsec) --- local (x,y) 2.6733787988584, 3.660258987956 - Layer[2] : time 10.006644909709 (nsec) --- local (x,y) 3.6482765200901, 5.7850896436101 - Layer[3] : time 11.674486288752 (nsec) --- local (x,y) 4.4819719880391, 8.1296649515803 - Layer[4] : time 13.342333626423 (nsec) --- local (x,y) 5.2505316481999, 10.845422371372 -Drift Chamber 2 has 5 hits. - Layer[0] : time 34.858006999705 (nsec) --- local (x,y) -174.77382321199, 50.341773850393 - Layer[1] : time 36.530139762961 (nsec) --- local (x,y) -210.61504044871, 53.469615178672 - Layer[2] : time 38.202628490299 (nsec) --- local (x,y) -247.73190832424, 58.270229708097 - Layer[3] : time 39.87522363057 (nsec) --- local (x,y) -285.22668294242, 63.516829444745 - Layer[4] : time 41.547833091449 (nsec) --- local (x,y) -322.76478495532, 68.862873265444 -EM Calorimeter has 7 hits. Total Edep is 910.81733612381 (MeV) -Hadron Calorimeter has 1 hits. Total Edep is 1.5947668493501 (MeV) + Layer[0] : time 6.6709542559535 (nsec) --- local (x,y) 1.6498495250725, 0.33962536871918 + Layer[1] : time 8.3387787117601 (nsec) --- local (x,y) 2.6945524636116, 0.51456778633208 + Layer[2] : time 10.0066026537 (nsec) --- local (x,y) 3.6005666163972, 0.87201050718744 + Layer[3] : time 11.674427832295 (nsec) --- local (x,y) 4.5076409425278, 1.5933905877985 + Layer[4] : time 13.342252849605 (nsec) --- local (x,y) 5.4666651096915, 2.2013551379382 +Drift Chamber 2 has 6 hits. + Layer[0] : time 34.868326480027 (nsec) --- local (x,y) -147.35717133647, -1.1282361988465 + Layer[1] : time 36.539562723469 (nsec) --- local (x,y) -179.35984464524, -2.0374666553141 + Layer[2] : time 38.210811190297 (nsec) --- local (x,y) -211.41320395303, -3.1569140140396 + Layer[3] : time 39.882096559817 (nsec) --- local (x,y) -243.62823576861, -4.5499999464813 + Layer[4] : time 41.553393733957 (nsec) --- local (x,y) -275.91044761426, -5.6205877630586 + Layer[4] : time 41.799469076123 (nsec) --- local (x,y) -192.97247751191, -13.536093243078 +EM Calorimeter has 9 hits. Total Edep is 965.27562419886 (MeV) +Hadron Calorimeter has 0 hits. Total Edep is 0 (MeV) ... write file : B5.root - done ... write file : B5ntuple.root - done ... close file : B5.root - done diff --git a/examples/basic/B5/include/ActionInitialization.hh b/examples/basic/B5/include/ActionInitialization.hh index fb109a69b27..c053db09eaa 100644 --- a/examples/basic/B5/include/ActionInitialization.hh +++ b/examples/basic/B5/include/ActionInitialization.hh @@ -47,7 +47,7 @@ class ActionInitialization : public G4VUserActionInitialization void Build() const override; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/CellParameterisation.hh b/examples/basic/B5/include/CellParameterisation.hh index e4dda0a0645..39526f33c7b 100644 --- a/examples/basic/B5/include/CellParameterisation.hh +++ b/examples/basic/B5/include/CellParameterisation.hh @@ -30,10 +30,11 @@ #ifndef B5CellParameterisation_H #define B5CellParameterisation_H 1 +#include "G4VPVParameterisation.hh" + #include "Constants.hh" #include "globals.hh" -#include "G4VPVParameterisation.hh" #include @@ -50,15 +51,14 @@ class CellParameterisation : public G4VPVParameterisation CellParameterisation(); ~CellParameterisation() override = default; - void ComputeTransformation( - const G4int copyNo,G4VPhysicalVolume *physVol) const override; + void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume* physVol) const override; private: std::array fXCell; std::array fYCell; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/Constants.hh b/examples/basic/B5/include/Constants.hh index 61cb29f3ec5..db7d6958d92 100644 --- a/examples/basic/B5/include/Constants.hh +++ b/examples/basic/B5/include/Constants.hh @@ -45,6 +45,6 @@ constexpr G4int kNofHadColumns = 10; constexpr G4int kNofHadRows = 2; constexpr G4int kNofHadCells = kNofHadColumns * kNofHadRows; -} +} // namespace B5 #endif diff --git a/examples/basic/B5/include/DetectorConstruction.hh b/examples/basic/B5/include/DetectorConstruction.hh index 949bedad0a2..26a5e959439 100644 --- a/examples/basic/B5/include/DetectorConstruction.hh +++ b/examples/basic/B5/include/DetectorConstruction.hh @@ -30,16 +30,16 @@ #ifndef B5DetectorConstruction_h #define B5DetectorConstruction_h 1 -#include "globals.hh" #include "G4VUserDetectorConstruction.hh" + #include "G4RotationMatrix.hh" -#include "G4FieldManager.hh" +#include "G4Threading.hh" +#include "globals.hh" -#include +#include +class G4FieldManager; class G4VPhysicalVolume; -class G4Material; -class G4VSensitiveDetector; class G4GenericMessenger; namespace B5 @@ -79,12 +79,12 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4LogicalVolume* fHadCalScintiLogical = nullptr; G4LogicalVolume* fMagneticLogical = nullptr; - G4double fArmAngle = 30.*CLHEP::deg; + G4double fArmAngle = 30. * CLHEP::deg; G4RotationMatrix* fArmRotation = nullptr; G4VPhysicalVolume* fSecondArmPhys = nullptr; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/DriftChamberHit.hh b/examples/basic/B5/include/DriftChamberHit.hh index 98d00118138..ae0f10265d8 100644 --- a/examples/basic/B5/include/DriftChamberHit.hh +++ b/examples/basic/B5/include/DriftChamberHit.hh @@ -31,12 +31,15 @@ #define B5DriftChamberHit_h 1 #include "G4VHit.hh" -#include "G4THitsCollection.hh" + #include "G4Allocator.hh" +#include "G4THitsCollection.hh" +#include "G4Threading.hh" #include "G4ThreeVector.hh" -#include "G4LogicalVolume.hh" -#include "G4Transform3D.hh" -#include "G4RotationMatrix.hh" +#include "globals.hh" + +#include +#include class G4AttDef; class G4AttValue; @@ -56,17 +59,17 @@ class DriftChamberHit : public G4VHit public: DriftChamberHit() = default; DriftChamberHit(G4int layerID); - DriftChamberHit(const DriftChamberHit &right) = default; + DriftChamberHit(const DriftChamberHit& right) = default; ~DriftChamberHit() override = default; - DriftChamberHit& operator=(const DriftChamberHit &right) = default; - G4bool operator==(const DriftChamberHit &right) const; + DriftChamberHit& operator=(const DriftChamberHit& right) = default; + G4bool operator==(const DriftChamberHit& right) const; - inline void *operator new(size_t); - inline void operator delete(void *aHit); + inline void* operator new(size_t); + inline void operator delete(void* aHit); void Draw() override; - const std::map* GetAttDefs() const override; + const std::map* GetAttDefs() const override; std::vector* CreateAttValues() const override; void Print() override; @@ -96,17 +99,17 @@ extern G4ThreadLocal G4Allocator* DriftChamberHitAllocator; inline void* DriftChamberHit::operator new(size_t) { if (!DriftChamberHitAllocator) { - DriftChamberHitAllocator = new G4Allocator; + DriftChamberHitAllocator = new G4Allocator; } return (void*)DriftChamberHitAllocator->MallocSingle(); } inline void DriftChamberHit::operator delete(void* aHit) { - DriftChamberHitAllocator->FreeSingle((DriftChamberHit*) aHit); + DriftChamberHitAllocator->FreeSingle((DriftChamberHit*)aHit); } -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/DriftChamberSD.hh b/examples/basic/B5/include/DriftChamberSD.hh index 43b9508fc06..13d3b0113d1 100644 --- a/examples/basic/B5/include/DriftChamberSD.hh +++ b/examples/basic/B5/include/DriftChamberSD.hh @@ -34,6 +34,8 @@ #include "DriftChamberHit.hh" +#include "globals.hh" + class G4Step; class G4HCofThisEvent; class G4TouchableHistory; @@ -49,15 +51,15 @@ class DriftChamberSD : public G4VSensitiveDetector DriftChamberSD(G4String name); ~DriftChamberSD() override = default; - void Initialize(G4HCofThisEvent*HCE) override; - G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist) override; + void Initialize(G4HCofThisEvent* HCE) override; + G4bool ProcessHits(G4Step* step, G4TouchableHistory* ROhist) override; private: DriftChamberHitsCollection* fHitsCollection = nullptr; G4int fHCID = -1; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/EmCalorimeterHit.hh b/examples/basic/B5/include/EmCalorimeterHit.hh index bb3150a9938..66d502a3753 100644 --- a/examples/basic/B5/include/EmCalorimeterHit.hh +++ b/examples/basic/B5/include/EmCalorimeterHit.hh @@ -31,15 +31,16 @@ #define B5EmCalorimeterHit_h 1 #include "G4VHit.hh" -#include "G4THitsCollection.hh" + #include "G4Allocator.hh" -#include "G4ThreeVector.hh" -#include "G4LogicalVolume.hh" -#include "G4Transform3D.hh" #include "G4RotationMatrix.hh" +#include "G4THitsCollection.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" class G4AttDef; class G4AttValue; +class G4LogicalVolume; namespace B5 { @@ -56,17 +57,17 @@ class EmCalorimeterHit : public G4VHit public: EmCalorimeterHit() = default; EmCalorimeterHit(G4int cellID); - EmCalorimeterHit(const EmCalorimeterHit &right) = default; + EmCalorimeterHit(const EmCalorimeterHit& right) = default; ~EmCalorimeterHit() override = default; - EmCalorimeterHit& operator=(const EmCalorimeterHit &right) = default; - G4bool operator==(const EmCalorimeterHit &right) const; + EmCalorimeterHit& operator=(const EmCalorimeterHit& right) = default; + G4bool operator==(const EmCalorimeterHit& right) const; - inline void *operator new(size_t); - inline void operator delete(void *aHit); + inline void* operator new(size_t); + inline void operator delete(void* aHit); void Draw() override; - const std::map* GetAttDefs() const override; + const std::map* GetAttDefs() const override; std::vector* CreateAttValues() const override; void Print() override; @@ -101,17 +102,17 @@ extern G4ThreadLocal G4Allocator* EmCalorimeterHitAllocator; inline void* EmCalorimeterHit::operator new(size_t) { if (!EmCalorimeterHitAllocator) { - EmCalorimeterHitAllocator = new G4Allocator; + EmCalorimeterHitAllocator = new G4Allocator; } return (void*)EmCalorimeterHitAllocator->MallocSingle(); } inline void EmCalorimeterHit::operator delete(void* aHit) { - EmCalorimeterHitAllocator->FreeSingle((EmCalorimeterHit*) aHit); + EmCalorimeterHitAllocator->FreeSingle((EmCalorimeterHit*)aHit); } -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/EmCalorimeterSD.hh b/examples/basic/B5/include/EmCalorimeterSD.hh index 9a39c6fd52f..a2a782e6288 100644 --- a/examples/basic/B5/include/EmCalorimeterSD.hh +++ b/examples/basic/B5/include/EmCalorimeterSD.hh @@ -34,6 +34,8 @@ #include "EmCalorimeterHit.hh" +#include "globals.hh" + class G4Step; class G4HCofThisEvent; class G4TouchableHistory; @@ -49,15 +51,15 @@ class EmCalorimeterSD : public G4VSensitiveDetector EmCalorimeterSD(G4String name); ~EmCalorimeterSD() override = default; - void Initialize(G4HCofThisEvent*HCE) override; - G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist) override; + void Initialize(G4HCofThisEvent* HCE) override; + G4bool ProcessHits(G4Step* step, G4TouchableHistory* ROhist) override; private: EmCalorimeterHitsCollection* fHitsCollection = nullptr; G4int fHCID = -1; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/EventAction.hh b/examples/basic/B5/include/EventAction.hh index 31f172901b6..616503cffa5 100644 --- a/examples/basic/B5/include/EventAction.hh +++ b/examples/basic/B5/include/EventAction.hh @@ -30,13 +30,16 @@ #ifndef B5EventAction_h #define B5EventAction_h 1 +#include "G4UserEventAction.hh" + #include "Constants.hh" -#include "G4UserEventAction.hh" #include "globals.hh" -#include #include +#include + +class G4Event; // named constants const G4int kEm = 0; @@ -52,7 +55,7 @@ namespace B5 class EventAction : public G4UserEventAction { -public: + public: EventAction(); ~EventAction() override = default; @@ -62,23 +65,22 @@ public: std::vector& GetEmCalEdep() { return fCalEdep[kEm]; } std::vector& GetHadCalEdep() { return fCalEdep[kHad]; } -private: + private: // hit collections Ids - std::array fHodHCID = { -1, -1 }; - std::array fDriftHCID = { -1, -1 }; - std::array fCalHCID = { -1, -1 }; + std::array fHodHCID = {-1, -1}; + std::array fDriftHCID = {-1, -1}; + std::array fCalHCID = {-1, -1}; // histograms Ids - std::array, kDim> fDriftHistoID - {{ {{ -1, -1 }}, {{ -1, -1 }} }}; - // std::array is an aggregate that contains a C array. - // To initialize it, we need outer braces for the class itself - // and inner braces for the C array + std::array, kDim> fDriftHistoID{{{{-1, -1}}, {{-1, -1}}}}; + // std::array is an aggregate that contains a C array. + // To initialize it, we need outer braces for the class itself + // and inner braces for the C array // energy deposit in calorimeters cells - std::array, kDim> fCalEdep - {{ std::vector(kNofEmCells, 0.), std::vector(kNofHadCells, 0.) }}; + std::array, kDim> fCalEdep{ + {std::vector(kNofEmCells, 0.), std::vector(kNofHadCells, 0.)}}; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/HadCalorimeterHit.hh b/examples/basic/B5/include/HadCalorimeterHit.hh index b97e5182a05..f2952515a89 100644 --- a/examples/basic/B5/include/HadCalorimeterHit.hh +++ b/examples/basic/B5/include/HadCalorimeterHit.hh @@ -31,12 +31,16 @@ #define B5HadCalorimeterHit_h 1 #include "G4VHit.hh" -#include "G4THitsCollection.hh" + #include "G4Allocator.hh" -#include "G4ThreeVector.hh" -#include "G4LogicalVolume.hh" -#include "G4Transform3D.hh" #include "G4RotationMatrix.hh" +#include "G4THitsCollection.hh" +#include "G4Threading.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" + +#include +#include class G4AttDef; class G4AttValue; @@ -55,18 +59,18 @@ class HadCalorimeterHit : public G4VHit { public: HadCalorimeterHit() = default; - HadCalorimeterHit(G4int iCol,G4int iRow); - HadCalorimeterHit(const HadCalorimeterHit &right) = default; + HadCalorimeterHit(G4int iCol, G4int iRow); + HadCalorimeterHit(const HadCalorimeterHit& right) = default; ~HadCalorimeterHit() override = default; - HadCalorimeterHit& operator=(const HadCalorimeterHit &right) = default; - G4bool operator==(const HadCalorimeterHit &right) const; + HadCalorimeterHit& operator=(const HadCalorimeterHit& right) = default; + G4bool operator==(const HadCalorimeterHit& right) const; - inline void *operator new(size_t); - inline void operator delete(void *aHit); + inline void* operator new(size_t); + inline void operator delete(void* aHit); void Draw() override; - const std::map* GetAttDefs() const override; + const std::map* GetAttDefs() const override; std::vector* CreateAttValues() const override; void Print() override; @@ -101,17 +105,17 @@ extern G4ThreadLocal G4Allocator* HadCalorimeterHitAllocator; inline void* HadCalorimeterHit::operator new(size_t) { if (!HadCalorimeterHitAllocator) { - HadCalorimeterHitAllocator = new G4Allocator; + HadCalorimeterHitAllocator = new G4Allocator; } return (void*)HadCalorimeterHitAllocator->MallocSingle(); } inline void HadCalorimeterHit::operator delete(void* aHit) { - HadCalorimeterHitAllocator->FreeSingle((HadCalorimeterHit*) aHit); + HadCalorimeterHitAllocator->FreeSingle((HadCalorimeterHit*)aHit); } -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/HadCalorimeterSD.hh b/examples/basic/B5/include/HadCalorimeterSD.hh index 600a2c86e31..4f4e80bd875 100644 --- a/examples/basic/B5/include/HadCalorimeterSD.hh +++ b/examples/basic/B5/include/HadCalorimeterSD.hh @@ -34,6 +34,8 @@ #include "HadCalorimeterHit.hh" +#include "globals.hh" + class G4Step; class G4HCofThisEvent; class G4TouchableHistory; @@ -49,15 +51,15 @@ class HadCalorimeterSD : public G4VSensitiveDetector HadCalorimeterSD(G4String name); ~HadCalorimeterSD() override = default; - void Initialize(G4HCofThisEvent*HCE) override; - G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist) override; + void Initialize(G4HCofThisEvent* HCE) override; + G4bool ProcessHits(G4Step* step, G4TouchableHistory* ROhist) override; private: HadCalorimeterHitsCollection* fHitsCollection = nullptr; G4int fHCID = -1; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/HodoscopeHit.hh b/examples/basic/B5/include/HodoscopeHit.hh index 80c884bbb45..927b93701d9 100644 --- a/examples/basic/B5/include/HodoscopeHit.hh +++ b/examples/basic/B5/include/HodoscopeHit.hh @@ -31,15 +31,20 @@ #define B5HodoscopeHit_h 1 #include "G4VHit.hh" -#include "G4THitsCollection.hh" + #include "G4Allocator.hh" -#include "G4ThreeVector.hh" -#include "G4LogicalVolume.hh" -#include "G4Transform3D.hh" #include "G4RotationMatrix.hh" +#include "G4THitsCollection.hh" +#include "G4Threading.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" + +#include +#include class G4AttDef; class G4AttValue; +class G4LogicalVolume; namespace B5 { @@ -54,18 +59,18 @@ namespace B5 class HodoscopeHit : public G4VHit { public: - HodoscopeHit(G4int i,G4double t); - HodoscopeHit(const HodoscopeHit &right) = default; + HodoscopeHit(G4int i, G4double t); + HodoscopeHit(const HodoscopeHit& right) = default; ~HodoscopeHit() override = default; - HodoscopeHit& operator=(const HodoscopeHit &right) = default; - G4bool operator==(const HodoscopeHit &right) const; + HodoscopeHit& operator=(const HodoscopeHit& right) = default; + G4bool operator==(const HodoscopeHit& right) const; - inline void *operator new(size_t); - inline void operator delete(void*aHit); + inline void* operator new(size_t); + inline void operator delete(void* aHit); void Draw() override; - const std::map* GetAttDefs() const override; + const std::map* GetAttDefs() const override; std::vector* CreateAttValues() const override; void Print() override; @@ -98,17 +103,17 @@ extern G4ThreadLocal G4Allocator* HodoscopeHitAllocator; inline void* HodoscopeHit::operator new(size_t) { if (!HodoscopeHitAllocator) { - HodoscopeHitAllocator = new G4Allocator; + HodoscopeHitAllocator = new G4Allocator; } return (void*)HodoscopeHitAllocator->MallocSingle(); } -inline void HodoscopeHit::operator delete(void*aHit) +inline void HodoscopeHit::operator delete(void* aHit) { - HodoscopeHitAllocator->FreeSingle((HodoscopeHit*) aHit); + HodoscopeHitAllocator->FreeSingle((HodoscopeHit*)aHit); } -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/HodoscopeSD.hh b/examples/basic/B5/include/HodoscopeSD.hh index e915d92e691..7ff4b76041a 100644 --- a/examples/basic/B5/include/HodoscopeSD.hh +++ b/examples/basic/B5/include/HodoscopeSD.hh @@ -31,8 +31,11 @@ #define B5HodoscopeSD_h 1 #include "G4VSensitiveDetector.hh" + #include "HodoscopeHit.hh" +#include "globals.hh" + class G4Step; class G4HCofThisEvent; class G4TouchableHistory; @@ -48,15 +51,15 @@ class HodoscopeSD : public G4VSensitiveDetector HodoscopeSD(G4String name); ~HodoscopeSD() override = default; - void Initialize(G4HCofThisEvent*HCE) override; - G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist) override; + void Initialize(G4HCofThisEvent* HCE) override; + G4bool ProcessHits(G4Step* step, G4TouchableHistory* ROhist) override; private: HodoscopeHitsCollection* fHitsCollection = nullptr; G4int fHCID = -1; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/MagneticField.hh b/examples/basic/B5/include/MagneticField.hh index 12ee1fa15f6..deeb971a730 100644 --- a/examples/basic/B5/include/MagneticField.hh +++ b/examples/basic/B5/include/MagneticField.hh @@ -30,8 +30,8 @@ #ifndef B5MagneticField_H #define B5MagneticField_H 1 -#include "globals.hh" #include "G4MagneticField.hh" +#include "globals.hh" #include @@ -48,7 +48,7 @@ class MagneticField : public G4MagneticField MagneticField(); ~MagneticField() override; - void GetFieldValue(const G4double point[4],double* bField ) const override; + void GetFieldValue(const G4double point[4], double* bField) const override; void SetField(G4double val) { fBy = val; } G4double GetField() const { return fBy; } @@ -57,10 +57,10 @@ class MagneticField : public G4MagneticField void DefineCommands(); G4GenericMessenger* fMessenger = nullptr; - G4double fBy = 1.0*CLHEP::tesla; + G4double fBy = 1.0 * CLHEP::tesla; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/PrimaryGeneratorAction.hh b/examples/basic/B5/include/PrimaryGeneratorAction.hh index 073ed4983e9..7aabe4f24b5 100644 --- a/examples/basic/B5/include/PrimaryGeneratorAction.hh +++ b/examples/basic/B5/include/PrimaryGeneratorAction.hh @@ -51,7 +51,6 @@ namespace B5 /// - the momentum and angle spreads /// - random selection of a particle type from proton, kaon+, pi+, muon+, e+ - class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: @@ -88,7 +87,7 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction G4bool fRandomizePrimary = true; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/include/RunAction.hh b/examples/basic/B5/include/RunAction.hh index 578c0071e4b..f291d610149 100644 --- a/examples/basic/B5/include/RunAction.hh +++ b/examples/basic/B5/include/RunAction.hh @@ -31,7 +31,6 @@ #define B5RunAction_h 1 #include "G4UserRunAction.hh" -#include "globals.hh" class G4Run; @@ -49,13 +48,13 @@ class RunAction : public G4UserRunAction ~RunAction() override = default; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; private: EventAction* fEventAction = nullptr; }; -} +} // namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/basic/B5/src/ActionInitialization.cc b/examples/basic/B5/src/ActionInitialization.cc index cf258b199bb..ff7fd82d5ba 100644 --- a/examples/basic/B5/src/ActionInitialization.cc +++ b/examples/basic/B5/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B5::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" namespace B5 { @@ -57,4 +58,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/CellParameterisation.cc b/examples/basic/B5/src/CellParameterisation.cc index a1f0c34d003..17e8d23eebe 100644 --- a/examples/basic/B5/src/CellParameterisation.cc +++ b/examples/basic/B5/src/CellParameterisation.cc @@ -28,11 +28,12 @@ /// \brief Implementation of the B5::CellParameterisation class #include "CellParameterisation.hh" + #include "Constants.hh" -#include "G4VPhysicalVolume.hh" -#include "G4ThreeVector.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" namespace B5 { @@ -41,22 +42,22 @@ namespace B5 CellParameterisation::CellParameterisation() { - for (auto copyNo=0; copyNoSetTranslation(G4ThreeVector(fXCell[copyNo],fYCell[copyNo],0.)); + physVol->SetTranslation(G4ThreeVector(fXCell[copyNo], fYCell[copyNo], 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/DetectorConstruction.cc b/examples/basic/B5/src/DetectorConstruction.cc index 50d8abd973e..84e94ed4bce 100644 --- a/examples/basic/B5/src/DetectorConstruction.cc +++ b/examples/basic/B5/src/DetectorConstruction.cc @@ -28,42 +28,33 @@ /// \brief Implementation of the B5::DetectorConstruction class #include "DetectorConstruction.hh" -#include "MagneticField.hh" + #include "CellParameterisation.hh" -#include "HodoscopeSD.hh" +#include "Constants.hh" #include "DriftChamberSD.hh" #include "EmCalorimeterSD.hh" #include "HadCalorimeterSD.hh" +#include "HodoscopeSD.hh" +#include "MagneticField.hh" +#include "G4Box.hh" +#include "G4Colour.hh" #include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4Mag_UsualEqRhs.hh" - +#include "G4GenericMessenger.hh" +#include "G4LogicalVolume.hh" #include "G4Material.hh" -#include "G4Element.hh" -#include "G4MaterialTable.hh" #include "G4NistManager.hh" - -#include "G4VSolid.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4VPhysicalVolume.hh" -#include "G4PVPlacement.hh" #include "G4PVParameterised.hh" +#include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4UserLimits.hh" - -#include "G4SDManager.hh" -#include "G4VSensitiveDetector.hh" +#include "G4RotationMatrix.hh" #include "G4RunManager.hh" -#include "G4GenericMessenger.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4ios.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "G4Tubs.hh" +#include "G4UserLimits.hh" +#include "G4VisAttributes.hh" namespace B5 { @@ -99,7 +90,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // Construct materials ConstructMaterials(); auto air = G4Material::GetMaterial("G4_AIR"); - //auto argonGas = G4Material::GetMaterial("_Ar"); + // auto argonGas = G4Material::GetMaterial("_Ar"); auto argonGas = G4Material::GetMaterial("G4_Ar"); auto scintillator = G4Material::GetMaterial("G4_PLASTIC_SC_VINYLTOLUENE"); auto csI = G4Material::GetMaterial("G4_CESIUM_IODIDE"); @@ -111,174 +102,138 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // geometries -------------------------------------------------------------- // experimental hall (world volume) - auto worldSolid - = new G4Box("worldBox",10.*m,3.*m,10.*m); - auto worldLogical - = new G4LogicalVolume(worldSolid,air,"worldLogical"); - auto worldPhysical = new G4PVPlacement( - nullptr, G4ThreeVector(), worldLogical, "worldPhysical", nullptr, false, 0, checkOverlaps); + auto worldSolid = new G4Box("worldBox", 10. * m, 3. * m, 10. * m); + auto worldLogical = new G4LogicalVolume(worldSolid, air, "worldLogical"); + auto worldPhysical = new G4PVPlacement(nullptr, G4ThreeVector(), worldLogical, "worldPhysical", + nullptr, false, 0, checkOverlaps); // Tube with Local Magnetic field - auto magneticSolid - = new G4Tubs("magneticTubs",0.,1.*m,1.*m,0.,360.*deg); + auto magneticSolid = new G4Tubs("magneticTubs", 0., 1. * m, 1. * m, 0., 360. * deg); - fMagneticLogical - = new G4LogicalVolume(magneticSolid, air, "magneticLogical"); + fMagneticLogical = new G4LogicalVolume(magneticSolid, air, "magneticLogical"); // placement of Tube auto fieldRot = new G4RotationMatrix(); - fieldRot->rotateX(90.*deg); - new G4PVPlacement(fieldRot,G4ThreeVector(),fMagneticLogical, - "magneticPhysical",worldLogical, - false,0,checkOverlaps); + fieldRot->rotateX(90. * deg); + new G4PVPlacement(fieldRot, G4ThreeVector(), fMagneticLogical, "magneticPhysical", worldLogical, + false, 0, checkOverlaps); // set step limit in tube with magnetic field auto userLimits = new G4UserLimits(1 * m); fMagneticLogical->SetUserLimits(userLimits); // first arm - auto firstArmSolid - = new G4Box("firstArmBox",1.5*m,1.*m,3.*m); - auto firstArmLogical - = new G4LogicalVolume(firstArmSolid,air,"firstArmLogical"); + auto firstArmSolid = new G4Box("firstArmBox", 1.5 * m, 1. * m, 3. * m); + auto firstArmLogical = new G4LogicalVolume(firstArmSolid, air, "firstArmLogical"); new G4PVPlacement(nullptr, G4ThreeVector(0., 0., -5. * m), firstArmLogical, "firstArmPhysical", - worldLogical, false, 0, checkOverlaps); + worldLogical, false, 0, checkOverlaps); // second arm - auto secondArmSolid - = new G4Box("secondArmBox",2.*m,2.*m,3.5*m); - auto secondArmLogical - = new G4LogicalVolume(secondArmSolid,air,"secondArmLogical"); - auto x = -5.*m * std::sin(fArmAngle); - auto z = 5.*m * std::cos(fArmAngle); - fSecondArmPhys - = new G4PVPlacement(fArmRotation,G4ThreeVector(x,0.,z),secondArmLogical, - "fSecondArmPhys",worldLogical, - false,0,checkOverlaps); + auto secondArmSolid = new G4Box("secondArmBox", 2. * m, 2. * m, 3.5 * m); + auto secondArmLogical = new G4LogicalVolume(secondArmSolid, air, "secondArmLogical"); + auto x = -5. * m * std::sin(fArmAngle); + auto z = 5. * m * std::cos(fArmAngle); + fSecondArmPhys = new G4PVPlacement(fArmRotation, G4ThreeVector(x, 0., z), secondArmLogical, + "fSecondArmPhys", worldLogical, false, 0, checkOverlaps); // hodoscopes in first arm - auto hodoscope1Solid - = new G4Box("hodoscope1Box",5.*cm,20.*cm,0.5*cm); - fHodoscope1Logical - = new G4LogicalVolume(hodoscope1Solid,scintillator,"hodoscope1Logical"); - - for (auto i=0;iAddNewDetector(hodoscope1); fHodoscope1Logical->SetSensitiveDetector(hodoscope1); - auto hodoscope2 = new HodoscopeSD(SDname="/hodoscope2"); + auto hodoscope2 = new HodoscopeSD(SDname = "/hodoscope2"); sdManager->AddNewDetector(hodoscope2); fHodoscope2Logical->SetSensitiveDetector(hodoscope2); - auto chamber1 = new DriftChamberSD(SDname="/chamber1"); + auto chamber1 = new DriftChamberSD(SDname = "/chamber1"); sdManager->AddNewDetector(chamber1); fWirePlane1Logical->SetSensitiveDetector(chamber1); - auto chamber2 = new DriftChamberSD(SDname="/chamber2"); + auto chamber2 = new DriftChamberSD(SDname = "/chamber2"); sdManager->AddNewDetector(chamber2); fWirePlane2Logical->SetSensitiveDetector(chamber2); - auto emCalorimeter = new EmCalorimeterSD(SDname="/EMcalorimeter"); + auto emCalorimeter = new EmCalorimeterSD(SDname = "/EMcalorimeter"); sdManager->AddNewDetector(emCalorimeter); fCellLogical->SetSensitiveDetector(emCalorimeter); - auto hadCalorimeter = new HadCalorimeterSD(SDname="/HadCalorimeter"); + auto hadCalorimeter = new HadCalorimeterSD(SDname = "/HadCalorimeter"); sdManager->AddNewDetector(hadCalorimeter); fHadCalScintiLogical->SetSensitiveDetector(hadCalorimeter); @@ -404,16 +359,16 @@ void DetectorConstruction::ConstructMaterials() void DetectorConstruction::SetArmAngle(G4double val) { if (!fSecondArmPhys) { - G4cerr << "Detector has not yet been constructed." << G4endl; - return; + G4cerr << "Detector has not yet been constructed." << G4endl; + return; } fArmAngle = val; *fArmRotation = G4RotationMatrix(); // make it unit vector fArmRotation->rotateY(fArmAngle); - auto x = -5.*m * std::sin(fArmAngle); - auto z = 5.*m * std::cos(fArmAngle); - fSecondArmPhys->SetTranslation(G4ThreeVector(x,0.,z)); + auto x = -5. * m * std::sin(fArmAngle); + auto z = 5. * m * std::cos(fArmAngle); + fSecondArmPhys->SetTranslation(G4ThreeVector(x, 0., z)); // tell G4RunManager that we change the geometry G4RunManager::GetRunManager()->GeometryHasBeenModified(); @@ -424,15 +379,11 @@ void DetectorConstruction::SetArmAngle(G4double val) void DetectorConstruction::DefineCommands() { // Define /B5/detector command directory using generic messenger class - fMessenger = new G4GenericMessenger(this, - "/B5/detector/", - "Detector control"); + fMessenger = new G4GenericMessenger(this, "/B5/detector/", "Detector control"); // armAngle command - auto& armAngleCmd - = fMessenger->DeclareMethodWithUnit("armAngle","deg", - &DetectorConstruction::SetArmAngle, - "Set rotation angle of the second arm."); + auto& armAngleCmd = fMessenger->DeclareMethodWithUnit( + "armAngle", "deg", &DetectorConstruction::SetArmAngle, "Set rotation angle of the second arm."); armAngleCmd.SetParameterName("angle", true); armAngleCmd.SetRange("angle>=0. && angle<180."); armAngleCmd.SetDefaultValue("30."); @@ -440,4 +391,4 @@ void DetectorConstruction::DefineCommands() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/DriftChamberHit.cc b/examples/basic/B5/src/DriftChamberHit.cc index a5286a54a9a..af662877169 100644 --- a/examples/basic/B5/src/DriftChamberHit.cc +++ b/examples/basic/B5/src/DriftChamberHit.cc @@ -29,17 +29,16 @@ #include "DriftChamberHit.hh" -#include "G4VVisManager.hh" -#include "G4VisAttributes.hh" -#include "G4Circle.hh" -#include "G4Colour.hh" -#include "G4AttDefStore.hh" #include "G4AttDef.hh" +#include "G4AttDefStore.hh" #include "G4AttValue.hh" +#include "G4Circle.hh" +#include "G4Colour.hh" +#include "G4SystemOfUnits.hh" #include "G4UIcommand.hh" #include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" -#include "G4ios.hh" +#include "G4VVisManager.hh" +#include "G4VisAttributes.hh" namespace B5 { @@ -50,13 +49,11 @@ G4ThreadLocal G4Allocator* DriftChamberHitAllocator; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DriftChamberHit::DriftChamberHit(G4int layerID) -: fLayerID(layerID) -{} +DriftChamberHit::DriftChamberHit(G4int layerID) : fLayerID(layerID) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool DriftChamberHit::operator==(const DriftChamberHit &/*right*/) const +G4bool DriftChamberHit::operator==(const DriftChamberHit& /*right*/) const { return false; } @@ -66,7 +63,7 @@ G4bool DriftChamberHit::operator==(const DriftChamberHit &/*right*/) const void DriftChamberHit::Draw() { auto visManager = G4VVisManager::GetConcreteInstance(); - if (! visManager) return; + if (!visManager) return; G4Circle circle(fWorldPos); circle.SetScreenSize(2); @@ -78,23 +75,19 @@ void DriftChamberHit::Draw() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const std::map* DriftChamberHit::GetAttDefs() const +const std::map* DriftChamberHit::GetAttDefs() const { G4bool isNew; - auto store = G4AttDefStore::GetInstance("DriftChamberHit",isNew); + auto store = G4AttDefStore::GetInstance("DriftChamberHit", isNew); if (isNew) { - (*store)["HitType"] - = G4AttDef("HitType","Hit Type","Physics","","G4String"); + (*store)["HitType"] = G4AttDef("HitType", "Hit Type", "Physics", "", "G4String"); - (*store)["ID"] - = G4AttDef("ID","ID","Physics","","G4int"); + (*store)["ID"] = G4AttDef("ID", "ID", "Physics", "", "G4int"); - (*store)["Time"] - = G4AttDef("Time","Time","Physics","G4BestUnit","G4double"); + (*store)["Time"] = G4AttDef("Time", "Time", "Physics", "G4BestUnit", "G4double"); - (*store)["Pos"] - = G4AttDef("Pos", "Position", "Physics","G4BestUnit","G4ThreeVector"); + (*store)["Pos"] = G4AttDef("Pos", "Position", "Physics", "G4BestUnit", "G4ThreeVector"); } return store; @@ -106,14 +99,10 @@ std::vector* DriftChamberHit::CreateAttValues() const { auto values = new std::vector; - values - ->push_back(G4AttValue("HitType","DriftChamberHit","")); - values - ->push_back(G4AttValue("ID",G4UIcommand::ConvertToString(fLayerID),"")); - values - ->push_back(G4AttValue("Time",G4BestUnit(fTime,"Time"),"")); - values - ->push_back(G4AttValue("Pos",G4BestUnit(fWorldPos,"Length"),"")); + values->push_back(G4AttValue("HitType", "DriftChamberHit", "")); + values->push_back(G4AttValue("ID", G4UIcommand::ConvertToString(fLayerID), "")); + values->push_back(G4AttValue("Time", G4BestUnit(fTime, "Time"), "")); + values->push_back(G4AttValue("Pos", G4BestUnit(fWorldPos, "Length"), "")); return values; } @@ -122,11 +111,10 @@ std::vector* DriftChamberHit::CreateAttValues() const void DriftChamberHit::Print() { - G4cout << " Layer[" << fLayerID << "] : time " << fTime/ns - << " (nsec) --- local (x,y) " << fLocalPos.x() - << ", " << fLocalPos.y() << G4endl; + G4cout << " Layer[" << fLayerID << "] : time " << fTime / ns << " (nsec) --- local (x,y) " + << fLocalPos.x() << ", " << fLocalPos.y() << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/DriftChamberSD.cc b/examples/basic/B5/src/DriftChamberSD.cc index a59e44e1e62..1e2d22fd8e9 100644 --- a/examples/basic/B5/src/DriftChamberSD.cc +++ b/examples/basic/B5/src/DriftChamberSD.cc @@ -28,22 +28,20 @@ /// \brief Implementation of the B5::DriftChamber class #include "DriftChamberSD.hh" + #include "DriftChamberHit.hh" #include "G4HCofThisEvent.hh" -#include "G4TouchableHistory.hh" -#include "G4Track.hh" -#include "G4Step.hh" #include "G4SDManager.hh" -#include "G4ios.hh" +#include "G4Step.hh" +#include "G4Track.hh" namespace B5 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DriftChamberSD::DriftChamberSD(G4String name) -: G4VSensitiveDetector(name) +DriftChamberSD::DriftChamberSD(G4String name) : G4VSensitiveDetector(name) { collectionName.insert("driftChamberColl"); } @@ -52,13 +50,12 @@ DriftChamberSD::DriftChamberSD(G4String name) void DriftChamberSD::Initialize(G4HCofThisEvent* hce) { - fHitsCollection - = new DriftChamberHitsCollection(SensitiveDetectorName,collectionName[0]); + fHitsCollection = new DriftChamberHitsCollection(SensitiveDetectorName, collectionName[0]); - if (fHCID<0) { - fHCID = G4SDManager::GetSDMpointer()->GetCollectionID(fHitsCollection); + if (fHCID < 0) { + fHCID = G4SDManager::GetSDMpointer()->GetCollectionID(fHitsCollection); } - hce->AddHitsCollection(fHCID,fHitsCollection); + hce->AddHitsCollection(fHCID, fHitsCollection); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,17 +63,16 @@ void DriftChamberSD::Initialize(G4HCofThisEvent* hce) G4bool DriftChamberSD::ProcessHits(G4Step* step, G4TouchableHistory*) { auto charge = step->GetTrack()->GetDefinition()->GetPDGCharge(); - if (charge==0.) return true; + if (charge == 0.) return true; auto preStepPoint = step->GetPreStepPoint(); auto touchable = step->GetPreStepPoint()->GetTouchable(); - auto motherPhysical = touchable->GetVolume(1); // mother + auto motherPhysical = touchable->GetVolume(1); // mother auto copyNo = motherPhysical->GetCopyNo(); auto worldPos = preStepPoint->GetPosition(); - auto localPos - = touchable->GetHistory()->GetTopTransform().TransformPoint(worldPos); + auto localPos = touchable->GetHistory()->GetTopTransform().TransformPoint(worldPos); auto hit = new DriftChamberHit(copyNo); hit->SetWorldPos(worldPos); @@ -90,4 +86,4 @@ G4bool DriftChamberSD::ProcessHits(G4Step* step, G4TouchableHistory*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/EmCalorimeterHit.cc b/examples/basic/B5/src/EmCalorimeterHit.cc index aa5adea8208..003698b9470 100644 --- a/examples/basic/B5/src/EmCalorimeterHit.cc +++ b/examples/basic/B5/src/EmCalorimeterHit.cc @@ -29,16 +29,16 @@ #include "EmCalorimeterHit.hh" -#include "G4VVisManager.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" -#include "G4AttDefStore.hh" #include "G4AttDef.hh" +#include "G4AttDefStore.hh" #include "G4AttValue.hh" +#include "G4Colour.hh" +#include "G4LogicalVolume.hh" +#include "G4SystemOfUnits.hh" #include "G4UIcommand.hh" #include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" -#include "G4ios.hh" +#include "G4VVisManager.hh" +#include "G4VisAttributes.hh" namespace B5 { @@ -49,15 +49,13 @@ G4ThreadLocal G4Allocator* EmCalorimeterHitAllocator; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EmCalorimeterHit::EmCalorimeterHit(G4int cellID) -: fCellID(cellID) -{} +EmCalorimeterHit::EmCalorimeterHit(G4int cellID) : fCellID(cellID) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool EmCalorimeterHit::operator==(const EmCalorimeterHit &right) const +G4bool EmCalorimeterHit::operator==(const EmCalorimeterHit& right) const { - return (fCellID==right.fCellID); + return (fCellID == right.fCellID); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -65,46 +63,40 @@ G4bool EmCalorimeterHit::operator==(const EmCalorimeterHit &right) const void EmCalorimeterHit::Draw() { auto visManager = G4VVisManager::GetConcreteInstance(); - if ( ! visManager || (fEdep==0.) ) return; + if (!visManager || (fEdep == 0.)) return; // Draw a calorimeter cell with a color corresponding to its energy deposit - G4Transform3D trans(fRot.inverse(),fPos); + G4Transform3D trans(fRot.inverse(), fPos); G4VisAttributes attribs; auto pVA = fPLogV->GetVisAttributes(); if (pVA) attribs = *pVA; - auto rcol = fEdep/(0.7*GeV); - if (rcol>1.) rcol = 1.; - if (rcol<0.4) rcol = 0.4; - G4Colour colour(rcol,0.,0.); + auto rcol = fEdep / (0.7 * GeV); + if (rcol > 1.) rcol = 1.; + if (rcol < 0.4) rcol = 0.4; + G4Colour colour(rcol, 0., 0.); attribs.SetColour(colour); attribs.SetForceSolid(true); - visManager->Draw(*fPLogV,attribs,trans); + visManager->Draw(*fPLogV, attribs, trans); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const std::map* EmCalorimeterHit::GetAttDefs() const +const std::map* EmCalorimeterHit::GetAttDefs() const { G4bool isNew; - auto store = G4AttDefStore::GetInstance("EmCalorimeterHit",isNew); + auto store = G4AttDefStore::GetInstance("EmCalorimeterHit", isNew); if (isNew) { - (*store)["HitType"] - = G4AttDef("HitType","Hit Type","Physics","","G4String"); + (*store)["HitType"] = G4AttDef("HitType", "Hit Type", "Physics", "", "G4String"); - (*store)["ID"] - = G4AttDef("ID","ID","Physics","","G4int"); + (*store)["ID"] = G4AttDef("ID", "ID", "Physics", "", "G4int"); - (*store)["Energy"] - = G4AttDef("Energy", "Energy Deposited", "Physics", "G4BestUnit", - "G4double"); + (*store)["Energy"] = + G4AttDef("Energy", "Energy Deposited", "Physics", "G4BestUnit", "G4double"); - (*store)["Pos"] - = G4AttDef("Pos", "Position", "Physics","G4BestUnit", - "G4ThreeVector"); + (*store)["Pos"] = G4AttDef("Pos", "Position", "Physics", "G4BestUnit", "G4ThreeVector"); - (*store)["LVol"] - = G4AttDef("LVol","Logical Volume","Physics","","G4String"); + (*store)["LVol"] = G4AttDef("LVol", "Logical Volume", "Physics", "", "G4String"); } return store; } @@ -115,19 +107,15 @@ std::vector* EmCalorimeterHit::CreateAttValues() const { auto values = new std::vector; - values - ->push_back(G4AttValue("HitType","EmCalorimeterHit","")); - values - ->push_back(G4AttValue("ID",G4UIcommand::ConvertToString(fCellID),"")); - values - ->push_back(G4AttValue("Energy",G4BestUnit(fEdep,"Energy"),"")); - values - ->push_back(G4AttValue("Pos",G4BestUnit(fPos,"Length"),"")); + values->push_back(G4AttValue("HitType", "EmCalorimeterHit", "")); + values->push_back(G4AttValue("ID", G4UIcommand::ConvertToString(fCellID), "")); + values->push_back(G4AttValue("Energy", G4BestUnit(fEdep, "Energy"), "")); + values->push_back(G4AttValue("Pos", G4BestUnit(fPos, "Length"), "")); if (fPLogV) - values->push_back(G4AttValue("LVol",fPLogV->GetName(),"")); + values->push_back(G4AttValue("LVol", fPLogV->GetName(), "")); else - values->push_back(G4AttValue("LVol"," ","")); + values->push_back(G4AttValue("LVol", " ", "")); return values; } @@ -136,9 +124,9 @@ std::vector* EmCalorimeterHit::CreateAttValues() const void EmCalorimeterHit::Print() { - G4cout << " Cell[" << fCellID << "] " << fEdep/MeV << " (MeV)" << G4endl; + G4cout << " Cell[" << fCellID << "] " << fEdep / MeV << " (MeV)" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/EmCalorimeterSD.cc b/examples/basic/B5/src/EmCalorimeterSD.cc index dffd1bd218b..4cff6c2b0a2 100644 --- a/examples/basic/B5/src/EmCalorimeterSD.cc +++ b/examples/basic/B5/src/EmCalorimeterSD.cc @@ -28,23 +28,20 @@ /// \brief Implementation of the B5::EmCalorimeterSD class #include "EmCalorimeterSD.hh" -#include "EmCalorimeterHit.hh" + #include "Constants.hh" +#include "EmCalorimeterHit.hh" #include "G4HCofThisEvent.hh" -#include "G4TouchableHistory.hh" -#include "G4Track.hh" -#include "G4Step.hh" #include "G4SDManager.hh" -#include "G4ios.hh" +#include "G4Step.hh" namespace B5 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EmCalorimeterSD::EmCalorimeterSD(G4String name) -: G4VSensitiveDetector(name) +EmCalorimeterSD::EmCalorimeterSD(G4String name) : G4VSensitiveDetector(name) { collectionName.insert("EMcalorimeterColl"); } @@ -53,25 +50,24 @@ EmCalorimeterSD::EmCalorimeterSD(G4String name) void EmCalorimeterSD::Initialize(G4HCofThisEvent* hce) { - fHitsCollection - = new EmCalorimeterHitsCollection(SensitiveDetectorName,collectionName[0]); - if (fHCID<0) { + fHitsCollection = new EmCalorimeterHitsCollection(SensitiveDetectorName, collectionName[0]); + if (fHCID < 0) { fHCID = G4SDManager::GetSDMpointer()->GetCollectionID(fHitsCollection); } - hce->AddHitsCollection(fHCID,fHitsCollection); + hce->AddHitsCollection(fHCID, fHitsCollection); // fill calorimeter hits with zero energy deposition - for (auto i=0;iinsert(new EmCalorimeterHit(i)); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool EmCalorimeterSD::ProcessHits(G4Step*step, G4TouchableHistory*) +G4bool EmCalorimeterSD::ProcessHits(G4Step* step, G4TouchableHistory*) { auto edep = step->GetTotalEnergyDeposit(); - if (edep==0.) return true; + if (edep == 0.) return true; auto touchable = step->GetPreStepPoint()->GetTouchable(); auto physical = touchable->GetVolume(); @@ -95,4 +91,4 @@ G4bool EmCalorimeterSD::ProcessHits(G4Step*step, G4TouchableHistory*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/EventAction.cc b/examples/basic/B5/src/EventAction.cc index b9c3d26b1de..62347e86ecf 100644 --- a/examples/basic/B5/src/EventAction.cc +++ b/examples/basic/B5/src/EventAction.cc @@ -28,50 +28,52 @@ /// \brief Implementation of the B5::EventAction class #include "EventAction.hh" -#include "HodoscopeHit.hh" + +#include "Constants.hh" #include "DriftChamberHit.hh" #include "EmCalorimeterHit.hh" #include "HadCalorimeterHit.hh" -#include "Constants.hh" +#include "HodoscopeHit.hh" +#include "G4AnalysisManager.hh" #include "G4Event.hh" -#include "G4RunManager.hh" -#include "G4EventManager.hh" #include "G4HCofThisEvent.hh" -#include "G4VHitsCollection.hh" +#include "G4ParticleDefinition.hh" +#include "G4PrimaryParticle.hh" +#include "G4PrimaryVertex.hh" +#include "G4RunManager.hh" #include "G4SDManager.hh" #include "G4SystemOfUnits.hh" -#include "G4ios.hh" -#include "G4AnalysisManager.hh" +#include "G4VHitsCollection.hh" using std::array; using std::vector; -namespace { +namespace +{ // Utility function which finds a hit collection with the given Id // and print warnings if not found -G4VHitsCollection* GetHC(const G4Event* event, G4int collId) { +G4VHitsCollection* GetHC(const G4Event* event, G4int collId) +{ auto hce = event->GetHCofThisEvent(); if (!hce) { - G4ExceptionDescription msg; - msg << "No hits collection of this event found." << G4endl; - G4Exception("EventAction::EndOfEventAction()", - "Code001", JustWarning, msg); - return nullptr; + G4ExceptionDescription msg; + msg << "No hits collection of this event found." << G4endl; + G4Exception("EventAction::EndOfEventAction()", "Code001", JustWarning, msg); + return nullptr; } auto hc = hce->GetHC(collId); - if ( ! hc) { + if (!hc) { G4ExceptionDescription msg; msg << "Hits collection " << collId << " of this event not found." << G4endl; - G4Exception("EventAction::EndOfEventAction()", - "Code001", JustWarning, msg); + G4Exception("EventAction::EndOfEventAction()", "Code001", JustWarning, msg); } return hc; } -} +} // namespace namespace B5 { @@ -96,22 +98,20 @@ void EventAction::BeginOfEventAction(const G4Event*) auto analysisManager = G4AnalysisManager::Instance(); // hits collections names - array hHCName - = {{ "hodoscope1/hodoscopeColl", "hodoscope2/hodoscopeColl" }}; - array dHCName - = {{ "chamber1/driftChamberColl", "chamber2/driftChamberColl" }}; - array cHCName - = {{ "EMcalorimeter/EMcalorimeterColl", "HadCalorimeter/HadCalorimeterColl" }}; + array hHCName = {{"hodoscope1/hodoscopeColl", "hodoscope2/hodoscopeColl"}}; + array dHCName = {{"chamber1/driftChamberColl", "chamber2/driftChamberColl"}}; + array cHCName = { + {"EMcalorimeter/EMcalorimeterColl", "HadCalorimeter/HadCalorimeterColl"}}; // histograms names - array, kDim> histoName - = {{ {{ "Chamber1", "Chamber2" }}, {{ "Chamber1 XY", "Chamber2 XY" }} }}; + array, kDim> histoName = { + {{{"Chamber1", "Chamber2"}}, {{"Chamber1 XY", "Chamber2 XY"}}}}; for (G4int iDet = 0; iDet < kDim; ++iDet) { // hit collections IDs - fHodHCID[iDet] = sdManager->GetCollectionID(hHCName[iDet]); + fHodHCID[iDet] = sdManager->GetCollectionID(hHCName[iDet]); fDriftHCID[iDet] = sdManager->GetCollectionID(dHCName[iDet]); - fCalHCID[iDet] = sdManager->GetCollectionID(cHCName[iDet]); + fCalHCID[iDet] = sdManager->GetCollectionID(cHCName[iDet]); // histograms IDs fDriftHistoID[kH1][iDet] = analysisManager->GetH1Id(histoName[kH1][iDet]); fDriftHistoID[kH2][iDet] = analysisManager->GetH2Id(histoName[kH2][iDet]); @@ -133,10 +133,10 @@ void EventAction::EndOfEventAction(const G4Event* event) // Drift chambers hits for (G4int iDet = 0; iDet < kDim; ++iDet) { auto hc = GetHC(event, fDriftHCID[iDet]); - if ( ! hc ) return; + if (!hc) return; auto nhit = hc->GetSize(); - analysisManager->FillH1(fDriftHistoID[kH1][iDet], nhit ); + analysisManager->FillH1(fDriftHistoID[kH1][iDet], nhit); // columns 0, 1 analysisManager->FillNtupleIColumn(iDet, nhit); @@ -148,12 +148,12 @@ void EventAction::EndOfEventAction(const G4Event* event) } // Em/Had Calorimeters hits - array totalCalHit = {{ 0, 0 }}; - array totalCalEdep = {{ 0., 0. }}; + array totalCalHit = {{0, 0}}; + array totalCalEdep = {{0., 0.}}; for (G4int iDet = 0; iDet < kDim; ++iDet) { auto hc = GetHC(event, fCalHCID[iDet]); - if ( ! hc ) return; + if (!hc) return; totalCalHit[iDet] = 0; totalCalEdep[iDet] = 0.; @@ -163,11 +163,12 @@ void EventAction::EndOfEventAction(const G4Event* event) if (iDet == 0) { auto hit = static_cast(hc->GetHit(i)); edep = hit->GetEdep(); - } else { + } + else { auto hit = static_cast(hc->GetHit(i)); edep = hit->GetEdep(); } - if ( edep > 0. ) { + if (edep > 0.) { totalCalHit[iDet]++; totalCalEdep[iDet] += edep; } @@ -180,9 +181,9 @@ void EventAction::EndOfEventAction(const G4Event* event) // Hodoscopes hits for (G4int iDet = 0; iDet < kDim; ++iDet) { auto hc = GetHC(event, fHodHCID[iDet]); - if ( ! hc ) return; + if (!hc) return; - for (unsigned int i = 0; iGetSize(); ++i) { + for (unsigned int i = 0; i < hc->GetSize(); ++i) { auto hit = static_cast(hc->GetHit(i)); // columns 4, 5 analysisManager->FillNtupleDColumn(iDet + 4, hit->GetTime()); @@ -195,21 +196,19 @@ void EventAction::EndOfEventAction(const G4Event* event) // auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress(); - if ( printModulo == 0 || event->GetEventID() % printModulo != 0) return; + if (printModulo == 0 || event->GetEventID() % printModulo != 0) return; auto primary = event->GetPrimaryVertex(0)->GetPrimary(0); - G4cout - << G4endl - << ">>> Event " << event->GetEventID() << " >>> Simulation truth : " - << primary->GetG4code()->GetParticleName() - << " " << primary->GetMomentum() << G4endl; + G4cout << G4endl << ">>> Event " << event->GetEventID() + << " >>> Simulation truth : " << primary->GetG4code()->GetParticleName() << " " + << primary->GetMomentum() << G4endl; // Hodoscopes for (G4int iDet = 0; iDet < kDim; ++iDet) { auto hc = GetHC(event, fHodHCID[iDet]); - if ( ! hc ) return; - G4cout << "Hodoscope " << iDet + 1 << " has " << hc->GetSize() << " hits." << G4endl; - for (unsigned int i = 0; iGetSize(); ++i) { + if (!hc) return; + G4cout << "Hodoscope " << iDet + 1 << " has " << hc->GetSize() << " hits." << G4endl; + for (unsigned int i = 0; i < hc->GetSize(); ++i) { hc->GetHit(i)->Print(); } } @@ -217,8 +216,8 @@ void EventAction::EndOfEventAction(const G4Event* event) // Drift chambers for (G4int iDet = 0; iDet < kDim; ++iDet) { auto hc = GetHC(event, fDriftHCID[iDet]); - if ( ! hc ) return; - G4cout << "Drift Chamber " << iDet + 1 << " has " << hc->GetSize() << " hits." << G4endl; + if (!hc) return; + G4cout << "Drift Chamber " << iDet + 1 << " has " << hc->GetSize() << " hits." << G4endl; for (auto layer = 0; layer < kNofChambers; ++layer) { for (unsigned int i = 0; i < hc->GetSize(); i++) { auto hit = static_cast(hc->GetHit(i)); @@ -228,13 +227,13 @@ void EventAction::EndOfEventAction(const G4Event* event) } // Calorimeters - array calName = {{ "EM", "Hadron" }}; + array calName = {{"EM", "Hadron"}}; for (G4int iDet = 0; iDet < kDim; ++iDet) { G4cout << calName[iDet] << " Calorimeter has " << totalCalHit[iDet] << " hits." - << " Total Edep is " << totalCalEdep[iDet]/MeV << " (MeV)" << G4endl; + << " Total Edep is " << totalCalEdep[iDet] / MeV << " (MeV)" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/HadCalorimeterHit.cc b/examples/basic/B5/src/HadCalorimeterHit.cc index 3fbd02c2426..a8123ef96d0 100644 --- a/examples/basic/B5/src/HadCalorimeterHit.cc +++ b/examples/basic/B5/src/HadCalorimeterHit.cc @@ -28,18 +28,18 @@ /// \brief Implementation of the B5::HadCalorimeterHit class #include "HadCalorimeterHit.hh" -#include "DetectorConstruction.hh" -#include "G4VVisManager.hh" -#include "G4VisAttributes.hh" -#include "G4Box.hh" -#include "G4Colour.hh" -#include "G4AttDefStore.hh" #include "G4AttDef.hh" +#include "G4AttDefStore.hh" #include "G4AttValue.hh" +#include "G4Box.hh" +#include "G4Colour.hh" +#include "G4SystemOfUnits.hh" +#include "G4Transform3D.hh" #include "G4UIcommand.hh" #include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" +#include "G4VVisManager.hh" +#include "G4VisAttributes.hh" #include "G4ios.hh" namespace B5 @@ -51,15 +51,15 @@ G4ThreadLocal G4Allocator* HadCalorimeterHitAllocator; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HadCalorimeterHit::HadCalorimeterHit(G4int columnID,G4int rowID) -: fColumnID(columnID), fRowID(rowID) +HadCalorimeterHit::HadCalorimeterHit(G4int columnID, G4int rowID) + : fColumnID(columnID), fRowID(rowID) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool HadCalorimeterHit::operator==(const HadCalorimeterHit &right) const +G4bool HadCalorimeterHit::operator==(const HadCalorimeterHit& right) const { - return ( fColumnID==right.fColumnID && fRowID==right.fRowID ); + return (fColumnID == right.fColumnID && fRowID == right.fRowID); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -67,41 +67,35 @@ G4bool HadCalorimeterHit::operator==(const HadCalorimeterHit &right) const void HadCalorimeterHit::Draw() { auto visManager = G4VVisManager::GetConcreteInstance(); - if (! visManager || (fEdep==0.)) return; + if (!visManager || (fEdep == 0.)) return; // Draw a calorimeter cell with depth propotional to the energy deposition - G4Transform3D trans(fRot.inverse(),fPos); + G4Transform3D trans(fRot.inverse(), fPos); G4VisAttributes attribs; attribs.SetColour(G4Colour::Red()); attribs.SetForceSolid(true); - G4Box box("dummy",15.*cm,15.*cm,1.*m*fEdep/(0.1*GeV)); - visManager->Draw(box,attribs,trans); + G4Box box("dummy", 15. * cm, 15. * cm, 1. * m * fEdep / (0.1 * GeV)); + visManager->Draw(box, attribs, trans); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const std::map* HadCalorimeterHit::GetAttDefs() const +const std::map* HadCalorimeterHit::GetAttDefs() const { G4bool isNew; - auto store = G4AttDefStore::GetInstance("HadCalorimeterHit",isNew); + auto store = G4AttDefStore::GetInstance("HadCalorimeterHit", isNew); if (isNew) { - (*store)["HitType"] - = G4AttDef("HitType","Hit Type","Physics","","G4String"); + (*store)["HitType"] = G4AttDef("HitType", "Hit Type", "Physics", "", "G4String"); - (*store)["Column"] - = G4AttDef("Column","Column ID","Physics","","G4int"); + (*store)["Column"] = G4AttDef("Column", "Column ID", "Physics", "", "G4int"); - (*store)["Row"] - = G4AttDef("Row","Row ID","Physics","","G4int"); + (*store)["Row"] = G4AttDef("Row", "Row ID", "Physics", "", "G4int"); - (*store)["Energy"] - = G4AttDef("Energy","Energy Deposited","Physics","G4BestUnit", - "G4double"); + (*store)["Energy"] = + G4AttDef("Energy", "Energy Deposited", "Physics", "G4BestUnit", "G4double"); - (*store)["Pos"] - = G4AttDef("Pos", "Position", "Physics","G4BestUnit", - "G4ThreeVector"); + (*store)["Pos"] = G4AttDef("Pos", "Position", "Physics", "G4BestUnit", "G4ThreeVector"); } return store; } @@ -112,17 +106,11 @@ std::vector* HadCalorimeterHit::CreateAttValues() const { auto values = new std::vector; - values - ->push_back(G4AttValue("HitType","HadCalorimeterHit","")); - values - ->push_back(G4AttValue("Column",G4UIcommand::ConvertToString(fColumnID), - "")); - values - ->push_back(G4AttValue("Row",G4UIcommand::ConvertToString(fRowID),"")); - values - ->push_back(G4AttValue("Energy",G4BestUnit(fEdep,"Energy"),"")); - values - ->push_back(G4AttValue("Pos",G4BestUnit(fPos,"Length"),"")); + values->push_back(G4AttValue("HitType", "HadCalorimeterHit", "")); + values->push_back(G4AttValue("Column", G4UIcommand::ConvertToString(fColumnID), "")); + values->push_back(G4AttValue("Row", G4UIcommand::ConvertToString(fRowID), "")); + values->push_back(G4AttValue("Energy", G4BestUnit(fEdep, "Energy"), "")); + values->push_back(G4AttValue("Pos", G4BestUnit(fPos, "Length"), "")); return values; } @@ -131,10 +119,10 @@ std::vector* HadCalorimeterHit::CreateAttValues() const void HadCalorimeterHit::Print() { - G4cout << " Cell[" << fRowID << ", " << fColumnID << "] " - << fEdep/MeV << " (MeV) " << fPos << G4endl; + G4cout << " Cell[" << fRowID << ", " << fColumnID << "] " << fEdep / MeV << " (MeV) " << fPos + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/HadCalorimeterSD.cc b/examples/basic/B5/src/HadCalorimeterSD.cc index c6a0939d14a..65050e2e8fc 100644 --- a/examples/basic/B5/src/HadCalorimeterSD.cc +++ b/examples/basic/B5/src/HadCalorimeterSD.cc @@ -28,23 +28,22 @@ /// \brief Implementation of the B5::HadCalorimeterSD class #include "HadCalorimeterSD.hh" -#include "HadCalorimeterHit.hh" + #include "Constants.hh" +#include "HadCalorimeterHit.hh" +#include "G4AffineTransform.hh" #include "G4HCofThisEvent.hh" -#include "G4TouchableHistory.hh" -#include "G4Track.hh" -#include "G4Step.hh" #include "G4SDManager.hh" -#include "G4ios.hh" +#include "G4Step.hh" +#include "G4StepPoint.hh" namespace B5 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HadCalorimeterSD::HadCalorimeterSD(G4String name) -: G4VSensitiveDetector(name) +HadCalorimeterSD::HadCalorimeterSD(G4String name) : G4VSensitiveDetector(name) { collectionName.insert("HadCalorimeterColl"); } @@ -53,16 +52,15 @@ HadCalorimeterSD::HadCalorimeterSD(G4String name) void HadCalorimeterSD::Initialize(G4HCofThisEvent* hce) { - fHitsCollection - = new HadCalorimeterHitsCollection(SensitiveDetectorName,collectionName[0]); - if (fHCID<0) { + fHitsCollection = new HadCalorimeterHitsCollection(SensitiveDetectorName, collectionName[0]); + if (fHCID < 0) { fHCID = G4SDManager::GetSDMpointer()->GetCollectionID(fHitsCollection); } - hce->AddHitsCollection(fHCID,fHitsCollection); + hce->AddHitsCollection(fHCID, fHitsCollection); // fill calorimeter hits with zero energy deposition - for (auto column=0;columninsert(new HadCalorimeterHit()); } } @@ -73,20 +71,20 @@ void HadCalorimeterSD::Initialize(G4HCofThisEvent* hce) G4bool HadCalorimeterSD::ProcessHits(G4Step* step, G4TouchableHistory*) { auto edep = step->GetTotalEnergyDeposit(); - if (edep==0.) return true; + if (edep == 0.) return true; auto touchable = step->GetPreStepPoint()->GetTouchable(); auto rowNo = touchable->GetCopyNumber(2); auto columnNo = touchable->GetCopyNumber(3); - auto hitID = kNofHadRows*columnNo+rowNo; + auto hitID = kNofHadRows * columnNo + rowNo; auto hit = (*fHitsCollection)[hitID]; // check if it is first touch - if (hit->GetColumnID()<0) { + if (hit->GetColumnID() < 0) { hit->SetColumnID(columnNo); hit->SetRowID(rowNo); auto depth = touchable->GetHistory()->GetDepth(); - auto transform = touchable->GetHistory()->GetTransform(depth-2); + auto transform = touchable->GetHistory()->GetTransform(depth - 2); transform.Invert(); hit->SetRot(transform.NetRotation()); hit->SetPos(transform.NetTranslation()); @@ -99,4 +97,4 @@ G4bool HadCalorimeterSD::ProcessHits(G4Step* step, G4TouchableHistory*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/HodoscopeHit.cc b/examples/basic/B5/src/HodoscopeHit.cc index 80941b6e610..a8ac2e4f1fe 100644 --- a/examples/basic/B5/src/HodoscopeHit.cc +++ b/examples/basic/B5/src/HodoscopeHit.cc @@ -29,16 +29,17 @@ #include "HodoscopeHit.hh" -#include "G4VVisManager.hh" -#include "G4VisAttributes.hh" -#include "G4Circle.hh" -#include "G4Colour.hh" -#include "G4AttDefStore.hh" #include "G4AttDef.hh" +#include "G4AttDefStore.hh" #include "G4AttValue.hh" +#include "G4Colour.hh" +#include "G4LogicalVolume.hh" +#include "G4SystemOfUnits.hh" +#include "G4Transform3D.hh" #include "G4UIcommand.hh" #include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" +#include "G4VVisManager.hh" +#include "G4VisAttributes.hh" #include "G4ios.hh" namespace B5 @@ -50,13 +51,11 @@ G4ThreadLocal G4Allocator* HodoscopeHitAllocator; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HodoscopeHit::HodoscopeHit(G4int id,G4double time) -: fId(id), fTime(time) -{} +HodoscopeHit::HodoscopeHit(G4int id, G4double time) : fId(id), fTime(time) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool HodoscopeHit::operator==(const HodoscopeHit &/*right*/) const +G4bool HodoscopeHit::operator==(const HodoscopeHit& /*right*/) const { return false; } @@ -66,39 +65,34 @@ G4bool HodoscopeHit::operator==(const HodoscopeHit &/*right*/) const void HodoscopeHit::Draw() { auto visManager = G4VVisManager::GetConcreteInstance(); - if (! visManager) return; + if (!visManager) return; - G4Transform3D trans(fRot.inverse(),fPos); + G4Transform3D trans(fRot.inverse(), fPos); G4VisAttributes attribs; auto pVA = fPLogV->GetVisAttributes(); if (pVA) attribs = *pVA; attribs.SetColour(G4Colour::Cyan()); attribs.SetForceSolid(true); - visManager->Draw(*fPLogV,attribs,trans); + visManager->Draw(*fPLogV, attribs, trans); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const std::map* HodoscopeHit::GetAttDefs() const +const std::map* HodoscopeHit::GetAttDefs() const { G4bool isNew; - auto store = G4AttDefStore::GetInstance("HodoscopeHit",isNew); + auto store = G4AttDefStore::GetInstance("HodoscopeHit", isNew); if (isNew) { - (*store)["HitType"] - = G4AttDef("HitType","Hit Type","Physics","","G4String"); + (*store)["HitType"] = G4AttDef("HitType", "Hit Type", "Physics", "", "G4String"); - (*store)["ID"] - = G4AttDef("ID","ID","Physics","","G4int"); + (*store)["ID"] = G4AttDef("ID", "ID", "Physics", "", "G4int"); - (*store)["Time"] - = G4AttDef("Time","Time","Physics","G4BestUnit","G4double"); + (*store)["Time"] = G4AttDef("Time", "Time", "Physics", "G4BestUnit", "G4double"); - (*store)["Pos"] - = G4AttDef("Pos","Position","Physics","G4BestUnit","G4ThreeVector"); + (*store)["Pos"] = G4AttDef("Pos", "Position", "Physics", "G4BestUnit", "G4ThreeVector"); - (*store)["LVol"] - = G4AttDef("LVol","Logical Volume","Physics","","G4String"); + (*store)["LVol"] = G4AttDef("LVol", "Logical Volume", "Physics", "", "G4String"); } return store; } @@ -109,19 +103,15 @@ std::vector* HodoscopeHit::CreateAttValues() const { auto values = new std::vector; - values - ->push_back(G4AttValue("HitType","HodoscopeHit","")); - values - ->push_back(G4AttValue("ID",G4UIcommand::ConvertToString(fId),"")); - values - ->push_back(G4AttValue("Time",G4BestUnit(fTime,"Time"),"")); - values - ->push_back(G4AttValue("Pos",G4BestUnit(fPos,"Length"),"")); + values->push_back(G4AttValue("HitType", "HodoscopeHit", "")); + values->push_back(G4AttValue("ID", G4UIcommand::ConvertToString(fId), "")); + values->push_back(G4AttValue("Time", G4BestUnit(fTime, "Time"), "")); + values->push_back(G4AttValue("Pos", G4BestUnit(fPos, "Length"), "")); if (fPLogV) - values->push_back(G4AttValue("LVol",fPLogV->GetName(),"")); + values->push_back(G4AttValue("LVol", fPLogV->GetName(), "")); else - values->push_back(G4AttValue("LVol"," ","")); + values->push_back(G4AttValue("LVol", " ", "")); return values; } @@ -130,9 +120,9 @@ std::vector* HodoscopeHit::CreateAttValues() const void HodoscopeHit::Print() { - G4cout << " Hodoscope[" << fId << "] " << fTime/ns << " (nsec)" << G4endl; + G4cout << " Hodoscope[" << fId << "] " << fTime / ns << " (nsec)" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/HodoscopeSD.cc b/examples/basic/B5/src/HodoscopeSD.cc index 5b3e4a8f3bb..6a97af6cb98 100644 --- a/examples/basic/B5/src/HodoscopeSD.cc +++ b/examples/basic/B5/src/HodoscopeSD.cc @@ -28,36 +28,36 @@ /// \brief Implementation of the B5::HodoscopeSD class #include "HodoscopeSD.hh" + #include "HodoscopeHit.hh" +#include "G4AffineTransform.hh" #include "G4HCofThisEvent.hh" -#include "G4TouchableHistory.hh" -#include "G4Track.hh" -#include "G4Step.hh" #include "G4SDManager.hh" -#include "G4ios.hh" +#include "G4Step.hh" +#include "G4StepPoint.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VTouchable.hh" namespace B5 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HodoscopeSD::HodoscopeSD(G4String name) -: G4VSensitiveDetector(name) +HodoscopeSD::HodoscopeSD(G4String name) : G4VSensitiveDetector(name) { - collectionName.insert( "hodoscopeColl"); + collectionName.insert("hodoscopeColl"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void HodoscopeSD::Initialize(G4HCofThisEvent* hce) { - fHitsCollection = new HodoscopeHitsCollection - (SensitiveDetectorName,collectionName[0]); - if (fHCID<0) { + fHitsCollection = new HodoscopeHitsCollection(SensitiveDetectorName, collectionName[0]); + if (fHCID < 0) { fHCID = G4SDManager::GetSDMpointer()->GetCollectionID(fHitsCollection); } - hce->AddHitsCollection(fHCID,fHitsCollection); + hce->AddHitsCollection(fHCID, fHitsCollection); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -65,7 +65,7 @@ void HodoscopeSD::Initialize(G4HCofThisEvent* hce) G4bool HodoscopeSD::ProcessHits(G4Step* step, G4TouchableHistory*) { auto edep = step->GetTotalEnergyDeposit(); - if (edep==0.) return true; + if (edep == 0.) return true; auto preStepPoint = step->GetPreStepPoint(); auto touchable = preStepPoint->GetTouchable(); @@ -74,22 +74,22 @@ G4bool HodoscopeSD::ProcessHits(G4Step* step, G4TouchableHistory*) // check if this finger already has a hit auto ix = -1; - for (std::size_t i=0;ientries();++i) { - if ((*fHitsCollection)[i]->GetID()==copyNo) { + for (std::size_t i = 0; i < fHitsCollection->entries(); ++i) { + if ((*fHitsCollection)[i]->GetID() == copyNo) { ix = i; break; } } - if (ix>=0) { + if (ix >= 0) { // if it has, then take the earlier time - if ((*fHitsCollection)[ix]->GetTime()>hitTime) { + if ((*fHitsCollection)[ix]->GetTime() > hitTime) { (*fHitsCollection)[ix]->SetTime(hitTime); } } else { // if not, create a new hit and set it to the collection - auto hit = new HodoscopeHit(copyNo,hitTime); + auto hit = new HodoscopeHit(copyNo, hitTime); auto physical = touchable->GetVolume(); hit->SetLogV(physical->GetLogicalVolume()); auto transform = touchable->GetHistory()->GetTopTransform(); @@ -103,4 +103,4 @@ G4bool HodoscopeSD::ProcessHits(G4Step* step, G4TouchableHistory*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/MagneticField.cc b/examples/basic/B5/src/MagneticField.cc index 664510ab5d7..288b0177cc9 100644 --- a/examples/basic/B5/src/MagneticField.cc +++ b/examples/basic/B5/src/MagneticField.cc @@ -30,8 +30,6 @@ #include "MagneticField.hh" #include "G4GenericMessenger.hh" -#include "G4SystemOfUnits.hh" -#include "globals.hh" namespace B5 { @@ -51,7 +49,7 @@ MagneticField::~MagneticField() delete fMessenger; } -void MagneticField::GetFieldValue(const G4double [4],double *bField) const +void MagneticField::GetFieldValue(const G4double[4], double* bField) const { bField[0] = 0.; bField[1] = fBy; @@ -63,19 +61,15 @@ void MagneticField::GetFieldValue(const G4double [4],double *bField) const void MagneticField::DefineCommands() { // Define /B5/field command directory using generic messenger class - fMessenger = new G4GenericMessenger(this, - "/B5/field/", - "Field control"); + fMessenger = new G4GenericMessenger(this, "/B5/field/", "Field control"); // fieldValue command - auto& valueCmd - = fMessenger->DeclareMethodWithUnit("value","tesla", - &MagneticField::SetField, - "Set field strength."); + auto& valueCmd = fMessenger->DeclareMethodWithUnit("value", "tesla", &MagneticField::SetField, + "Set field strength."); valueCmd.SetParameterName("field", true); valueCmd.SetDefaultValue("1."); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/PrimaryGeneratorAction.cc b/examples/basic/B5/src/PrimaryGeneratorAction.cc index 73eddb3d342..5ec75967342 100644 --- a/examples/basic/B5/src/PrimaryGeneratorAction.cc +++ b/examples/basic/B5/src/PrimaryGeneratorAction.cc @@ -29,12 +29,12 @@ #include "PrimaryGeneratorAction.hh" -#include "G4Event.hh" +#include "G4GenericMessenger.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "G4GenericMessenger.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" #include "Randomize.hh" namespace B5 @@ -43,17 +43,9 @@ namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PrimaryGeneratorAction::PrimaryGeneratorAction() -// : G4VUserPrimaryGeneratorAction(), -// fParticleGun(nullptr), fMessenger(nullptr), -// fPositron(nullptr), fMuon(nullptr), fPion(nullptr), -// fKaon(nullptr), fProton(nullptr), -// fMomentum(1000.*MeV), -// fSigmaMomentum(50.*MeV), -// fSigmaAngle(2.*deg), -// fRandomizePrimary(true) { G4int nofParticles = 1; - fParticleGun = new G4ParticleGun(nofParticles); + fParticleGun = new G4ParticleGun(nofParticles); auto particleTable = G4ParticleTable::GetParticleTable(); fPositron = particleTable->FindParticle("e+"); @@ -63,7 +55,7 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() fProton = particleTable->FindParticle("proton"); // default particle kinematics - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-8.*m)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -8. * m)); fParticleGun->SetParticleDefinition(fPositron); // define commands for this class @@ -85,22 +77,22 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) G4ParticleDefinition* particle; if (fRandomizePrimary) { auto i = (int)(5. * G4UniformRand()); - switch(i) { + switch (i) { case 0: - particle = fPositron; - break; + particle = fPositron; + break; case 1: - particle = fMuon; - break; + particle = fMuon; + break; case 2: - particle = fPion; - break; + particle = fPion; + break; case 3: - particle = fKaon; - break; + particle = fKaon; + break; default: - particle = fProton; - break; + particle = fProton; + break; } fParticleGun->SetParticleDefinition(particle); } @@ -108,14 +100,13 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) particle = fParticleGun->GetParticleDefinition(); } - auto pp = fMomentum + (G4UniformRand()-0.5)*fSigmaMomentum; + auto pp = fMomentum + (G4UniformRand() - 0.5) * fSigmaMomentum; auto mass = particle->GetPDGMass(); - auto ekin = std::sqrt(pp*pp+mass*mass)-mass; + auto ekin = std::sqrt(pp * pp + mass * mass) - mass; fParticleGun->SetParticleEnergy(ekin); - auto angle = (G4UniformRand()-0.5)*fSigmaAngle; - fParticleGun->SetParticleMomentumDirection( - G4ThreeVector(std::sin(angle),0.,std::cos(angle))); + auto angle = (G4UniformRand() - 0.5) * fSigmaAngle; + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(std::sin(angle), 0., std::cos(angle))); fParticleGun->GeneratePrimaryVertex(event); } @@ -125,45 +116,36 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event) void PrimaryGeneratorAction::DefineCommands() { // Define /B5/generator command directory using generic messenger class - fMessenger - = new G4GenericMessenger(this, - "/B5/generator/", - "Primary generator control"); + fMessenger = new G4GenericMessenger(this, "/B5/generator/", "Primary generator control"); // momentum command - auto& momentumCmd - = fMessenger->DeclarePropertyWithUnit("momentum", "GeV", fMomentum, - "Mean momentum of primaries."); + auto& momentumCmd = fMessenger->DeclarePropertyWithUnit("momentum", "GeV", fMomentum, + "Mean momentum of primaries."); momentumCmd.SetParameterName("p", true); momentumCmd.SetRange("p>=0."); momentumCmd.SetDefaultValue("1."); // ok - //momentumCmd.SetParameterName("p", true); - //momentumCmd.SetRange("p>=0."); + // momentumCmd.SetParameterName("p", true); + // momentumCmd.SetRange("p>=0."); // sigmaMomentum command - auto& sigmaMomentumCmd - = fMessenger->DeclarePropertyWithUnit("sigmaMomentum", - "MeV", fSigmaMomentum, "Sigma momentum of primaries."); + auto& sigmaMomentumCmd = fMessenger->DeclarePropertyWithUnit( + "sigmaMomentum", "MeV", fSigmaMomentum, "Sigma momentum of primaries."); sigmaMomentumCmd.SetParameterName("sp", true); sigmaMomentumCmd.SetRange("sp>=0."); sigmaMomentumCmd.SetDefaultValue("50."); // sigmaAngle command - auto& sigmaAngleCmd - = fMessenger->DeclarePropertyWithUnit("sigmaAngle", "deg", fSigmaAngle, - "Sigma angle divergence of primaries."); + auto& sigmaAngleCmd = fMessenger->DeclarePropertyWithUnit("sigmaAngle", "deg", fSigmaAngle, + "Sigma angle divergence of primaries."); sigmaAngleCmd.SetParameterName("t", true); sigmaAngleCmd.SetRange("t>=0."); sigmaAngleCmd.SetDefaultValue("2."); // randomizePrimary command - auto& randomCmd - = fMessenger->DeclareProperty("randomizePrimary", fRandomizePrimary); - G4String guidance - = "Boolean flag for randomizing primary particle types.\n"; - guidance - += "In case this flag is false, you can select the primary particle\n"; + auto& randomCmd = fMessenger->DeclareProperty("randomizePrimary", fRandomizePrimary); + G4String guidance = "Boolean flag for randomizing primary particle types.\n"; + guidance += "In case this flag is false, you can select the primary particle\n"; guidance += " with /gun/particle command."; randomCmd.SetGuidance(guidance); randomCmd.SetParameterName("flg", true); @@ -172,4 +154,4 @@ void PrimaryGeneratorAction::DefineCommands() //..oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/B5/src/RunAction.cc b/examples/basic/B5/src/RunAction.cc index 8843f7f34af..e7034fe2b90 100644 --- a/examples/basic/B5/src/RunAction.cc +++ b/examples/basic/B5/src/RunAction.cc @@ -28,11 +28,9 @@ /// \brief Implementation of the B5::RunAction class #include "RunAction.hh" + #include "EventAction.hh" -#include "G4Run.hh" -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" #include "G4AnalysisManager.hh" namespace B5 @@ -40,49 +38,44 @@ namespace B5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(EventAction* eventAction) - : fEventAction(eventAction) +RunAction::RunAction(EventAction* eventAction) : fEventAction(eventAction) { // Create the generic analysis manager auto analysisManager = G4AnalysisManager::Instance(); analysisManager->SetDefaultFileType("root"); - // If the filename extension is not provided, the default file type (root) - // will be used for all files specified without extension. + // If the filename extension is not provided, the default file type (root) + // will be used for all files specified without extension. analysisManager->SetVerboseLevel(1); // Default settings analysisManager->SetNtupleMerging(true); - // Note: merging ntuples is available only with Root output + // Note: merging ntuples is available only with Root output analysisManager->SetFileName("B5"); // Book histograms, ntuple // Creating 1D histograms - analysisManager - ->CreateH1("Chamber1","Drift Chamber 1 # Hits", 50, 0., 50); // h1 Id = 0 - analysisManager - ->CreateH1("Chamber2","Drift Chamber 2 # Hits", 50, 0., 50); // h1 Id = 1 + analysisManager->CreateH1("Chamber1", "Drift Chamber 1 # Hits", 50, 0., 50); // h1 Id = 0 + analysisManager->CreateH1("Chamber2", "Drift Chamber 2 # Hits", 50, 0., 50); // h1 Id = 1 // Creating 2D histograms - analysisManager - ->CreateH2("Chamber1 XY","Drift Chamber 1 X vs Y", // h2 Id = 0 - 50, -1000., 1000, 50, -300., 300.); - analysisManager - ->CreateH2("Chamber2 XY","Drift Chamber 2 X vs Y", // h2 Id = 1 - 50, -1500., 1500, 50, -300., 300.); + analysisManager->CreateH2("Chamber1 XY", "Drift Chamber 1 X vs Y", // h2 Id = 0 + 50, -1000., 1000, 50, -300., 300.); + analysisManager->CreateH2("Chamber2 XY", "Drift Chamber 2 X vs Y", // h2 Id = 1 + 50, -1500., 1500, 50, -300., 300.); // Creating ntuple - if ( fEventAction ) { + if (fEventAction) { analysisManager->CreateNtuple("B5", "Hits"); analysisManager->CreateNtupleIColumn("Dc1Hits"); // column Id = 0 analysisManager->CreateNtupleIColumn("Dc2Hits"); // column Id = 1 - analysisManager->CreateNtupleDColumn("ECEnergy"); // column Id = 2 - analysisManager->CreateNtupleDColumn("HCEnergy"); // column Id = 3 - analysisManager->CreateNtupleDColumn("Time1"); // column Id = 4 - analysisManager->CreateNtupleDColumn("Time2"); // column Id = 5 - analysisManager // column Id = 6 + analysisManager->CreateNtupleDColumn("ECEnergy"); // column Id = 2 + analysisManager->CreateNtupleDColumn("HCEnergy"); // column Id = 3 + analysisManager->CreateNtupleDColumn("Time1"); // column Id = 4 + analysisManager->CreateNtupleDColumn("Time2"); // column Id = 5 + analysisManager // column Id = 6 ->CreateNtupleDColumn("ECEnergyVector", fEventAction->GetEmCalEdep()); - analysisManager // column Id = 7 + analysisManager // column Id = 7 ->CreateNtupleDColumn("HCEnergyVector", fEventAction->GetHadCalEdep()); analysisManager->FinishNtuple(); } @@ -95,8 +88,8 @@ RunAction::RunAction(EventAction* eventAction) void RunAction::BeginOfRunAction(const G4Run* /*run*/) { - //inform the runManager to save random number seed - //G4RunManager::GetRunManager()->SetRandomNumberStore(true); + // inform the runManager to save random number seed + // G4RunManager::GetRunManager()->SetRandomNumberStore(true); // Get analysis manager auto analysisManager = G4AnalysisManager::Instance(); @@ -119,10 +112,10 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/) auto analysisManager = G4AnalysisManager::Instance(); analysisManager->Write(); analysisManager->CloseFile(false); - // Keep content of histos so that they are plotted. - // The content will be reset at start of the next run. + // Keep content of histos so that they are plotted. + // The content will be reset at start of the next run. } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B5 diff --git a/examples/basic/History b/examples/basic/History index ab6b6be54b9..804313cb185 100644 --- a/examples/basic/History +++ b/examples/basic/History @@ -5,6 +5,18 @@ which **must** added in reverse chronological order (newest at the top). It must be used as a substitute for writing good git commit messages! +## 2024-06-10 I. Hrivnacova (exbasic-V11-02-01) +- Fix includes, simplified local variables names: + - Applied suggestions of include-what-you-use tools, + - Adjustment for include "globals.hh": + alway prefer "globals.hh" in examples to explicit includes of containing definitions + - Simplified local variables names: + aStep, aTrack, anEvent, aRun -> step, track, event, run + +## 2024-06-01 Ben Morgan (exbasic-V11-02-00) +- Apply clang-format to all basic examples +- Address coding style warnings + ## 2023-10-09 Ben Morgan (exbasic-V11-01-00) - Bump CMake range to 3.16...3.27 in line with main toolkit diff --git a/examples/extended/History b/examples/extended/History new file mode 100644 index 00000000000..82d83874faf --- /dev/null +++ b/examples/extended/History @@ -0,0 +1,17 @@ +# Example extended History + +See `CONTRIBUTING.rst` for details of **required** info/format for each entry, +which **must** added in reverse chronological order (newest at the top). +It must **not** be used as a substitute for writing good git commit messages! + +------------------------------------------------------------------------------- + +## 2024-06-10 Gabriele Cosmo (exextended-V11-02-01) +- Updated GDML files to use short URL for schema validation. + +## 2024-06-04 Ben Morgan (exextended-V11-02-00) +- Initial overall History file for extended examples. + Used for global changes affecting all examples under here. +- Apply clang-format to all extended examples. +- Address coding style warnings. + diff --git a/examples/extended/analysis/AnaEx01/AnaEx01-csv.out b/examples/extended/analysis/AnaEx01/AnaEx01-csv.out index bea83e17f27..c7144f2d0a9 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01-csv.out +++ b/examples/extended/analysis/AnaEx01/AnaEx01-csv.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -290,7 +297,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -845,7 +852,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -866,20 +873,20 @@ See commands in /vis/modeling/trajectories/ for other options. --------------------End of Run------------------------------ - mean Energy in Absorber : 281.112 MeV +- 0 eV - mean Energy in Gap : 74.1401 MeV +- 0 eV + mean Energy in Absorber : 245.231 MeV +- 0 eV + mean Energy in Gap : 64.6941 MeV +- 0 eV - mean trackLength in Absorber : 69.2721 cm +- 0 fm - mean trackLength in Gap : 37.7451 cm +- 0 fm + mean trackLength in Absorber : 60.8807 cm +- 0 fm + mean trackLength in Gap : 32.6255 cm +- 0 fm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 281.112 MeV rms = 0 eV -EGap: mean = 74.1401 MeV rms = 0 eV -LAbs: mean = 69.2721 cm rms = 0 fm -LGap: mean = 37.7451 cm rms = 0 fm +EAbs: mean = 245.231 MeV rms = 0 eV +EGap: mean = 64.6941 MeV rms = 0 eV +LAbs: mean = 60.8807 cm rms = 0 fm +LGap: mean = 32.6255 cm rms = 0 fm ... create file : ./histo/AnaEx01_h1_EAbs.csv - done ... create file : ./histo/AnaEx01_h1_EGap.csv - done ... create file : ./histo/AnaEx01_h1_LAbs.csv - done @@ -939,20 +946,20 @@ There are histograms that can be viewed with visualization: --------------------End of Run------------------------------ - mean Energy in Absorber : 190.633 MeV +- 48.8718 MeV - mean Energy in Gap : 46.5146 MeV +- 13.3975 MeV + mean Energy in Absorber : 186.264 MeV +- 50.8208 MeV + mean Energy in Gap : 45.8735 MeV +- 13.843 MeV - mean trackLength in Absorber : 47.0418 cm +- 12.1398 cm - mean trackLength in Gap : 23.5952 cm +- 6.83896 cm + mean trackLength in Absorber : 46.0323 cm +- 12.6521 cm + mean trackLength in Gap : 23.2729 cm +- 7.04724 cm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 190.633 MeV rms = 48.8718 MeV -EGap: mean = 46.5146 MeV rms = 13.3975 MeV -LAbs: mean = 47.0418 cm rms = 12.1398 cm -LGap: mean = 23.5952 cm rms = 6.83896 cm +EAbs: mean = 186.264 MeV rms = 50.8208 MeV +EGap: mean = 45.8735 MeV rms = 13.843 MeV +LAbs: mean = 46.0323 cm rms = 12.6521 cm +LGap: mean = 23.246 cm rms = 6.99942 cm ... create file : ./histo/AnaEx01_h1_EAbs.csv - done ... create file : ./histo/AnaEx01_h1_EGap.csv - done ... create file : ./histo/AnaEx01_h1_LAbs.csv - done diff --git a/examples/extended/analysis/AnaEx01/AnaEx01-hdf5.out b/examples/extended/analysis/AnaEx01/AnaEx01-hdf5.out index 10d8f46c710..f2406f9a3e1 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01-hdf5.out +++ b/examples/extended/analysis/AnaEx01/AnaEx01-hdf5.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -290,7 +297,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -845,7 +852,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -865,20 +872,20 @@ See commands in /vis/modeling/trajectories/ for other options. --------------------End of Run------------------------------ - mean Energy in Absorber : 281.112 MeV +- 0 eV - mean Energy in Gap : 74.1401 MeV +- 0 eV + mean Energy in Absorber : 245.231 MeV +- 0 eV + mean Energy in Gap : 64.6941 MeV +- 0 eV - mean trackLength in Absorber : 69.2721 cm +- 0 fm - mean trackLength in Gap : 37.7451 cm +- 0 fm + mean trackLength in Absorber : 60.8807 cm +- 0 fm + mean trackLength in Gap : 32.6255 cm +- 0 fm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 281.112 MeV rms = 0 eV -EGap: mean = 74.1401 MeV rms = 0 eV -LAbs: mean = 69.2721 cm rms = 0 fm -LGap: mean = 37.7451 cm rms = 0 fm +EAbs: mean = 245.231 MeV rms = 0 eV +EGap: mean = 64.6941 MeV rms = 0 eV +LAbs: mean = 60.8807 cm rms = 0 fm +LGap: mean = 32.6255 cm rms = 0 fm ... write file : AnaEx01.hdf5 - done ... close file : AnaEx01.hdf5 - done @@ -923,20 +930,20 @@ There are histograms that can be viewed with visualization: --------------------End of Run------------------------------ - mean Energy in Absorber : 190.633 MeV +- 48.8718 MeV - mean Energy in Gap : 46.5146 MeV +- 13.3975 MeV + mean Energy in Absorber : 186.264 MeV +- 50.8208 MeV + mean Energy in Gap : 45.8735 MeV +- 13.843 MeV - mean trackLength in Absorber : 47.0418 cm +- 12.1398 cm - mean trackLength in Gap : 23.5952 cm +- 6.83896 cm + mean trackLength in Absorber : 46.0323 cm +- 12.6521 cm + mean trackLength in Gap : 23.2729 cm +- 7.04724 cm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 190.633 MeV rms = 48.8718 MeV -EGap: mean = 46.5146 MeV rms = 13.3975 MeV -LAbs: mean = 47.0418 cm rms = 12.1398 cm -LGap: mean = 23.5952 cm rms = 6.83896 cm +EAbs: mean = 186.264 MeV rms = 50.8208 MeV +EGap: mean = 45.8735 MeV rms = 13.843 MeV +LAbs: mean = 46.0323 cm rms = 12.6521 cm +LGap: mean = 23.246 cm rms = 6.99942 cm ... write file : AnaEx01.hdf5 - done ... close file : AnaEx01.hdf5 - done diff --git a/examples/extended/analysis/AnaEx01/AnaEx01-root.out b/examples/extended/analysis/AnaEx01/AnaEx01-root.out index 747ff3bc65b..1188bedc795 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01-root.out +++ b/examples/extended/analysis/AnaEx01/AnaEx01-root.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -290,7 +297,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -845,7 +852,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -867,20 +874,20 @@ See commands in /vis/modeling/trajectories/ for other options. --------------------End of Run------------------------------ - mean Energy in Absorber : 281.112 MeV +- 0 eV - mean Energy in Gap : 74.1401 MeV +- 0 eV + mean Energy in Absorber : 245.231 MeV +- 0 eV + mean Energy in Gap : 64.6941 MeV +- 0 eV - mean trackLength in Absorber : 69.2721 cm +- 0 fm - mean trackLength in Gap : 37.7451 cm +- 0 fm + mean trackLength in Absorber : 60.8807 cm +- 0 fm + mean trackLength in Gap : 32.6255 cm +- 0 fm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 281.112 MeV rms = 0 eV -EGap: mean = 74.1401 MeV rms = 0 eV -LAbs: mean = 69.2721 cm rms = 0 fm -LGap: mean = 37.7451 cm rms = 0 fm +EAbs: mean = 245.231 MeV rms = 0 eV +EGap: mean = 64.6941 MeV rms = 0 eV +LAbs: mean = 60.8807 cm rms = 0 fm +LGap: mean = 32.6255 cm rms = 0 fm ... write file : AnaEx01.root - done ... close file : AnaEx01.root - done @@ -926,20 +933,20 @@ There are histograms that can be viewed with visualization: --------------------End of Run------------------------------ - mean Energy in Absorber : 190.633 MeV +- 48.8718 MeV - mean Energy in Gap : 46.5146 MeV +- 13.3975 MeV + mean Energy in Absorber : 186.264 MeV +- 50.8208 MeV + mean Energy in Gap : 45.8735 MeV +- 13.843 MeV - mean trackLength in Absorber : 47.0418 cm +- 12.1398 cm - mean trackLength in Gap : 23.5952 cm +- 6.83896 cm + mean trackLength in Absorber : 46.0323 cm +- 12.6521 cm + mean trackLength in Gap : 23.2729 cm +- 7.04724 cm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 190.633 MeV rms = 48.8718 MeV -EGap: mean = 46.5146 MeV rms = 13.3975 MeV -LAbs: mean = 47.0418 cm rms = 12.1398 cm -LGap: mean = 23.5952 cm rms = 6.83896 cm +EAbs: mean = 186.264 MeV rms = 50.8208 MeV +EGap: mean = 45.8735 MeV rms = 13.843 MeV +LAbs: mean = 46.0323 cm rms = 12.6521 cm +LGap: mean = 23.246 cm rms = 6.99942 cm ... write file : AnaEx01.root - done ... close file : AnaEx01.root - done diff --git a/examples/extended/analysis/AnaEx01/AnaEx01-xml.out b/examples/extended/analysis/AnaEx01/AnaEx01-xml.out index 64e7b7ee727..841916fe175 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01-xml.out +++ b/examples/extended/analysis/AnaEx01/AnaEx01-xml.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -290,7 +297,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -845,7 +852,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -867,20 +874,20 @@ See commands in /vis/modeling/trajectories/ for other options. --------------------End of Run------------------------------ - mean Energy in Absorber : 281.112 MeV +- 0 eV - mean Energy in Gap : 74.1401 MeV +- 0 eV + mean Energy in Absorber : 245.231 MeV +- 0 eV + mean Energy in Gap : 64.6941 MeV +- 0 eV - mean trackLength in Absorber : 69.2721 cm +- 0 fm - mean trackLength in Gap : 37.7451 cm +- 0 fm + mean trackLength in Absorber : 60.8807 cm +- 0 fm + mean trackLength in Gap : 32.6255 cm +- 0 fm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 281.112 MeV rms = 0 eV -EGap: mean = 74.1401 MeV rms = 0 eV -LAbs: mean = 69.2721 cm rms = 0 fm -LGap: mean = 37.7451 cm rms = 0 fm +EAbs: mean = 245.231 MeV rms = 0 eV +EGap: mean = 64.6941 MeV rms = 0 eV +LAbs: mean = 60.8807 cm rms = 0 fm +LGap: mean = 32.6255 cm rms = 0 fm ... write file : AnaEx01.xml - done ... write file : AnaEx01_nt_Ntuple1.xml - done ... write file : AnaEx01_nt_Ntuple2.xml - done @@ -931,20 +938,20 @@ There are histograms that can be viewed with visualization: --------------------End of Run------------------------------ - mean Energy in Absorber : 190.633 MeV +- 48.8718 MeV - mean Energy in Gap : 46.5146 MeV +- 13.3975 MeV + mean Energy in Absorber : 186.264 MeV +- 50.8208 MeV + mean Energy in Gap : 45.8735 MeV +- 13.843 MeV - mean trackLength in Absorber : 47.0418 cm +- 12.1398 cm - mean trackLength in Gap : 23.5952 cm +- 6.83896 cm + mean trackLength in Absorber : 46.0323 cm +- 12.6521 cm + mean trackLength in Gap : 23.2729 cm +- 7.04724 cm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 190.633 MeV rms = 48.8718 MeV -EGap: mean = 46.5146 MeV rms = 13.3975 MeV -LAbs: mean = 47.0418 cm rms = 12.1398 cm -LGap: mean = 23.5952 cm rms = 6.83896 cm +EAbs: mean = 186.264 MeV rms = 50.8208 MeV +EGap: mean = 45.8735 MeV rms = 13.843 MeV +LAbs: mean = 46.0323 cm rms = 12.6521 cm +LGap: mean = 23.246 cm rms = 6.99942 cm ... write file : AnaEx01.xml - done ... write file : AnaEx01_nt_Ntuple1.xml - done ... write file : AnaEx01_nt_Ntuple2.xml - done diff --git a/examples/extended/analysis/AnaEx01/AnaEx01.cc b/examples/extended/analysis/AnaEx01/AnaEx01.cc index ddb09f01981..fd63dcea507 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01.cc +++ b/examples/extended/analysis/AnaEx01/AnaEx01.cc @@ -32,25 +32,23 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" - +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "FTFP_BERT.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { + if (argc == 1) { ui = new G4UIExecutive(argc, argv); } @@ -62,7 +60,7 @@ int main(int argc,char** argv) // Set mandatory initialization classes // - auto detector = new DetectorConstruction; + auto detector = new DetectorConstruction; runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new FTFP_BERT); runManager->SetUserInitialization(new ActionInitialization(detector)); @@ -76,13 +74,13 @@ int main(int argc,char** argv) // G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( ui == nullptr ) { + if (ui == nullptr) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; UImanager->ApplyCommand("/control/alias defaultFileType root"); - // define the default value for alias used in AnaEx01.in - UImanager->ApplyCommand(command+fileName); + // define the default value for alias used in AnaEx01.in + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/extended/analysis/AnaEx01/include/HistoManager.hh b/examples/extended/analysis/AnaEx01/include/HistoManager.hh index 4ee8be4b245..dad9023623a 100644 --- a/examples/extended/analysis/AnaEx01/include/HistoManager.hh +++ b/examples/extended/analysis/AnaEx01/include/HistoManager.hh @@ -43,7 +43,7 @@ class HistoManager { public: HistoManager(); - ~HistoManager() = default; + ~HistoManager() = default; void Book(); void Save(); @@ -51,8 +51,7 @@ class HistoManager void FillHisto(G4int id, G4double e, G4double weight = 1.0); void Normalize(G4int id, G4double fac); - void FillNtuple(G4double EnergyAbs, G4double EnergyGap, - G4double TrackLAbs, G4double TrackLGap); + void FillNtuple(G4double EnergyAbs, G4double EnergyGap, G4double TrackLAbs, G4double TrackLGap); void PrintStatistic(); @@ -63,4 +62,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/analysis/AnaEx01/shared/include/ActionInitialization.hh b/examples/extended/analysis/AnaEx01/shared/include/ActionInitialization.hh index d897750a338..b7e90bba1c6 100644 --- a/examples/extended/analysis/AnaEx01/shared/include/ActionInitialization.hh +++ b/examples/extended/analysis/AnaEx01/shared/include/ActionInitialization.hh @@ -51,5 +51,3 @@ class ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/analysis/AnaEx01/shared/include/DetectorConstruction.hh b/examples/extended/analysis/AnaEx01/shared/include/DetectorConstruction.hh index 040bf4c9e6f..53d7197a81f 100644 --- a/examples/extended/analysis/AnaEx01/shared/include/DetectorConstruction.hh +++ b/examples/extended/analysis/AnaEx01/shared/include/DetectorConstruction.hh @@ -32,11 +32,11 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 +#include "CLHEP/Units/SystemOfUnits.h" + #include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "CLHEP/Units/SystemOfUnits.h" - class G4Box; class G4LogicalVolume; class G4VPhysicalVolume; @@ -48,41 +48,40 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - - DetectorConstruction(); - ~DetectorConstruction() override; + DetectorConstruction(); + ~DetectorConstruction() override; public: G4VPhysicalVolume* Construct() override; - void SetAbsorberMaterial (const G4String&); + void SetAbsorberMaterial(const G4String&); void SetAbsorberThickness(G4double); - void SetGapMaterial (const G4String&); + void SetGapMaterial(const G4String&); void SetGapThickness(G4double); void SetCalorSizeYZ(G4double); - void SetNbOfLayers (G4int); + void SetNbOfLayers(G4int); void PrintCalorParameters(); - G4double GetWorldSizeX() { return fWorldSizeX; } + G4double GetWorldSizeX() { return fWorldSizeX; } G4double GetWorldSizeYZ() { return fWorldSizeYZ; } G4double GetCalorThickness() { return fCalorThickness; } - G4double GetCalorSizeYZ() { return fCalorSizeYZ; } + G4double GetCalorSizeYZ() { return fCalorSizeYZ; } G4int GetNbOfLayers() { return fNbOfLayers; } - G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; } - G4double GetAbsorberThickness() { return fAbsorberThickness; } + G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; } + G4double GetAbsorberThickness() { return fAbsorberThickness; } - G4Material* GetGapMaterial() { return fGapMaterial; } - G4double GetGapThickness() { return fGapThickness; } + G4Material* GetGapMaterial() { return fGapMaterial; } + G4double GetGapThickness() { return fGapThickness; } const G4VPhysicalVolume* GetphysiWorld() { return fPhysiWorld; } - const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; } - const G4VPhysicalVolume* GetGap() { return fPhysiGap; } + const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; } + const G4VPhysicalVolume* GetGap() { return fPhysiGap; } private: void DefineMaterials(); @@ -93,37 +92,37 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4Material* fGapMaterial = nullptr; G4Material* fDefaultMaterial = nullptr; - G4int fNbOfLayers = 10; - G4double fAbsorberThickness = 10.*CLHEP::mm; - G4double fGapThickness = 5.*CLHEP::mm; - G4double fCalorSizeYZ = 10.*CLHEP::cm; + G4int fNbOfLayers = 10; + G4double fAbsorberThickness = 10. * CLHEP::mm; + G4double fGapThickness = 5. * CLHEP::mm; + G4double fCalorSizeYZ = 10. * CLHEP::cm; - G4double fCalorThickness = 0.; // will be computed - G4double fLayerThickness= 0.; // will be computed - G4double fWorldSizeYZ = 0.; // will be computed; - G4double fWorldSizeX = 0.; // will be computed; + G4double fCalorThickness = 0.; // will be computed + G4double fLayerThickness = 0.; // will be computed + G4double fWorldSizeYZ = 0.; // will be computed; + G4double fWorldSizeX = 0.; // will be computed; - G4Box* fSolidWorld = nullptr; //pointer to the solid World - G4LogicalVolume* fLogicWorld = nullptr; //pointer to the logical World - G4VPhysicalVolume* fPhysiWorld = nullptr; //pointer to the physical World + G4Box* fSolidWorld = nullptr; // pointer to the solid World + G4LogicalVolume* fLogicWorld = nullptr; // pointer to the logical World + G4VPhysicalVolume* fPhysiWorld = nullptr; // pointer to the physical World - G4Box* fSolidCalor = nullptr; //pointer to the solid Calor - G4LogicalVolume* fLogicCalor = nullptr; //pointer to the logical Calor - G4VPhysicalVolume* fPhysiCalor = nullptr; //pointer to the physical Calor + G4Box* fSolidCalor = nullptr; // pointer to the solid Calor + G4LogicalVolume* fLogicCalor = nullptr; // pointer to the logical Calor + G4VPhysicalVolume* fPhysiCalor = nullptr; // pointer to the physical Calor - G4Box* fSolidLayer = nullptr; //pointer to the solid Layer - G4LogicalVolume* fLogicLayer = nullptr; //pointer to the logical Layer - G4VPhysicalVolume* fPhysiLayer = nullptr; //pointer to the physical Layer + G4Box* fSolidLayer = nullptr; // pointer to the solid Layer + G4LogicalVolume* fLogicLayer = nullptr; // pointer to the logical Layer + G4VPhysicalVolume* fPhysiLayer = nullptr; // pointer to the physical Layer - G4Box* fSolidAbsorber = nullptr; //pointer to the solid Absorber - G4LogicalVolume* fLogicAbsorber = nullptr; //pointer to the logical Absorber - G4VPhysicalVolume* fPhysiAbsorber = nullptr; //pointer to the physical Absorber + G4Box* fSolidAbsorber = nullptr; // pointer to the solid Absorber + G4LogicalVolume* fLogicAbsorber = nullptr; // pointer to the logical Absorber + G4VPhysicalVolume* fPhysiAbsorber = nullptr; // pointer to the physical Absorber - G4Box* fSolidGap = nullptr; //pointer to the solid Gap - G4LogicalVolume* fLogicGap = nullptr; //pointer to the logical Gap - G4VPhysicalVolume* fPhysiGap = nullptr; //pointer to the physical Gap + G4Box* fSolidGap = nullptr; // pointer to the solid Gap + G4LogicalVolume* fLogicGap = nullptr; // pointer to the logical Gap + G4VPhysicalVolume* fPhysiGap = nullptr; // pointer to the physical Gap - DetectorMessenger* fDetectorMessenger = nullptr; //pointer to the Messenger + DetectorMessenger* fDetectorMessenger = nullptr; // pointer to the Messenger }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -131,13 +130,13 @@ class DetectorConstruction : public G4VUserDetectorConstruction inline void DetectorConstruction::ComputeCalorParameters() { // Compute derived parameters of the calorimeter - fLayerThickness = fAbsorberThickness + fGapThickness; - fCalorThickness = fNbOfLayers*fLayerThickness; + fLayerThickness = fAbsorberThickness + fGapThickness; + fCalorThickness = fNbOfLayers * fLayerThickness; - fWorldSizeX = 1.2*fCalorThickness; fWorldSizeYZ = 1.2*fCalorSizeYZ; + fWorldSizeX = 1.2 * fCalorThickness; + fWorldSizeYZ = 1.2 * fCalorSizeYZ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/analysis/AnaEx01/shared/include/DetectorMessenger.hh b/examples/extended/analysis/AnaEx01/shared/include/DetectorMessenger.hh index df4790e77d4..76d025a6546 100644 --- a/examples/extended/analysis/AnaEx01/shared/include/DetectorMessenger.hh +++ b/examples/extended/analysis/AnaEx01/shared/include/DetectorMessenger.hh @@ -32,8 +32,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -43,10 +43,10 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - DetectorMessenger(DetectorConstruction* ); + DetectorMessenger(DetectorConstruction*); ~DetectorMessenger() override; void SetNewValue(G4UIcommand*, G4String) override; @@ -54,13 +54,13 @@ class DetectorMessenger: public G4UImessenger private: DetectorConstruction* fDetector = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fAbsMaterCmd = nullptr; - G4UIcmdWithAString* fGapMaterCmd = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fAbsMaterCmd = nullptr; + G4UIcmdWithAString* fGapMaterCmd = nullptr; G4UIcmdWithADoubleAndUnit* fAbsThickCmd = nullptr; G4UIcmdWithADoubleAndUnit* fGapThickCmd = nullptr; G4UIcmdWithADoubleAndUnit* fSizeYZCmd = nullptr; - G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; + G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/shared/include/EventAction.hh b/examples/extended/analysis/AnaEx01/shared/include/EventAction.hh index 943fff11254..bf5bca534a3 100644 --- a/examples/extended/analysis/AnaEx01/shared/include/EventAction.hh +++ b/examples/extended/analysis/AnaEx01/shared/include/EventAction.hh @@ -46,30 +46,36 @@ class HistoManager; class EventAction : public G4UserEventAction { -public: - EventAction(RunAction*, HistoManager*); - ~EventAction() override; + public: + EventAction(RunAction*, HistoManager*); + ~EventAction() override; - void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; - void AddAbs(G4double de, G4double dl) {fEnergyAbs += de; fTrackLAbs += dl;}; - void AddGap(G4double de, G4double dl) {fEnergyGap += de; fTrackLGap += dl;}; + void AddAbs(G4double de, G4double dl) + { + fEnergyAbs += de; + fTrackLAbs += dl; + }; + void AddGap(G4double de, G4double dl) + { + fEnergyGap += de; + fTrackLGap += dl; + }; -private: - RunAction* fRunAct = nullptr; - HistoManager* fHistoManager = nullptr; + private: + RunAction* fRunAct = nullptr; + HistoManager* fHistoManager = nullptr; - G4double fEnergyAbs = 0.; - G4double fEnergyGap = 0; - G4double fTrackLAbs = 0; - G4double fTrackLGap = 0; + G4double fEnergyAbs = 0.; + G4double fEnergyGap = 0; + G4double fTrackLAbs = 0; + G4double fTrackLGap = 0; - G4int fPrintModulo = 100; + G4int fPrintModulo = 100; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/analysis/AnaEx01/shared/include/PrimaryGeneratorAction.hh b/examples/extended/analysis/AnaEx01/shared/include/PrimaryGeneratorAction.hh index e4d51bdddb4..2b3dae4c7b8 100644 --- a/examples/extended/analysis/AnaEx01/shared/include/PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/AnaEx01/shared/include/PrimaryGeneratorAction.hh @@ -43,19 +43,17 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + public: + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event*) override; + void GeneratePrimaries(G4Event*) override; -private: - G4ParticleGun* fParticleGun = nullptr; //pointer a to G4 class - DetectorConstruction* fDetector = nullptr; //pointer to the geometry + private: + G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 class + DetectorConstruction* fDetector = nullptr; // pointer to the geometry }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/analysis/AnaEx01/shared/include/RunAction.hh b/examples/extended/analysis/AnaEx01/shared/include/RunAction.hh index 28c1dc28a59..f1660c5dbb2 100644 --- a/examples/extended/analysis/AnaEx01/shared/include/RunAction.hh +++ b/examples/extended/analysis/AnaEx01/shared/include/RunAction.hh @@ -36,8 +36,8 @@ #ifndef RunAction_h #define RunAction_h 1 -#include "G4UserRunAction.hh" #include "G4Accumulable.hh" +#include "G4UserRunAction.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -47,30 +47,29 @@ class HistoManager; class RunAction : public G4UserRunAction { -public: - RunAction(HistoManager*); - ~RunAction() override; + public: + RunAction(HistoManager*); + ~RunAction() override; - void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void BeginOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - void FillPerEvent(G4double, G4double, G4double, G4double); + void FillPerEvent(G4double, G4double, G4double, G4double); -private: - HistoManager* fHistoManager = nullptr; + private: + HistoManager* fHistoManager = nullptr; - G4Accumulable fSumEAbs = 0.; - G4Accumulable fSum2EAbs = 0.; - G4Accumulable fSumEGap = 0.; - G4Accumulable fSum2EGap = 0.; + G4Accumulable fSumEAbs = 0.; + G4Accumulable fSum2EAbs = 0.; + G4Accumulable fSumEGap = 0.; + G4Accumulable fSum2EGap = 0.; - G4Accumulable fSumLAbs = 0.; - G4Accumulable fSum2LAbs = 0.; - G4Accumulable fSumLGap = 0.; - G4Accumulable fSum2LGap = 0.; + G4Accumulable fSumLAbs = 0.; + G4Accumulable fSum2LAbs = 0.; + G4Accumulable fSumLGap = 0.; + G4Accumulable fSum2LGap = 0.; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/analysis/AnaEx01/shared/include/SteppingAction.hh b/examples/extended/analysis/AnaEx01/shared/include/SteppingAction.hh index 6939abd3e58..b45c5775641 100644 --- a/examples/extended/analysis/AnaEx01/shared/include/SteppingAction.hh +++ b/examples/extended/analysis/AnaEx01/shared/include/SteppingAction.hh @@ -41,15 +41,15 @@ class EventAction; class SteppingAction : public G4UserSteppingAction { -public: - SteppingAction(DetectorConstruction*, EventAction*); - ~SteppingAction() override; + public: + SteppingAction(DetectorConstruction*, EventAction*); + ~SteppingAction() override; - void UserSteppingAction(const G4Step*) override; + void UserSteppingAction(const G4Step*) override; -private: - DetectorConstruction* fDetector = nullptr; - EventAction* fEventAction = nullptr; + private: + DetectorConstruction* fDetector = nullptr; + EventAction* fEventAction = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/shared/src/ActionInitialization.cc b/examples/extended/analysis/AnaEx01/shared/src/ActionInitialization.cc index f301b3ee672..daeea68477b 100644 --- a/examples/extended/analysis/AnaEx01/shared/src/ActionInitialization.cc +++ b/examples/extended/analysis/AnaEx01/shared/src/ActionInitialization.cc @@ -28,17 +28,16 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "HistoManager.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* detector) - : fDetector(detector) -{} +ActionInitialization::ActionInitialization(DetectorConstruction* detector) : fDetector(detector) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,7 +48,7 @@ ActionInitialization::~ActionInitialization() = default; void ActionInitialization::BuildForMaster() const { // Histo manager - auto histo = new HistoManager(); + auto histo = new HistoManager(); // Actions SetUserAction(new RunAction(histo)); @@ -60,19 +59,19 @@ void ActionInitialization::BuildForMaster() const void ActionInitialization::Build() const { // Histo manager - auto histo = new HistoManager(); + auto histo = new HistoManager(); // Actions // SetUserAction(new PrimaryGeneratorAction(fDetector)); - auto runAction = new RunAction(histo); + auto runAction = new RunAction(histo); SetUserAction(runAction); - auto eventAction = new EventAction(runAction, histo); + auto eventAction = new EventAction(runAction, histo); SetUserAction(eventAction); - auto steppingAction = new SteppingAction(fDetector, eventAction); + auto steppingAction = new SteppingAction(fDetector, eventAction); SetUserAction(steppingAction); } diff --git a/examples/extended/analysis/AnaEx01/shared/src/DetectorConstruction.cc b/examples/extended/analysis/AnaEx01/shared/src/DetectorConstruction.cc index 8be67a6d514..71de5ae007a 100644 --- a/examples/extended/analysis/AnaEx01/shared/src/DetectorConstruction.cc +++ b/examples/extended/analysis/AnaEx01/shared/src/DetectorConstruction.cc @@ -30,26 +30,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" -#include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "DetectorMessenger.hh" #include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" - -#include "G4StateManager.hh" -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" +#include "G4RunManager.hh" #include "G4SolidStore.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" +#include "G4StateManager.hh" #include "G4SystemOfUnits.hh" -#include "G4RunManager.hh" +#include "G4VisAttributes.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -113,114 +111,118 @@ G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() // // World // - fSolidWorld = new G4Box("World", //its name - fWorldSizeX/2,fWorldSizeYZ/2,fWorldSizeYZ/2); //its size + fSolidWorld = new G4Box("World", // its name + fWorldSizeX / 2, fWorldSizeYZ / 2, fWorldSizeYZ / 2); // its size - fLogicWorld = new G4LogicalVolume(fSolidWorld, //its solid - fDefaultMaterial, //its material - "World"); //its name + fLogicWorld = new G4LogicalVolume(fSolidWorld, // its solid + fDefaultMaterial, // its material + "World"); // its name - fPhysiWorld = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicWorld, //its logical volume - "World", //its name - nullptr, //its mother volume - false, //no boolean operation - 0); //copy number + fPhysiWorld = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicWorld, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0); // copy number // // Calorimeter // - fSolidCalor = nullptr; fLogicCalor = nullptr; fPhysiCalor = nullptr; - fSolidLayer = nullptr; fLogicLayer = nullptr; fPhysiLayer = nullptr; - - if (fCalorThickness > 0.) { - fSolidCalor = new G4Box("Calorimeter", //its name - fCalorThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size - - fLogicCalor = new G4LogicalVolume(fSolidCalor, //its solid - fDefaultMaterial, //its material - "Calorimeter"); //its name - - fPhysiCalor = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicCalor, //its logical volume - "Calorimeter", //its name - fLogicWorld, //its mother volume - false, //no boolean operation - 0); //copy number + fSolidCalor = nullptr; + fLogicCalor = nullptr; + fPhysiCalor = nullptr; + fSolidLayer = nullptr; + fLogicLayer = nullptr; + fPhysiLayer = nullptr; + + if (fCalorThickness > 0.) { + fSolidCalor = new G4Box("Calorimeter", // its name + fCalorThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size + + fLogicCalor = new G4LogicalVolume(fSolidCalor, // its solid + fDefaultMaterial, // its material + "Calorimeter"); // its name + + fPhysiCalor = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicCalor, // its logical volume + "Calorimeter", // its name + fLogicWorld, // its mother volume + false, // no boolean operation + 0); // copy number // // Layer // - fSolidLayer = new G4Box("Layer", //its name - fLayerThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size + fSolidLayer = new G4Box("Layer", // its name + fLayerThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size - fLogicLayer = new G4LogicalVolume(fSolidLayer, //its solid - fDefaultMaterial, //its material - "Layer"); //its name + fLogicLayer = new G4LogicalVolume(fSolidLayer, // its solid + fDefaultMaterial, // its material + "Layer"); // its name if (fNbOfLayers > 1) { - fPhysiLayer = new G4PVReplica("Layer", //its name - fLogicLayer, //its logical volume - fLogicCalor, //its mother - kXAxis, //axis of replication - fNbOfLayers, //number of replica - fLayerThickness); //witdth of replica + fPhysiLayer = new G4PVReplica("Layer", // its name + fLogicLayer, // its logical volume + fLogicCalor, // its mother + kXAxis, // axis of replication + fNbOfLayers, // number of replica + fLayerThickness); // witdth of replica } else { - fPhysiLayer = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicLayer, //its logical volume - "Layer", //its name - fLogicCalor, //its mother volume - false, //no boolean operation - 0); //copy number + fPhysiLayer = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicLayer, // its logical volume + "Layer", // its name + fLogicCalor, // its mother volume + false, // no boolean operation + 0); // copy number } } // // Absorber // - fSolidAbsorber = nullptr; fLogicAbsorber = nullptr; fPhysiAbsorber = nullptr; + fSolidAbsorber = nullptr; + fLogicAbsorber = nullptr; + fPhysiAbsorber = nullptr; if (fAbsorberThickness > 0.) { - fSolidAbsorber = new G4Box("Absorber", //its name - fAbsorberThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size - - fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, //its solid - fAbsorberMaterial, //its material - fAbsorberMaterial->GetName()); //name - - fPhysiAbsorber = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(-fGapThickness/2,0.,0.), //its position - fLogicAbsorber, //its logical volume - fAbsorberMaterial->GetName(), //its name - fLogicLayer, //its mother - false, //no boulean operat - 0); //copy number - + fSolidAbsorber = new G4Box("Absorber", // its name + fAbsorberThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size + + fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, // its solid + fAbsorberMaterial, // its material + fAbsorberMaterial->GetName()); // name + + fPhysiAbsorber = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(-fGapThickness / 2, 0., 0.), // its position + fLogicAbsorber, // its logical volume + fAbsorberMaterial->GetName(), // its name + fLogicLayer, // its mother + false, // no boulean operat + 0); // copy number } // // Gap // - fSolidGap = nullptr; fLogicGap = nullptr; fPhysiGap = nullptr; + fSolidGap = nullptr; + fLogicGap = nullptr; + fPhysiGap = nullptr; if (fGapThickness > 0.) { - fSolidGap = new G4Box("Gap", - fGapThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); - - fLogicGap = new G4LogicalVolume(fSolidGap, - fGapMaterial, - fGapMaterial->GetName()); - - fPhysiGap = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(fAbsorberThickness/2,0.,0.), //its position - fLogicGap, //its logical volume - fGapMaterial->GetName(), //its name - fLogicLayer, //its mother - false, //no boulean operat - 0); //copy number + fSolidGap = new G4Box("Gap", fGapThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); + + fLogicGap = new G4LogicalVolume(fSolidGap, fGapMaterial, fGapMaterial->GetName()); + + fPhysiGap = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(fAbsorberThickness / 2, 0., 0.), // its position + fLogicGap, // its logical volume + fGapMaterial->GetName(), // its name + fLogicLayer, // its mother + false, // no boulean operat + 0); // copy number } PrintCalorParameters(); @@ -228,14 +230,14 @@ G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() // // Visualization attributes // - fLogicWorld->SetVisAttributes (G4VisAttributes::GetInvisible()); + fLogicWorld->SetVisAttributes(G4VisAttributes::GetInvisible()); - auto simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + auto simpleBoxVisAtt = new G4VisAttributes(G4Colour(1.0, 1.0, 1.0)); simpleBoxVisAtt->SetVisibility(true); fLogicCalor->SetVisAttributes(simpleBoxVisAtt); // - //always return the physical World + // always return the physical World // return fPhysiWorld; } @@ -246,9 +248,8 @@ void DetectorConstruction::PrintCalorParameters() { G4cout << "\n------------------------------------------------------------" << "\n---> The calorimeter is " << fNbOfLayers << " layers of: [ " - << fAbsorberThickness/mm << "mm of " << fAbsorberMaterial->GetName() - << " + " - << fGapThickness/mm << "mm of " << fGapMaterial->GetName() << " ] " + << fAbsorberThickness / mm << "mm of " << fAbsorberMaterial->GetName() << " + " + << fGapThickness / mm << "mm of " << fGapMaterial->GetName() << " ] " << "\n------------------------------------------------------------\n"; } @@ -274,7 +275,7 @@ void DetectorConstruction::SetGapMaterial(const G4String& materialChoice) auto material = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); if (material != nullptr) { fGapMaterial = material; - if ( fLogicGap != nullptr) { + if (fLogicGap != nullptr) { fLogicGap->SetMaterial(fGapMaterial); G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } @@ -287,7 +288,7 @@ void DetectorConstruction::SetAbsorberThickness(G4double value) { // change Absorber thickness and recompute the calorimeter parameters fAbsorberThickness = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -298,7 +299,7 @@ void DetectorConstruction::SetGapThickness(G4double value) { // change Gap thickness and recompute the calorimeter parameters fGapThickness = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -309,7 +310,7 @@ void DetectorConstruction::SetCalorSizeYZ(G4double value) { // change the transverse size and recompute the calorimeter parameters fCalorSizeYZ = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -319,7 +320,7 @@ void DetectorConstruction::SetCalorSizeYZ(G4double value) void DetectorConstruction::SetNbOfLayers(G4int value) { fNbOfLayers = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } diff --git a/examples/extended/analysis/AnaEx01/shared/src/DetectorMessenger.cc b/examples/extended/analysis/AnaEx01/shared/src/DetectorMessenger.cc index c7775c5fe2a..3d4ca272d52 100644 --- a/examples/extended/analysis/AnaEx01/shared/src/DetectorMessenger.cc +++ b/examples/extended/analysis/AnaEx01/shared/src/DetectorMessenger.cc @@ -32,57 +32,57 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" + +#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger( DetectorConstruction* Det) -: fDetector(Det) +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) { G4bool broadcast = false; - fDetDir = new G4UIdirectory("/det/",broadcast); + fDetDir = new G4UIdirectory("/det/", broadcast); fDetDir->SetGuidance("Detector control"); - fAbsMaterCmd = new G4UIcmdWithAString("/det/setAbsMat",this); + fAbsMaterCmd = new G4UIcmdWithAString("/det/setAbsMat", this); fAbsMaterCmd->SetGuidance("Select Material of the Absorber."); - fAbsMaterCmd->SetParameterName("AbsMat",false); - fAbsMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsMaterCmd->SetParameterName("AbsMat", false); + fAbsMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fGapMaterCmd = new G4UIcmdWithAString("/det/setGapMat",this); + fGapMaterCmd = new G4UIcmdWithAString("/det/setGapMat", this); fGapMaterCmd->SetGuidance("Select Material of the Gap."); - fGapMaterCmd->SetParameterName("GapMat",false); - fGapMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fGapMaterCmd->SetParameterName("GapMat", false); + fGapMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setAbsThick",this); + fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setAbsThick", this); fAbsThickCmd->SetGuidance("Set Thickness of the Absorber"); - fAbsThickCmd->SetParameterName("AbsThick",false); + fAbsThickCmd->SetParameterName("AbsThick", false); fAbsThickCmd->SetRange("AbsThick>=0."); fAbsThickCmd->SetUnitCategory("Length"); - fAbsThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsThickCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fGapThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setGapThick",this); + fGapThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setGapThick", this); fGapThickCmd->SetGuidance("Set Thickness of the Gap"); - fGapThickCmd->SetParameterName("GapThick",false); + fGapThickCmd->SetParameterName("GapThick", false); fGapThickCmd->SetRange("GapThick>=0."); fGapThickCmd->SetUnitCategory("Length"); - fGapThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fGapThickCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/det/setSizeYZ",this); + fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/det/setSizeYZ", this); fSizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); - fSizeYZCmd->SetParameterName("SizeYZ",false); + fSizeYZCmd->SetParameterName("SizeYZ", false); fSizeYZCmd->SetRange("SizeYZ>0."); fSizeYZCmd->SetUnitCategory("Length"); - fSizeYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fSizeYZCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fNbLayersCmd = new G4UIcmdWithAnInteger("/det/setNbOfLayers",this); + fNbLayersCmd = new G4UIcmdWithAnInteger("/det/setNbOfLayers", this); fNbLayersCmd->SetGuidance("Set number of layers."); - fNbLayersCmd->SetParameterName("NbLayers",false); + fNbLayersCmd->SetParameterName("NbLayers", false); fNbLayersCmd->SetRange("NbLayers>0 && NbLayers<500"); - fNbLayersCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fNbLayersCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -102,32 +102,32 @@ DetectorMessenger::~DetectorMessenger() void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fAbsMaterCmd ) { + if (command == fAbsMaterCmd) { fDetector->SetAbsorberMaterial(newValue); return; } - if( command == fGapMaterCmd ) { + if (command == fGapMaterCmd) { fDetector->SetGapMaterial(newValue); return; } - if( command == fAbsThickCmd ) { + if (command == fAbsThickCmd) { fDetector->SetAbsorberThickness(fAbsThickCmd->GetNewDoubleValue(newValue)); return; } - if( command == fGapThickCmd ) { + if (command == fGapThickCmd) { fDetector->SetGapThickness(fGapThickCmd->GetNewDoubleValue(newValue)); return; } - if( command == fSizeYZCmd ) { + if (command == fSizeYZCmd) { fDetector->SetCalorSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue)); return; } - if( command == fNbLayersCmd ) { + if (command == fNbLayersCmd) { fDetector->SetNbOfLayers(fNbLayersCmd->GetNewIntValue(newValue)); return; } diff --git a/examples/extended/analysis/AnaEx01/shared/src/EventAction.cc b/examples/extended/analysis/AnaEx01/shared/src/EventAction.cc index 230ca29aeb1..2985089e970 100644 --- a/examples/extended/analysis/AnaEx01/shared/src/EventAction.cc +++ b/examples/extended/analysis/AnaEx01/shared/src/EventAction.cc @@ -35,15 +35,14 @@ #include "EventAction.hh" -#include "RunAction.hh" #include "HistoManager.hh" +#include "RunAction.hh" #include "G4Event.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(RunAction* run, HistoManager* histo) -: fRunAct(run),fHistoManager(histo) +EventAction::EventAction(RunAction* run, HistoManager* histo) : fRunAct(run), fHistoManager(histo) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,7 +54,7 @@ EventAction::~EventAction() = default; void EventAction::BeginOfEventAction(const G4Event* evt) { G4int evtNb = evt->GetEventID(); - if (evtNb%fPrintModulo == 0) { + if (evtNb % fPrintModulo == 0) { G4cout << "\n---> Begin of event: " << evtNb << G4endl; } @@ -68,18 +67,18 @@ void EventAction::BeginOfEventAction(const G4Event* evt) void EventAction::EndOfEventAction(const G4Event*) { - //accumulates statistic + // accumulates statistic // fRunAct->FillPerEvent(fEnergyAbs, fEnergyGap, fTrackLAbs, fTrackLGap); - //fill histograms + // fill histograms // fHistoManager->FillHisto(0, fEnergyAbs); fHistoManager->FillHisto(1, fEnergyGap); fHistoManager->FillHisto(2, fTrackLAbs); fHistoManager->FillHisto(3, fTrackLGap); - //fill ntuple + // fill ntuple // fHistoManager->FillNtuple(fEnergyAbs, fEnergyGap, fTrackLAbs, fTrackLGap); } diff --git a/examples/extended/analysis/AnaEx01/shared/src/PrimaryGeneratorAction.cc b/examples/extended/analysis/AnaEx01/shared/src/PrimaryGeneratorAction.cc index 3e803417946..2bcce36c1d3 100644 --- a/examples/extended/analysis/AnaEx01/shared/src/PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/AnaEx01/shared/src/PrimaryGeneratorAction.cc @@ -34,30 +34,28 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* dc) -: fDetector(dc) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* dc) : fDetector(dc) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="e-"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(500.*MeV); - G4double position = -0.5*(fDetector->GetWorldSizeX()); - fParticleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); - + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(500. * MeV); + G4double position = -0.5 * (fDetector->GetWorldSizeX()); + fParticleGun->SetParticlePosition(G4ThreeVector(position, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,10 +69,9 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/analysis/AnaEx01/shared/src/RunAction.cc b/examples/extended/analysis/AnaEx01/shared/src/RunAction.cc index 9ae0771d846..d69d575eba2 100644 --- a/examples/extended/analysis/AnaEx01/shared/src/RunAction.cc +++ b/examples/extended/analysis/AnaEx01/shared/src/RunAction.cc @@ -32,17 +32,17 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "HistoManager.hh" +#include "G4AccumulableManager.hh" #include "G4Run.hh" #include "G4RunManager.hh" -#include "G4AccumulableManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(HistoManager* histo) -: fHistoManager(histo) +RunAction::RunAction(HistoManager* histo) : fHistoManager(histo) { // Register accumulable to the accumulable manager G4AccumulableManager* accumulableManager = G4AccumulableManager::Instance(); @@ -69,23 +69,26 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) // reset accumulables to their initial values G4AccumulableManager::Instance()->Reset(); - //histograms + // histograms // fHistoManager->Book(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::FillPerEvent(G4double EAbs, G4double EGap, - G4double LAbs, G4double LGap) +void RunAction::FillPerEvent(G4double EAbs, G4double EGap, G4double LAbs, G4double LGap) { - //accumulate statistic + // accumulate statistic // - fSumEAbs += EAbs; fSum2EAbs += EAbs*EAbs; - fSumEGap += EGap; fSum2EGap += EGap*EGap; - - fSumLAbs += LAbs; fSum2LAbs += LAbs*LAbs; - fSumLGap += LGap; fSum2LGap += LGap*LGap; + fSumEAbs += EAbs; + fSum2EAbs += EAbs * EAbs; + fSumEGap += EGap; + fSum2EGap += EGap * EGap; + + fSumLAbs += LAbs; + fSum2LAbs += LAbs * LAbs; + fSumLGap += LGap; + fSum2LGap += LGap * LGap; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -102,67 +105,72 @@ void RunAction::EndOfRunAction(const G4Run* aRun) return; } - //compute statistics: mean and rms + // compute statistics: mean and rms // auto sumEAbs = fSumEAbs.GetValue(); auto sum2EAbs = fSum2EAbs.GetValue(); - sumEAbs /= nofEvents; sum2EAbs /= nofEvents; - auto rmsEAbs = sum2EAbs - sumEAbs*sumEAbs; - if (rmsEAbs >0.) { + sumEAbs /= nofEvents; + sum2EAbs /= nofEvents; + auto rmsEAbs = sum2EAbs - sumEAbs * sumEAbs; + if (rmsEAbs > 0.) { rmsEAbs = std::sqrt(rmsEAbs); - } else { + } + else { rmsEAbs = 0.; } auto sumEGap = fSumEGap.GetValue(); auto sum2EGap = fSum2EGap.GetValue(); - sumEGap /= nofEvents; sum2EGap /= nofEvents; - auto rmsEGap = sum2EGap - sumEGap*sumEGap; - if (rmsEGap >0.) { + sumEGap /= nofEvents; + sum2EGap /= nofEvents; + auto rmsEGap = sum2EGap - sumEGap * sumEGap; + if (rmsEGap > 0.) { rmsEGap = std::sqrt(rmsEGap); - } else { + } + else { rmsEGap = 0.; } auto sumLAbs = fSumLAbs.GetValue(); auto sum2LAbs = fSum2LAbs.GetValue(); - sumLAbs /= nofEvents; sum2LAbs /= nofEvents; - auto rmsLAbs = sum2LAbs - sumLAbs*sumLAbs; - if (rmsLAbs >0.) { + sumLAbs /= nofEvents; + sum2LAbs /= nofEvents; + auto rmsLAbs = sum2LAbs - sumLAbs * sumLAbs; + if (rmsLAbs > 0.) { rmsLAbs = std::sqrt(rmsLAbs); - } else { + } + else { rmsLAbs = 0.; } auto sumLGap = fSumLGap.GetValue(); auto sum2LGap = fSum2LGap.GetValue(); - sumLGap /= nofEvents; sum2LGap /= nofEvents; - G4double rmsLGap = sum2LGap - sumLGap*sumLGap; - if (rmsLGap >0.) { + sumLGap /= nofEvents; + sum2LGap /= nofEvents; + G4double rmsLGap = sum2LGap - sumLGap * sumLGap; + if (rmsLGap > 0.) { rmsLGap = std::sqrt(rmsLGap); - } else { + } + else { rmsLGap = 0.; } - //print + // 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; - - //save histograms + 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; + + // save histograms // fHistoManager->PrintStatistic(); fHistoManager->Save(); diff --git a/examples/extended/analysis/AnaEx01/shared/src/SteppingAction.cc b/examples/extended/analysis/AnaEx01/shared/src/SteppingAction.cc index ec8d92a988a..3bdf45c623c 100644 --- a/examples/extended/analysis/AnaEx01/shared/src/SteppingAction.cc +++ b/examples/extended/analysis/AnaEx01/shared/src/SteppingAction.cc @@ -39,7 +39,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(DetectorConstruction* det, EventAction* evt) -: fDetector(det), fEventAction(evt) + : fDetector(det), fEventAction(evt) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,8 +51,7 @@ SteppingAction::~SteppingAction() = default; void SteppingAction::UserSteppingAction(const G4Step* aStep) { // get volume of the current step - G4VPhysicalVolume* volume = - aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); + G4VPhysicalVolume* volume = aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); // collect energy and track length step by step G4double edep = aStep->GetTotalEnergyDeposit(); @@ -62,8 +61,12 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) stepl = aStep->GetStepLength(); } - if (volume == fDetector->GetAbsorber()) { fEventAction->AddAbs(edep,stepl); } - if (volume == fDetector->GetGap()) { fEventAction->AddGap(edep,stepl); } + if (volume == fDetector->GetAbsorber()) { + fEventAction->AddAbs(edep, stepl); + } + if (volume == fDetector->GetGap()) { + fEventAction->AddGap(edep, stepl); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/HistoManager.cc b/examples/extended/analysis/AnaEx01/src/HistoManager.cc index 9579bff5ddb..80cf7d597a8 100644 --- a/examples/extended/analysis/AnaEx01/src/HistoManager.cc +++ b/examples/extended/analysis/AnaEx01/src/HistoManager.cc @@ -32,8 +32,9 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" -#include "G4UnitsTable.hh" + #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,7 +43,7 @@ HistoManager::HistoManager() // Create or get analysis manager G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); analysisManager->SetDefaultFileType("root"); - // the default file type can be overriden in run macro + // the default file type can be overriden in run macro } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -52,13 +53,13 @@ void HistoManager::Book() // Create or get analysis manager G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( ! fFactoryOn ) { + if (!fFactoryOn) { // analysisManager->SetVerboseLevel(1); // Only merge in MT mode to avoid warning when running in Sequential mode - #ifdef G4MULTITHREADED +#ifdef G4MULTITHREADED analysisManager->SetNtupleMerging(true); - #endif +#endif // Create directories analysisManager->SetHistoDirectoryName("histo"); @@ -68,26 +69,26 @@ void HistoManager::Book() // Open an output file // G4bool fileOpen = analysisManager->OpenFile("AnaEx01"); - if (! fileOpen) { - G4cerr << "\n---> HistoManager::Book(): cannot open " - << analysisManager->GetFileName() << G4endl; + if (!fileOpen) { + G4cerr << "\n---> HistoManager::Book(): cannot open " << analysisManager->GetFileName() + << G4endl; return; } - if ( ! fFactoryOn ) { + if (!fFactoryOn) { // Create histograms. // Histogram ids are generated automatically starting from 0. // The start value can be changed by: // analysisManager->SetFirstHistoId(1); // id = 0 - analysisManager->CreateH1("EAbs","Edep in absorber (MeV)", 100, 0., 800*MeV); + analysisManager->CreateH1("EAbs", "Edep in absorber (MeV)", 100, 0., 800 * MeV); // id = 1 - analysisManager->CreateH1("EGap","Edep in gap (MeV)", 100, 0., 100*MeV); + analysisManager->CreateH1("EGap", "Edep in gap (MeV)", 100, 0., 100 * MeV); // id = 2 - analysisManager->CreateH1("LAbs","trackL in absorber (mm)", 100, 0., 1*m); + analysisManager->CreateH1("LAbs", "trackL in absorber (mm)", 100, 0., 1 * m); // id = 3 - analysisManager->CreateH1("LGap","trackL in gap (mm)", 100, 0., 50*cm); + analysisManager->CreateH1("LGap", "trackL in gap (mm)", 100, 0., 50 * cm); // Create ntuples. // Ntuples ids are generated automatically starting from 0. @@ -96,22 +97,21 @@ void HistoManager::Book() // Create 1st ntuple (id = 0) analysisManager->CreateNtuple("Ntuple1", "Edep"); - analysisManager->CreateNtupleDColumn("Eabs"); // column Id = 0 - analysisManager->CreateNtupleDColumn("Egap"); // column Id = 1 + analysisManager->CreateNtupleDColumn("Eabs"); // column Id = 0 + analysisManager->CreateNtupleDColumn("Egap"); // column Id = 1 analysisManager->FinishNtuple(); // Create 2nd ntuple (id = 1) // analysisManager->CreateNtuple("Ntuple2", "TrackL"); - analysisManager->CreateNtupleDColumn("Labs"); // column Id = 0 - analysisManager->CreateNtupleDColumn("Lgap"); // column Id = 1 + analysisManager->CreateNtupleDColumn("Labs"); // column Id = 0 + analysisManager->CreateNtupleDColumn("Lgap"); // column Id = 1 analysisManager->FinishNtuple(); fFactoryOn = true; } - G4cout << "\n----> Output file is open in " - << analysisManager->GetFileName() << "." + G4cout << "\n----> Output file is open in " << analysisManager->GetFileName() << "." << analysisManager->GetFileType() << G4endl; } @@ -119,7 +119,9 @@ void HistoManager::Book() void HistoManager::Save() { - if (! fFactoryOn) { return; } + if (!fFactoryOn) { + return; + } G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); analysisManager->Write(); @@ -142,14 +144,15 @@ void HistoManager::Normalize(G4int ih, G4double fac) { G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); auto h1 = analysisManager->GetH1(ih); - if (h1 != nullptr) { h1->scale(fac); -} + if (h1 != nullptr) { + h1->scale(fac); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void HistoManager::FillNtuple(G4double energyAbs, G4double energyGap, - G4double trackLAbs, G4double trackLGap) +void HistoManager::FillNtuple(G4double energyAbs, G4double energyGap, G4double trackLAbs, + G4double trackLGap) { G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); // Fill 1st ntuple ( id = 0) @@ -166,25 +169,29 @@ void HistoManager::FillNtuple(G4double energyAbs, G4double energyGap, void HistoManager::PrintStatistic() { - if (! fFactoryOn) { return; } + if (!fFactoryOn) { + return; + } G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); G4cout << "\n ----> print histograms statistic \n" << G4endl; - for ( G4int i=0; iGetNofH1s(); ++i ) { + for (G4int i = 0; i < analysisManager->GetNofH1s(); ++i) { G4String name = analysisManager->GetH1Name(i); auto h1 = analysisManager->GetH1(i); G4String unitCategory; - if (name[0U] == 'E' ) { unitCategory = "Energy"; } - if (name[0U] == 'L' ) { unitCategory = "Length"; } - // we use an explicit unsigned int type for operator [] argument - // to avoid problems with windows compiler - - G4cout << name - << ": mean = " << G4BestUnit(h1->mean(), unitCategory) - << " rms = " << G4BestUnit(h1->rms(), unitCategory ) - << G4endl; + if (name[0U] == 'E') { + unitCategory = "Energy"; + } + if (name[0U] == 'L') { + unitCategory = "Length"; + } + // we use an explicit unsigned int type for operator [] argument + // to avoid problems with windows compiler + + G4cout << name << ": mean = " << G4BestUnit(h1->mean(), unitCategory) + << " rms = " << G4BestUnit(h1->rms(), unitCategory) << G4endl; } } diff --git a/examples/extended/analysis/AnaEx02/AnaEx02.cc b/examples/extended/analysis/AnaEx02/AnaEx02.cc index 16fa1a953d8..70ab4c6f82b 100644 --- a/examples/extended/analysis/AnaEx02/AnaEx02.cc +++ b/examples/extended/analysis/AnaEx02/AnaEx02.cc @@ -34,27 +34,26 @@ #include "ActionInitialization.hh" #include "DetectorConstruction.hh" +#include "EventAction.hh" +#include "FTFP_BERT.hh" +#include "HistoManager.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" -#include "HistoManager.hh" #include "G4RunManagerFactory.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "FTFP_BERT.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { + if (argc == 1) { ui = new G4UIExecutive(argc, argv); } @@ -64,7 +63,7 @@ int main(int argc,char** argv) // Set mandatory initialization classes // - auto detector = new DetectorConstruction; + auto detector = new DetectorConstruction; runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new FTFP_BERT); runManager->SetUserInitialization(new ActionInitialization(detector)); @@ -82,11 +81,11 @@ int main(int argc,char** argv) // G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( ui == nullptr ) { + if (ui == nullptr) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/extended/analysis/AnaEx02/AnaEx02.out b/examples/extended/analysis/AnaEx02/AnaEx02.out index 81e415b6b34..47ec16d29f3 100644 --- a/examples/extended/analysis/AnaEx02/AnaEx02.out +++ b/examples/extended/analysis/AnaEx02/AnaEx02.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -77,14 +77,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -289,7 +296,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -844,7 +851,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -862,20 +869,20 @@ See commands in /vis/modeling/trajectories/ for other options. --------------------End of Run------------------------------ - mean Energy in Absorber : 281.112 MeV +- 0 eV - mean Energy in Gap : 74.1401 MeV +- 0 eV + mean Energy in Absorber : 245.231 MeV +- 0 eV + mean Energy in Gap : 64.6941 MeV +- 0 eV - mean trackLength in Absorber : 69.2721 cm +- 0 fm - mean trackLength in Gap : 37.7451 cm +- 0 fm + mean trackLength in Absorber : 60.8807 cm +- 0 fm + mean trackLength in Gap : 32.6255 cm +- 0 fm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 281.112 MeV rms = 0 eV -EGap: mean = 74.1401 MeV rms = 0 eV -LAbs: mean = 69.2721 cm rms = 0 fm -LGap: mean = 37.7451 cm rms = 0 fm +EAbs: mean = 245.231 MeV rms = 0 eV +EGap: mean = 64.6941 MeV rms = 0 eV +LAbs: mean = 60.8807 cm rms = 0 fm +LGap: mean = 32.6255 cm rms = 0 fm ----> Histograms and ntuples are saved @@ -909,20 +916,20 @@ LGap: mean = 37.7451 cm rms = 0 fm --------------------End of Run------------------------------ - mean Energy in Absorber : 190.633 MeV +- 48.8718 MeV - mean Energy in Gap : 46.5146 MeV +- 13.3975 MeV + mean Energy in Absorber : 186.264 MeV +- 50.8208 MeV + mean Energy in Gap : 45.8735 MeV +- 13.843 MeV - mean trackLength in Absorber : 47.0418 cm +- 12.1398 cm - mean trackLength in Gap : 23.5952 cm +- 6.83896 cm + mean trackLength in Absorber : 46.0323 cm +- 12.6521 cm + mean trackLength in Gap : 23.2729 cm +- 7.04724 cm ------------------------------------------------------------ ----> print histograms statistic -EAbs: mean = 190.633 MeV rms = 48.8718 MeV -EGap: mean = 46.5146 MeV rms = 13.3975 MeV -LAbs: mean = 47.0418 cm rms = 12.1398 cm -LGap: mean = 23.5952 cm rms = 6.83896 cm +EAbs: mean = 186.264 MeV rms = 50.8208 MeV +EGap: mean = 45.8735 MeV rms = 13.843 MeV +LAbs: mean = 46.0323 cm rms = 12.6521 cm +LGap: mean = 23.246 cm rms = 6.99942 cm ----> Histograms and ntuples are saved diff --git a/examples/extended/analysis/AnaEx02/include/HistoManager.hh b/examples/extended/analysis/AnaEx02/include/HistoManager.hh index da4da713074..7599ffcbea3 100644 --- a/examples/extended/analysis/AnaEx02/include/HistoManager.hh +++ b/examples/extended/analysis/AnaEx02/include/HistoManager.hh @@ -51,7 +51,7 @@ class HistoManager { public: HistoManager() = default; - ~HistoManager(); + ~HistoManager(); void Book(); void Save(); @@ -59,8 +59,7 @@ class HistoManager void FillHisto(G4int id, G4double bin, G4double weight = 1.0); void Normalize(G4int id, G4double fac); - void FillNtuple(G4double energyAbs, G4double energyGap, - G4double trackLAbs, G4double trackLGap); + void FillNtuple(G4double energyAbs, G4double energyGap, G4double trackLAbs, G4double trackLGap); void PrintStatistic(); @@ -79,4 +78,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/analysis/AnaEx02/shared/include/ActionInitialization.hh b/examples/extended/analysis/AnaEx02/shared/include/ActionInitialization.hh index d897750a338..b7e90bba1c6 100644 --- a/examples/extended/analysis/AnaEx02/shared/include/ActionInitialization.hh +++ b/examples/extended/analysis/AnaEx02/shared/include/ActionInitialization.hh @@ -51,5 +51,3 @@ class ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/analysis/AnaEx02/shared/include/DetectorConstruction.hh b/examples/extended/analysis/AnaEx02/shared/include/DetectorConstruction.hh index 040bf4c9e6f..53d7197a81f 100644 --- a/examples/extended/analysis/AnaEx02/shared/include/DetectorConstruction.hh +++ b/examples/extended/analysis/AnaEx02/shared/include/DetectorConstruction.hh @@ -32,11 +32,11 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 +#include "CLHEP/Units/SystemOfUnits.h" + #include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "CLHEP/Units/SystemOfUnits.h" - class G4Box; class G4LogicalVolume; class G4VPhysicalVolume; @@ -48,41 +48,40 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - - DetectorConstruction(); - ~DetectorConstruction() override; + DetectorConstruction(); + ~DetectorConstruction() override; public: G4VPhysicalVolume* Construct() override; - void SetAbsorberMaterial (const G4String&); + void SetAbsorberMaterial(const G4String&); void SetAbsorberThickness(G4double); - void SetGapMaterial (const G4String&); + void SetGapMaterial(const G4String&); void SetGapThickness(G4double); void SetCalorSizeYZ(G4double); - void SetNbOfLayers (G4int); + void SetNbOfLayers(G4int); void PrintCalorParameters(); - G4double GetWorldSizeX() { return fWorldSizeX; } + G4double GetWorldSizeX() { return fWorldSizeX; } G4double GetWorldSizeYZ() { return fWorldSizeYZ; } G4double GetCalorThickness() { return fCalorThickness; } - G4double GetCalorSizeYZ() { return fCalorSizeYZ; } + G4double GetCalorSizeYZ() { return fCalorSizeYZ; } G4int GetNbOfLayers() { return fNbOfLayers; } - G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; } - G4double GetAbsorberThickness() { return fAbsorberThickness; } + G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; } + G4double GetAbsorberThickness() { return fAbsorberThickness; } - G4Material* GetGapMaterial() { return fGapMaterial; } - G4double GetGapThickness() { return fGapThickness; } + G4Material* GetGapMaterial() { return fGapMaterial; } + G4double GetGapThickness() { return fGapThickness; } const G4VPhysicalVolume* GetphysiWorld() { return fPhysiWorld; } - const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; } - const G4VPhysicalVolume* GetGap() { return fPhysiGap; } + const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; } + const G4VPhysicalVolume* GetGap() { return fPhysiGap; } private: void DefineMaterials(); @@ -93,37 +92,37 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4Material* fGapMaterial = nullptr; G4Material* fDefaultMaterial = nullptr; - G4int fNbOfLayers = 10; - G4double fAbsorberThickness = 10.*CLHEP::mm; - G4double fGapThickness = 5.*CLHEP::mm; - G4double fCalorSizeYZ = 10.*CLHEP::cm; + G4int fNbOfLayers = 10; + G4double fAbsorberThickness = 10. * CLHEP::mm; + G4double fGapThickness = 5. * CLHEP::mm; + G4double fCalorSizeYZ = 10. * CLHEP::cm; - G4double fCalorThickness = 0.; // will be computed - G4double fLayerThickness= 0.; // will be computed - G4double fWorldSizeYZ = 0.; // will be computed; - G4double fWorldSizeX = 0.; // will be computed; + G4double fCalorThickness = 0.; // will be computed + G4double fLayerThickness = 0.; // will be computed + G4double fWorldSizeYZ = 0.; // will be computed; + G4double fWorldSizeX = 0.; // will be computed; - G4Box* fSolidWorld = nullptr; //pointer to the solid World - G4LogicalVolume* fLogicWorld = nullptr; //pointer to the logical World - G4VPhysicalVolume* fPhysiWorld = nullptr; //pointer to the physical World + G4Box* fSolidWorld = nullptr; // pointer to the solid World + G4LogicalVolume* fLogicWorld = nullptr; // pointer to the logical World + G4VPhysicalVolume* fPhysiWorld = nullptr; // pointer to the physical World - G4Box* fSolidCalor = nullptr; //pointer to the solid Calor - G4LogicalVolume* fLogicCalor = nullptr; //pointer to the logical Calor - G4VPhysicalVolume* fPhysiCalor = nullptr; //pointer to the physical Calor + G4Box* fSolidCalor = nullptr; // pointer to the solid Calor + G4LogicalVolume* fLogicCalor = nullptr; // pointer to the logical Calor + G4VPhysicalVolume* fPhysiCalor = nullptr; // pointer to the physical Calor - G4Box* fSolidLayer = nullptr; //pointer to the solid Layer - G4LogicalVolume* fLogicLayer = nullptr; //pointer to the logical Layer - G4VPhysicalVolume* fPhysiLayer = nullptr; //pointer to the physical Layer + G4Box* fSolidLayer = nullptr; // pointer to the solid Layer + G4LogicalVolume* fLogicLayer = nullptr; // pointer to the logical Layer + G4VPhysicalVolume* fPhysiLayer = nullptr; // pointer to the physical Layer - G4Box* fSolidAbsorber = nullptr; //pointer to the solid Absorber - G4LogicalVolume* fLogicAbsorber = nullptr; //pointer to the logical Absorber - G4VPhysicalVolume* fPhysiAbsorber = nullptr; //pointer to the physical Absorber + G4Box* fSolidAbsorber = nullptr; // pointer to the solid Absorber + G4LogicalVolume* fLogicAbsorber = nullptr; // pointer to the logical Absorber + G4VPhysicalVolume* fPhysiAbsorber = nullptr; // pointer to the physical Absorber - G4Box* fSolidGap = nullptr; //pointer to the solid Gap - G4LogicalVolume* fLogicGap = nullptr; //pointer to the logical Gap - G4VPhysicalVolume* fPhysiGap = nullptr; //pointer to the physical Gap + G4Box* fSolidGap = nullptr; // pointer to the solid Gap + G4LogicalVolume* fLogicGap = nullptr; // pointer to the logical Gap + G4VPhysicalVolume* fPhysiGap = nullptr; // pointer to the physical Gap - DetectorMessenger* fDetectorMessenger = nullptr; //pointer to the Messenger + DetectorMessenger* fDetectorMessenger = nullptr; // pointer to the Messenger }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -131,13 +130,13 @@ class DetectorConstruction : public G4VUserDetectorConstruction inline void DetectorConstruction::ComputeCalorParameters() { // Compute derived parameters of the calorimeter - fLayerThickness = fAbsorberThickness + fGapThickness; - fCalorThickness = fNbOfLayers*fLayerThickness; + fLayerThickness = fAbsorberThickness + fGapThickness; + fCalorThickness = fNbOfLayers * fLayerThickness; - fWorldSizeX = 1.2*fCalorThickness; fWorldSizeYZ = 1.2*fCalorSizeYZ; + fWorldSizeX = 1.2 * fCalorThickness; + fWorldSizeYZ = 1.2 * fCalorSizeYZ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/analysis/AnaEx02/shared/include/DetectorMessenger.hh b/examples/extended/analysis/AnaEx02/shared/include/DetectorMessenger.hh index df4790e77d4..76d025a6546 100644 --- a/examples/extended/analysis/AnaEx02/shared/include/DetectorMessenger.hh +++ b/examples/extended/analysis/AnaEx02/shared/include/DetectorMessenger.hh @@ -32,8 +32,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -43,10 +43,10 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - DetectorMessenger(DetectorConstruction* ); + DetectorMessenger(DetectorConstruction*); ~DetectorMessenger() override; void SetNewValue(G4UIcommand*, G4String) override; @@ -54,13 +54,13 @@ class DetectorMessenger: public G4UImessenger private: DetectorConstruction* fDetector = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fAbsMaterCmd = nullptr; - G4UIcmdWithAString* fGapMaterCmd = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fAbsMaterCmd = nullptr; + G4UIcmdWithAString* fGapMaterCmd = nullptr; G4UIcmdWithADoubleAndUnit* fAbsThickCmd = nullptr; G4UIcmdWithADoubleAndUnit* fGapThickCmd = nullptr; G4UIcmdWithADoubleAndUnit* fSizeYZCmd = nullptr; - G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; + G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx02/shared/include/EventAction.hh b/examples/extended/analysis/AnaEx02/shared/include/EventAction.hh index 943fff11254..bf5bca534a3 100644 --- a/examples/extended/analysis/AnaEx02/shared/include/EventAction.hh +++ b/examples/extended/analysis/AnaEx02/shared/include/EventAction.hh @@ -46,30 +46,36 @@ class HistoManager; class EventAction : public G4UserEventAction { -public: - EventAction(RunAction*, HistoManager*); - ~EventAction() override; + public: + EventAction(RunAction*, HistoManager*); + ~EventAction() override; - void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; - void AddAbs(G4double de, G4double dl) {fEnergyAbs += de; fTrackLAbs += dl;}; - void AddGap(G4double de, G4double dl) {fEnergyGap += de; fTrackLGap += dl;}; + void AddAbs(G4double de, G4double dl) + { + fEnergyAbs += de; + fTrackLAbs += dl; + }; + void AddGap(G4double de, G4double dl) + { + fEnergyGap += de; + fTrackLGap += dl; + }; -private: - RunAction* fRunAct = nullptr; - HistoManager* fHistoManager = nullptr; + private: + RunAction* fRunAct = nullptr; + HistoManager* fHistoManager = nullptr; - G4double fEnergyAbs = 0.; - G4double fEnergyGap = 0; - G4double fTrackLAbs = 0; - G4double fTrackLGap = 0; + G4double fEnergyAbs = 0.; + G4double fEnergyGap = 0; + G4double fTrackLAbs = 0; + G4double fTrackLGap = 0; - G4int fPrintModulo = 100; + G4int fPrintModulo = 100; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/analysis/AnaEx02/shared/include/PrimaryGeneratorAction.hh b/examples/extended/analysis/AnaEx02/shared/include/PrimaryGeneratorAction.hh index e4d51bdddb4..2b3dae4c7b8 100644 --- a/examples/extended/analysis/AnaEx02/shared/include/PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/AnaEx02/shared/include/PrimaryGeneratorAction.hh @@ -43,19 +43,17 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + public: + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event*) override; + void GeneratePrimaries(G4Event*) override; -private: - G4ParticleGun* fParticleGun = nullptr; //pointer a to G4 class - DetectorConstruction* fDetector = nullptr; //pointer to the geometry + private: + G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 class + DetectorConstruction* fDetector = nullptr; // pointer to the geometry }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/analysis/AnaEx02/shared/include/RunAction.hh b/examples/extended/analysis/AnaEx02/shared/include/RunAction.hh index 28c1dc28a59..f1660c5dbb2 100644 --- a/examples/extended/analysis/AnaEx02/shared/include/RunAction.hh +++ b/examples/extended/analysis/AnaEx02/shared/include/RunAction.hh @@ -36,8 +36,8 @@ #ifndef RunAction_h #define RunAction_h 1 -#include "G4UserRunAction.hh" #include "G4Accumulable.hh" +#include "G4UserRunAction.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -47,30 +47,29 @@ class HistoManager; class RunAction : public G4UserRunAction { -public: - RunAction(HistoManager*); - ~RunAction() override; + public: + RunAction(HistoManager*); + ~RunAction() override; - void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void BeginOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - void FillPerEvent(G4double, G4double, G4double, G4double); + void FillPerEvent(G4double, G4double, G4double, G4double); -private: - HistoManager* fHistoManager = nullptr; + private: + HistoManager* fHistoManager = nullptr; - G4Accumulable fSumEAbs = 0.; - G4Accumulable fSum2EAbs = 0.; - G4Accumulable fSumEGap = 0.; - G4Accumulable fSum2EGap = 0.; + G4Accumulable fSumEAbs = 0.; + G4Accumulable fSum2EAbs = 0.; + G4Accumulable fSumEGap = 0.; + G4Accumulable fSum2EGap = 0.; - G4Accumulable fSumLAbs = 0.; - G4Accumulable fSum2LAbs = 0.; - G4Accumulable fSumLGap = 0.; - G4Accumulable fSum2LGap = 0.; + G4Accumulable fSumLAbs = 0.; + G4Accumulable fSum2LAbs = 0.; + G4Accumulable fSumLGap = 0.; + G4Accumulable fSum2LGap = 0.; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/analysis/AnaEx02/shared/include/SteppingAction.hh b/examples/extended/analysis/AnaEx02/shared/include/SteppingAction.hh index 6939abd3e58..b45c5775641 100644 --- a/examples/extended/analysis/AnaEx02/shared/include/SteppingAction.hh +++ b/examples/extended/analysis/AnaEx02/shared/include/SteppingAction.hh @@ -41,15 +41,15 @@ class EventAction; class SteppingAction : public G4UserSteppingAction { -public: - SteppingAction(DetectorConstruction*, EventAction*); - ~SteppingAction() override; + public: + SteppingAction(DetectorConstruction*, EventAction*); + ~SteppingAction() override; - void UserSteppingAction(const G4Step*) override; + void UserSteppingAction(const G4Step*) override; -private: - DetectorConstruction* fDetector = nullptr; - EventAction* fEventAction = nullptr; + private: + DetectorConstruction* fDetector = nullptr; + EventAction* fEventAction = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx02/shared/src/ActionInitialization.cc b/examples/extended/analysis/AnaEx02/shared/src/ActionInitialization.cc index f301b3ee672..daeea68477b 100644 --- a/examples/extended/analysis/AnaEx02/shared/src/ActionInitialization.cc +++ b/examples/extended/analysis/AnaEx02/shared/src/ActionInitialization.cc @@ -28,17 +28,16 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "HistoManager.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* detector) - : fDetector(detector) -{} +ActionInitialization::ActionInitialization(DetectorConstruction* detector) : fDetector(detector) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,7 +48,7 @@ ActionInitialization::~ActionInitialization() = default; void ActionInitialization::BuildForMaster() const { // Histo manager - auto histo = new HistoManager(); + auto histo = new HistoManager(); // Actions SetUserAction(new RunAction(histo)); @@ -60,19 +59,19 @@ void ActionInitialization::BuildForMaster() const void ActionInitialization::Build() const { // Histo manager - auto histo = new HistoManager(); + auto histo = new HistoManager(); // Actions // SetUserAction(new PrimaryGeneratorAction(fDetector)); - auto runAction = new RunAction(histo); + auto runAction = new RunAction(histo); SetUserAction(runAction); - auto eventAction = new EventAction(runAction, histo); + auto eventAction = new EventAction(runAction, histo); SetUserAction(eventAction); - auto steppingAction = new SteppingAction(fDetector, eventAction); + auto steppingAction = new SteppingAction(fDetector, eventAction); SetUserAction(steppingAction); } diff --git a/examples/extended/analysis/AnaEx02/shared/src/DetectorConstruction.cc b/examples/extended/analysis/AnaEx02/shared/src/DetectorConstruction.cc index 8be67a6d514..71de5ae007a 100644 --- a/examples/extended/analysis/AnaEx02/shared/src/DetectorConstruction.cc +++ b/examples/extended/analysis/AnaEx02/shared/src/DetectorConstruction.cc @@ -30,26 +30,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" -#include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "DetectorMessenger.hh" #include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" - -#include "G4StateManager.hh" -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" +#include "G4RunManager.hh" #include "G4SolidStore.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" +#include "G4StateManager.hh" #include "G4SystemOfUnits.hh" -#include "G4RunManager.hh" +#include "G4VisAttributes.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -113,114 +111,118 @@ G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() // // World // - fSolidWorld = new G4Box("World", //its name - fWorldSizeX/2,fWorldSizeYZ/2,fWorldSizeYZ/2); //its size + fSolidWorld = new G4Box("World", // its name + fWorldSizeX / 2, fWorldSizeYZ / 2, fWorldSizeYZ / 2); // its size - fLogicWorld = new G4LogicalVolume(fSolidWorld, //its solid - fDefaultMaterial, //its material - "World"); //its name + fLogicWorld = new G4LogicalVolume(fSolidWorld, // its solid + fDefaultMaterial, // its material + "World"); // its name - fPhysiWorld = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicWorld, //its logical volume - "World", //its name - nullptr, //its mother volume - false, //no boolean operation - 0); //copy number + fPhysiWorld = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicWorld, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0); // copy number // // Calorimeter // - fSolidCalor = nullptr; fLogicCalor = nullptr; fPhysiCalor = nullptr; - fSolidLayer = nullptr; fLogicLayer = nullptr; fPhysiLayer = nullptr; - - if (fCalorThickness > 0.) { - fSolidCalor = new G4Box("Calorimeter", //its name - fCalorThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size - - fLogicCalor = new G4LogicalVolume(fSolidCalor, //its solid - fDefaultMaterial, //its material - "Calorimeter"); //its name - - fPhysiCalor = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicCalor, //its logical volume - "Calorimeter", //its name - fLogicWorld, //its mother volume - false, //no boolean operation - 0); //copy number + fSolidCalor = nullptr; + fLogicCalor = nullptr; + fPhysiCalor = nullptr; + fSolidLayer = nullptr; + fLogicLayer = nullptr; + fPhysiLayer = nullptr; + + if (fCalorThickness > 0.) { + fSolidCalor = new G4Box("Calorimeter", // its name + fCalorThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size + + fLogicCalor = new G4LogicalVolume(fSolidCalor, // its solid + fDefaultMaterial, // its material + "Calorimeter"); // its name + + fPhysiCalor = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicCalor, // its logical volume + "Calorimeter", // its name + fLogicWorld, // its mother volume + false, // no boolean operation + 0); // copy number // // Layer // - fSolidLayer = new G4Box("Layer", //its name - fLayerThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size + fSolidLayer = new G4Box("Layer", // its name + fLayerThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size - fLogicLayer = new G4LogicalVolume(fSolidLayer, //its solid - fDefaultMaterial, //its material - "Layer"); //its name + fLogicLayer = new G4LogicalVolume(fSolidLayer, // its solid + fDefaultMaterial, // its material + "Layer"); // its name if (fNbOfLayers > 1) { - fPhysiLayer = new G4PVReplica("Layer", //its name - fLogicLayer, //its logical volume - fLogicCalor, //its mother - kXAxis, //axis of replication - fNbOfLayers, //number of replica - fLayerThickness); //witdth of replica + fPhysiLayer = new G4PVReplica("Layer", // its name + fLogicLayer, // its logical volume + fLogicCalor, // its mother + kXAxis, // axis of replication + fNbOfLayers, // number of replica + fLayerThickness); // witdth of replica } else { - fPhysiLayer = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicLayer, //its logical volume - "Layer", //its name - fLogicCalor, //its mother volume - false, //no boolean operation - 0); //copy number + fPhysiLayer = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicLayer, // its logical volume + "Layer", // its name + fLogicCalor, // its mother volume + false, // no boolean operation + 0); // copy number } } // // Absorber // - fSolidAbsorber = nullptr; fLogicAbsorber = nullptr; fPhysiAbsorber = nullptr; + fSolidAbsorber = nullptr; + fLogicAbsorber = nullptr; + fPhysiAbsorber = nullptr; if (fAbsorberThickness > 0.) { - fSolidAbsorber = new G4Box("Absorber", //its name - fAbsorberThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size - - fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, //its solid - fAbsorberMaterial, //its material - fAbsorberMaterial->GetName()); //name - - fPhysiAbsorber = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(-fGapThickness/2,0.,0.), //its position - fLogicAbsorber, //its logical volume - fAbsorberMaterial->GetName(), //its name - fLogicLayer, //its mother - false, //no boulean operat - 0); //copy number - + fSolidAbsorber = new G4Box("Absorber", // its name + fAbsorberThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size + + fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, // its solid + fAbsorberMaterial, // its material + fAbsorberMaterial->GetName()); // name + + fPhysiAbsorber = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(-fGapThickness / 2, 0., 0.), // its position + fLogicAbsorber, // its logical volume + fAbsorberMaterial->GetName(), // its name + fLogicLayer, // its mother + false, // no boulean operat + 0); // copy number } // // Gap // - fSolidGap = nullptr; fLogicGap = nullptr; fPhysiGap = nullptr; + fSolidGap = nullptr; + fLogicGap = nullptr; + fPhysiGap = nullptr; if (fGapThickness > 0.) { - fSolidGap = new G4Box("Gap", - fGapThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); - - fLogicGap = new G4LogicalVolume(fSolidGap, - fGapMaterial, - fGapMaterial->GetName()); - - fPhysiGap = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(fAbsorberThickness/2,0.,0.), //its position - fLogicGap, //its logical volume - fGapMaterial->GetName(), //its name - fLogicLayer, //its mother - false, //no boulean operat - 0); //copy number + fSolidGap = new G4Box("Gap", fGapThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); + + fLogicGap = new G4LogicalVolume(fSolidGap, fGapMaterial, fGapMaterial->GetName()); + + fPhysiGap = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(fAbsorberThickness / 2, 0., 0.), // its position + fLogicGap, // its logical volume + fGapMaterial->GetName(), // its name + fLogicLayer, // its mother + false, // no boulean operat + 0); // copy number } PrintCalorParameters(); @@ -228,14 +230,14 @@ G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() // // Visualization attributes // - fLogicWorld->SetVisAttributes (G4VisAttributes::GetInvisible()); + fLogicWorld->SetVisAttributes(G4VisAttributes::GetInvisible()); - auto simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + auto simpleBoxVisAtt = new G4VisAttributes(G4Colour(1.0, 1.0, 1.0)); simpleBoxVisAtt->SetVisibility(true); fLogicCalor->SetVisAttributes(simpleBoxVisAtt); // - //always return the physical World + // always return the physical World // return fPhysiWorld; } @@ -246,9 +248,8 @@ void DetectorConstruction::PrintCalorParameters() { G4cout << "\n------------------------------------------------------------" << "\n---> The calorimeter is " << fNbOfLayers << " layers of: [ " - << fAbsorberThickness/mm << "mm of " << fAbsorberMaterial->GetName() - << " + " - << fGapThickness/mm << "mm of " << fGapMaterial->GetName() << " ] " + << fAbsorberThickness / mm << "mm of " << fAbsorberMaterial->GetName() << " + " + << fGapThickness / mm << "mm of " << fGapMaterial->GetName() << " ] " << "\n------------------------------------------------------------\n"; } @@ -274,7 +275,7 @@ void DetectorConstruction::SetGapMaterial(const G4String& materialChoice) auto material = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); if (material != nullptr) { fGapMaterial = material; - if ( fLogicGap != nullptr) { + if (fLogicGap != nullptr) { fLogicGap->SetMaterial(fGapMaterial); G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } @@ -287,7 +288,7 @@ void DetectorConstruction::SetAbsorberThickness(G4double value) { // change Absorber thickness and recompute the calorimeter parameters fAbsorberThickness = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -298,7 +299,7 @@ void DetectorConstruction::SetGapThickness(G4double value) { // change Gap thickness and recompute the calorimeter parameters fGapThickness = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -309,7 +310,7 @@ void DetectorConstruction::SetCalorSizeYZ(G4double value) { // change the transverse size and recompute the calorimeter parameters fCalorSizeYZ = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -319,7 +320,7 @@ void DetectorConstruction::SetCalorSizeYZ(G4double value) void DetectorConstruction::SetNbOfLayers(G4int value) { fNbOfLayers = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } diff --git a/examples/extended/analysis/AnaEx02/shared/src/DetectorMessenger.cc b/examples/extended/analysis/AnaEx02/shared/src/DetectorMessenger.cc index c7775c5fe2a..3d4ca272d52 100644 --- a/examples/extended/analysis/AnaEx02/shared/src/DetectorMessenger.cc +++ b/examples/extended/analysis/AnaEx02/shared/src/DetectorMessenger.cc @@ -32,57 +32,57 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" + +#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger( DetectorConstruction* Det) -: fDetector(Det) +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) { G4bool broadcast = false; - fDetDir = new G4UIdirectory("/det/",broadcast); + fDetDir = new G4UIdirectory("/det/", broadcast); fDetDir->SetGuidance("Detector control"); - fAbsMaterCmd = new G4UIcmdWithAString("/det/setAbsMat",this); + fAbsMaterCmd = new G4UIcmdWithAString("/det/setAbsMat", this); fAbsMaterCmd->SetGuidance("Select Material of the Absorber."); - fAbsMaterCmd->SetParameterName("AbsMat",false); - fAbsMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsMaterCmd->SetParameterName("AbsMat", false); + fAbsMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fGapMaterCmd = new G4UIcmdWithAString("/det/setGapMat",this); + fGapMaterCmd = new G4UIcmdWithAString("/det/setGapMat", this); fGapMaterCmd->SetGuidance("Select Material of the Gap."); - fGapMaterCmd->SetParameterName("GapMat",false); - fGapMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fGapMaterCmd->SetParameterName("GapMat", false); + fGapMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setAbsThick",this); + fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setAbsThick", this); fAbsThickCmd->SetGuidance("Set Thickness of the Absorber"); - fAbsThickCmd->SetParameterName("AbsThick",false); + fAbsThickCmd->SetParameterName("AbsThick", false); fAbsThickCmd->SetRange("AbsThick>=0."); fAbsThickCmd->SetUnitCategory("Length"); - fAbsThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsThickCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fGapThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setGapThick",this); + fGapThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setGapThick", this); fGapThickCmd->SetGuidance("Set Thickness of the Gap"); - fGapThickCmd->SetParameterName("GapThick",false); + fGapThickCmd->SetParameterName("GapThick", false); fGapThickCmd->SetRange("GapThick>=0."); fGapThickCmd->SetUnitCategory("Length"); - fGapThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fGapThickCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/det/setSizeYZ",this); + fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/det/setSizeYZ", this); fSizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); - fSizeYZCmd->SetParameterName("SizeYZ",false); + fSizeYZCmd->SetParameterName("SizeYZ", false); fSizeYZCmd->SetRange("SizeYZ>0."); fSizeYZCmd->SetUnitCategory("Length"); - fSizeYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fSizeYZCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fNbLayersCmd = new G4UIcmdWithAnInteger("/det/setNbOfLayers",this); + fNbLayersCmd = new G4UIcmdWithAnInteger("/det/setNbOfLayers", this); fNbLayersCmd->SetGuidance("Set number of layers."); - fNbLayersCmd->SetParameterName("NbLayers",false); + fNbLayersCmd->SetParameterName("NbLayers", false); fNbLayersCmd->SetRange("NbLayers>0 && NbLayers<500"); - fNbLayersCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fNbLayersCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -102,32 +102,32 @@ DetectorMessenger::~DetectorMessenger() void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fAbsMaterCmd ) { + if (command == fAbsMaterCmd) { fDetector->SetAbsorberMaterial(newValue); return; } - if( command == fGapMaterCmd ) { + if (command == fGapMaterCmd) { fDetector->SetGapMaterial(newValue); return; } - if( command == fAbsThickCmd ) { + if (command == fAbsThickCmd) { fDetector->SetAbsorberThickness(fAbsThickCmd->GetNewDoubleValue(newValue)); return; } - if( command == fGapThickCmd ) { + if (command == fGapThickCmd) { fDetector->SetGapThickness(fGapThickCmd->GetNewDoubleValue(newValue)); return; } - if( command == fSizeYZCmd ) { + if (command == fSizeYZCmd) { fDetector->SetCalorSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue)); return; } - if( command == fNbLayersCmd ) { + if (command == fNbLayersCmd) { fDetector->SetNbOfLayers(fNbLayersCmd->GetNewIntValue(newValue)); return; } diff --git a/examples/extended/analysis/AnaEx02/shared/src/EventAction.cc b/examples/extended/analysis/AnaEx02/shared/src/EventAction.cc index 230ca29aeb1..2985089e970 100644 --- a/examples/extended/analysis/AnaEx02/shared/src/EventAction.cc +++ b/examples/extended/analysis/AnaEx02/shared/src/EventAction.cc @@ -35,15 +35,14 @@ #include "EventAction.hh" -#include "RunAction.hh" #include "HistoManager.hh" +#include "RunAction.hh" #include "G4Event.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(RunAction* run, HistoManager* histo) -: fRunAct(run),fHistoManager(histo) +EventAction::EventAction(RunAction* run, HistoManager* histo) : fRunAct(run), fHistoManager(histo) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,7 +54,7 @@ EventAction::~EventAction() = default; void EventAction::BeginOfEventAction(const G4Event* evt) { G4int evtNb = evt->GetEventID(); - if (evtNb%fPrintModulo == 0) { + if (evtNb % fPrintModulo == 0) { G4cout << "\n---> Begin of event: " << evtNb << G4endl; } @@ -68,18 +67,18 @@ void EventAction::BeginOfEventAction(const G4Event* evt) void EventAction::EndOfEventAction(const G4Event*) { - //accumulates statistic + // accumulates statistic // fRunAct->FillPerEvent(fEnergyAbs, fEnergyGap, fTrackLAbs, fTrackLGap); - //fill histograms + // fill histograms // fHistoManager->FillHisto(0, fEnergyAbs); fHistoManager->FillHisto(1, fEnergyGap); fHistoManager->FillHisto(2, fTrackLAbs); fHistoManager->FillHisto(3, fTrackLGap); - //fill ntuple + // fill ntuple // fHistoManager->FillNtuple(fEnergyAbs, fEnergyGap, fTrackLAbs, fTrackLGap); } diff --git a/examples/extended/analysis/AnaEx02/shared/src/PrimaryGeneratorAction.cc b/examples/extended/analysis/AnaEx02/shared/src/PrimaryGeneratorAction.cc index 3e803417946..2bcce36c1d3 100644 --- a/examples/extended/analysis/AnaEx02/shared/src/PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/AnaEx02/shared/src/PrimaryGeneratorAction.cc @@ -34,30 +34,28 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* dc) -: fDetector(dc) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* dc) : fDetector(dc) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="e-"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(500.*MeV); - G4double position = -0.5*(fDetector->GetWorldSizeX()); - fParticleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); - + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(500. * MeV); + G4double position = -0.5 * (fDetector->GetWorldSizeX()); + fParticleGun->SetParticlePosition(G4ThreeVector(position, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,10 +69,9 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/analysis/AnaEx02/shared/src/RunAction.cc b/examples/extended/analysis/AnaEx02/shared/src/RunAction.cc index 9ae0771d846..d69d575eba2 100644 --- a/examples/extended/analysis/AnaEx02/shared/src/RunAction.cc +++ b/examples/extended/analysis/AnaEx02/shared/src/RunAction.cc @@ -32,17 +32,17 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "HistoManager.hh" +#include "G4AccumulableManager.hh" #include "G4Run.hh" #include "G4RunManager.hh" -#include "G4AccumulableManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(HistoManager* histo) -: fHistoManager(histo) +RunAction::RunAction(HistoManager* histo) : fHistoManager(histo) { // Register accumulable to the accumulable manager G4AccumulableManager* accumulableManager = G4AccumulableManager::Instance(); @@ -69,23 +69,26 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) // reset accumulables to their initial values G4AccumulableManager::Instance()->Reset(); - //histograms + // histograms // fHistoManager->Book(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::FillPerEvent(G4double EAbs, G4double EGap, - G4double LAbs, G4double LGap) +void RunAction::FillPerEvent(G4double EAbs, G4double EGap, G4double LAbs, G4double LGap) { - //accumulate statistic + // accumulate statistic // - fSumEAbs += EAbs; fSum2EAbs += EAbs*EAbs; - fSumEGap += EGap; fSum2EGap += EGap*EGap; - - fSumLAbs += LAbs; fSum2LAbs += LAbs*LAbs; - fSumLGap += LGap; fSum2LGap += LGap*LGap; + fSumEAbs += EAbs; + fSum2EAbs += EAbs * EAbs; + fSumEGap += EGap; + fSum2EGap += EGap * EGap; + + fSumLAbs += LAbs; + fSum2LAbs += LAbs * LAbs; + fSumLGap += LGap; + fSum2LGap += LGap * LGap; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -102,67 +105,72 @@ void RunAction::EndOfRunAction(const G4Run* aRun) return; } - //compute statistics: mean and rms + // compute statistics: mean and rms // auto sumEAbs = fSumEAbs.GetValue(); auto sum2EAbs = fSum2EAbs.GetValue(); - sumEAbs /= nofEvents; sum2EAbs /= nofEvents; - auto rmsEAbs = sum2EAbs - sumEAbs*sumEAbs; - if (rmsEAbs >0.) { + sumEAbs /= nofEvents; + sum2EAbs /= nofEvents; + auto rmsEAbs = sum2EAbs - sumEAbs * sumEAbs; + if (rmsEAbs > 0.) { rmsEAbs = std::sqrt(rmsEAbs); - } else { + } + else { rmsEAbs = 0.; } auto sumEGap = fSumEGap.GetValue(); auto sum2EGap = fSum2EGap.GetValue(); - sumEGap /= nofEvents; sum2EGap /= nofEvents; - auto rmsEGap = sum2EGap - sumEGap*sumEGap; - if (rmsEGap >0.) { + sumEGap /= nofEvents; + sum2EGap /= nofEvents; + auto rmsEGap = sum2EGap - sumEGap * sumEGap; + if (rmsEGap > 0.) { rmsEGap = std::sqrt(rmsEGap); - } else { + } + else { rmsEGap = 0.; } auto sumLAbs = fSumLAbs.GetValue(); auto sum2LAbs = fSum2LAbs.GetValue(); - sumLAbs /= nofEvents; sum2LAbs /= nofEvents; - auto rmsLAbs = sum2LAbs - sumLAbs*sumLAbs; - if (rmsLAbs >0.) { + sumLAbs /= nofEvents; + sum2LAbs /= nofEvents; + auto rmsLAbs = sum2LAbs - sumLAbs * sumLAbs; + if (rmsLAbs > 0.) { rmsLAbs = std::sqrt(rmsLAbs); - } else { + } + else { rmsLAbs = 0.; } auto sumLGap = fSumLGap.GetValue(); auto sum2LGap = fSum2LGap.GetValue(); - sumLGap /= nofEvents; sum2LGap /= nofEvents; - G4double rmsLGap = sum2LGap - sumLGap*sumLGap; - if (rmsLGap >0.) { + sumLGap /= nofEvents; + sum2LGap /= nofEvents; + G4double rmsLGap = sum2LGap - sumLGap * sumLGap; + if (rmsLGap > 0.) { rmsLGap = std::sqrt(rmsLGap); - } else { + } + else { rmsLGap = 0.; } - //print + // 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; - - //save histograms + 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; + + // save histograms // fHistoManager->PrintStatistic(); fHistoManager->Save(); diff --git a/examples/extended/analysis/AnaEx02/shared/src/SteppingAction.cc b/examples/extended/analysis/AnaEx02/shared/src/SteppingAction.cc index ec8d92a988a..3bdf45c623c 100644 --- a/examples/extended/analysis/AnaEx02/shared/src/SteppingAction.cc +++ b/examples/extended/analysis/AnaEx02/shared/src/SteppingAction.cc @@ -39,7 +39,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(DetectorConstruction* det, EventAction* evt) -: fDetector(det), fEventAction(evt) + : fDetector(det), fEventAction(evt) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,8 +51,7 @@ SteppingAction::~SteppingAction() = default; void SteppingAction::UserSteppingAction(const G4Step* aStep) { // get volume of the current step - G4VPhysicalVolume* volume = - aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); + G4VPhysicalVolume* volume = aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); // collect energy and track length step by step G4double edep = aStep->GetTotalEnergyDeposit(); @@ -62,8 +61,12 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) stepl = aStep->GetStepLength(); } - if (volume == fDetector->GetAbsorber()) { fEventAction->AddAbs(edep,stepl); } - if (volume == fDetector->GetGap()) { fEventAction->AddGap(edep,stepl); } + if (volume == fDetector->GetAbsorber()) { + fEventAction->AddAbs(edep, stepl); + } + if (volume == fDetector->GetGap()) { + fEventAction->AddGap(edep, stepl); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx02/src/HistoManager.cc b/examples/extended/analysis/AnaEx02/src/HistoManager.cc index 9a7bad1cbdd..cf11d7bc747 100644 --- a/examples/extended/analysis/AnaEx02/src/HistoManager.cc +++ b/examples/extended/analysis/AnaEx02/src/HistoManager.cc @@ -30,14 +30,15 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include -#include -#include -#include - #include "HistoManager.hh" + #include "G4UnitsTable.hh" +#include +#include +#include +#include + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... HistoManager::~HistoManager() @@ -53,24 +54,23 @@ void HistoManager::Book() // This tree is associated to an output file. // G4String fileName = "AnaEx02.root"; - fRootFile = new TFile(fileName,"RECREATE"); + fRootFile = new TFile(fileName, "RECREATE"); if (fRootFile == nullptr) { G4cout << " HistoManager::Book :" - << " problem creating the ROOT TFile " - << G4endl; + << " problem creating the ROOT TFile " << G4endl; return; } // id = 0 - fHisto[0] = new TH1D("EAbs", "Edep in absorber (MeV)", 100, 0., 800*CLHEP::MeV); + fHisto[0] = new TH1D("EAbs", "Edep in absorber (MeV)", 100, 0., 800 * CLHEP::MeV); // id = 1 - fHisto[1] = new TH1D("EGap", "Edep in gap (MeV)", 100, 0., 100*CLHEP::MeV); + fHisto[1] = new TH1D("EGap", "Edep in gap (MeV)", 100, 0., 100 * CLHEP::MeV); // id = 2 - fHisto[2] = new TH1D("LAbs", "trackL in absorber (mm)", 100, 0., 1*CLHEP::m); + fHisto[2] = new TH1D("LAbs", "trackL in absorber (mm)", 100, 0., 1 * CLHEP::m); // id = 3 - fHisto[3] = new TH1D("LGap", "trackL in gap (mm)", 100, 0., 50*CLHEP::cm); + fHisto[3] = new TH1D("LGap", "trackL in gap (mm)", 100, 0., 50 * CLHEP::cm); - for ( G4int i=0; iWrite(); // Writing the histograms to the file - fRootFile->Close(); // and closing the tree (and the file) + fRootFile->Write(); // Writing the histograms to the file + fRootFile->Close(); // and closing the tree (and the file) G4cout << "\n----> Histograms and ntuples are saved\n" << G4endl; } @@ -108,11 +109,12 @@ void HistoManager::FillHisto(G4int ih, G4double xbin, G4double weight) { if (ih >= kMaxHisto) { G4cerr << "---> warning from HistoManager::FillHisto() : histo " << ih - << " does not exist. (xbin=" << xbin << " weight=" << weight << ")" - << G4endl; + << " does not exist. (xbin=" << xbin << " weight=" << weight << ")" << G4endl; return; } - if (fHisto[ih] != nullptr) { fHisto[ih]->Fill(xbin, weight); } + if (fHisto[ih] != nullptr) { + fHisto[ih]->Fill(xbin, weight); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -131,16 +133,20 @@ void HistoManager::Normalize(G4int ih, G4double fac) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void HistoManager::FillNtuple(G4double energyAbs, G4double energyGap, - G4double trackLAbs , G4double trackLGap ) +void HistoManager::FillNtuple(G4double energyAbs, G4double energyGap, G4double trackLAbs, + G4double trackLGap) { fEabs = energyAbs; fEgap = energyGap; fLabs = trackLAbs; fLgap = trackLGap; - if (fNtuple1 != nullptr) { fNtuple1->Fill(); } - if (fNtuple2 != nullptr) { fNtuple2->Fill(); } + if (fNtuple1 != nullptr) { + fNtuple1->Fill(); + } + if (fNtuple2 != nullptr) { + fNtuple2->Fill(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -152,13 +158,15 @@ void HistoManager::PrintStatistic() const G4String name = h1->GetName(); G4String unitCategory; - if (name[0] == 'E' ) { unitCategory = "Energy"; } - if (name[0] == 'L' ) { unitCategory = "Length"; } + if (name[0] == 'E') { + unitCategory = "Energy"; + } + if (name[0] == 'L') { + unitCategory = "Length"; + } - G4cout << name - << ": mean = " << G4BestUnit(h1->GetMean(), unitCategory) - << " rms = " << G4BestUnit(h1->GetRMS(), unitCategory ) - << G4endl; + G4cout << name << ": mean = " << G4BestUnit(h1->GetMean(), unitCategory) + << " rms = " << G4BestUnit(h1->GetRMS(), unitCategory) << G4endl; } } diff --git a/examples/extended/analysis/AnaEx03/AnaEx03-csv.out b/examples/extended/analysis/AnaEx03/AnaEx03-csv.out index dcdc3d2d49d..f62580daf51 100644 --- a/examples/extended/analysis/AnaEx03/AnaEx03-csv.out +++ b/examples/extended/analysis/AnaEx03/AnaEx03-csv.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -276,7 +283,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -831,7 +838,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -861,10 +868,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 86.7754 MeV rms = 6.06128 MeV -EGap: mean = 6.22737 MeV rms = 4.05788 MeV -LAbs: mean = 6.36212 cm rms = 5.45277 mm -LGap: mean = 3.22513 cm rms = 2.15538 cm +EAbs: mean = 92.3063 MeV rms = 4.14219 MeV +EGap: mean = 4.85878 MeV rms = 2.0183 MeV +LAbs: mean = 6.63777 cm rms = 2.92186 mm +LGap: mean = 2.3872 cm rms = 9.61394 mm ### Run 1 start. ---> Begin of event: 0 @@ -889,8 +896,8 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 182.084 MeV rms = 6.77419 MeV -LAbs: mean = 13.0969 cm rms = 5.39518 mm +EAbs: mean = 181.847 MeV rms = 4.68046 MeV +LAbs: mean = 13.1175 cm rms = 4.04973 mm ### Run 2 start. ---> Begin of event: 0 @@ -923,10 +930,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 271.702 MeV rms = 14.4701 MeV -EGap2: mean = 13.0056 MeV rms = 4.70044 MeV -LAbs: mean = 19.609 cm rms = 1.07761 cm -LGap2: mean = 6.42871 cm rms = 2.46679 cm +EAbs: mean = 274.942 MeV rms = 8.96651 MeV +EGap2: mean = 13.9939 MeV rms = 6.14487 MeV +LAbs: mean = 19.7961 cm rms = 7.49951 mm +LGap2: mean = 6.91332 cm rms = 3.1357 cm ... close file : ./histo/e-_h1_EAbs.csv - done ... close file : ./histo/e-_h1_EAbs_v1.csv - done ... close file : ./histo/e-_h1_EAbs_v2.csv - done @@ -966,10 +973,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 197.13 MeV rms = 59.1173 MeV -EGap2: mean = 20.0031 MeV rms = 11.0171 MeV -LAbs: mean = 8.42208 cm rms = 2.68317 cm -LGap2: mean = 4.32901 cm rms = 1.4735 cm +EAbs: mean = 220.52 MeV rms = 42.6585 MeV +EGap2: mean = 21.0932 MeV rms = 14.424 MeV +LAbs: mean = 8.44493 cm rms = 2.11558 cm +LGap2: mean = 4.29837 cm rms = 1.2912 cm ### Run 4 start. ---> Begin of event: 0 @@ -998,10 +1005,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 201.326 MeV rms = 52.7717 MeV -EGap2: mean = 19.8641 MeV rms = 13.0272 MeV -LAbs: mean = 9.43807 cm rms = 2.2901 cm -LGap2: mean = 4.98845 cm rms = 1.36532 cm +EAbs: mean = 183.744 MeV rms = 43.5113 MeV +EGap2: mean = 15.4705 MeV rms = 6.10516 MeV +LAbs: mean = 9.21143 cm rms = 2.16642 cm +LGap2: mean = 4.86717 cm rms = 1.60599 cm ... close file : ./histo/proton_h1_EAbs.csv - done ... close file : ./histo/proton_h1_EAbs_v1.csv - done ... close file : ./histo/proton_h1_EGap2.csv - done diff --git a/examples/extended/analysis/AnaEx03/AnaEx03-hdf5.out b/examples/extended/analysis/AnaEx03/AnaEx03-hdf5.out index 2e7c3eceb95..f4a82d4e94a 100644 --- a/examples/extended/analysis/AnaEx03/AnaEx03-hdf5.out +++ b/examples/extended/analysis/AnaEx03/AnaEx03-hdf5.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -275,7 +282,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -830,7 +837,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -851,10 +858,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 86.7754 MeV rms = 6.06128 MeV -EGap: mean = 6.22737 MeV rms = 4.05788 MeV -LAbs: mean = 6.36212 cm rms = 5.45277 mm -LGap: mean = 3.22513 cm rms = 2.15538 cm +EAbs: mean = 92.3063 MeV rms = 4.14219 MeV +EGap: mean = 4.85878 MeV rms = 2.0183 MeV +LAbs: mean = 6.63777 cm rms = 2.92186 mm +LGap: mean = 2.3872 cm rms = 9.61394 mm ### Run 1 start. ---> Begin of event: 0 @@ -866,8 +873,8 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 182.084 MeV rms = 6.77419 MeV -LAbs: mean = 13.0969 cm rms = 5.39518 mm +EAbs: mean = 181.847 MeV rms = 4.68046 MeV +LAbs: mean = 13.1175 cm rms = 4.04973 mm ### Run 2 start. ---> Begin of event: 0 @@ -879,10 +886,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 271.702 MeV rms = 14.4701 MeV -EGap2: mean = 13.0056 MeV rms = 4.70044 MeV -LAbs: mean = 19.609 cm rms = 1.07761 cm -LGap2: mean = 6.42871 cm rms = 2.46679 cm +EAbs: mean = 274.942 MeV rms = 8.96651 MeV +EGap2: mean = 13.9939 MeV rms = 6.14487 MeV +LAbs: mean = 19.7961 cm rms = 7.49951 mm +LGap2: mean = 6.91332 cm rms = 3.1357 cm ... close file : e-.hdf5 - done ... create file : proton.hdf5 - done ... open analysis file : proton.hdf5 - done @@ -897,10 +904,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 197.13 MeV rms = 59.1173 MeV -EGap2: mean = 20.0031 MeV rms = 11.0171 MeV -LAbs: mean = 8.42208 cm rms = 2.68317 cm -LGap2: mean = 4.32901 cm rms = 1.4735 cm +EAbs: mean = 220.52 MeV rms = 42.6585 MeV +EGap2: mean = 21.0932 MeV rms = 14.424 MeV +LAbs: mean = 8.44493 cm rms = 2.11558 cm +LGap2: mean = 4.29837 cm rms = 1.2912 cm ### Run 4 start. ---> Begin of event: 0 @@ -912,10 +919,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 201.326 MeV rms = 52.7717 MeV -EGap2: mean = 19.8641 MeV rms = 13.0272 MeV -LAbs: mean = 9.43807 cm rms = 2.2901 cm -LGap2: mean = 4.98845 cm rms = 1.36532 cm +EAbs: mean = 183.744 MeV rms = 43.5113 MeV +EGap2: mean = 15.4705 MeV rms = 6.10516 MeV +LAbs: mean = 9.21143 cm rms = 2.16642 cm +LGap2: mean = 4.86717 cm rms = 1.60599 cm ... close file : proton.hdf5 - done Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/analysis/AnaEx03/AnaEx03-root.out b/examples/extended/analysis/AnaEx03/AnaEx03-root.out index ec76a253774..ad21f782063 100644 --- a/examples/extended/analysis/AnaEx03/AnaEx03-root.out +++ b/examples/extended/analysis/AnaEx03/AnaEx03-root.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -277,7 +284,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -832,7 +839,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -853,10 +860,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 86.7754 MeV rms = 6.06128 MeV -EGap: mean = 6.22737 MeV rms = 4.05788 MeV -LAbs: mean = 6.36212 cm rms = 5.45277 mm -LGap: mean = 3.22513 cm rms = 2.15538 cm +EAbs: mean = 92.3063 MeV rms = 4.14219 MeV +EGap: mean = 4.85878 MeV rms = 2.0183 MeV +LAbs: mean = 6.63777 cm rms = 2.92186 mm +LGap: mean = 2.3872 cm rms = 9.61394 mm ### Run 1 start. ---> Begin of event: 0 @@ -868,8 +875,8 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 182.084 MeV rms = 6.77419 MeV -LAbs: mean = 13.0969 cm rms = 5.39518 mm +EAbs: mean = 181.847 MeV rms = 4.68046 MeV +LAbs: mean = 13.1175 cm rms = 4.04973 mm ### Run 2 start. ---> Begin of event: 0 @@ -881,10 +888,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 271.702 MeV rms = 14.4701 MeV -EGap2: mean = 13.0056 MeV rms = 4.70044 MeV -LAbs: mean = 19.609 cm rms = 1.07761 cm -LGap2: mean = 6.42871 cm rms = 2.46679 cm +EAbs: mean = 274.942 MeV rms = 8.96651 MeV +EGap2: mean = 13.9939 MeV rms = 6.14487 MeV +LAbs: mean = 19.7961 cm rms = 7.49951 mm +LGap2: mean = 6.91332 cm rms = 3.1357 cm ... close file : e-.root - done ... create file : proton.root - done ... open analysis file : proton.root - done @@ -900,10 +907,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 197.13 MeV rms = 59.1173 MeV -EGap2: mean = 20.0031 MeV rms = 11.0171 MeV -LAbs: mean = 8.42208 cm rms = 2.68317 cm -LGap2: mean = 4.32901 cm rms = 1.4735 cm +EAbs: mean = 220.52 MeV rms = 42.6585 MeV +EGap2: mean = 21.0932 MeV rms = 14.424 MeV +LAbs: mean = 8.44493 cm rms = 2.11558 cm +LGap2: mean = 4.29837 cm rms = 1.2912 cm ### Run 4 start. ---> Begin of event: 0 @@ -915,10 +922,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 201.326 MeV rms = 52.7717 MeV -EGap2: mean = 19.8641 MeV rms = 13.0272 MeV -LAbs: mean = 9.43807 cm rms = 2.2901 cm -LGap2: mean = 4.98845 cm rms = 1.36532 cm +EAbs: mean = 183.744 MeV rms = 43.5113 MeV +EGap2: mean = 15.4705 MeV rms = 6.10516 MeV +LAbs: mean = 9.21143 cm rms = 2.16642 cm +LGap2: mean = 4.86717 cm rms = 1.60599 cm ... close file : proton.root - done Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/analysis/AnaEx03/AnaEx03-xml.out b/examples/extended/analysis/AnaEx03/AnaEx03-xml.out index f752371377b..a59560bc605 100644 --- a/examples/extended/analysis/AnaEx03/AnaEx03-xml.out +++ b/examples/extended/analysis/AnaEx03/AnaEx03-xml.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -78,14 +78,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -277,7 +284,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -832,7 +839,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -855,10 +862,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 86.7754 MeV rms = 6.06128 MeV -EGap: mean = 6.22737 MeV rms = 4.05788 MeV -LAbs: mean = 6.36212 cm rms = 5.45277 mm -LGap: mean = 3.22513 cm rms = 2.15538 cm +EAbs: mean = 92.3063 MeV rms = 4.14219 MeV +EGap: mean = 4.85878 MeV rms = 2.0183 MeV +LAbs: mean = 6.63777 cm rms = 2.92186 mm +LGap: mean = 2.3872 cm rms = 9.61394 mm ### Run 1 start. ---> Begin of event: 0 @@ -872,8 +879,8 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 182.084 MeV rms = 6.77419 MeV -LAbs: mean = 13.0969 cm rms = 5.39518 mm +EAbs: mean = 181.847 MeV rms = 4.68046 MeV +LAbs: mean = 13.1175 cm rms = 4.04973 mm ### Run 2 start. ---> Begin of event: 0 @@ -887,10 +894,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 271.702 MeV rms = 14.4701 MeV -EGap2: mean = 13.0056 MeV rms = 4.70044 MeV -LAbs: mean = 19.609 cm rms = 1.07761 cm -LGap2: mean = 6.42871 cm rms = 2.46679 cm +EAbs: mean = 274.942 MeV rms = 8.96651 MeV +EGap2: mean = 13.9939 MeV rms = 6.14487 MeV +LAbs: mean = 19.7961 cm rms = 7.49951 mm +LGap2: mean = 6.91332 cm rms = 3.1357 cm ... close file : e-.xml - done ... close file : e-_nt_Ntuple1.xml - done ... close file : e-_nt_Ntuple2.xml - done @@ -911,10 +918,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 197.13 MeV rms = 59.1173 MeV -EGap2: mean = 20.0031 MeV rms = 11.0171 MeV -LAbs: mean = 8.42208 cm rms = 2.68317 cm -LGap2: mean = 4.32901 cm rms = 1.4735 cm +EAbs: mean = 220.52 MeV rms = 42.6585 MeV +EGap2: mean = 21.0932 MeV rms = 14.424 MeV +LAbs: mean = 8.44493 cm rms = 2.11558 cm +LGap2: mean = 4.29837 cm rms = 1.2912 cm ### Run 4 start. ---> Begin of event: 0 @@ -928,10 +935,10 @@ There are histograms that can be viewed with visualization: ----> print histograms statistic -EAbs: mean = 201.326 MeV rms = 52.7717 MeV -EGap2: mean = 19.8641 MeV rms = 13.0272 MeV -LAbs: mean = 9.43807 cm rms = 2.2901 cm -LGap2: mean = 4.98845 cm rms = 1.36532 cm +EAbs: mean = 183.744 MeV rms = 43.5113 MeV +EGap2: mean = 15.4705 MeV rms = 6.10516 MeV +LAbs: mean = 9.21143 cm rms = 2.16642 cm +LGap2: mean = 4.86717 cm rms = 1.60599 cm ... close file : proton.xml - done ... close file : proton_nt_Ntuple1.xml - done ... close file : proton_nt_Ntuple2.xml - done diff --git a/examples/extended/analysis/AnaEx03/AnaEx03.cc b/examples/extended/analysis/AnaEx03/AnaEx03.cc index 890d6e5c9eb..dd30f8e725f 100644 --- a/examples/extended/analysis/AnaEx03/AnaEx03.cc +++ b/examples/extended/analysis/AnaEx03/AnaEx03.cc @@ -32,25 +32,23 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "FTFP_BERT.hh" #include "G4RunManagerFactory.hh" - +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "FTFP_BERT.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { + if (argc == 1) { ui = new G4UIExecutive(argc, argv); } @@ -62,7 +60,7 @@ int main(int argc,char** argv) // Set mandatory initialization classes // - auto detector = new DetectorConstruction; + auto detector = new DetectorConstruction; runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new FTFP_BERT); runManager->SetUserInitialization(new ActionInitialization(detector)); @@ -76,13 +74,13 @@ int main(int argc,char** argv) // G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( ui == nullptr ) { + if (ui == nullptr) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; UImanager->ApplyCommand("/control/alias defaultFileType root"); - // define the default value for alias used in AnaEx03.in - UImanager->ApplyCommand(command+fileName); + // define the default value for alias used in AnaEx03.in + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/extended/analysis/AnaEx03/include/ActionInitialization.hh b/examples/extended/analysis/AnaEx03/include/ActionInitialization.hh index 1dd2cd483e5..32997f2beb6 100644 --- a/examples/extended/analysis/AnaEx03/include/ActionInitialization.hh +++ b/examples/extended/analysis/AnaEx03/include/ActionInitialization.hh @@ -51,5 +51,3 @@ class ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/analysis/AnaEx03/include/EventAction.hh b/examples/extended/analysis/AnaEx03/include/EventAction.hh index 30b8a806142..ec3355e9f97 100644 --- a/examples/extended/analysis/AnaEx03/include/EventAction.hh +++ b/examples/extended/analysis/AnaEx03/include/EventAction.hh @@ -46,27 +46,33 @@ class HistoManager; class EventAction : public G4UserEventAction { -public: - EventAction(); - ~EventAction() override; + public: + EventAction(); + ~EventAction() override; - void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; - void AddAbs(G4double de, G4double dl) {fEnergyAbs += de; fTrackLAbs += dl;}; - void AddGap(G4double de, G4double dl) {fEnergyGap += de; fTrackLGap += dl;}; + void AddAbs(G4double de, G4double dl) + { + fEnergyAbs += de; + fTrackLAbs += dl; + }; + void AddGap(G4double de, G4double dl) + { + fEnergyGap += de; + fTrackLGap += dl; + }; -private: - G4double fEnergyAbs = 0; - G4double fEnergyGap = 0; - G4double fTrackLAbs = 0; - G4double fTrackLGap = 0; + private: + G4double fEnergyAbs = 0; + G4double fEnergyGap = 0; + G4double fTrackLAbs = 0; + G4double fTrackLGap = 0; - G4int fPrintModulo = 100; + G4int fPrintModulo = 100; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/analysis/AnaEx03/include/RunAction.hh b/examples/extended/analysis/AnaEx03/include/RunAction.hh index 982569b8fdf..67f3816216c 100644 --- a/examples/extended/analysis/AnaEx03/include/RunAction.hh +++ b/examples/extended/analysis/AnaEx03/include/RunAction.hh @@ -46,19 +46,19 @@ class G4Run; class RunAction : public G4UserRunAction { -public: - RunAction(); - ~RunAction() override; + public: + RunAction(); + ~RunAction() override; - void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void BeginOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - void PrintStatistic(); + void PrintStatistic(); -private: - void DefineCommands(); + private: + void DefineCommands(); - G4GenericMessenger* fMessenger = nullptr; + G4GenericMessenger* fMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx03/shared/include/DetectorConstruction.hh b/examples/extended/analysis/AnaEx03/shared/include/DetectorConstruction.hh index 040bf4c9e6f..53d7197a81f 100644 --- a/examples/extended/analysis/AnaEx03/shared/include/DetectorConstruction.hh +++ b/examples/extended/analysis/AnaEx03/shared/include/DetectorConstruction.hh @@ -32,11 +32,11 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 +#include "CLHEP/Units/SystemOfUnits.h" + #include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "CLHEP/Units/SystemOfUnits.h" - class G4Box; class G4LogicalVolume; class G4VPhysicalVolume; @@ -48,41 +48,40 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - - DetectorConstruction(); - ~DetectorConstruction() override; + DetectorConstruction(); + ~DetectorConstruction() override; public: G4VPhysicalVolume* Construct() override; - void SetAbsorberMaterial (const G4String&); + void SetAbsorberMaterial(const G4String&); void SetAbsorberThickness(G4double); - void SetGapMaterial (const G4String&); + void SetGapMaterial(const G4String&); void SetGapThickness(G4double); void SetCalorSizeYZ(G4double); - void SetNbOfLayers (G4int); + void SetNbOfLayers(G4int); void PrintCalorParameters(); - G4double GetWorldSizeX() { return fWorldSizeX; } + G4double GetWorldSizeX() { return fWorldSizeX; } G4double GetWorldSizeYZ() { return fWorldSizeYZ; } G4double GetCalorThickness() { return fCalorThickness; } - G4double GetCalorSizeYZ() { return fCalorSizeYZ; } + G4double GetCalorSizeYZ() { return fCalorSizeYZ; } G4int GetNbOfLayers() { return fNbOfLayers; } - G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; } - G4double GetAbsorberThickness() { return fAbsorberThickness; } + G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; } + G4double GetAbsorberThickness() { return fAbsorberThickness; } - G4Material* GetGapMaterial() { return fGapMaterial; } - G4double GetGapThickness() { return fGapThickness; } + G4Material* GetGapMaterial() { return fGapMaterial; } + G4double GetGapThickness() { return fGapThickness; } const G4VPhysicalVolume* GetphysiWorld() { return fPhysiWorld; } - const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; } - const G4VPhysicalVolume* GetGap() { return fPhysiGap; } + const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; } + const G4VPhysicalVolume* GetGap() { return fPhysiGap; } private: void DefineMaterials(); @@ -93,37 +92,37 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4Material* fGapMaterial = nullptr; G4Material* fDefaultMaterial = nullptr; - G4int fNbOfLayers = 10; - G4double fAbsorberThickness = 10.*CLHEP::mm; - G4double fGapThickness = 5.*CLHEP::mm; - G4double fCalorSizeYZ = 10.*CLHEP::cm; + G4int fNbOfLayers = 10; + G4double fAbsorberThickness = 10. * CLHEP::mm; + G4double fGapThickness = 5. * CLHEP::mm; + G4double fCalorSizeYZ = 10. * CLHEP::cm; - G4double fCalorThickness = 0.; // will be computed - G4double fLayerThickness= 0.; // will be computed - G4double fWorldSizeYZ = 0.; // will be computed; - G4double fWorldSizeX = 0.; // will be computed; + G4double fCalorThickness = 0.; // will be computed + G4double fLayerThickness = 0.; // will be computed + G4double fWorldSizeYZ = 0.; // will be computed; + G4double fWorldSizeX = 0.; // will be computed; - G4Box* fSolidWorld = nullptr; //pointer to the solid World - G4LogicalVolume* fLogicWorld = nullptr; //pointer to the logical World - G4VPhysicalVolume* fPhysiWorld = nullptr; //pointer to the physical World + G4Box* fSolidWorld = nullptr; // pointer to the solid World + G4LogicalVolume* fLogicWorld = nullptr; // pointer to the logical World + G4VPhysicalVolume* fPhysiWorld = nullptr; // pointer to the physical World - G4Box* fSolidCalor = nullptr; //pointer to the solid Calor - G4LogicalVolume* fLogicCalor = nullptr; //pointer to the logical Calor - G4VPhysicalVolume* fPhysiCalor = nullptr; //pointer to the physical Calor + G4Box* fSolidCalor = nullptr; // pointer to the solid Calor + G4LogicalVolume* fLogicCalor = nullptr; // pointer to the logical Calor + G4VPhysicalVolume* fPhysiCalor = nullptr; // pointer to the physical Calor - G4Box* fSolidLayer = nullptr; //pointer to the solid Layer - G4LogicalVolume* fLogicLayer = nullptr; //pointer to the logical Layer - G4VPhysicalVolume* fPhysiLayer = nullptr; //pointer to the physical Layer + G4Box* fSolidLayer = nullptr; // pointer to the solid Layer + G4LogicalVolume* fLogicLayer = nullptr; // pointer to the logical Layer + G4VPhysicalVolume* fPhysiLayer = nullptr; // pointer to the physical Layer - G4Box* fSolidAbsorber = nullptr; //pointer to the solid Absorber - G4LogicalVolume* fLogicAbsorber = nullptr; //pointer to the logical Absorber - G4VPhysicalVolume* fPhysiAbsorber = nullptr; //pointer to the physical Absorber + G4Box* fSolidAbsorber = nullptr; // pointer to the solid Absorber + G4LogicalVolume* fLogicAbsorber = nullptr; // pointer to the logical Absorber + G4VPhysicalVolume* fPhysiAbsorber = nullptr; // pointer to the physical Absorber - G4Box* fSolidGap = nullptr; //pointer to the solid Gap - G4LogicalVolume* fLogicGap = nullptr; //pointer to the logical Gap - G4VPhysicalVolume* fPhysiGap = nullptr; //pointer to the physical Gap + G4Box* fSolidGap = nullptr; // pointer to the solid Gap + G4LogicalVolume* fLogicGap = nullptr; // pointer to the logical Gap + G4VPhysicalVolume* fPhysiGap = nullptr; // pointer to the physical Gap - DetectorMessenger* fDetectorMessenger = nullptr; //pointer to the Messenger + DetectorMessenger* fDetectorMessenger = nullptr; // pointer to the Messenger }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -131,13 +130,13 @@ class DetectorConstruction : public G4VUserDetectorConstruction inline void DetectorConstruction::ComputeCalorParameters() { // Compute derived parameters of the calorimeter - fLayerThickness = fAbsorberThickness + fGapThickness; - fCalorThickness = fNbOfLayers*fLayerThickness; + fLayerThickness = fAbsorberThickness + fGapThickness; + fCalorThickness = fNbOfLayers * fLayerThickness; - fWorldSizeX = 1.2*fCalorThickness; fWorldSizeYZ = 1.2*fCalorSizeYZ; + fWorldSizeX = 1.2 * fCalorThickness; + fWorldSizeYZ = 1.2 * fCalorSizeYZ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/analysis/AnaEx03/shared/include/DetectorMessenger.hh b/examples/extended/analysis/AnaEx03/shared/include/DetectorMessenger.hh index df4790e77d4..76d025a6546 100644 --- a/examples/extended/analysis/AnaEx03/shared/include/DetectorMessenger.hh +++ b/examples/extended/analysis/AnaEx03/shared/include/DetectorMessenger.hh @@ -32,8 +32,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -43,10 +43,10 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - DetectorMessenger(DetectorConstruction* ); + DetectorMessenger(DetectorConstruction*); ~DetectorMessenger() override; void SetNewValue(G4UIcommand*, G4String) override; @@ -54,13 +54,13 @@ class DetectorMessenger: public G4UImessenger private: DetectorConstruction* fDetector = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fAbsMaterCmd = nullptr; - G4UIcmdWithAString* fGapMaterCmd = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fAbsMaterCmd = nullptr; + G4UIcmdWithAString* fGapMaterCmd = nullptr; G4UIcmdWithADoubleAndUnit* fAbsThickCmd = nullptr; G4UIcmdWithADoubleAndUnit* fGapThickCmd = nullptr; G4UIcmdWithADoubleAndUnit* fSizeYZCmd = nullptr; - G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; + G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx03/shared/include/PrimaryGeneratorAction.hh b/examples/extended/analysis/AnaEx03/shared/include/PrimaryGeneratorAction.hh index e4d51bdddb4..2b3dae4c7b8 100644 --- a/examples/extended/analysis/AnaEx03/shared/include/PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/AnaEx03/shared/include/PrimaryGeneratorAction.hh @@ -43,19 +43,17 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + public: + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; - void GeneratePrimaries(G4Event*) override; + void GeneratePrimaries(G4Event*) override; -private: - G4ParticleGun* fParticleGun = nullptr; //pointer a to G4 class - DetectorConstruction* fDetector = nullptr; //pointer to the geometry + private: + G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 class + DetectorConstruction* fDetector = nullptr; // pointer to the geometry }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/analysis/AnaEx03/shared/include/SteppingAction.hh b/examples/extended/analysis/AnaEx03/shared/include/SteppingAction.hh index 6939abd3e58..b45c5775641 100644 --- a/examples/extended/analysis/AnaEx03/shared/include/SteppingAction.hh +++ b/examples/extended/analysis/AnaEx03/shared/include/SteppingAction.hh @@ -41,15 +41,15 @@ class EventAction; class SteppingAction : public G4UserSteppingAction { -public: - SteppingAction(DetectorConstruction*, EventAction*); - ~SteppingAction() override; + public: + SteppingAction(DetectorConstruction*, EventAction*); + ~SteppingAction() override; - void UserSteppingAction(const G4Step*) override; + void UserSteppingAction(const G4Step*) override; -private: - DetectorConstruction* fDetector = nullptr; - EventAction* fEventAction = nullptr; + private: + DetectorConstruction* fDetector = nullptr; + EventAction* fEventAction = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx03/shared/src/DetectorConstruction.cc b/examples/extended/analysis/AnaEx03/shared/src/DetectorConstruction.cc index 8be67a6d514..71de5ae007a 100644 --- a/examples/extended/analysis/AnaEx03/shared/src/DetectorConstruction.cc +++ b/examples/extended/analysis/AnaEx03/shared/src/DetectorConstruction.cc @@ -30,26 +30,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" -#include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "DetectorMessenger.hh" #include "G4Box.hh" +#include "G4Colour.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" - -#include "G4StateManager.hh" -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" +#include "G4RunManager.hh" #include "G4SolidStore.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" +#include "G4StateManager.hh" #include "G4SystemOfUnits.hh" -#include "G4RunManager.hh" +#include "G4VisAttributes.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -113,114 +111,118 @@ G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() // // World // - fSolidWorld = new G4Box("World", //its name - fWorldSizeX/2,fWorldSizeYZ/2,fWorldSizeYZ/2); //its size + fSolidWorld = new G4Box("World", // its name + fWorldSizeX / 2, fWorldSizeYZ / 2, fWorldSizeYZ / 2); // its size - fLogicWorld = new G4LogicalVolume(fSolidWorld, //its solid - fDefaultMaterial, //its material - "World"); //its name + fLogicWorld = new G4LogicalVolume(fSolidWorld, // its solid + fDefaultMaterial, // its material + "World"); // its name - fPhysiWorld = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicWorld, //its logical volume - "World", //its name - nullptr, //its mother volume - false, //no boolean operation - 0); //copy number + fPhysiWorld = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicWorld, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0); // copy number // // Calorimeter // - fSolidCalor = nullptr; fLogicCalor = nullptr; fPhysiCalor = nullptr; - fSolidLayer = nullptr; fLogicLayer = nullptr; fPhysiLayer = nullptr; - - if (fCalorThickness > 0.) { - fSolidCalor = new G4Box("Calorimeter", //its name - fCalorThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size - - fLogicCalor = new G4LogicalVolume(fSolidCalor, //its solid - fDefaultMaterial, //its material - "Calorimeter"); //its name - - fPhysiCalor = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicCalor, //its logical volume - "Calorimeter", //its name - fLogicWorld, //its mother volume - false, //no boolean operation - 0); //copy number + fSolidCalor = nullptr; + fLogicCalor = nullptr; + fPhysiCalor = nullptr; + fSolidLayer = nullptr; + fLogicLayer = nullptr; + fPhysiLayer = nullptr; + + if (fCalorThickness > 0.) { + fSolidCalor = new G4Box("Calorimeter", // its name + fCalorThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size + + fLogicCalor = new G4LogicalVolume(fSolidCalor, // its solid + fDefaultMaterial, // its material + "Calorimeter"); // its name + + fPhysiCalor = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicCalor, // its logical volume + "Calorimeter", // its name + fLogicWorld, // its mother volume + false, // no boolean operation + 0); // copy number // // Layer // - fSolidLayer = new G4Box("Layer", //its name - fLayerThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size + fSolidLayer = new G4Box("Layer", // its name + fLayerThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size - fLogicLayer = new G4LogicalVolume(fSolidLayer, //its solid - fDefaultMaterial, //its material - "Layer"); //its name + fLogicLayer = new G4LogicalVolume(fSolidLayer, // its solid + fDefaultMaterial, // its material + "Layer"); // its name if (fNbOfLayers > 1) { - fPhysiLayer = new G4PVReplica("Layer", //its name - fLogicLayer, //its logical volume - fLogicCalor, //its mother - kXAxis, //axis of replication - fNbOfLayers, //number of replica - fLayerThickness); //witdth of replica + fPhysiLayer = new G4PVReplica("Layer", // its name + fLogicLayer, // its logical volume + fLogicCalor, // its mother + kXAxis, // axis of replication + fNbOfLayers, // number of replica + fLayerThickness); // witdth of replica } else { - fPhysiLayer = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicLayer, //its logical volume - "Layer", //its name - fLogicCalor, //its mother volume - false, //no boolean operation - 0); //copy number + fPhysiLayer = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicLayer, // its logical volume + "Layer", // its name + fLogicCalor, // its mother volume + false, // no boolean operation + 0); // copy number } } // // Absorber // - fSolidAbsorber = nullptr; fLogicAbsorber = nullptr; fPhysiAbsorber = nullptr; + fSolidAbsorber = nullptr; + fLogicAbsorber = nullptr; + fPhysiAbsorber = nullptr; if (fAbsorberThickness > 0.) { - fSolidAbsorber = new G4Box("Absorber", //its name - fAbsorberThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); //size - - fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, //its solid - fAbsorberMaterial, //its material - fAbsorberMaterial->GetName()); //name - - fPhysiAbsorber = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(-fGapThickness/2,0.,0.), //its position - fLogicAbsorber, //its logical volume - fAbsorberMaterial->GetName(), //its name - fLogicLayer, //its mother - false, //no boulean operat - 0); //copy number - + fSolidAbsorber = new G4Box("Absorber", // its name + fAbsorberThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); // size + + fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, // its solid + fAbsorberMaterial, // its material + fAbsorberMaterial->GetName()); // name + + fPhysiAbsorber = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(-fGapThickness / 2, 0., 0.), // its position + fLogicAbsorber, // its logical volume + fAbsorberMaterial->GetName(), // its name + fLogicLayer, // its mother + false, // no boulean operat + 0); // copy number } // // Gap // - fSolidGap = nullptr; fLogicGap = nullptr; fPhysiGap = nullptr; + fSolidGap = nullptr; + fLogicGap = nullptr; + fPhysiGap = nullptr; if (fGapThickness > 0.) { - fSolidGap = new G4Box("Gap", - fGapThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); - - fLogicGap = new G4LogicalVolume(fSolidGap, - fGapMaterial, - fGapMaterial->GetName()); - - fPhysiGap = new G4PVPlacement(nullptr, //no rotation - G4ThreeVector(fAbsorberThickness/2,0.,0.), //its position - fLogicGap, //its logical volume - fGapMaterial->GetName(), //its name - fLogicLayer, //its mother - false, //no boulean operat - 0); //copy number + fSolidGap = new G4Box("Gap", fGapThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); + + fLogicGap = new G4LogicalVolume(fSolidGap, fGapMaterial, fGapMaterial->GetName()); + + fPhysiGap = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(fAbsorberThickness / 2, 0., 0.), // its position + fLogicGap, // its logical volume + fGapMaterial->GetName(), // its name + fLogicLayer, // its mother + false, // no boulean operat + 0); // copy number } PrintCalorParameters(); @@ -228,14 +230,14 @@ G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() // // Visualization attributes // - fLogicWorld->SetVisAttributes (G4VisAttributes::GetInvisible()); + fLogicWorld->SetVisAttributes(G4VisAttributes::GetInvisible()); - auto simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + auto simpleBoxVisAtt = new G4VisAttributes(G4Colour(1.0, 1.0, 1.0)); simpleBoxVisAtt->SetVisibility(true); fLogicCalor->SetVisAttributes(simpleBoxVisAtt); // - //always return the physical World + // always return the physical World // return fPhysiWorld; } @@ -246,9 +248,8 @@ void DetectorConstruction::PrintCalorParameters() { G4cout << "\n------------------------------------------------------------" << "\n---> The calorimeter is " << fNbOfLayers << " layers of: [ " - << fAbsorberThickness/mm << "mm of " << fAbsorberMaterial->GetName() - << " + " - << fGapThickness/mm << "mm of " << fGapMaterial->GetName() << " ] " + << fAbsorberThickness / mm << "mm of " << fAbsorberMaterial->GetName() << " + " + << fGapThickness / mm << "mm of " << fGapMaterial->GetName() << " ] " << "\n------------------------------------------------------------\n"; } @@ -274,7 +275,7 @@ void DetectorConstruction::SetGapMaterial(const G4String& materialChoice) auto material = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); if (material != nullptr) { fGapMaterial = material; - if ( fLogicGap != nullptr) { + if (fLogicGap != nullptr) { fLogicGap->SetMaterial(fGapMaterial); G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } @@ -287,7 +288,7 @@ void DetectorConstruction::SetAbsorberThickness(G4double value) { // change Absorber thickness and recompute the calorimeter parameters fAbsorberThickness = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -298,7 +299,7 @@ void DetectorConstruction::SetGapThickness(G4double value) { // change Gap thickness and recompute the calorimeter parameters fGapThickness = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -309,7 +310,7 @@ void DetectorConstruction::SetCalorSizeYZ(G4double value) { // change the transverse size and recompute the calorimeter parameters fCalorSizeYZ = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } @@ -319,7 +320,7 @@ void DetectorConstruction::SetCalorSizeYZ(G4double value) void DetectorConstruction::SetNbOfLayers(G4int value) { fNbOfLayers = value; - if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) { + if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit) { G4RunManager::GetRunManager()->ReinitializeGeometry(); } } diff --git a/examples/extended/analysis/AnaEx03/shared/src/DetectorMessenger.cc b/examples/extended/analysis/AnaEx03/shared/src/DetectorMessenger.cc index c7775c5fe2a..3d4ca272d52 100644 --- a/examples/extended/analysis/AnaEx03/shared/src/DetectorMessenger.cc +++ b/examples/extended/analysis/AnaEx03/shared/src/DetectorMessenger.cc @@ -32,57 +32,57 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" + +#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger( DetectorConstruction* Det) -: fDetector(Det) +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) { G4bool broadcast = false; - fDetDir = new G4UIdirectory("/det/",broadcast); + fDetDir = new G4UIdirectory("/det/", broadcast); fDetDir->SetGuidance("Detector control"); - fAbsMaterCmd = new G4UIcmdWithAString("/det/setAbsMat",this); + fAbsMaterCmd = new G4UIcmdWithAString("/det/setAbsMat", this); fAbsMaterCmd->SetGuidance("Select Material of the Absorber."); - fAbsMaterCmd->SetParameterName("AbsMat",false); - fAbsMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsMaterCmd->SetParameterName("AbsMat", false); + fAbsMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fGapMaterCmd = new G4UIcmdWithAString("/det/setGapMat",this); + fGapMaterCmd = new G4UIcmdWithAString("/det/setGapMat", this); fGapMaterCmd->SetGuidance("Select Material of the Gap."); - fGapMaterCmd->SetParameterName("GapMat",false); - fGapMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fGapMaterCmd->SetParameterName("GapMat", false); + fGapMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setAbsThick",this); + fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setAbsThick", this); fAbsThickCmd->SetGuidance("Set Thickness of the Absorber"); - fAbsThickCmd->SetParameterName("AbsThick",false); + fAbsThickCmd->SetParameterName("AbsThick", false); fAbsThickCmd->SetRange("AbsThick>=0."); fAbsThickCmd->SetUnitCategory("Length"); - fAbsThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsThickCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fGapThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setGapThick",this); + fGapThickCmd = new G4UIcmdWithADoubleAndUnit("/det/setGapThick", this); fGapThickCmd->SetGuidance("Set Thickness of the Gap"); - fGapThickCmd->SetParameterName("GapThick",false); + fGapThickCmd->SetParameterName("GapThick", false); fGapThickCmd->SetRange("GapThick>=0."); fGapThickCmd->SetUnitCategory("Length"); - fGapThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fGapThickCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/det/setSizeYZ",this); + fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/det/setSizeYZ", this); fSizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); - fSizeYZCmd->SetParameterName("SizeYZ",false); + fSizeYZCmd->SetParameterName("SizeYZ", false); fSizeYZCmd->SetRange("SizeYZ>0."); fSizeYZCmd->SetUnitCategory("Length"); - fSizeYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fSizeYZCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fNbLayersCmd = new G4UIcmdWithAnInteger("/det/setNbOfLayers",this); + fNbLayersCmd = new G4UIcmdWithAnInteger("/det/setNbOfLayers", this); fNbLayersCmd->SetGuidance("Set number of layers."); - fNbLayersCmd->SetParameterName("NbLayers",false); + fNbLayersCmd->SetParameterName("NbLayers", false); fNbLayersCmd->SetRange("NbLayers>0 && NbLayers<500"); - fNbLayersCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fNbLayersCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -102,32 +102,32 @@ DetectorMessenger::~DetectorMessenger() void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fAbsMaterCmd ) { + if (command == fAbsMaterCmd) { fDetector->SetAbsorberMaterial(newValue); return; } - if( command == fGapMaterCmd ) { + if (command == fGapMaterCmd) { fDetector->SetGapMaterial(newValue); return; } - if( command == fAbsThickCmd ) { + if (command == fAbsThickCmd) { fDetector->SetAbsorberThickness(fAbsThickCmd->GetNewDoubleValue(newValue)); return; } - if( command == fGapThickCmd ) { + if (command == fGapThickCmd) { fDetector->SetGapThickness(fGapThickCmd->GetNewDoubleValue(newValue)); return; } - if( command == fSizeYZCmd ) { + if (command == fSizeYZCmd) { fDetector->SetCalorSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue)); return; } - if( command == fNbLayersCmd ) { + if (command == fNbLayersCmd) { fDetector->SetNbOfLayers(fNbLayersCmd->GetNewIntValue(newValue)); return; } diff --git a/examples/extended/analysis/AnaEx03/shared/src/PrimaryGeneratorAction.cc b/examples/extended/analysis/AnaEx03/shared/src/PrimaryGeneratorAction.cc index 3e803417946..2bcce36c1d3 100644 --- a/examples/extended/analysis/AnaEx03/shared/src/PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/AnaEx03/shared/src/PrimaryGeneratorAction.cc @@ -34,30 +34,28 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* dc) -: fDetector(dc) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* dc) : fDetector(dc) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="e-"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(500.*MeV); - G4double position = -0.5*(fDetector->GetWorldSizeX()); - fParticleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); - + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(500. * MeV); + G4double position = -0.5 * (fDetector->GetWorldSizeX()); + fParticleGun->SetParticlePosition(G4ThreeVector(position, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,10 +69,9 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/analysis/AnaEx03/shared/src/SteppingAction.cc b/examples/extended/analysis/AnaEx03/shared/src/SteppingAction.cc index ec8d92a988a..3bdf45c623c 100644 --- a/examples/extended/analysis/AnaEx03/shared/src/SteppingAction.cc +++ b/examples/extended/analysis/AnaEx03/shared/src/SteppingAction.cc @@ -39,7 +39,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(DetectorConstruction* det, EventAction* evt) -: fDetector(det), fEventAction(evt) + : fDetector(det), fEventAction(evt) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,8 +51,7 @@ SteppingAction::~SteppingAction() = default; void SteppingAction::UserSteppingAction(const G4Step* aStep) { // get volume of the current step - G4VPhysicalVolume* volume = - aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); + G4VPhysicalVolume* volume = aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); // collect energy and track length step by step G4double edep = aStep->GetTotalEnergyDeposit(); @@ -62,8 +61,12 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) stepl = aStep->GetStepLength(); } - if (volume == fDetector->GetAbsorber()) { fEventAction->AddAbs(edep,stepl); } - if (volume == fDetector->GetGap()) { fEventAction->AddGap(edep,stepl); } + if (volume == fDetector->GetAbsorber()) { + fEventAction->AddAbs(edep, stepl); + } + if (volume == fDetector->GetGap()) { + fEventAction->AddGap(edep, stepl); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx03/src/ActionInitialization.cc b/examples/extended/analysis/AnaEx03/src/ActionInitialization.cc index 42f72c78b61..32c928c7edb 100644 --- a/examples/extended/analysis/AnaEx03/src/ActionInitialization.cc +++ b/examples/extended/analysis/AnaEx03/src/ActionInitialization.cc @@ -28,16 +28,15 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* detector) - : fDetector(detector) -{} +ActionInitialization::ActionInitialization(DetectorConstruction* detector) : fDetector(detector) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -61,10 +60,10 @@ void ActionInitialization::Build() const SetUserAction(new RunAction()); - auto eventAction = new EventAction(); + auto eventAction = new EventAction(); SetUserAction(eventAction); - auto steppingAction = new SteppingAction(fDetector, eventAction); + auto steppingAction = new SteppingAction(fDetector, eventAction); SetUserAction(steppingAction); } diff --git a/examples/extended/analysis/AnaEx03/src/EventAction.cc b/examples/extended/analysis/AnaEx03/src/EventAction.cc index 5d1d97509a2..ac8d72cb9d4 100644 --- a/examples/extended/analysis/AnaEx03/src/EventAction.cc +++ b/examples/extended/analysis/AnaEx03/src/EventAction.cc @@ -34,6 +34,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "EventAction.hh" + #include "RunAction.hh" #include "G4AnalysisManager.hh" @@ -52,7 +53,7 @@ EventAction::~EventAction() = default; void EventAction::BeginOfEventAction(const G4Event* evt) { G4int evtNb = evt->GetEventID(); - if (evtNb%fPrintModulo == 0) { + if (evtNb % fPrintModulo == 0) { G4cout << "\n---> Begin of event: " << evtNb << G4endl; } @@ -78,9 +79,9 @@ void EventAction::EndOfEventAction(const G4Event*) analysisManager->FillH1(3, fTrackLGap); } - //fill ntuple + // fill ntuple // - // Fill 1st ntuple ( id = 0) + // Fill 1st ntuple ( id = 0) analysisManager->FillNtupleDColumn(0, 0, fEnergyAbs); analysisManager->FillNtupleDColumn(0, 1, fEnergyGap); analysisManager->AddNtupleRow(0); diff --git a/examples/extended/analysis/AnaEx03/src/RunAction.cc b/examples/extended/analysis/AnaEx03/src/RunAction.cc index 25d78c8100c..f336cae18a1 100644 --- a/examples/extended/analysis/AnaEx03/src/RunAction.cc +++ b/examples/extended/analysis/AnaEx03/src/RunAction.cc @@ -37,8 +37,8 @@ #include "G4GenericMessenger.hh" #include "G4Run.hh" #include "G4RunManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,10 +50,10 @@ RunAction::RunAction() G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); analysisManager->SetDefaultFileType("root"); analysisManager->SetVerboseLevel(1); - // Only merge in MT mode to avoid warning when running in Sequential mode - #ifdef G4MULTITHREADED - analysisManager->SetNtupleMerging(true); - #endif +// Only merge in MT mode to avoid warning when running in Sequential mode +#ifdef G4MULTITHREADED + analysisManager->SetNtupleMerging(true); +#endif // Create directories analysisManager->SetHistoDirectoryName("histo"); @@ -65,13 +65,13 @@ RunAction::RunAction() // analysisManager->SetFirstHistoId(1); // id = 0 - analysisManager->CreateH1("EAbs","Edep in absorber (MeV)", 100, 0., 800*MeV); + analysisManager->CreateH1("EAbs", "Edep in absorber (MeV)", 100, 0., 800 * MeV); // id = 1 - analysisManager->CreateH1("EGap","Edep in gap (MeV)", 100, 0., 100*MeV); + analysisManager->CreateH1("EGap", "Edep in gap (MeV)", 100, 0., 100 * MeV); // id = 2 - analysisManager->CreateH1("LAbs","trackL in absorber (mm)", 100, 0., 1*m); + analysisManager->CreateH1("LAbs", "trackL in absorber (mm)", 100, 0., 1 * m); // id = 3 - analysisManager->CreateH1("LGap","trackL in gap (mm)", 100, 0., 50*cm); + analysisManager->CreateH1("LGap", "trackL in gap (mm)", 100, 0., 50 * cm); // Create ntuples. // Ntuples ids are generated automatically starting from 0. @@ -80,15 +80,15 @@ RunAction::RunAction() // Create 1st ntuple (id = 0) analysisManager->CreateNtuple("Ntuple1", "Edep"); - analysisManager->CreateNtupleDColumn("Eabs"); // column Id = 0 - analysisManager->CreateNtupleDColumn("Egap"); // column Id = 1 + analysisManager->CreateNtupleDColumn("Eabs"); // column Id = 0 + analysisManager->CreateNtupleDColumn("Egap"); // column Id = 1 analysisManager->FinishNtuple(); // Create 2nd ntuple (id = 1) // analysisManager->CreateNtuple("Ntuple2", "TrackL"); - analysisManager->CreateNtupleDColumn("Labs"); // column Id = 0 - analysisManager->CreateNtupleDColumn("Lgap"); // column Id = 1 + analysisManager->CreateNtupleDColumn("Labs"); // column Id = 0 + analysisManager->CreateNtupleDColumn("Lgap"); // column Id = 1 analysisManager->FinishNtuple(); DefineCommands(); @@ -107,8 +107,7 @@ void RunAction::BeginOfRunAction(const G4Run* run) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EndOfRunAction(const G4Run* /*run*/) -{} +void RunAction::EndOfRunAction(const G4Run* /*run*/) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -117,22 +116,24 @@ void RunAction::PrintStatistic() G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); G4cout << "\n ----> print histograms statistic \n" << G4endl; - for ( G4int i=0; iGetNofH1s(); ++i ) { + for (G4int i = 0; i < analysisManager->GetNofH1s(); ++i) { auto h1 = analysisManager->GetH1(i); // skip if histogram was deleted if (h1 == nullptr) continue; G4String name = analysisManager->GetH1Name(i); G4String unitCategory; - if (name[0U] == 'E' ) { unitCategory = "Energy"; } - if (name[0U] == 'L' ) { unitCategory = "Length"; } - // we use an explicit unsigned int type for operator [] argument - // to avoid problems with windows compiler - - G4cout << name - << ": mean = " << G4BestUnit(h1->mean(), unitCategory) - << " rms = " << G4BestUnit(h1->rms(), unitCategory ) - << G4endl; + if (name[0U] == 'E') { + unitCategory = "Energy"; + } + if (name[0U] == 'L') { + unitCategory = "Length"; + } + // we use an explicit unsigned int type for operator [] argument + // to avoid problems with windows compiler + + G4cout << name << ": mean = " << G4BestUnit(h1->mean(), unitCategory) + << " rms = " << G4BestUnit(h1->rms(), unitCategory) << G4endl; } } @@ -141,18 +142,12 @@ void RunAction::PrintStatistic() void RunAction::DefineCommands() { // Define /AnaEx03/runAction command directory using generic messenger class - fMessenger - = new G4GenericMessenger(this, - "/AnaEx03/runAction/", - "Run action commands"); + fMessenger = new G4GenericMessenger(this, "/AnaEx03/runAction/", "Run action commands"); // printStatistic command - auto& printStatisticCmd - = fMessenger->DeclareMethod("printStatistic", - &RunAction::PrintStatistic, - "Print statistic at the end of Run."); + auto& printStatisticCmd = fMessenger->DeclareMethod("printStatistic", &RunAction::PrintStatistic, + "Print statistic at the end of Run."); printStatisticCmd.SetToBeBroadcasted(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/analysis/B1Con/exampleB01Con.out b/examples/extended/analysis/B1Con/exampleB01Con.out index fa5fd288c3a..94eb327591d 100644 --- a/examples/extended/analysis/B1Con/exampleB01Con.out +++ b/examples/extended/analysis/B1Con/exampleB01Con.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -43,14 +43,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -233,7 +240,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -794,7 +801,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -806,24 +813,24 @@ G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model. See commands in /vis/modeling/trajectories/ for other options. G4ConvergenceTester Output Result of DOSE_TALLY - EFFICIENCY = 0.17 - MEAN = 4.24413e-14 - VAR = 1.51296e-26 - SD = 1.23003e-13 - R = 0.0916485 - SHIFT = 1.833e-13 - VOV = 0.00965561 - FOM = 3968.52 -THE LARGEST SCORE = 5.55155e-13 and it happened at 893th event - Affected Mean = 4.29535e-14 and its ratio to original is 1.01207 - Affected VAR = 1.53771e-26 and its ratio to original is 1.01636 - Affected R = 0.0912476 and its ratio to original is 0.995626 - Affected SHIFT = 1.83781e-13 and its ratio to original is 1.00262 - Affected FOM = 3968.52 and its ratio to original is 1 + EFFICIENCY = 0.198 + MEAN = 4.55475e-14 + VAR = 1.54263e-26 + SD = 1.24203e-13 + R = 0.0862315 + SHIFT = 1.72861e-13 + VOV = 0.00854466 + FOM = 4482.77 +THE LARGEST SCORE = 5.54337e-13 and it happened at 366th event + Affected Mean = 4.60558e-14 and its ratio to original is 1.01116 + Affected VAR = 1.56695e-26 and its ratio to original is 1.01576 + Affected R = 0.0859065 and its ratio to original is 0.99623 + Affected SHIFT = 1.73445e-13 and its ratio to original is 1.00338 + Affected FOM = 4482.77 and its ratio to original is 1 MEAN distribution is not RANDOM r follows 1/std::sqrt(N) r is monotonically decrease -r is less than 0.1. r = 0.0916485 +r is less than 0.1. r = 0.0862315 VOV follows 1/std::sqrt(N) VOV is monotonically decrease FOM distribution is not RANDOM @@ -833,48 +840,48 @@ This result passes 5 / 8 Convergence Test. G4ConvergenceTester Output History of DOSE_TALLY i/16 till_ith mean var sd r vov fom shift e r2eff r2int - 1 62 4.15089e-14 1.47669e-26 1.21519e-13 0.368836 0.150664 245.026 1.75351e-13 0.174603 0.0750361 0.0588445 - 2 124 3.93009e-14 1.4082e-26 1.18668e-13 0.270069 0.082913 457.014 1.81552e-13 0.176 0.0374545 0.0348991 - 3 187 3.87499e-14 1.31699e-26 1.1476e-13 0.215994 0.0578571 714.488 1.78683e-13 0.18617 0.0232523 0.023153 - 4 249 4.09837e-14 1.41212e-26 1.18833e-13 0.183381 0.041065 991.219 1.80656e-13 0.188 0.0172766 0.0162175 - 5 312 4.32645e-14 1.52396e-26 1.23449e-13 0.161281 0.0306769 1281.48 1.82098e-13 0.188498 0.0137543 0.0121741 - 6 374 4.11182e-14 1.42378e-26 1.19322e-13 0.149855 0.0274276 1484.35 1.81735e-13 0.186667 0.011619 0.0107776 - 7 437 4.21075e-14 1.46511e-26 1.21042e-13 0.137353 0.0225127 1766.86 1.80916e-13 0.182648 0.0102169 0.00860589 - 8 499 4.12978e-14 1.4143e-26 1.18924e-13 0.128783 0.0199466 2009.83 1.78628e-13 0.186 0.00875269 0.00779928 - 9 562 4.00473e-14 1.37636e-26 1.17319e-13 0.123464 0.0179062 2186.76 1.77608e-13 0.174067 0.00842788 0.00678832 - 10 624 3.94354e-14 1.35768e-26 1.16519e-13 0.118188 0.0164103 2386.35 1.78155e-13 0.1696 0.00783396 0.00611202 - 11 687 4.14442e-14 1.41886e-26 1.19116e-13 0.109575 0.014024 2776.22 1.76413e-13 0.174419 0.00687984 0.00510943 - 12 749 4.06709e-14 1.39931e-26 1.18292e-13 0.106204 0.0132954 2955.25 1.78255e-13 0.170667 0.00647917 0.00478516 - 13 812 4.08157e-14 1.40276e-26 1.18438e-13 0.10177 0.0121591 3218.4 1.77843e-13 0.169742 0.00601636 0.00432802 - 14 874 4.12957e-14 1.44e-26 1.2e-13 0.0982365 0.0112995 3454.09 1.80358e-13 0.170286 0.00556855 0.00407083 - 15 937 4.37242e-14 1.55491e-26 1.24696e-13 0.0931171 0.00983397 3844.32 1.81499e-13 0.173774 0.00506887 0.00359268 - 16 999 4.24413e-14 1.51296e-26 1.23003e-13 0.0916485 0.00965561 3968.52 1.833e-13 0.17 0.00488235 0.00350869 + 1 62 3.17379e-14 1.29473e-26 1.13786e-13 0.451691 0.226367 163.379 2.0412e-13 0.142857 0.0952381 0.105548 + 2 124 3.30804e-14 1.06384e-26 1.03143e-13 0.278877 0.105732 428.601 1.73258e-13 0.168 0.039619 0.0375311 + 3 187 3.94836e-14 1.26526e-26 1.12484e-13 0.207776 0.0559014 772.128 1.69917e-13 0.191489 0.0224586 0.0204825 + 4 249 3.97276e-14 1.30204e-26 1.14107e-13 0.181656 0.0405982 1010.14 1.71002e-13 0.184 0.0177391 0.0151277 + 5 312 3.82407e-14 1.22829e-26 1.10828e-13 0.163814 0.0339478 1242.15 1.69776e-13 0.185304 0.0140465 0.0127029 + 6 374 3.89136e-14 1.2719e-26 1.12778e-13 0.149661 0.0287795 1488.2 1.742e-13 0.184 0.0118261 0.0105126 + 7 437 3.80559e-14 1.25301e-26 1.11938e-13 0.140546 0.0252541 1687.5 1.75552e-13 0.191781 0.00962166 0.0100864 + 8 499 4.16767e-14 1.38768e-26 1.178e-13 0.126406 0.019678 2086.14 1.74791e-13 0.202 0.00790099 0.00804549 + 9 562 4.17944e-14 1.4095e-26 1.18722e-13 0.119718 0.0172617 2325.73 1.75728e-13 0.198934 0.00715237 0.00715461 + 10 624 4.33469e-14 1.47176e-26 1.21316e-13 0.111949 0.0146904 2659.74 1.74757e-13 0.1968 0.00653008 0.00598243 + 11 687 4.40834e-14 1.50155e-26 1.22538e-13 0.105974 0.0130273 2968.1 1.74616e-13 0.196221 0.00595392 0.00526027 + 12 749 4.57566e-14 1.56694e-26 1.25178e-13 0.0998947 0.0112546 3340.36 1.73389e-13 0.198667 0.00537808 0.00458757 + 13 812 4.50245e-14 1.54897e-26 1.24458e-13 0.0969456 0.0105987 3546.68 1.74374e-13 0.195572 0.0050593 0.0043276 + 14 874 4.57357e-14 1.56286e-26 1.25015e-13 0.0924063 0.00966482 3903.69 1.7349e-13 0.2 0.00457143 0.00395773 + 15 937 4.56765e-14 1.55286e-26 1.24614e-13 0.0890783 0.0090895 4200.83 1.73294e-13 0.198294 0.00431025 0.00361624 + 16 999 4.55475e-14 1.54263e-26 1.24203e-13 0.0862315 0.00854466 4482.77 1.72861e-13 0.198 0.00405051 0.00337794 --------------------End of Global Run----------------------- The run consists of 1000 gamma of 6 MeV - Cumulated dose per run, in scoring volume : 42.4413 picoGy rms = 3.88774 picoGy + Cumulated dose per run, in scoring volume : 45.5475 picoGy rms = 3.92567 picoGy ------------------------------------------------------------ G4ConvergenceTester Output Result of DOSE_TALLY - EFFICIENCY = 0.638 - MEAN = 5.05669e-12 - VAR = 2.16333e-23 - SD = 4.65116e-12 - R = 0.0290868 - SHIFT = 2.0878e-15 - VOV = 0.000156804 - FOM = 4727.91 -THE LARGEST SCORE = 1.0851e-11 and it happened at 802th event - Affected Mean = 5.06247e-12 and its ratio to original is 1.00114 - Affected VAR = 2.16452e-23 and its ratio to original is 1.00055 - Affected R = 0.029047 and its ratio to original is 0.998632 - Affected SHIFT = -2.10021e-15 and its ratio to original is -1.00595 - Affected FOM = 4727.91 and its ratio to original is 1 + EFFICIENCY = 0.612 + MEAN = 4.70767e-12 + VAR = 2.09414e-23 + SD = 4.57618e-12 + R = 0.0307395 + SHIFT = 3.36726e-13 + VOV = 0.000199175 + FOM = 4601.27 +THE LARGEST SCORE = 1.07575e-11 and it happened at 607th event + Affected Mean = 4.71372e-12 and its ratio to original is 1.00128 + Affected VAR = 2.09571e-23 and its ratio to original is 1.00075 + Affected R = 0.0306962 and its ratio to original is 0.998591 + Affected SHIFT = 3.3236e-13 and its ratio to original is 0.987033 + Affected FOM = 4601.27 and its ratio to original is 1 MEAN distribution is RANDOM r follows 1/std::sqrt(N) r is monotonically decrease -r is less than 0.1. r = 0.0290868 +r is less than 0.1. r = 0.0307395 VOV follows 1/std::sqrt(N) VOV is monotonically decrease FOM distribution is not RANDOM @@ -884,26 +891,26 @@ This result passes 6 / 8 Convergence Test. G4ConvergenceTester Output History of DOSE_TALLY i/16 till_ith mean var sd r vov fom shift e r2eff r2int - 1 62 5.51905e-12 2.10641e-23 4.58956e-12 0.10477 0.00349254 379.591 -6.31268e-13 0.619048 0.00976801 0.00103449 - 2 124 5.24443e-12 2.19131e-23 4.68114e-12 0.079836 0.00119948 627.571 -2.32561e-13 0.632 0.00465823 0.00166456 - 3 187 5.19533e-12 2.17828e-23 4.6672e-12 0.0655187 0.000810324 931.816 -1.46253e-13 0.638298 0.00301418 0.00125568 - 4 249 5.24762e-12 2.17577e-23 4.66451e-12 0.0562178 0.000628242 1265.64 -1.88828e-13 0.64 0.00225 0.000897804 - 5 312 5.05818e-12 2.13264e-23 4.61805e-12 0.0516051 0.000543135 1502.01 -1.61673e-14 0.632588 0.00185562 0.000798965 - 6 374 4.94544e-12 2.13069e-23 4.61595e-12 0.0481992 0.000456237 1721.79 8.7396e-14 0.626667 0.00158865 0.000728316 - 7 437 5.00127e-12 2.121e-23 4.60543e-12 0.044 0.000391269 2066.11 4.18245e-14 0.636986 0.00130112 0.000630458 - 8 499 5.08953e-12 2.13598e-23 4.62167e-12 0.0406103 0.000326214 2425.43 -4.35334e-14 0.646 0.00109598 0.000549919 - 9 562 5.16829e-12 2.14152e-23 4.62765e-12 0.0377363 0.000291332 2808.93 -1.0866e-13 0.653641 0.000941192 0.000480309 - 10 624 5.18124e-12 2.14591e-23 4.63239e-12 0.0357628 0.000258743 3127.5 -1.18512e-13 0.6544 0.000844988 0.000431944 - 11 687 5.17908e-12 2.13659e-23 4.62233e-12 0.0340262 0.000239275 3454.87 -1.19679e-13 0.655523 0.000763807 0.000392296 - 12 749 5.17742e-12 2.13375e-23 4.61926e-12 0.0325783 0.00022047 3768.8 -1.13831e-13 0.658667 0.000690958 0.000368972 - 13 812 5.18358e-12 2.12092e-23 4.60534e-12 0.0311592 0.000212735 4119.89 -1.23029e-13 0.661747 0.000628724 0.000340981 - 14 874 5.13529e-12 2.13621e-23 4.62192e-12 0.0304266 0.000190414 4320.69 -7.65616e-14 0.651429 0.000611529 0.00031319 - 15 937 5.10108e-12 2.15153e-23 4.63846e-12 0.02969 0.000170897 4537.73 -4.15281e-14 0.646055 0.000584067 0.000296492 - 16 999 5.05669e-12 2.16333e-23 4.65116e-12 0.0290868 0.000156804 4727.91 2.0878e-15 0.638 0.000567398 0.000277796 + 1 62 5.19299e-12 2.1284e-23 4.61346e-12 0.111928 0.00320878 347.051 -2.2379e-14 0.666667 0.00793651 0.00439255 + 2 124 5.36134e-12 2.12529e-23 4.61009e-12 0.0769096 0.001509 735.041 -2.4295e-13 0.656 0.00419512 0.00167264 + 3 187 5.1933e-12 2.16596e-23 4.65399e-12 0.0653586 0.000877776 1017.81 -8.33545e-14 0.632979 0.00308421 0.00116482 + 4 249 4.95489e-12 2.15601e-23 4.64329e-12 0.0592682 0.000688672 1237.74 1.1844e-13 0.612 0.00253595 0.000962715 + 5 312 4.91856e-12 2.14292e-23 4.62917e-12 0.0531977 0.000567319 1536.34 1.6347e-13 0.616613 0.00198646 0.000834496 + 6 374 4.90622e-12 2.0871e-23 4.56847e-12 0.0480849 0.000528341 1880.42 1.48974e-13 0.624 0.00160684 0.000699154 + 7 437 4.77642e-12 2.08916e-23 4.57073e-12 0.0457243 0.000449474 2079.59 2.55796e-13 0.609589 0.00146221 0.000623722 + 8 499 4.77164e-12 2.09932e-23 4.58183e-12 0.0429424 0.000382828 2357.76 2.67344e-13 0.612 0.00126797 0.00057239 + 9 562 4.71852e-12 2.09737e-23 4.5797e-12 0.0409051 0.000346315 2598.47 3.11738e-13 0.605684 0.00115635 0.0005139 + 10 624 4.70478e-12 2.10471e-23 4.58771e-12 0.0390047 0.00030795 2857.84 3.22915e-13 0.6016 0.00105957 0.00045936 + 11 687 4.72405e-12 2.09644e-23 4.5787e-12 0.0369516 0.000283309 3184.24 3.08893e-13 0.607558 0.000938856 0.000424579 + 12 749 4.72705e-12 2.11366e-23 4.59746e-12 0.0355138 0.000252487 3447.29 3.11107e-13 0.602667 0.000879056 0.000380491 + 13 812 4.76222e-12 2.10716e-23 4.59039e-12 0.0338061 0.000231611 3804.37 2.76281e-13 0.608856 0.00079019 0.000351255 + 14 874 4.76977e-12 2.10183e-23 4.58457e-12 0.0324935 0.000216617 4117.92 2.72184e-13 0.612571 0.000722814 0.000331808 + 15 937 4.70589e-12 2.09145e-23 4.57323e-12 0.0317308 0.000213362 4318.29 3.35765e-13 0.610874 0.000679103 0.000326665 + 16 999 4.70767e-12 2.09414e-23 4.57618e-12 0.0307395 0.000199175 4601.27 3.36726e-13 0.612 0.000633987 0.000309986 --------------------End of Global Run----------------------- The run consists of 1000 proton of 210 MeV - Cumulated dose per run, in scoring volume : 5.05669 nanoGy rms = 147.009 picoGy + Cumulated dose per run, in scoring volume : 4.70767 nanoGy rms = 144.639 picoGy ------------------------------------------------------------ Graphics systems deleted. diff --git a/examples/extended/analysis/B1Con/exampleB1Con.cc b/examples/extended/analysis/B1Con/exampleB1Con.cc index 4d3df2112c6..acc64b9699d 100644 --- a/examples/extended/analysis/B1Con/exampleB1Con.cc +++ b/examples/extended/analysis/B1Con/exampleB1Con.cc @@ -27,42 +27,39 @@ /// \file exampleB1.cc /// \brief Main program of the B1 example -#include "DetectorConstruction.hh" #include "ActionInitialization.hh" +#include "DetectorConstruction.hh" +#include "QBBC.hh" #include "G4RunManagerFactory.hh" #include "G4SteppingVerbose.hh" +#include "G4UIExecutive.hh" #include "G4UImanager.hh" -#include "QBBC.hh" - #include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" - #include "Randomize.hh" using namespace B1; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Instantiate G4UIExecutive if there are no arguments (interactive mode) G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { + if (argc == 1) { ui = new G4UIExecutive(argc, argv); } // Optionally: choose a different Random engine... // G4Random::setTheEngine(new CLHEP::MTwistEngine); - //use G4SteppingVerboseWithUnits + // use G4SteppingVerboseWithUnits G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); // Construct the default run manager // - auto* runManager = - G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); + auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); runManager->SetNumberOfThreads(8); // Set mandatory initialization classes @@ -91,7 +88,7 @@ int main(int argc,char** argv) // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode : define UI session diff --git a/examples/extended/analysis/B1Con/include/ActionInitialization.hh b/examples/extended/analysis/B1Con/include/ActionInitialization.hh index 0db1b995b9a..a9067d92807 100644 --- a/examples/extended/analysis/B1Con/include/ActionInitialization.hh +++ b/examples/extended/analysis/B1Con/include/ActionInitialization.hh @@ -47,7 +47,7 @@ class ActionInitialization : public G4VUserActionInitialization void Build() const override; }; -} +} // namespace B1Con //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/B1Con/include/DetectorConstruction.hh b/examples/extended/analysis/B1Con/include/DetectorConstruction.hh index 75d435188a9..1c718eea9d3 100644 --- a/examples/extended/analysis/B1Con/include/DetectorConstruction.hh +++ b/examples/extended/analysis/B1Con/include/DetectorConstruction.hh @@ -55,7 +55,7 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4LogicalVolume* fScoringVolume = nullptr; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/B1Con/include/EventAction.hh b/examples/extended/analysis/B1Con/include/EventAction.hh index 54ab74277b3..a4f90424537 100644 --- a/examples/extended/analysis/B1Con/include/EventAction.hh +++ b/examples/extended/analysis/B1Con/include/EventAction.hh @@ -56,13 +56,11 @@ class EventAction : public G4UserEventAction private: B1Con::RunAction* fRunAction = nullptr; - G4double fEdep = 0.; + G4double fEdep = 0.; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/analysis/B1Con/include/PrimaryGeneratorAction.hh b/examples/extended/analysis/B1Con/include/PrimaryGeneratorAction.hh index 5d3c56bc41b..4b315c868fb 100644 --- a/examples/extended/analysis/B1Con/include/PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/B1Con/include/PrimaryGeneratorAction.hh @@ -30,8 +30,8 @@ #ifndef B1PrimaryGeneratorAction_h #define B1PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4ParticleGun; @@ -59,11 +59,11 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction const G4ParticleGun* GetParticleGun() const { return fParticleGun; } private: - G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 gun class + G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 gun class G4Box* fEnvelopeBox = nullptr; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/B1Con/include/RunAction.hh b/examples/extended/analysis/B1Con/include/RunAction.hh index 1662a1b29f5..2443a616c54 100644 --- a/examples/extended/analysis/B1Con/include/RunAction.hh +++ b/examples/extended/analysis/B1Con/include/RunAction.hh @@ -32,15 +32,14 @@ #include "VectorAccummulable.hh" +#include "G4Accumulable.hh" #include "G4ConvergenceTester.hh" #include "G4UserRunAction.hh" -#include "G4Accumulable.hh" #include "globals.hh" class G4ConvergenceTester; class G4Run; - namespace B1Con { @@ -56,19 +55,18 @@ class RunAction : public G4UserRunAction RunAction(); ~RunAction() override = default; - void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void BeginOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - void AddEdep (G4double edep); + void AddEdep(G4double edep); private: G4Accumulable fEdep = 0.; G4Accumulable fEdep2 = 0.; - VectorAccumulable fEdepPerEvent; + VectorAccumulable fEdepPerEvent; G4ConvergenceTester* fDoseTally = nullptr; }; -} +} // namespace B1Con #endif - diff --git a/examples/extended/analysis/B1Con/include/SteppingAction.hh b/examples/extended/analysis/B1Con/include/SteppingAction.hh index 8cbfdbb07a1..8d7cdeb79c6 100644 --- a/examples/extended/analysis/B1Con/include/SteppingAction.hh +++ b/examples/extended/analysis/B1Con/include/SteppingAction.hh @@ -56,7 +56,7 @@ class SteppingAction : public G4UserSteppingAction G4LogicalVolume* fScoringVolume = nullptr; }; -} +} // namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/B1Con/include/VectorAccummulable.hh b/examples/extended/analysis/B1Con/include/VectorAccummulable.hh index 1056a434312..d30b8f58a2c 100644 --- a/examples/extended/analysis/B1Con/include/VectorAccummulable.hh +++ b/examples/extended/analysis/B1Con/include/VectorAccummulable.hh @@ -35,9 +35,10 @@ #include "G4VAccumulable.hh" #include "globals.hh" + #include -template +template class VectorAccumulable : public G4VAccumulable { public: @@ -56,26 +57,29 @@ class VectorAccumulable : public G4VAccumulable // inline functions -template -inline void VectorAccumulable::AddValue(T value) { - fTVector.push_back(value); +template +inline void VectorAccumulable::AddValue(T value) +{ + fTVector.push_back(value); } -template +template inline const std::vector& VectorAccumulable::GetVector() const { return fTVector; } -template -inline void VectorAccumulable::Merge(const G4VAccumulable& other) { - for (const auto& value : static_cast&>(other).fTVector ) { +template +inline void VectorAccumulable::Merge(const G4VAccumulable& other) +{ + for (const auto& value : static_cast&>(other).fTVector) { fTVector.push_back(value); } } -template -inline void VectorAccumulable::Reset() { +template +inline void VectorAccumulable::Reset() +{ fTVector.clear(); } diff --git a/examples/extended/analysis/B1Con/src/ActionInitialization.cc b/examples/extended/analysis/B1Con/src/ActionInitialization.cc index d985269e954..9dbc15bd3d3 100644 --- a/examples/extended/analysis/B1Con/src/ActionInitialization.cc +++ b/examples/extended/analysis/B1Con/src/ActionInitialization.cc @@ -28,9 +28,10 @@ /// \brief Implementation of the B1::ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" namespace B1Con @@ -61,4 +62,4 @@ void ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1Con diff --git a/examples/extended/analysis/B1Con/src/DetectorConstruction.cc b/examples/extended/analysis/B1Con/src/DetectorConstruction.cc index d58b1caf53f..0ab893ea0d9 100644 --- a/examples/extended/analysis/B1Con/src/DetectorConstruction.cc +++ b/examples/extended/analysis/B1Con/src/DetectorConstruction.cc @@ -29,16 +29,16 @@ #include "DetectorConstruction.hh" -#include "G4RunManager.hh" -#include "G4NistManager.hh" #include "G4Box.hh" #include "G4Cons.hh" -#include "G4Orb.hh" -#include "G4Sphere.hh" -#include "G4Trd.hh" #include "G4LogicalVolume.hh" +#include "G4NistManager.hh" +#include "G4Orb.hh" #include "G4PVPlacement.hh" +#include "G4RunManager.hh" +#include "G4Sphere.hh" #include "G4SystemOfUnits.hh" +#include "G4Trd.hh" namespace B1 { @@ -52,7 +52,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // Envelope parameters // - G4double env_sizeXY = 20*cm, env_sizeZ = 30*cm; + G4double env_sizeXY = 20 * cm, env_sizeZ = 30 * cm; G4Material* env_mat = nist->FindOrBuildMaterial("G4_WATER"); // Option to switch on/off checking of volumes overlaps @@ -62,109 +62,111 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // // World // - G4double world_sizeXY = 1.2*env_sizeXY; - G4double world_sizeZ = 1.2*env_sizeZ; + G4double world_sizeXY = 1.2 * env_sizeXY; + G4double world_sizeZ = 1.2 * env_sizeZ; G4Material* world_mat = nist->FindOrBuildMaterial("G4_AIR"); - auto solidWorld = new G4Box("World", // its name - 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size + auto solidWorld = + new G4Box("World", // its name + 0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size auto logicWorld = new G4LogicalVolume(solidWorld, // its solid - world_mat, // its material - "World"); // its name + world_mat, // its material + "World"); // its name auto physWorld = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicWorld, // its logical volume - "World", // its name - nullptr, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + G4ThreeVector(), // at (0,0,0) + logicWorld, // its logical volume + "World", // its name + nullptr, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // // Envelope // - auto solidEnv = new G4Box("Envelope", // its name - 0.5 * env_sizeXY, 0.5 * env_sizeXY, 0.5 * env_sizeZ); // its size + auto solidEnv = new G4Box("Envelope", // its name + 0.5 * env_sizeXY, 0.5 * env_sizeXY, 0.5 * env_sizeZ); // its size auto logicEnv = new G4LogicalVolume(solidEnv, // its solid - env_mat, // its material - "Envelope"); // its name + env_mat, // its material + "Envelope"); // its name new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicEnv, // its logical volume - "Envelope", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + G4ThreeVector(), // at (0,0,0) + logicEnv, // its logical volume + "Envelope", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // // Shape 1 // G4Material* shape1_mat = nist->FindOrBuildMaterial("G4_A-150_TISSUE"); - G4ThreeVector pos1 = G4ThreeVector(0, 2*cm, -7*cm); + G4ThreeVector pos1 = G4ThreeVector(0, 2 * cm, -7 * cm); // Conical section shape - G4double shape1_rmina = 0.*cm, shape1_rmaxa = 2.*cm; - G4double shape1_rminb = 0.*cm, shape1_rmaxb = 4.*cm; - G4double shape1_hz = 3.*cm; - G4double shape1_phimin = 0.*deg, shape1_phimax = 360.*deg; + G4double shape1_rmina = 0. * cm, shape1_rmaxa = 2. * cm; + G4double shape1_rminb = 0. * cm, shape1_rmaxb = 4. * cm; + G4double shape1_hz = 3. * cm; + G4double shape1_phimin = 0. * deg, shape1_phimax = 360. * deg; auto solidShape1 = new G4Cons("Shape1", shape1_rmina, shape1_rmaxa, shape1_rminb, shape1_rmaxb, - shape1_hz, shape1_phimin, shape1_phimax); + shape1_hz, shape1_phimin, shape1_phimax); auto logicShape1 = new G4LogicalVolume(solidShape1, // its solid - shape1_mat, // its material - "Shape1"); // its name + shape1_mat, // its material + "Shape1"); // its name new G4PVPlacement(nullptr, // no rotation - pos1, // at position - logicShape1, // its logical volume - "Shape1", // its name - logicEnv, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + pos1, // at position + logicShape1, // its logical volume + "Shape1", // its name + logicEnv, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // // Shape 2 // G4Material* shape2_mat = nist->FindOrBuildMaterial("G4_BONE_COMPACT_ICRU"); - G4ThreeVector pos2 = G4ThreeVector(0, -1*cm, 7*cm); + G4ThreeVector pos2 = G4ThreeVector(0, -1 * cm, 7 * cm); // Trapezoid shape - G4double shape2_dxa = 12*cm, shape2_dxb = 12*cm; - G4double shape2_dya = 10*cm, shape2_dyb = 16*cm; - G4double shape2_dz = 6*cm; - auto solidShape2 = new G4Trd("Shape2", // its name - 0.5 * shape2_dxa, 0.5 * shape2_dxb, 0.5 * shape2_dya, 0.5 * shape2_dyb, - 0.5 * shape2_dz); // its size + G4double shape2_dxa = 12 * cm, shape2_dxb = 12 * cm; + G4double shape2_dya = 10 * cm, shape2_dyb = 16 * cm; + G4double shape2_dz = 6 * cm; + auto solidShape2 = + new G4Trd("Shape2", // its name + 0.5 * shape2_dxa, 0.5 * shape2_dxb, 0.5 * shape2_dya, 0.5 * shape2_dyb, + 0.5 * shape2_dz); // its size auto logicShape2 = new G4LogicalVolume(solidShape2, // its solid - shape2_mat, // its material - "Shape2"); // its name + shape2_mat, // its material + "Shape2"); // its name new G4PVPlacement(nullptr, // no rotation - pos2, // at position - logicShape2, // its logical volume - "Shape2", // its name - logicEnv, // its mother volume - false, // no boolean operation - 0, // copy number - checkOverlaps); // overlaps checking + pos2, // at position + logicShape2, // its logical volume + "Shape2", // its name + logicEnv, // its mother volume + false, // no boolean operation + 0, // copy number + checkOverlaps); // overlaps checking // Set Shape2 as scoring volume // fScoringVolume = logicShape2; // - //always return the physical World + // always return the physical World // return physWorld; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/extended/analysis/B1Con/src/EventAction.cc b/examples/extended/analysis/B1Con/src/EventAction.cc index 45e2831dab6..aeaabc9a165 100644 --- a/examples/extended/analysis/B1Con/src/EventAction.cc +++ b/examples/extended/analysis/B1Con/src/EventAction.cc @@ -28,6 +28,7 @@ /// \brief Implementation of the B1::EventAction class #include "EventAction.hh" + #include "RunAction.hh" #include "G4Event.hh" @@ -38,9 +39,7 @@ namespace B1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(B1Con::RunAction* runAction) -: fRunAction(runAction) -{} +EventAction::EventAction(B1Con::RunAction* runAction) : fRunAction(runAction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,4 +58,4 @@ void EventAction::EndOfEventAction(const G4Event*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/extended/analysis/B1Con/src/PrimaryGeneratorAction.cc b/examples/extended/analysis/B1Con/src/PrimaryGeneratorAction.cc index 61fbca77c28..b5c223e2b8c 100644 --- a/examples/extended/analysis/B1Con/src/PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/B1Con/src/PrimaryGeneratorAction.cc @@ -29,13 +29,13 @@ #include "PrimaryGeneratorAction.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4LogicalVolume.hh" #include "G4Box.hh" -#include "G4RunManager.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" +#include "G4RunManager.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" @@ -47,16 +47,15 @@ namespace B1 PrimaryGeneratorAction::PrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="gamma"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(6.*MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(6. * MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -70,7 +69,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of ecah event + // this function is called at the begining of ecah event // // In order to avoid dependence of PrimaryGeneratorAction @@ -80,38 +79,33 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) G4double envSizeXY = 0; G4double envSizeZ = 0; - if (!fEnvelopeBox) - { - G4LogicalVolume* envLV - = G4LogicalVolumeStore::GetInstance()->GetVolume("Envelope"); - if ( envLV ) fEnvelopeBox = dynamic_cast(envLV->GetSolid()); + if (!fEnvelopeBox) { + G4LogicalVolume* envLV = G4LogicalVolumeStore::GetInstance()->GetVolume("Envelope"); + if (envLV) fEnvelopeBox = dynamic_cast(envLV->GetSolid()); } - if ( fEnvelopeBox ) { - envSizeXY = fEnvelopeBox->GetXHalfLength()*2.; - envSizeZ = fEnvelopeBox->GetZHalfLength()*2.; + if (fEnvelopeBox) { + envSizeXY = fEnvelopeBox->GetXHalfLength() * 2.; + envSizeZ = fEnvelopeBox->GetZHalfLength() * 2.; } - else { + else { G4ExceptionDescription msg; msg << "Envelope volume of box shape not found.\n"; msg << "Perhaps you have changed geometry.\n"; msg << "The gun will be place at the center."; - G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", - "MyCode0002",JustWarning,msg); + G4Exception("PrimaryGeneratorAction::GeneratePrimaries()", "MyCode0002", JustWarning, msg); } G4double size = 0.8; - G4double x0 = size * envSizeXY * (G4UniformRand()-0.5); - G4double y0 = size * envSizeXY * (G4UniformRand()-0.5); + G4double x0 = size * envSizeXY * (G4UniformRand() - 0.5); + G4double y0 = size * envSizeXY * (G4UniformRand() - 0.5); G4double z0 = -0.5 * envSizeZ; - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - - +} // namespace B1 diff --git a/examples/extended/analysis/B1Con/src/RunAction.cc b/examples/extended/analysis/B1Con/src/RunAction.cc index a57d44a3b32..cd33f2e7196 100644 --- a/examples/extended/analysis/B1Con/src/RunAction.cc +++ b/examples/extended/analysis/B1Con/src/RunAction.cc @@ -28,16 +28,17 @@ /// \brief Implementation of the B1::RunAction class #include "RunAction.hh" -#include "PrimaryGeneratorAction.hh" + #include "DetectorConstruction.hh" +#include "PrimaryGeneratorAction.hh" -#include "G4RunManager.hh" -#include "G4Run.hh" #include "G4AccumulableManager.hh" -#include "G4LogicalVolumeStore.hh" #include "G4LogicalVolume.hh" -#include "G4UnitsTable.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Run.hh" +#include "G4RunManager.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" namespace B1Con { @@ -48,15 +49,15 @@ RunAction::RunAction() { // add new units for dose // - const G4double milligray = 1.e-3*gray; - const G4double microgray = 1.e-6*gray; - const G4double nanogray = 1.e-9*gray; - const G4double picogray = 1.e-12*gray; + const G4double milligray = 1.e-3 * gray; + const G4double microgray = 1.e-6 * gray; + const G4double nanogray = 1.e-9 * gray; + const G4double picogray = 1.e-12 * gray; - new G4UnitDefinition("milligray", "milliGy" , "Dose", milligray); - new G4UnitDefinition("microgray", "microGy" , "Dose", microgray); - new G4UnitDefinition("nanogray" , "nanoGy" , "Dose", nanogray); - new G4UnitDefinition("picogray" , "picoGy" , "Dose", picogray); + new G4UnitDefinition("milligray", "milliGy", "Dose", milligray); + new G4UnitDefinition("microgray", "microGy", "Dose", microgray); + new G4UnitDefinition("nanogray", "nanoGy", "Dose", nanogray); + new G4UnitDefinition("picogray", "picoGy", "Dose", picogray); // Register accumulable to the accumulable manager G4AccumulableManager* accumulableManager = G4AccumulableManager::Instance(); @@ -77,8 +78,8 @@ void RunAction::BeginOfRunAction(const G4Run*) accumulableManager->Reset(); if (IsMaster()) { - fDoseTally = new G4ConvergenceTester("DOSE_TALLY"); - //fDoseTally = new G4ConvergenceTester(); + fDoseTally = new G4ConvergenceTester("DOSE_TALLY"); + // fDoseTally = new G4ConvergenceTester(); } } @@ -95,17 +96,20 @@ void RunAction::EndOfRunAction(const G4Run* run) // Compute dose = total energy deposit in a run and its variance // - G4double edep = fEdep.GetValue(); + G4double edep = fEdep.GetValue(); G4double edep2 = fEdep2.GetValue(); - G4double rms = edep2 - edep*edep/nofEvents; - if (rms > 0.) rms = std::sqrt(rms); else rms = 0.; + G4double rms = edep2 - edep * edep / nofEvents; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; const auto detConstruction = static_cast( G4RunManager::GetRunManager()->GetUserDetectorConstruction()); G4double mass = detConstruction->GetScoringVolume()->GetMass(); - G4double dose = edep/mass; - G4double rmsDose = rms/mass; + G4double dose = edep / mass; + G4double rmsDose = rms / mass; // Run conditions // note: There is no primary generator action object for "master" @@ -113,59 +117,48 @@ void RunAction::EndOfRunAction(const G4Run* run) const auto generatorAction = static_cast( G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction()); G4String runCondition; - if (generatorAction) - { + if (generatorAction) { const G4ParticleGun* particleGun = generatorAction->GetParticleGun(); runCondition += particleGun->GetParticleDefinition()->GetParticleName(); runCondition += " of "; G4double particleEnergy = particleGun->GetParticleEnergy(); - runCondition += G4BestUnit(particleEnergy,"Energy"); + runCondition += G4BestUnit(particleEnergy, "Energy"); } // Print // if (IsMaster()) { - for (auto edepPerEvent : fEdepPerEvent.GetVector()) { - G4double dosePerEvent = edepPerEvent/mass/gray; - fDoseTally->AddScore(dosePerEvent); - } - - fDoseTally->ShowResult(); - fDoseTally->ShowHistory(); - delete fDoseTally; - fDoseTally = nullptr; - - G4cout - << G4endl - << "--------------------End of Global Run-----------------------"; + for (auto edepPerEvent : fEdepPerEvent.GetVector()) { + G4double dosePerEvent = edepPerEvent / mass / gray; + fDoseTally->AddScore(dosePerEvent); + } + + fDoseTally->ShowResult(); + fDoseTally->ShowHistory(); + delete fDoseTally; + fDoseTally = nullptr; + + G4cout << G4endl << "--------------------End of Global Run-----------------------"; } else { - G4cout - << G4endl - << "--------------------End of Local Run------------------------"; + G4cout << G4endl << "--------------------End of Local Run------------------------"; } - G4cout - << G4endl - << " The run consists of " << nofEvents << " "<< runCondition - << G4endl - << " Cumulated dose per run, in scoring volume : " - << G4BestUnit(dose,"Dose") << " rms = " << G4BestUnit(rmsDose,"Dose") - << G4endl - << "------------------------------------------------------------" - << G4endl - << G4endl; + G4cout << G4endl << " The run consists of " << nofEvents << " " << runCondition << G4endl + << " Cumulated dose per run, in scoring volume : " << G4BestUnit(dose, "Dose") + << " rms = " << G4BestUnit(rmsDose, "Dose") << G4endl + << "------------------------------------------------------------" << G4endl << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::AddEdep(G4double edep) { - fEdep += edep; - fEdep2 += edep*edep; + fEdep += edep; + fEdep2 += edep * edep; fEdepPerEvent.AddValue(edep); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1Con diff --git a/examples/extended/analysis/B1Con/src/SteppingAction.cc b/examples/extended/analysis/B1Con/src/SteppingAction.cc index ba72609f1f0..bfa665c7c3a 100644 --- a/examples/extended/analysis/B1Con/src/SteppingAction.cc +++ b/examples/extended/analysis/B1Con/src/SteppingAction.cc @@ -28,22 +28,21 @@ /// \brief Implementation of the B1::SteppingAction class #include "SteppingAction.hh" -#include "EventAction.hh" + #include "DetectorConstruction.hh" +#include "EventAction.hh" -#include "G4Step.hh" #include "G4Event.hh" -#include "G4RunManager.hh" #include "G4LogicalVolume.hh" +#include "G4RunManager.hh" +#include "G4Step.hh" namespace B1 { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(EventAction* eventAction) -: fEventAction(eventAction) -{} +SteppingAction::SteppingAction(EventAction* eventAction) : fEventAction(eventAction) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,9 +55,8 @@ void SteppingAction::UserSteppingAction(const G4Step* step) } // get volume of the current step - G4LogicalVolume* volume - = step->GetPreStepPoint()->GetTouchableHandle() - ->GetVolume()->GetLogicalVolume(); + G4LogicalVolume* volume = + step->GetPreStepPoint()->GetTouchableHandle()->GetVolume()->GetLogicalVolume(); // check if we are in scoring volume if (volume != fScoringVolume) return; @@ -70,4 +68,4 @@ void SteppingAction::UserSteppingAction(const G4Step* step) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace B1 diff --git a/examples/extended/biasing/B01/exampleB01.cc b/examples/extended/biasing/B01/exampleB01.cc index 378918bdbc9..908a45b004b 100644 --- a/examples/extended/biasing/B01/exampleB01.cc +++ b/examples/extended/biasing/B01/exampleB01.cc @@ -55,25 +55,22 @@ // -------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include - -#include - -#include "G4Types.hh" - +#include "G4GeometryManager.hh" #include "G4RunManagerFactory.hh" - -#include "G4VPhysicalVolume.hh" +#include "G4Types.hh" #include "G4UImanager.hh" -#include "G4GeometryManager.hh" +#include "G4VPhysicalVolume.hh" + +#include +#include // user classes +#include "B01ActionInitialization.hh" #include "B01DetectorConstruction.hh" #include "FTFP_BERT.hh" + #include "G4ImportanceBiasing.hh" #include "G4WeightWindowBiasing.hh" - -#include "B01ActionInitialization.hh" // #include "B01PrimaryGeneratorAction.hh" // #include "B01RunAction.hh" @@ -85,10 +82,10 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc, char **argv) +int main(int argc, char** argv) { G4int mode = 0; - if (argc>1) mode = atoi(argv[1]); + if (argc > 1) mode = atoi(argv[1]); G4int numberOfEvents = 100; G4long myseed = 345354; @@ -98,54 +95,49 @@ int main(int argc, char **argv) G4Random::setTheSeed(myseed); - G4VWeightWindowAlgorithm *wwAlg = 0; // pointer for WeightWindow (mode>0) + G4VWeightWindowAlgorithm* wwAlg = 0; // pointer for WeightWindow (mode>0) // create the detector --------------------------- B01DetectorConstruction* detector = new B01DetectorConstruction(); runManager->SetUserInitialization(detector); - G4GeometrySampler mgs(detector->GetWorldVolume(),"neutron"); + G4GeometrySampler mgs(detector->GetWorldVolume(), "neutron"); G4VModularPhysicsList* physicsList = new FTFP_BERT; - if(mode == 0) - { - physicsList->RegisterPhysics(new G4ImportanceBiasing(&mgs)); - } - else - { - wwAlg = new G4WeightWindowAlgorithm(1, // upper limit factor - 1, // survival factor - 100); // max. number of splitting - - physicsList->RegisterPhysics(new G4WeightWindowBiasing - (&mgs, wwAlg, onBoundary)); - // place of action - } + if (mode == 0) { + physicsList->RegisterPhysics(new G4ImportanceBiasing(&mgs)); + } + else { + wwAlg = new G4WeightWindowAlgorithm(1, // upper limit factor + 1, // survival factor + 100); // max. number of splitting + + physicsList->RegisterPhysics(new G4WeightWindowBiasing(&mgs, wwAlg, onBoundary)); + // place of action + } runManager->SetUserInitialization(physicsList); - // Set user action classes through Worker Initialization - // + // Set user action classes through Worker Initialization + // B01ActionInitialization* actions = new B01ActionInitialization; runManager->SetUserInitialization(actions); runManager->Initialize(); - if (mode == 0) - { - detector->CreateImportanceStore(); - } - else - { - detector->CreateWeightWindowStore(); - } + if (mode == 0) { + detector->CreateImportanceStore(); + } + else { + detector->CreateWeightWindowStore(); + } // runManager->BeamOn(numberOfEvents); - //temporary fix before runManager->BeamOn works... + // temporary fix before runManager->BeamOn works... G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4String command1 = "/control/cout/setCoutFile threadOut"; UImanager->ApplyCommand(command1); - G4String command2 = "/run/beamOn " + - G4UIcommand::ConvertToString(numberOfEvents);; + G4String command2 = "/run/beamOn " + G4UIcommand::ConvertToString(numberOfEvents); + ; UImanager->ApplyCommand(command2); // 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 4101d2f1f32..8f6727929cc 100644 --- a/examples/extended/biasing/B01/exampleB01.out +++ b/examples/extended/biasing/B01/exampleB01.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -246,7 +246,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -801,7 +801,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -826,24 +826,24 @@ Max 2J for sampling of angular correlations 10 ============================================================= ============================================================= Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v | - cell_00 | 38 | 131 | 38 | 38 | 0.127734 | 3.3177 | 1 | 7208.92 | 7208.92 | 6356.16 | 23917 | 811.897 | - cell_01 | 155 | 182 | 614 | 614 | 0.0210531 | 4.36408 | 1 | 25941.3 | 25941.3 | 148122 | 113210 | 3118.42 | - cell_02 | 166 | 271 | 1544 | 772 | 0.00766938 | 2.49197 | 0.5 | 50099.9 | 25049.9 | 252061 | 62423.7 | 1933.15 | - cell_03 | 204 | 329 | 1927 | 481.75 | 0.00734615 | 2.21468 | 0.25 | 62002 | 15500.5 | 155611 | 34328.6 | 1143.14 | - cell_04 | 255 | 401 | 2219 | 277.375 | 0.00404447 | 1.96357 | 0.125 | 68326.1 | 8540.76 | 134997 | 16770.3 | 545.99 | - cell_05 | 294 | 437 | 2710 | 169.375 | 0.00491922 | 1.76999 | 0.0625 | 83766.5 | 5235.41 | 65027.8 | 9266.61 | 319.886 | - cell_06 | 298 | 467 | 2571 | 80.3438 | 0.00383013 | 1.68586 | 0.03125 | 80907.8 | 2528.37 | 40894.2 | 4262.48 | 156.63 | - cell_07 | 280 | 431 | 2782 | 43.4688 | 0.00369089 | 1.36923 | 0.015625 | 82344.7 | 1286.64 | 18702.1 | 1761.7 | 69.0276 | - cell_08 | 289 | 441 | 2837 | 22.1641 | 0.00356832 | 1.25859 | 0.0078125 | 82266.5 | 642.707 | 9137.9 | 808.904 | 32.6069 | - cell_09 | 279 | 430 | 2748 | 10.7344 | 0.00256272 | 1.27376 | 0.00390625 | 80110.7 | 312.932 | 6259.92 | 398.601 | 16.0424 | - cell_10 | 274 | 409 | 2539 | 4.95898 | 0.00384701 | 1.32321 | 0.00195312 | 75706.6 | 147.864 | 2044.36 | 195.656 | 7.86469 | - cell_11 | 280 | 409 | 2704 | 2.64062 | 0.00374931 | 1.38624 | 0.000976562 | 80288.5 | 78.4068 | 1140.78 | 108.691 | 4.27712 | - cell_12 | 248 | 387 | 2587 | 1.26318 | 0.00262015 | 1.18621 | 0.000488281 | 73089.3 | 35.6881 | 656.374 | 42.3337 | 1.7198 | - cell_13 | 228 | 343 | 2078 | 0.507324 | 0.00308891 | 1.30833 | 0.000244141 | 62666.1 | 15.2993 | 264.72 | 20.0166 | 0.817695 | - cell_14 | 238 | 341 | 2383 | 0.290894 | 0.00310663 | 1.03811 | 0.00012207 | 68552.6 | 8.36824 | 121.564 | 8.68718 | 0.377655 | - cell_15 | 252 | 344 | 2505 | 0.152893 | 0.00228662 | 0.712841 | 6.10352e-05 | 68347.2 | 4.17158 | 66.4738 | 2.97367 | 0.152001 | - cell_16 | 192 | 294 | 2170 | 0.0662231 | 0.00179967 | 0.719758 | 3.05176e-05 | 57876.2 | 1.76624 | 32.9559 | 1.27127 | 0.0593098 | - cell_17 | 143 | 217 | 1423 | 0.0217133 | 0.00133862 | 0.657133 | 1.52588e-05 | 38452.2 | 0.586734 | 13.6664 | 0.385563 | 0.0182941 | - cell_18 | 72 | 137 | 844 | 0.00643921 | 0.00163629 | 0.67332 | 7.62939e-06 | 22786.8 | 0.173849 | 3.67902 | 0.117056 | 0.00601994 | - cell_19 | 30 | 30 | 30 | 0.000228882 | 0.0116028 | 0.701981 | 7.62939e-06 | 4524.62 | 0.0345201 | 0.11948 | 0.0242324 | 0.00138631 | + cell_00 | 37 | 129 | 37 | 37 | 0.0141346 | 2.50151 | 1 | 6319.8 | 6319.8 | 39047.3 | 15809 | 551.919 | + cell_01 | 143 | 169 | 494 | 494 | 0.0284315 | 4.65384 | 1 | 24724.4 | 24724.4 | 113620 | 115063 | 3230.37 | + cell_02 | 175 | 273 | 1284 | 642 | 0.0152999 | 2.96694 | 0.5 | 48728.8 | 24364.4 | 147533 | 72287.7 | 2257.25 | + cell_03 | 245 | 390 | 2277 | 569.25 | 0.00750143 | 2.12762 | 0.25 | 75105.4 | 18776.4 | 185373 | 39949 | 1390.56 | + cell_04 | 302 | 438 | 2519 | 314.875 | 0.0041225 | 1.6376 | 0.125 | 80385.9 | 10048.2 | 145806 | 16455 | 601.084 | + cell_05 | 326 | 467 | 2832 | 177 | 0.0036518 | 1.40627 | 0.0625 | 84488.1 | 5280.51 | 78543.5 | 7425.81 | 286.825 | + cell_06 | 335 | 485 | 3167 | 98.9688 | 0.00353905 | 1.5158 | 0.03125 | 93844.7 | 2932.65 | 46028.3 | 4445.3 | 162.897 | + cell_07 | 374 | 533 | 3379 | 52.7969 | 0.00409635 | 1.31248 | 0.015625 | 102335 | 1598.98 | 20363.8 | 2098.63 | 83.4172 | + cell_08 | 391 | 583 | 3759 | 29.3672 | 0.0034061 | 1.22557 | 0.0078125 | 108832 | 850.248 | 12654.7 | 1042.04 | 43.1032 | + cell_09 | 319 | 481 | 3047 | 11.9023 | 0.00274063 | 1.23986 | 0.00390625 | 87875.5 | 343.263 | 6205.24 | 425.6 | 17.0063 | + cell_10 | 291 | 425 | 2704 | 5.28125 | 0.00300906 | 1.23975 | 0.00195312 | 80305.1 | 156.846 | 2582.61 | 194.449 | 7.77122 | + cell_11 | 245 | 359 | 2335 | 2.28027 | 0.00329516 | 1.15499 | 0.000976562 | 68810.5 | 67.1978 | 961.111 | 77.6125 | 3.16702 | + cell_12 | 226 | 346 | 2012 | 0.982422 | 0.00307834 | 1.24728 | 0.000488281 | 61466.5 | 30.013 | 494.403 | 37.4344 | 1.52194 | + cell_13 | 204 | 297 | 1735 | 0.423584 | 0.00291361 | 1.08037 | 0.000244141 | 50828.1 | 12.4092 | 198.84 | 13.4065 | 0.579341 | + cell_14 | 173 | 252 | 1736 | 0.211914 | 0.00294957 | 0.817106 | 0.00012207 | 50721.3 | 6.19156 | 88.5095 | 5.05916 | 0.261065 | + cell_15 | 156 | 214 | 1675 | 0.102234 | 0.00183409 | 0.65141 | 6.10352e-05 | 45319.5 | 2.76608 | 52.9189 | 1.80185 | 0.097058 | + cell_16 | 139 | 198 | 1365 | 0.0416565 | 0.00168723 | 0.691558 | 3.05176e-05 | 35823.4 | 1.09324 | 22.6412 | 0.756041 | 0.038201 | + cell_17 | 111 | 158 | 1089 | 0.0166168 | 0.00208178 | 0.792333 | 1.52588e-05 | 30677.1 | 0.468096 | 8.91184 | 0.370888 | 0.0185525 | + cell_18 | 62 | 121 | 663 | 0.00505829 | 0.00367138 | 0.897193 | 7.62939e-06 | 20687.4 | 0.157832 | 1.95084 | 0.141606 | 0.00716227 | + cell_19 | 39 | 39 | 39 | 0.000297546 | 0.023012 | 1.60163 | 7.62939e-06 | 6364.5 | 0.0485573 | 0.148025 | 0.077771 | 0.00340635 | ============================================= diff --git a/examples/extended/biasing/B01/include/B01ActionInitialization.hh b/examples/extended/biasing/B01/include/B01ActionInitialization.hh index 8ff76635a29..50e2b997ac6 100644 --- a/examples/extended/biasing/B01/include/B01ActionInitialization.hh +++ b/examples/extended/biasing/B01/include/B01ActionInitialization.hh @@ -37,13 +37,12 @@ class B01ActionInitialization : public G4VUserActionInitialization { public: - B01ActionInitialization(); + B01ActionInitialization(); virtual ~B01ActionInitialization(); public: virtual void BuildForMaster() const; virtual void Build() const; - }; #endif diff --git a/examples/extended/biasing/B01/include/B01DetectorConstruction.hh b/examples/extended/biasing/B01/include/B01DetectorConstruction.hh index 339d9edc2a2..da271ac48e6 100644 --- a/examples/extended/biasing/B01/include/B01DetectorConstruction.hh +++ b/examples/extended/biasing/B01/include/B01DetectorConstruction.hh @@ -32,8 +32,9 @@ #ifndef B01DetectorConstruction_hh #define B01DetectorConstruction_hh B01DetectorConstruction_hh -#include "globals.hh" #include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + #include class G4VPhysicalVolume; class G4LogicalVolume; @@ -42,33 +43,32 @@ class G4VWeightWindowStore; class B01DetectorConstruction : public G4VUserDetectorConstruction { -public: - B01DetectorConstruction(); - ~B01DetectorConstruction(); - - virtual G4VPhysicalVolume* Construct(); + public: + B01DetectorConstruction(); + ~B01DetectorConstruction(); - G4VIStore* CreateImportanceStore(); + virtual G4VPhysicalVolume* Construct(); + + G4VIStore* CreateImportanceStore(); // create an importance store, caller is responsible for deleting it - G4VWeightWindowStore *CreateWeightWindowStore(); - // create an weight window store, caller is responsible for + G4VWeightWindowStore* CreateWeightWindowStore(); + // create an weight window store, caller is responsible for // deleting it - G4String GetCellName(G4int i); - - G4VPhysicalVolume* GetWorldVolume(); + G4String GetCellName(G4int i); - void SetSensitive(); + G4VPhysicalVolume* GetWorldVolume(); - virtual void ConstructSDandField(); + void SetSensitive(); -private: - std::vector< G4LogicalVolume * > fLogicalVolumeVector; - std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; + virtual void ConstructSDandField(); - G4VPhysicalVolume* fWorldVolume; + private: + std::vector fLogicalVolumeVector; + std::vector fPhysicalVolumeVector; + G4VPhysicalVolume* fWorldVolume; }; #endif diff --git a/examples/extended/biasing/B01/include/B01PrimaryGeneratorAction.hh b/examples/extended/biasing/B01/include/B01PrimaryGeneratorAction.hh index 3af70250e80..dd8b752dbd8 100644 --- a/examples/extended/biasing/B01/include/B01PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/B01/include/B01PrimaryGeneratorAction.hh @@ -29,7 +29,7 @@ // #ifndef B01PrimaryGeneratorAction_hh -#define B01PrimaryGeneratorAction_hh B01PrimaryGeneratorAction_hh +#define B01PrimaryGeneratorAction_hh B01PrimaryGeneratorAction_hh #include "G4VUserPrimaryGeneratorAction.hh" @@ -50,4 +50,3 @@ class B01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction }; #endif - diff --git a/examples/extended/biasing/B01/include/B01Run.hh b/examples/extended/biasing/B01/include/B01Run.hh index 58af6b81275..490b345756a 100644 --- a/examples/extended/biasing/B01/include/B01Run.hh +++ b/examples/extended/biasing/B01/include/B01Run.hh @@ -27,10 +27,10 @@ /// \brief Definition of the B01Run class // // -// +// //--------------------------------------------------------------------- -// (Purpose) -// Example implementation for multi-functional-detector and +// (Purpose) +// Example implementation for multi-functional-detector and // primitive scorer. // This B01Run class has collections which accumulate // a event information into a run information. @@ -40,46 +40,45 @@ #ifndef B01Run_h #define B01Run_h 1 -#include "G4Run.hh" #include "G4Event.hh" - +#include "G4Run.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(); +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*); + 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 fRunMap.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 fRunMap[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(); + // Access methods for scoring information. + // - Number of HitsMap for this RUN. + // This is equal to number of collections. + G4int GetNumberOfHitsMap() const { return fRunMap.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 fRunMap[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(); - virtual void Merge(const G4Run*); + virtual void Merge(const G4Run*); -private: - std::vector fCollName; - std::vector fCollID; - std::vector*> fRunMap; + private: + std::vector fCollName; + std::vector fCollID; + std::vector*> fRunMap; }; // diff --git a/examples/extended/biasing/B01/include/B01RunAction.hh b/examples/extended/biasing/B01/include/B01RunAction.hh index 4640dd1591a..0ac0dba6d56 100644 --- a/examples/extended/biasing/B01/include/B01RunAction.hh +++ b/examples/extended/biasing/B01/include/B01RunAction.hh @@ -27,49 +27,48 @@ /// \brief Definition of the B01RunAction class // // -// +// #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: + // constructor and destructor + B01RunAction(); + virtual ~B01RunAction(); -public: - void PrintHeader(std::ostream *out); - std::string FillString(const std::string &name, char c, G4int n - , G4bool back=true); + public: + // virtual method from G4UserRunAction. + virtual G4Run* GenerateRun(); + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); -private: - // Data member - // - vector of MultiFunctionalDetector names. - std::vector fSDName; - // G4int fFieldName; - G4int fFieldValue; + 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 MultiFunctionalDetector names. + std::vector fSDName; + // G4int fFieldName; + G4int fFieldValue; }; // diff --git a/examples/extended/biasing/B01/src/B01ActionInitialization.cc b/examples/extended/biasing/B01/src/B01ActionInitialization.cc index baed2966aaf..21b5af5eef5 100644 --- a/examples/extended/biasing/B01/src/B01ActionInitialization.cc +++ b/examples/extended/biasing/B01/src/B01ActionInitialization.cc @@ -30,18 +30,23 @@ // #include "B01ActionInitialization.hh" + #include "B01PrimaryGeneratorAction.hh" #include "B01RunAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B01ActionInitialization::B01ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B01ActionInitialization::~B01ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,11 +59,8 @@ void B01ActionInitialization::BuildForMaster() const void B01ActionInitialization::Build() const { - SetUserAction(new B01PrimaryGeneratorAction); SetUserAction(new B01RunAction); - } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B01/src/B01DetectorConstruction.cc b/examples/extended/biasing/B01/src/B01DetectorConstruction.cc index 8c65c8d33a5..b5234151254 100644 --- a/examples/extended/biasing/B01/src/B01DetectorConstruction.cc +++ b/examples/extended/biasing/B01/src/B01DetectorConstruction.cc @@ -29,32 +29,32 @@ // // -#include "G4Types.hh" -#include -#include -#include "globals.hh" - #include "B01DetectorConstruction.hh" -#include "G4Material.hh" #include "G4Box.hh" -#include "G4Tubs.hh" +#include "G4Colour.hh" #include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "G4Tubs.hh" +#include "G4Types.hh" +#include "G4VisAttributes.hh" +#include "globals.hh" + +#include +#include // For Primitive Scorers -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" -#include "G4SDParticleFilter.hh" #include "G4PSNofCollision.hh" #include "G4PSPopulation.hh" #include "G4PSTrackCounter.hh" #include "G4PSTrackLength.hh" +#include "G4SDManager.hh" +#include "G4SDParticleFilter.hh" // for importance biasing #include "G4IStore.hh" @@ -64,10 +64,11 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B01DetectorConstruction::B01DetectorConstruction() : - G4VUserDetectorConstruction(), - fLogicalVolumeVector(),fPhysicalVolumeVector() -{;} +B01DetectorConstruction::B01DetectorConstruction() + : G4VUserDetectorConstruction(), fLogicalVolumeVector(), fPhysicalVolumeVector() +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -83,7 +84,7 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() { G4double pos_x; G4double pos_y; - G4double pos_z; + G4double pos_z; G4double density, pressure, temperature; G4double A; @@ -93,55 +94,54 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() G4double z; G4double fractionmass; - A = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H" , Z= 1, A); + 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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); + 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 = 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; + 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); + 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 @@ -149,111 +149,83 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() // world solid - G4double innerRadiusCylinder = 0*cm; - G4double outerRadiusCylinder = 100*cm; - G4double heightCylinder = 100*cm; - G4double startAngleCylinder = 0*deg; - G4double spanningAngleCylinder = 360*deg; + G4double innerRadiusCylinder = 0 * cm; + G4double outerRadiusCylinder = 100 * cm; + G4double heightCylinder = 100 * cm; + G4double startAngleCylinder = 0 * deg; + G4double spanningAngleCylinder = 360 * deg; - G4Tubs *worldCylinder = new G4Tubs("worldCylinder", - innerRadiusCylinder, - outerRadiusCylinder, - heightCylinder, - startAngleCylinder, - spanningAngleCylinder); + G4Tubs* worldCylinder = new G4Tubs("worldCylinder", innerRadiusCylinder, outerRadiusCylinder, + heightCylinder, startAngleCylinder, spanningAngleCylinder); // logical world - G4LogicalVolume *worldCylinder_log = + G4LogicalVolume* worldCylinder_log = new G4LogicalVolume(worldCylinder, Galactic, "worldCylinder_log"); - fLogicalVolumeVector.push_back(worldCylinder_log); + fLogicalVolumeVector.push_back(worldCylinder_log); name = "shieldWorld"; - fWorldVolume = new - G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log, - name, 0, false, 0); + fWorldVolume = new G4PVPlacement(0, G4ThreeVector(0, 0, 0), worldCylinder_log, name, 0, false, 0); fPhysicalVolumeVector.push_back(fWorldVolume); // creating 18 slabs of 10 cm thick concrete - G4double innerRadiusShield = 0*cm; - G4double outerRadiusShield = 100*cm; - G4double heightShield = 5*cm; - G4double startAngleShield = 0*deg; - G4double spanningAngleShield = 360*deg; - - G4Tubs *aShield = new G4Tubs("aShield", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - + G4double innerRadiusShield = 0 * cm; + G4double outerRadiusShield = 100 * cm; + G4double heightShield = 5 * cm; + G4double startAngleShield = 0 * deg; + G4double spanningAngleShield = 360 * deg; + + G4Tubs* aShield = new G4Tubs("aShield", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + // logical shield - G4LogicalVolume *aShield_log = - new G4LogicalVolume(aShield, Concrete, "aShield_log"); + 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)); + G4VisAttributes* pShieldVis = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0)); pShieldVis->SetForceSolid(true); aShield_log->SetVisAttributes(pShieldVis); // physical shields G4int i; - G4double startz = -85*cm; - for (i=1; i<=18; i++) - { + G4double startz = -85 * cm; + for (i = 1; i <= 18; i++) { name = GetCellName(i); - pos_x = 0*cm; - pos_y = 0*cm; - pos_z = startz + (i-1) * (2*heightShield); - G4VPhysicalVolume *pvol = - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aShield_log, - name, - worldCylinder_log, - false, - i); + pos_x = 0 * cm; + pos_y = 0 * cm; + pos_z = startz + (i - 1) * (2 * heightShield); + G4VPhysicalVolume* pvol = new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), aShield_log, + name, worldCylinder_log, false, i); fPhysicalVolumeVector.push_back(pvol); } // filling the rest of the world volume behind the concrete with - // another slab which should get the same importance value + // another slab which should get the same importance value // or lower weight bound as the last slab // - innerRadiusShield = 0*cm; - outerRadiusShield = 100*cm; - heightShield = 5*cm; - startAngleShield = 0*deg; - spanningAngleShield = 360*deg; - - G4Tubs *aRest = new G4Tubs("Rest", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - - G4LogicalVolume *aRest_log = - new G4LogicalVolume(aRest, Galactic, "aRest_log"); + innerRadiusShield = 0 * cm; + outerRadiusShield = 100 * cm; + heightShield = 5 * cm; + startAngleShield = 0 * deg; + spanningAngleShield = 360 * deg; + + G4Tubs* aRest = new G4Tubs("Rest", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + + G4LogicalVolume* aRest_log = new G4LogicalVolume(aRest, Galactic, "aRest_log"); fLogicalVolumeVector.push_back(aRest_log); name = "rest"; - - pos_x = 0*cm; - pos_y = 0*cm; - pos_z = 95*cm; - G4VPhysicalVolume *pvol_rest = - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aRest_log, - name, - worldCylinder_log, - false, - 19); // i=19 + + pos_x = 0 * cm; + pos_y = 0 * cm; + pos_z = 95 * cm; + G4VPhysicalVolume* pvol_rest = new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), aRest_log, + name, worldCylinder_log, false, + 19); // i=19 fPhysicalVolumeVector.push_back(pvol_rest); @@ -266,86 +238,77 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() G4VIStore* B01DetectorConstruction::CreateImportanceStore() { G4cout << " B01DetectorConstruction:: Creating Importance Store " << G4endl; - if (!fPhysicalVolumeVector.size()) - { - G4Exception("B01DetectorConstruction::CreateImportanceStore" - ,"exampleB01_0001",RunMustBeAborted - ,"no physical volumes created yet!"); + if (!fPhysicalVolumeVector.size()) { + G4Exception("B01DetectorConstruction::CreateImportanceStore", "exampleB01_0001", + RunMustBeAborted, "no physical volumes created yet!"); } fWorldVolume = fPhysicalVolumeVector[0]; // creating and filling the importance store - - G4IStore *istore = G4IStore::GetInstance(); + + G4IStore* istore = G4IStore::GetInstance(); G4int n = 0; - G4double imp =1; - istore->AddImportanceGeometryCell(1, *fWorldVolume); - for (std::vector::iterator - it = fPhysicalVolumeVector.begin(); + G4double imp = 1; + istore->AddImportanceGeometryCell(1, *fWorldVolume); + for (std::vector::iterator it = fPhysicalVolumeVector.begin(); it != fPhysicalVolumeVector.end() - 1; it++) { - if (*it != fWorldVolume) - { + if (*it != fWorldVolume) { imp = std::pow(2., n++); - G4cout << "Going to assign importance: " << imp << ", to volume: " - << (*it)->GetName() << G4endl; - istore->AddImportanceGeometryCell(imp, *(*it),n); + G4cout << "Going to assign importance: " << imp << ", to volume: " << (*it)->GetName() + << G4endl; + istore->AddImportanceGeometryCell(imp, *(*it), n); } } // the remaining part pf the geometry (rest) gets the same // importance as the last conrete cell // - istore->AddImportanceGeometryCell(imp, - *(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1]),++n); - + istore->AddImportanceGeometryCell(imp, *(fPhysicalVolumeVector[fPhysicalVolumeVector.size() - 1]), + ++n); + return istore; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VWeightWindowStore *B01DetectorConstruction::CreateWeightWindowStore() +G4VWeightWindowStore* B01DetectorConstruction::CreateWeightWindowStore() { - if (!fPhysicalVolumeVector.size()) - { - G4Exception("B01DetectorConstruction::CreateWeightWindowStore" - ,"exampleB01_0002",RunMustBeAborted - ,"no physical volumes created yet!"); + if (!fPhysicalVolumeVector.size()) { + G4Exception("B01DetectorConstruction::CreateWeightWindowStore", "exampleB01_0002", + RunMustBeAborted, "no physical volumes created yet!"); } fWorldVolume = fPhysicalVolumeVector[0]; // creating and filling the weight window store - - G4WeightWindowStore *wwstore = G4WeightWindowStore::GetInstance(); - + + G4WeightWindowStore* wwstore = G4WeightWindowStore::GetInstance(); + // create one energy region covering the energies of the problem // - std::set > enBounds; + std::set> enBounds; enBounds.insert(1 * GeV); wwstore->SetGeneralUpperEnergyBounds(enBounds); G4int n = 0; - G4double lowerWeight =1; + G4double lowerWeight = 1; std::vector lowerWeights; lowerWeights.push_back(1); - G4GeometryCell gWorldCell(*fWorldVolume,0); + G4GeometryCell gWorldCell(*fWorldVolume, 0); wwstore->AddLowerWeights(gWorldCell, lowerWeights); - for (std::vector::iterator - it = fPhysicalVolumeVector.begin(); + for (std::vector::iterator it = fPhysicalVolumeVector.begin(); it != fPhysicalVolumeVector.end() - 1; it++) { - if (*it != fWorldVolume) - { - lowerWeight = 1./std::pow(2., n++); - G4cout << "Going to assign lower weight: " << lowerWeight - << ", to volume: " - << (*it)->GetName() << G4endl; - G4GeometryCell gCell(*(*it),n); + if (*it != fWorldVolume) { + lowerWeight = 1. / std::pow(2., n++); + G4cout << "Going to assign lower weight: " << lowerWeight + << ", to volume: " << (*it)->GetName() << G4endl; + G4GeometryCell gCell(*(*it), n); lowerWeights.clear(); lowerWeights.push_back(lowerWeight); wwstore->AddLowerWeights(gCell, lowerWeights); @@ -355,9 +318,8 @@ G4VWeightWindowStore *B01DetectorConstruction::CreateWeightWindowStore() // the remaining part pf the geometry (rest) gets the same // lower weight bound as the last conrete cell // - G4GeometryCell - gRestCell(*(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1]), ++n); - wwstore->AddLowerWeights(gRestCell, lowerWeights); + G4GeometryCell gRestCell(*(fPhysicalVolumeVector[fPhysicalVolumeVector.size() - 1]), ++n); + wwstore->AddLowerWeights(gRestCell, lowerWeights); return wwstore; } @@ -368,23 +330,23 @@ G4String B01DetectorConstruction::GetCellName(G4int i) { std::ostringstream os; os << "cell_"; - if (i<10) - { + if (i < 10) { os << "0"; } - os << i ; + os << i; G4String name = os.str(); return name; } -G4VPhysicalVolume *B01DetectorConstruction::GetWorldVolume() { - return fWorldVolume; +G4VPhysicalVolume* B01DetectorConstruction::GetWorldVolume() +{ + return fWorldVolume; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void B01DetectorConstruction::SetSensitive(){ - +void B01DetectorConstruction::SetSensitive() +{ // ------------------------------------------------- // The collection names of defined Primitives are // 0 ConcreteSD/Collisions @@ -399,14 +361,12 @@ void B01DetectorConstruction::SetSensitive(){ // ------------------------------------------------- // moved to ConstructSDandField() for MT compliance - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void B01DetectorConstruction::ConstructSDandField() { - // Sensitive Detector Manager. G4SDManager* SDman = G4SDManager::GetSDMpointer(); // Sensitive Detector Name @@ -417,61 +377,58 @@ void B01DetectorConstruction::ConstructSDandField() //------------------------ // // Define MultiFunctionalDetector with name. - G4MultiFunctionalDetector* MFDet = - new G4MultiFunctionalDetector(concreteSDname); - SDman->AddNewDetector( MFDet ); // Register SD to SDManager + G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(concreteSDname); + SDman->AddNewDetector(MFDet); // Register SD to SDManager - G4String fltName,particleName; - G4SDParticleFilter* neutronFilter = - new G4SDParticleFilter(fltName="neutronFilter", particleName="neutron"); + 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++){ + for (std::vector::iterator it = fLogicalVolumeVector.begin(); + it != fLogicalVolumeVector.end(); it++) + { // (*it)->SetSensitiveDetector(MFDet); - SetSensitiveDetector((*it)->GetName(), MFDet); + SetSensitiveDetector((*it)->GetName(), MFDet); } G4String psName; - G4PSNofCollision* scorer0 = new G4PSNofCollision(psName="Collisions"); + G4PSNofCollision* scorer0 = new G4PSNofCollision(psName = "Collisions"); MFDet->RegisterPrimitive(scorer0); - G4PSNofCollision* scorer1 = new G4PSNofCollision(psName="CollWeight"); + G4PSNofCollision* scorer1 = new G4PSNofCollision(psName = "CollWeight"); scorer1->Weighted(true); MFDet->RegisterPrimitive(scorer1); - G4PSPopulation* scorer2 = new G4PSPopulation(psName="Population"); + G4PSPopulation* scorer2 = new G4PSPopulation(psName = "Population"); MFDet->RegisterPrimitive(scorer2); - G4PSTrackCounter* scorer3 = new G4PSTrackCounter(psName="TrackEnter" - ,fCurrent_In); + G4PSTrackCounter* scorer3 = new G4PSTrackCounter(psName = "TrackEnter", fCurrent_In); MFDet->RegisterPrimitive(scorer3); - G4PSTrackLength* scorer4 = new G4PSTrackLength(psName="SL"); + G4PSTrackLength* scorer4 = new G4PSTrackLength(psName = "SL"); MFDet->RegisterPrimitive(scorer4); - G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW"); + G4PSTrackLength* scorer5 = new G4PSTrackLength(psName = "SLW"); scorer5->Weighted(true); MFDet->RegisterPrimitive(scorer5); - G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE"); + G4PSTrackLength* scorer6 = new G4PSTrackLength(psName = "SLWE"); scorer6->Weighted(true); scorer6->MultiplyKineticEnergy(true); MFDet->RegisterPrimitive(scorer6); - G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V"); + G4PSTrackLength* scorer7 = new G4PSTrackLength(psName = "SLW_V"); scorer7->Weighted(true); scorer7->DivideByVelocity(true); MFDet->RegisterPrimitive(scorer7); - G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V"); + G4PSTrackLength* scorer8 = new G4PSTrackLength(psName = "SLWE_V"); scorer8->Weighted(true); scorer8->MultiplyKineticEnergy(true); scorer8->DivideByVelocity(true); MFDet->RegisterPrimitive(scorer8); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc b/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc index f257654f0e0..cbf2f4d3fb3 100644 --- a/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc @@ -29,26 +29,25 @@ // // -#include "globals.hh" - #include "B01PrimaryGeneratorAction.hh" #include "G4Event.hh" -#include "G4ParticleGun.hh" #include "G4Neutron.hh" -#include "G4ThreeVector.hh" +#include "G4ParticleGun.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B01PrimaryGeneratorAction::B01PrimaryGeneratorAction() : - G4VUserPrimaryGeneratorAction(), fParticleGun(0) +B01PrimaryGeneratorAction::B01PrimaryGeneratorAction() + : G4VUserPrimaryGeneratorAction(), fParticleGun(0) { G4int n_particle = 1; fParticleGun = new G4ParticleGun(n_particle); fParticleGun->SetParticleDefinition(G4Neutron::NeutronDefinition()); - fParticleGun->SetParticleEnergy(10.0*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.0, 0.0, -90.0005*cm)); + fParticleGun->SetParticleEnergy(10.0 * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0.0, 0.0, -90.0005 * cm)); fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.0, 0.0, 1.0)); } diff --git a/examples/extended/biasing/B01/src/B01Run.cc b/examples/extended/biasing/B01/src/B01Run.cc index 7decb896e2d..3a1b8fa50db 100644 --- a/examples/extended/biasing/B01/src/B01Run.cc +++ b/examples/extended/biasing/B01/src/B01Run.cc @@ -32,7 +32,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // // (Description) -// B01Run Class is for accumulating scored quantities which is +// B01Run Class is for accumulating scored quantities which is // scored using G4MutiFunctionalDetector and G4VPrimitiveScorer. // Accumulation is done using G4THitsMap object. // @@ -41,10 +41,10 @@ // 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 +// 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 fCollName; // Collection Name, @@ -57,16 +57,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "B01Run.hh" -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" +#include "G4SDManager.hh" #include "G4VPrimitiveScorer.hh" // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Constructor. +// Constructor. // (The vector of MultiFunctionalDetector name has to given.) -B01Run::B01Run(const std::vector mfdName): G4Run() +B01Run::B01Run(const std::vector mfdName) : G4Run() { G4SDManager* SDman = G4SDManager::GetSDMpointer(); //================================================= @@ -74,38 +74,36 @@ B01Run::B01Run(const std::vector mfdName): G4Run() // Get CollectionIDs for HitCollections. //================================================= G4int Nmfd = mfdName.size(); - for ( G4int idet = 0; idet < Nmfd ; idet++){ // Loop for all MFD. + 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. "<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 << "++ " << fullCollectionName << " id " << collectionID << G4endl; + // Store obtained HitsCollection information into data members. + // And, creates new G4THitsMap for accumulating quantities during RUN. + fCollName.push_back(fullCollectionName); + fCollID.push_back(collectionID); + fRunMap.push_back(new G4THitsMap(detName, collectionName)); + } + else { + G4cout << "** collection " << fullCollectionName << " not found. " << G4endl; } + } } } } @@ -118,8 +116,8 @@ B01Run::~B01Run() { //--- Clear HitsMap for RUN G4int Nmap = fRunMap.size(); - for ( G4int i = 0; i < Nmap; i++){ - if(fRunMap[i] ) fRunMap[i]->clear(); + for (G4int i = 0; i < Nmap; i++) { + if (fRunMap[i]) fRunMap[i]->clear(); } fCollName.clear(); fCollID.clear(); @@ -145,21 +143,20 @@ void B01Run::RecordEvent(const G4Event* aEvent) // Sum up HitsMap of this Event into HitsMap of this RUN //======================================================= G4int Ncol = fCollID.size(); - for ( G4int i = 0; i < Ncol ; i++ ){ // Loop over HitsCollection - G4THitsMap* EvtMap=0; - if ( fCollID[i] >= 0 ){ // Collection is attached to HCE + for (G4int i = 0; i < Ncol; i++) { // Loop over HitsCollection + G4THitsMap* EvtMap = 0; + if (fCollID[i] >= 0) { // Collection is attached to HCE EvtMap = (G4THitsMap*)(HCE->GetHC(fCollID[i])); - }else{ - G4cout <<" Error EvtMap Not Found "<< i << G4endl; } - if ( EvtMap ) { + else { + G4cout << " Error EvtMap Not Found " << i << G4endl; + } + if (EvtMap) { //=== Sum up HitsMap of this event to HitsMap of RUN.=== *fRunMap[i] += *EvtMap; //====================================================== } } - - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -169,46 +166,45 @@ void B01Run::RecordEvent(const G4Event* aEvent) //----- // Access HitsMap. // By MultiFunctionalDetector name and Collection Name. -G4THitsMap* B01Run::GetHitsMap(const G4String& detName, - const G4String& colName){ - G4String fullName = detName+"/"+colName; - return GetHitsMap(fullName); +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 = fCollName.size(); - for ( G4int i = 0; i < Ncol; i++){ - if ( fCollName[i] == fullName ){ - return fRunMap[i]; - } +G4THitsMap* B01Run::GetHitsMap(const G4String& fullName) +{ + G4int Ncol = fCollName.size(); + for (G4int i = 0; i < Ncol; i++) { + if (fCollName[i] == fullName) { + return fRunMap[i]; } - return NULL; + } + return NULL; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // - Dump All HitsMap of this RUN. (for debuging and monitoring of quantity). // This method calls G4THisMap::PrintAll() for individual HitsMap. -void B01Run::DumpAllScorer(){ - +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; + 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; + std::map::iterator itr = RunMap->GetMap()->begin(); + for (; itr != RunMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first << " Run Value : " << *(itr->second) << G4endl; } } } @@ -218,19 +214,18 @@ void B01Run::DumpAllScorer(){ void B01Run::Merge(const G4Run* aRun) { - const B01Run * localRun = static_cast(aRun); + const B01Run* localRun = static_cast(aRun); //======================================================= // Merge HitsMap of working threads //======================================================= G4int nCol = localRun->fCollID.size(); - for ( G4int i = 0; i < nCol ; i++ ){ // Loop over HitsCollection - if ( localRun->fCollID[i] >= 0 ){ + for (G4int i = 0; i < nCol; i++) { // Loop over HitsCollection + if (localRun->fCollID[i] >= 0) { *fRunMap[i] += *localRun->fRunMap[i]; } } - + G4Run::Merge(aRun); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/biasing/B01/src/B01RunAction.cc b/examples/extended/biasing/B01/src/B01RunAction.cc index 29e7c9f0bc2..cd0f087d5a3 100644 --- a/examples/extended/biasing/B01/src/B01RunAction.cc +++ b/examples/extended/biasing/B01/src/B01RunAction.cc @@ -27,30 +27,31 @@ /// \brief Implementation of the B01RunAction class // // -// +// #include "B01RunAction.hh" + #include "B01Run.hh" //-- In order to obtain detector information. -#include "G4RunManager.hh" #include "B01DetectorConstruction.hh" -#include "G4THitsMap.hh" +#include "G4RunManager.hh" +#include "G4THitsMap.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // // B01RunAction -// +// // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Constructor -B01RunAction::B01RunAction(): - G4UserRunAction(), - // fFieldName(15), - fFieldValue(14) +B01RunAction::B01RunAction() + : G4UserRunAction(), + // fFieldName(15), + fFieldValue(14) { // - Prepare data member for B01Run. // vector represents a list of MultiFunctionalDetector names. @@ -86,7 +87,7 @@ void B01RunAction::BeginOfRunAction(const G4Run* aRun) void B01RunAction::EndOfRunAction(const G4Run* aRun) { - G4cout << " ###### EndOfRunAction " <GetUserDetectorConstruction(); + + for (G4int i = 0; i < (G4int)fSDName.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) @@ -114,94 +114,73 @@ void B01RunAction::EndOfRunAction(const G4Run* aRun) // 7 ConcreteSD/SLW_V // 8 ConcreteSD/SLWE_V //--------------------------------------------- - G4THitsMap* Collisions = - b01Run->GetHitsMap(fSDName[i]+"/Collisions"); - G4THitsMap* CollWeight = - b01Run->GetHitsMap(fSDName[i]+"/CollWeight"); - G4THitsMap* Population = - b01Run->GetHitsMap(fSDName[i]+"/Population"); - G4THitsMap* TrackEnter = - b01Run->GetHitsMap(fSDName[i]+"/TrackEnter"); - G4THitsMap* SL = b01Run->GetHitsMap(fSDName[i]+"/SL"); - G4THitsMap* SLW = b01Run->GetHitsMap(fSDName[i]+"/SLW"); - G4THitsMap* SLWE = b01Run->GetHitsMap(fSDName[i]+"/SLWE"); - G4THitsMap* SLW_V = b01Run->GetHitsMap(fSDName[i]+"/SLW_V"); - G4THitsMap* SLWE_V = b01Run->GetHitsMap(fSDName[i]+"/SLWE_V"); + G4THitsMap* Collisions = b01Run->GetHitsMap(fSDName[i] + "/Collisions"); + G4THitsMap* CollWeight = b01Run->GetHitsMap(fSDName[i] + "/CollWeight"); + G4THitsMap* Population = b01Run->GetHitsMap(fSDName[i] + "/Population"); + G4THitsMap* TrackEnter = b01Run->GetHitsMap(fSDName[i] + "/TrackEnter"); + G4THitsMap* SL = b01Run->GetHitsMap(fSDName[i] + "/SL"); + G4THitsMap* SLW = b01Run->GetHitsMap(fSDName[i] + "/SLW"); + G4THitsMap* SLWE = b01Run->GetHitsMap(fSDName[i] + "/SLWE"); + G4THitsMap* SLW_V = b01Run->GetHitsMap(fSDName[i] + "/SLW_V"); + G4THitsMap* SLWE_V = b01Run->GetHitsMap(fSDName[i] + "/SLWE_V"); + + if (IsMaster()) { + G4cout << "\n--------------------End of Global Run-----------------------" << G4endl; + G4cout << " Number of event processed : " << aRun->GetNumberOfEvent() << G4endl; + } + else { + G4cout << "\n--------------------End of Local Run------------------------" << G4endl; + G4cout << " Number of event processed : " << aRun->GetNumberOfEvent() << G4endl; + } - if (IsMaster()) - { - G4cout << - "\n--------------------End of Global Run-----------------------" << - G4endl; - G4cout << - " Number of event processed : "<< aRun->GetNumberOfEvent() << G4endl; - } - else - { - G4cout << - "\n--------------------End of Local Run------------------------" << - G4endl; - G4cout << - " Number of event processed : "<< aRun->GetNumberOfEvent() << G4endl; - } - - G4cout << "=============================================================" - <GetCellName(iz); - G4cout - << std::setw(fFieldValue) << cname << " |" - << std::setw(fFieldValue) << (*TrackEnters) << " |" - << std::setw(fFieldValue) << (*Populations) << " |" - << std::setw(fFieldValue) << (*SumCollisions) << " |" - << std::setw(fFieldValue) << (*SumCollWeight) << " |" - << std::setw(fFieldValue) << NumWeightedEnergy << " |" - << std::setw(fFieldValue) << FluxWeightedEnergy << " |" - << std::setw(fFieldValue) << AverageTrackWeight << " |" - << std::setw(fFieldValue) << (*SLs) << " |" - << std::setw(fFieldValue) << (*SLWs) << " |" - << std::setw(fFieldValue) << (*SLW_Vs) << " |" - << std::setw(fFieldValue) << (*SLWEs) << " |" - << std::setw(fFieldValue) << (*SLWE_Vs) << " |" - << G4endl; + G4cout << std::setw(fFieldValue) << cname << " |" << std::setw(fFieldValue) << (*TrackEnters) + << " |" << std::setw(fFieldValue) << (*Populations) << " |" << std::setw(fFieldValue) + << (*SumCollisions) << " |" << std::setw(fFieldValue) << (*SumCollWeight) << " |" + << std::setw(fFieldValue) << NumWeightedEnergy << " |" << std::setw(fFieldValue) + << FluxWeightedEnergy << " |" << std::setw(fFieldValue) << AverageTrackWeight << " |" + << std::setw(fFieldValue) << (*SLs) << " |" << std::setw(fFieldValue) << (*SLWs) + << " |" << std::setw(fFieldValue) << (*SLW_Vs) << " |" << std::setw(fFieldValue) + << (*SLWEs) << " |" << std::setw(fFieldValue) << (*SLWE_Vs) << " |" << G4endl; } - G4cout << "============================================="< vecScoreName; vecScoreName.push_back("Tr.Entering"); @@ -218,36 +197,35 @@ void B01RunAction::PrintHeader(std::ostream *out) vecScoreName.push_back("SLWE_v"); // head line -// std::string vname; -// vname = FillString("Volume", ' ', fFieldName+1); + // std::string vname; + // vname = FillString("Volume", ' ', fFieldName+1); //*out << vname << '|'; - *out << std::setw(fFieldValue) << "Volume" << " |"; - for (std::vector::iterator it = vecScoreName.begin(); - it != vecScoreName.end(); it++) { -// vname = FillString((*it), -// ' ', -// fFieldValue+1, -// false); -// *out << vname << '|'; - *out << std::setw(fFieldValue) << (*it) << " |"; + *out << std::setw(fFieldValue) << "Volume" + << " |"; + for (std::vector::iterator it = vecScoreName.begin(); it != vecScoreName.end(); it++) { + // vname = FillString((*it), + // ' ', + // fFieldValue+1, + // false); + // *out << vname << '|'; + *out << std::setw(fFieldValue) << (*it) << " |"; } - *out << G4endl; + *out << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -std::string B01RunAction::FillString(const std::string &name, - char c, G4int n, G4bool back) +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); + fname += std::string(k, c); } else { - fname = std::string(k,c); + fname = std::string(k, c); fname += name; } } diff --git a/examples/extended/biasing/B02/exampleB02.cc b/examples/extended/biasing/B02/exampleB02.cc index 30d1afc09c2..f8762f7f49a 100644 --- a/examples/extended/biasing/B02/exampleB02.cc +++ b/examples/extended/biasing/B02/exampleB02.cc @@ -47,26 +47,23 @@ // -------------------------------------------------------------- -#include - -#include - -#include "G4Types.hh" - +#include "G4GeometryManager.hh" #include "G4RunManagerFactory.hh" - -#include "G4VPhysicalVolume.hh" +#include "G4Types.hh" #include "G4UImanager.hh" -#include "G4GeometryManager.hh" +#include "G4VPhysicalVolume.hh" + +#include +#include // user classes +#include "B02ActionInitialization.hh" #include "B02DetectorConstruction.hh" #include "B02ImportanceDetectorConstruction.hh" #include "FTFP_BERT.hh" + #include "G4ImportanceBiasing.hh" #include "G4ParallelWorldPhysics.hh" - -#include "B02ActionInitialization.hh" // #include "B02PrimaryGeneratorAction.hh" // #include "B02RunAction.hh" @@ -78,13 +75,12 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc, char **argv) +int main(int argc, char** argv) { G4int mode = 0; - if (argc>1) mode = atoi(argv[1]); - if(mode != 0) { - G4cout << " mode not used yet, refer to B01 to see WeightWindow technique " - << mode << G4endl; + if (argc > 1) mode = atoi(argv[1]); + if (mode != 0) { + G4cout << " mode not used yet, refer to B01 to see WeightWindow technique " << mode << G4endl; } G4int numberOfEvents = 100; @@ -100,22 +96,21 @@ int main(int argc, char **argv) runManager->SetUserInitialization(detector); G4String parallelName("ParallelBiasingWorld"); - B02ImportanceDetectorConstruction* pdet = - new B02ImportanceDetectorConstruction(parallelName); + B02ImportanceDetectorConstruction* pdet = new B02ImportanceDetectorConstruction(parallelName); detector->RegisterParallelWorld(pdet); - G4GeometrySampler pgs(pdet->GetWorldVolume(),"neutron"); + G4GeometrySampler pgs(pdet->GetWorldVolume(), "neutron"); pgs.SetParallel(true); G4VModularPhysicsList* physicsList = new FTFP_BERT; - physicsList->RegisterPhysics(new G4ImportanceBiasing(&pgs,parallelName)); + physicsList->RegisterPhysics(new G4ImportanceBiasing(&pgs, parallelName)); physicsList->RegisterPhysics(new G4ParallelWorldPhysics(parallelName)); runManager->SetUserInitialization(physicsList); - // Set user action classes through Worker Initialization - // + // Set user action classes through Worker Initialization + // B02ActionInitialization* actions = new B02ActionInitialization; runManager->SetUserInitialization(actions); @@ -123,12 +118,11 @@ int main(int argc, char **argv) pdet->CreateImportanceStore(); - //temporary fix before runManager->BeamOn works... + // temporary fix before runManager->BeamOn works... G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4String command1 = "/control/cout/setCoutFile threadOut"; UImanager->ApplyCommand(command1); - G4String command2 = "/run/beamOn " + - G4UIcommand::ConvertToString(numberOfEvents); + G4String command2 = "/run/beamOn " + G4UIcommand::ConvertToString(numberOfEvents); UImanager->ApplyCommand(command2); // open geometry for clean biasing stores clean-up diff --git a/examples/extended/biasing/B02/exampleB02.out b/examples/extended/biasing/B02/exampleB02.out index 6a08a549485..23b06fa114d 100644 --- a/examples/extended/biasing/B02/exampleB02.out +++ b/examples/extended/biasing/B02/exampleB02.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -273,7 +273,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -828,7 +828,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -853,24 +853,24 @@ Max 2J for sampling of angular correlations 10 ============================================================= ============================================================= Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v | - cell_00 | 46 | 138 | 0 | 0 | 0.0753216 | 2.63717 | 1 | 9079.87 | 9079.87 | 11859.1 | 23945.1 | 893.249 | - cell_01 | 155 | 182 | 588 | 588 | 0.0225928 | 4.15715 | 1 | 24717.2 | 24717.2 | 131903 | 102753 | 2980.06 | - cell_02 | 151 | 252 | 979 | 489.5 | 0.0103622 | 3.09781 | 0.5 | 40582.2 | 20291.1 | 191708 | 62858 | 1986.52 | - cell_03 | 219 | 366 | 1826 | 456.5 | 0.00811717 | 2.27814 | 0.25 | 64337.3 | 16084.3 | 152601 | 36642.3 | 1238.68 | - cell_04 | 316 | 465 | 2802 | 350.25 | 0.00576402 | 1.71551 | 0.125 | 89222.7 | 11152.8 | 121777 | 19132.8 | 701.925 | - cell_05 | 388 | 561 | 3404 | 212.75 | 0.0039408 | 1.48412 | 0.0625 | 102426 | 6401.6 | 91297.4 | 9500.76 | 359.784 | - cell_06 | 404 | 547 | 3732 | 116.625 | 0.00320585 | 1.23062 | 0.03125 | 109588 | 3424.63 | 51832.8 | 4214.42 | 166.168 | - cell_07 | 393 | 580 | 3700 | 57.8125 | 0.00309585 | 1.25071 | 0.015625 | 106356 | 1661.81 | 27064.7 | 2078.44 | 83.7882 | - cell_08 | 351 | 505 | 3365 | 26.2891 | 0.00299826 | 1.20118 | 0.0078125 | 99319.7 | 775.935 | 12825.3 | 932.037 | 38.4535 | - cell_09 | 313 | 477 | 3029 | 11.832 | 0.0025767 | 1.2116 | 0.00390625 | 89637.9 | 350.148 | 6606.23 | 424.241 | 17.0223 | - cell_10 | 261 | 402 | 2410 | 4.70703 | 0.00297818 | 1.30127 | 0.00195312 | 70860.8 | 138.4 | 2390.2 | 180.095 | 7.11843 | - cell_11 | 240 | 357 | 2146 | 2.0957 | 0.00251627 | 1.24978 | 0.000976562 | 64003.5 | 62.5034 | 1222.31 | 78.1152 | 3.07567 | - cell_12 | 201 | 284 | 1897 | 0.92627 | 0.0030549 | 1.06885 | 0.000488281 | 57041.2 | 27.8521 | 433.343 | 29.7696 | 1.32382 | - cell_13 | 155 | 233 | 1556 | 0.379883 | 0.00289978 | 1.15727 | 0.000244141 | 45804.7 | 11.1828 | 190.82 | 12.9415 | 0.553335 | - cell_14 | 132 | 209 | 1141 | 0.139282 | 0.00288871 | 1.11088 | 0.00012207 | 35938 | 4.38696 | 72.6168 | 4.8734 | 0.209769 | - cell_15 | 148 | 201 | 1198 | 0.0731201 | 0.00377927 | 1.26671 | 6.10352e-05 | 36156.5 | 2.20682 | 30.94 | 2.79539 | 0.116931 | - cell_16 | 163 | 218 | 1462 | 0.0446167 | 0.00284873 | 1.14204 | 3.05176e-05 | 43141.7 | 1.31658 | 22.0107 | 1.50359 | 0.0627025 | - cell_17 | 142 | 202 | 1264 | 0.0192871 | 0.0033324 | 0.98168 | 1.52588e-05 | 37896.8 | 0.57826 | 7.71457 | 0.567666 | 0.025708 | - cell_18 | 86 | 163 | 894 | 0.00682068 | 0.00375007 | 1.18866 | 7.62939e-06 | 28142.3 | 0.214709 | 3.01047 | 0.255217 | 0.0112895 | - cell_19 | 58 | 58 | 0 | 0 | 0.00965017 | 1.94993 | 7.62939e-06 | 8615.98 | 0.0657347 | 0.525426 | 0.128178 | 0.00507045 | + cell_00 | 42 | 131 | 0 | 0 | 0.184971 | 3.37607 | 1 | 8498.22 | 8498.22 | 4902.45 | 28690.6 | 906.81 | + cell_01 | 156 | 177 | 591 | 591 | 0.0253005 | 4.59154 | 1 | 26095.4 | 26095.4 | 128533 | 119818 | 3251.96 | + cell_02 | 151 | 270 | 1364 | 682 | 0.00824517 | 2.88448 | 0.5 | 46809.7 | 23404.8 | 248723 | 67510.8 | 2050.76 | + cell_03 | 213 | 339 | 1847 | 461.75 | 0.00784637 | 2.49261 | 0.25 | 60023.3 | 15005.8 | 152868 | 37403.7 | 1199.46 | + cell_04 | 292 | 439 | 2704 | 338 | 0.00395717 | 1.82087 | 0.125 | 85481.2 | 10685.1 | 170951 | 19456.3 | 676.482 | + cell_05 | 354 | 521 | 2902 | 181.375 | 0.00381489 | 1.74643 | 0.0625 | 90527.3 | 5657.96 | 92037.5 | 9881.21 | 351.113 | + cell_06 | 357 | 536 | 3259 | 101.844 | 0.0036991 | 1.51354 | 0.03125 | 101450 | 3170.31 | 49567.1 | 4798.39 | 183.354 | + cell_07 | 365 | 520 | 3235 | 50.5469 | 0.00397513 | 1.30445 | 0.015625 | 98869.1 | 1544.83 | 20778.6 | 2015.16 | 82.5977 | + cell_08 | 353 | 506 | 3520 | 27.5 | 0.00341526 | 1.16311 | 0.0078125 | 104366 | 815.361 | 11933.1 | 948.352 | 40.7546 | + cell_09 | 329 | 479 | 3030 | 11.8359 | 0.00321627 | 1.21251 | 0.00390625 | 89437.1 | 349.364 | 5523.33 | 423.608 | 17.7645 | + cell_10 | 342 | 473 | 3183 | 6.2168 | 0.0026826 | 1.0116 | 0.00195312 | 96625 | 188.721 | 3212.72 | 190.91 | 8.61842 | + cell_11 | 332 | 478 | 3205 | 3.12988 | 0.00238013 | 0.885205 | 0.000976562 | 90989 | 88.8565 | 1471.85 | 78.6562 | 3.50321 | + cell_12 | 277 | 397 | 2565 | 1.25244 | 0.00235102 | 0.832991 | 0.000488281 | 71004.1 | 34.67 | 564.603 | 28.8798 | 1.32739 | + cell_13 | 240 | 326 | 2169 | 0.529541 | 0.0021402 | 0.936454 | 0.000244141 | 62727.9 | 15.3144 | 290.008 | 14.3413 | 0.620674 | + cell_14 | 191 | 291 | 1962 | 0.239502 | 0.00265347 | 1.12766 | 0.00012207 | 55184.8 | 6.73643 | 119.225 | 7.59638 | 0.316361 | + cell_15 | 153 | 230 | 1472 | 0.0898438 | 0.00326666 | 1.15395 | 6.10352e-05 | 43572.5 | 2.65945 | 39.9852 | 3.06887 | 0.130618 | + cell_16 | 152 | 221 | 1581 | 0.0482483 | 0.00272235 | 1.00827 | 3.05176e-05 | 45287.1 | 1.38205 | 22.507 | 1.39349 | 0.0612721 | + cell_17 | 132 | 197 | 1326 | 0.0202332 | 0.00255942 | 1.01292 | 1.52588e-05 | 38901.4 | 0.593589 | 10.9514 | 0.601259 | 0.0280292 | + cell_18 | 76 | 142 | 931 | 0.00710297 | 0.00258 | 0.814225 | 7.62939e-06 | 24945.4 | 0.190318 | 2.97786 | 0.154962 | 0.00768286 | + cell_19 | 46 | 46 | 0 | 0 | 0.0218231 | 1.52808 | 7.62939e-06 | 6737.27 | 0.0514013 | 0.15395 | 0.0785454 | 0.00335965 | ============================================= diff --git a/examples/extended/biasing/B02/include/B02ActionInitialization.hh b/examples/extended/biasing/B02/include/B02ActionInitialization.hh index 1290b492835..7140ae576b6 100644 --- a/examples/extended/biasing/B02/include/B02ActionInitialization.hh +++ b/examples/extended/biasing/B02/include/B02ActionInitialization.hh @@ -37,13 +37,12 @@ class B02ActionInitialization : public G4VUserActionInitialization { public: - B02ActionInitialization(); + B02ActionInitialization(); virtual ~B02ActionInitialization(); public: virtual void BuildForMaster() const; virtual void Build() const; - }; #endif diff --git a/examples/extended/biasing/B02/include/B02DetectorConstruction.hh b/examples/extended/biasing/B02/include/B02DetectorConstruction.hh index 4f516494433..23583d2c57b 100644 --- a/examples/extended/biasing/B02/include/B02DetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02DetectorConstruction.hh @@ -32,8 +32,9 @@ #ifndef B02DetectorConstruction_hh #define B02DetectorConstruction_hh B02DetectorConstruction_hh -#include "globals.hh" #include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + #include class G4VPhysicalVolume; class G4LogicalVolume; @@ -42,30 +43,30 @@ class G4VWeightWindowStore; class B02DetectorConstruction : public G4VUserDetectorConstruction { -public: - B02DetectorConstruction(); - ~B02DetectorConstruction(); - - virtual G4VPhysicalVolume* Construct(); + public: + B02DetectorConstruction(); + ~B02DetectorConstruction(); + + virtual G4VPhysicalVolume* Construct(); - G4VIStore* CreateImportanceStore(); + G4VIStore* CreateImportanceStore(); // create an importance store, caller is responsible for deleting it - G4VWeightWindowStore *CreateWeightWindowStore(); - // create an weight window store, caller is responsible for + G4VWeightWindowStore* CreateWeightWindowStore(); + // create an weight window store, caller is responsible for // deleting it - G4VPhysicalVolume* GetWorldVolume(); + G4VPhysicalVolume* GetWorldVolume(); - void SetSensitive(); + void SetSensitive(); - // virtual void ConstructSDandField(); + // virtual void ConstructSDandField(); -private: - std::vector< G4LogicalVolume * > fLogicalVolumeVector; - std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; + private: + std::vector fLogicalVolumeVector; + std::vector fPhysicalVolumeVector; - G4VPhysicalVolume* fWorldVolume; + G4VPhysicalVolume* fWorldVolume; }; #endif diff --git a/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh b/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh index 41d4b1f8c90..0388755fea3 100644 --- a/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh @@ -29,16 +29,17 @@ // // -#ifndef B02ImportanceDetectorConstruction_hh -#define B02ImportanceDetectorConstruction_hh B02ImportanceDetectorConstruction_hh +#ifndef B02ImportanceDetectorConstruction_hh +#define B02ImportanceDetectorConstruction_hh B02ImportanceDetectorConstruction_hh -#include "globals.hh" -#include -#include -#include "G4GeometryCell.hh" #include "B02PVolumeStore.hh" +#include "G4GeometryCell.hh" #include "G4VUserParallelWorld.hh" +#include "globals.hh" + +#include +#include class G4VPhysicalVolume; class G4LogicalVolume; @@ -47,40 +48,39 @@ class G4VWeightWindowStore; class B02ImportanceDetectorConstruction : public G4VUserParallelWorld { -public: - B02ImportanceDetectorConstruction(G4String worldName); - virtual ~B02ImportanceDetectorConstruction(); + public: + B02ImportanceDetectorConstruction(G4String worldName); + virtual ~B02ImportanceDetectorConstruction(); - const G4VPhysicalVolume &GetPhysicalVolumeByName(const G4String& name) const; - G4VPhysicalVolume &GetWorldVolumeAddress() const; - G4String ListPhysNamesAsG4String(); - G4String GetCellName(G4int i); - G4GeometryCell GetGeometryCell(G4int i); + const G4VPhysicalVolume& GetPhysicalVolumeByName(const G4String& name) const; + G4VPhysicalVolume& GetWorldVolumeAddress() const; + G4String ListPhysNamesAsG4String(); + G4String GetCellName(G4int i); + G4GeometryCell GetGeometryCell(G4int i); - G4VPhysicalVolume* GetWorldVolume(); + G4VPhysicalVolume* GetWorldVolume(); - void SetSensitive(); + void SetSensitive(); - virtual void Construct(); - virtual void ConstructSD(); + virtual void Construct(); + virtual void ConstructSD(); - G4VIStore* CreateImportanceStore(); + G4VIStore* CreateImportanceStore(); // create an importance store, caller is responsible for deleting it - G4VWeightWindowStore *CreateWeightWindowStore(); - // create an weight window store, caller is responsible for + G4VWeightWindowStore* CreateWeightWindowStore(); + // create an weight window store, caller is responsible for // deleting it -private: - B02PVolumeStore fPVolumeStore; - - // std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; - std::vector< G4LogicalVolume * > fLogicalVolumeVector; + private: + B02PVolumeStore fPVolumeStore; - // G4VPhysicalVolume *fWorldVolume; + // std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; + std::vector fLogicalVolumeVector; - G4VPhysicalVolume* fGhostWorld; + // G4VPhysicalVolume *fWorldVolume; + G4VPhysicalVolume* fGhostWorld; }; #endif diff --git a/examples/extended/biasing/B02/include/B02PVolumeStore.hh b/examples/extended/biasing/B02/include/B02PVolumeStore.hh index 657a92ecd7f..34d275e9080 100644 --- a/examples/extended/biasing/B02/include/B02PVolumeStore.hh +++ b/examples/extended/biasing/B02/include/B02PVolumeStore.hh @@ -27,7 +27,7 @@ /// \brief Definition of the B02PVolumeStore class // // -// GEANT4 tag +// GEANT4 tag // // ---------------------------------------------------------------------- // Class B02PVolumeStore @@ -42,25 +42,27 @@ #ifndef B02PVolumeStore_hh #define B02PVolumeStore_hh B02PVolumeStore_hh -#include "globals.hh" -#include #include "G4GeometryCell.hh" #include "G4GeometryCellComp.hh" +#include "globals.hh" + +#include + +typedef std::set B02SetGeometryCell; -typedef std::set< G4GeometryCell, G4GeometryCellComp > B02SetGeometryCell; +class B02PVolumeStore +{ + public: + B02PVolumeStore(); + ~B02PVolumeStore(); -class B02PVolumeStore { -public: - B02PVolumeStore(); - ~B02PVolumeStore(); - - void AddPVolume(const G4GeometryCell &cell); - const G4VPhysicalVolume *GetPVolume(const G4String &name) const; - G4int Size(); - G4String GetPNames() const; + void AddPVolume(const G4GeometryCell& cell); + const G4VPhysicalVolume* GetPVolume(const G4String& name) const; + G4int Size(); + G4String GetPNames() const; -private: - B02SetGeometryCell fSetGeometryCell; + private: + B02SetGeometryCell fSetGeometryCell; }; #endif diff --git a/examples/extended/biasing/B02/include/B02PrimaryGeneratorAction.hh b/examples/extended/biasing/B02/include/B02PrimaryGeneratorAction.hh index dfb98ce858c..630cfd4b2cd 100644 --- a/examples/extended/biasing/B02/include/B02PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/B02/include/B02PrimaryGeneratorAction.hh @@ -29,7 +29,7 @@ // #ifndef B02PrimaryGeneratorAction_hh -#define B02PrimaryGeneratorAction_hh B02PrimaryGeneratorAction_hh +#define B02PrimaryGeneratorAction_hh B02PrimaryGeneratorAction_hh #include "G4VUserPrimaryGeneratorAction.hh" @@ -50,4 +50,3 @@ class B02PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction }; #endif - diff --git a/examples/extended/biasing/B02/include/B02Run.hh b/examples/extended/biasing/B02/include/B02Run.hh index b8308205db5..af5a82fabd6 100644 --- a/examples/extended/biasing/B02/include/B02Run.hh +++ b/examples/extended/biasing/B02/include/B02Run.hh @@ -27,10 +27,10 @@ /// \brief Definition of the B02Run class // // -// +// //--------------------------------------------------------------------- -// (Purpose) -// Example implementation for multi-functional-detector and +// (Purpose) +// Example implementation for multi-functional-detector and // primitive scorer. // This B02Run class has collections which accumulate // a event information into a run information. @@ -40,46 +40,45 @@ #ifndef B02Run_h #define B02Run_h 1 -#include "G4Run.hh" #include "G4Event.hh" - +#include "G4Run.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(); +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*); + 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 fRunMap.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 fRunMap[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(); + // Access methods for scoring information. + // - Number of HitsMap for this RUN. + // This is equal to number of collections. + G4int GetNumberOfHitsMap() const { return fRunMap.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 fRunMap[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(); - virtual void Merge(const G4Run*); + virtual void Merge(const G4Run*); -private: - std::vector fCollName; - std::vector fCollID; - std::vector*> fRunMap; + private: + std::vector fCollName; + std::vector fCollID; + std::vector*> fRunMap; }; // diff --git a/examples/extended/biasing/B02/include/B02RunAction.hh b/examples/extended/biasing/B02/include/B02RunAction.hh index dfdff5f14d1..ac75389e19d 100644 --- a/examples/extended/biasing/B02/include/B02RunAction.hh +++ b/examples/extended/biasing/B02/include/B02RunAction.hh @@ -27,49 +27,48 @@ /// \brief Definition of the B02RunAction class // // -// +// #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: + // constructor and destructor + B02RunAction(); + virtual ~B02RunAction(); -public: - void PrintHeader(std::ostream *out); - std::string FillString(const std::string &name, char c, G4int n, - G4bool back=true); + public: + // virtual method from G4UserRunAction. + virtual G4Run* GenerateRun(); + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); -private: - // Data member - // - vector of MultiFunctionalDetecor names. - std::vector fSDName; - // G4int fFieldName; - G4int fFieldValue; + 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 fSDName; + // G4int fFieldName; + G4int fFieldValue; }; // diff --git a/examples/extended/biasing/B02/src/B02ActionInitialization.cc b/examples/extended/biasing/B02/src/B02ActionInitialization.cc index 40351c186ba..f0aa4c103e0 100644 --- a/examples/extended/biasing/B02/src/B02ActionInitialization.cc +++ b/examples/extended/biasing/B02/src/B02ActionInitialization.cc @@ -30,18 +30,23 @@ // #include "B02ActionInitialization.hh" + #include "B02PrimaryGeneratorAction.hh" #include "B02RunAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B02ActionInitialization::B02ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B02ActionInitialization::~B02ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,10 +59,8 @@ void B02ActionInitialization::BuildForMaster() const void B02ActionInitialization::Build() const { - SetUserAction(new B02PrimaryGeneratorAction); SetUserAction(new B02RunAction); - } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B02/src/B02DetectorConstruction.cc b/examples/extended/biasing/B02/src/B02DetectorConstruction.cc index eef902b2cae..21bb405d1e7 100644 --- a/examples/extended/biasing/B02/src/B02DetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02DetectorConstruction.cc @@ -28,44 +28,46 @@ // // // -#include "G4Types.hh" -#include "globals.hh" - #include "B02DetectorConstruction.hh" -#include "G4Material.hh" #include "G4Box.hh" -#include "G4Tubs.hh" +#include "G4Colour.hh" #include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "G4Tubs.hh" +#include "G4Types.hh" +#include "G4VisAttributes.hh" +#include "globals.hh" // 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" +#include "G4SDManager.hh" +#include "G4SDParticleFilter.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B02DetectorConstruction::B02DetectorConstruction() - : G4VUserDetectorConstruction() -{;} +B02DetectorConstruction::B02DetectorConstruction() : G4VUserDetectorConstruction() +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B02DetectorConstruction::~B02DetectorConstruction() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +75,7 @@ G4VPhysicalVolume* B02DetectorConstruction::Construct() { G4double pos_x; G4double pos_y; - G4double pos_z; + G4double pos_z; G4double density, pressure, temperature; G4double A; @@ -83,109 +85,97 @@ G4VPhysicalVolume* B02DetectorConstruction::Construct() G4double z; G4double fractionmass; - A = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H" , Z= 1, A); + 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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); + 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 = 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; + 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); - + 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 //////////////////////////// // world solid - G4double innerRadiusCylinder = 0*cm; + G4double innerRadiusCylinder = 0 * cm; // G4double outerRadiusCylinder = 101*cm; // dont't have scoring - G4double outerRadiusCylinder = 100*cm; // dont't have scoring - // cells coinside eith world volume boundary + G4double outerRadiusCylinder = 100 * cm; // dont't have scoring + // cells coinside eith world volume boundary // G4double heightCylinder = 105*cm; - G4double heightCylinder = 100*cm; - G4double startAngleCylinder = 0*deg; - G4double spanningAngleCylinder = 360*deg; + G4double heightCylinder = 100 * cm; + G4double startAngleCylinder = 0 * deg; + G4double spanningAngleCylinder = 360 * deg; - G4Tubs *worldCylinder = new G4Tubs("worldCylinder", - innerRadiusCylinder, - outerRadiusCylinder, - heightCylinder, - startAngleCylinder, - spanningAngleCylinder); + G4Tubs* worldCylinder = new G4Tubs("worldCylinder", innerRadiusCylinder, outerRadiusCylinder, + heightCylinder, startAngleCylinder, spanningAngleCylinder); // logical world - G4LogicalVolume *worldCylinder_log = + G4LogicalVolume* worldCylinder_log = new G4LogicalVolume(worldCylinder, Galactic, "worldCylinder_log"); name = "shieldWorld"; - fWorldVolume = new G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log - ,name, 0, false, 0); + fWorldVolume = new G4PVPlacement(0, G4ThreeVector(0, 0, 0), worldCylinder_log, name, 0, false, 0); // creating 18 slobs of 10 cm thick concrete - G4double innerRadiusShield = 0*cm; - G4double outerRadiusShield = 100*cm; - G4double heightShield = 90*cm; - G4double startAngleShield = 0*deg; - G4double spanningAngleShield = 360*deg; - - G4Tubs *aShield = new G4Tubs("aShield", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - + G4double innerRadiusShield = 0 * cm; + G4double outerRadiusShield = 100 * cm; + G4double heightShield = 90 * cm; + G4double startAngleShield = 0 * deg; + G4double spanningAngleShield = 360 * deg; + + G4Tubs* aShield = new G4Tubs("aShield", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + // logical shield - G4LogicalVolume *aShield_log = - new G4LogicalVolume(aShield, Concrete, "aShield_log"); + G4LogicalVolume* aShield_log = new G4LogicalVolume(aShield, Concrete, "aShield_log"); - G4VisAttributes* pShieldVis = new - G4VisAttributes(G4Colour(0.0,0.0,1.0)); + G4VisAttributes* pShieldVis = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0)); pShieldVis->SetForceSolid(true); aShield_log->SetVisAttributes(pShieldVis); @@ -193,25 +183,21 @@ G4VPhysicalVolume* B02DetectorConstruction::Construct() name = "concreteShield"; - pos_x = 0*cm; - pos_y = 0*cm; + pos_x = 0 * cm; + pos_y = 0 * cm; pos_z = 0; - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aShield_log, - name, - worldCylinder_log, - false, - 0); - + new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), aShield_log, name, worldCylinder_log, + false, 0); + return fWorldVolume; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume *B02DetectorConstruction::GetWorldVolume() { - return fWorldVolume; +G4VPhysicalVolume* B02DetectorConstruction::GetWorldVolume() +{ + return fWorldVolume; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc b/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc index 45b7264bcf2..eb720b910e1 100644 --- a/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc @@ -29,27 +29,27 @@ // // -#include "globals.hh" -#include - #include "B02ImportanceDetectorConstruction.hh" -#include "G4Material.hh" -#include "G4Tubs.hh" #include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "G4Tubs.hh" +#include "globals.hh" + +#include // For Primitive Scorers -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" -#include "G4SDParticleFilter.hh" #include "G4PSNofCollision.hh" #include "G4PSPopulation.hh" #include "G4PSTrackCounter.hh" #include "G4PSTrackLength.hh" +#include "G4SDManager.hh" +#include "G4SDParticleFilter.hh" // for importance biasing #include "G4IStore.hh" @@ -59,9 +59,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B02ImportanceDetectorConstruction:: -B02ImportanceDetectorConstruction(G4String worldName) -:G4VUserParallelWorld(worldName),fLogicalVolumeVector() +B02ImportanceDetectorConstruction::B02ImportanceDetectorConstruction(G4String worldName) + : G4VUserParallelWorld(worldName), fLogicalVolumeVector() { // Construct(); } @@ -76,16 +75,16 @@ B02ImportanceDetectorConstruction::~B02ImportanceDetectorConstruction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void B02ImportanceDetectorConstruction::Construct() -{ +{ G4cout << " constructing parallel world " << G4endl; - G4Material* dummyMat = 0; + G4Material* dummyMat = 0; - //GetWorld methods create a clone of the mass world to the parallel world (!) - // via the transportation manager + // GetWorld methods create a clone of the mass world to the parallel world (!) + // via the transportation manager fGhostWorld = GetWorld(); - G4cout << " B02ImportanceDetectorConstruction:: ghostWorldName = " - << fGhostWorld->GetName() << G4endl; + G4cout << " B02ImportanceDetectorConstruction:: ghostWorldName = " << fGhostWorld->GetName() + << G4endl; G4LogicalVolume* worldLogical = fGhostWorld->GetLogicalVolume(); fLogicalVolumeVector.push_back(worldLogical); @@ -94,45 +93,33 @@ void B02ImportanceDetectorConstruction::Construct() // creating 18 slobs of 10 cm thicknes - G4double innerRadiusShield = 0*cm; - G4double outerRadiusShield = 100*cm; - G4double heightShield = 5*cm; - G4double startAngleShield = 0*deg; - G4double spanningAngleShield = 360*deg; - - G4Tubs *aShield = new G4Tubs("aShield", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - + G4double innerRadiusShield = 0 * cm; + G4double outerRadiusShield = 100 * cm; + G4double heightShield = 5 * cm; + G4double startAngleShield = 0 * deg; + G4double spanningAngleShield = 360 * deg; + + G4Tubs* aShield = new G4Tubs("aShield", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + // logical parallel cells - G4LogicalVolume *aShield_log_imp = - new G4LogicalVolume(aShield, dummyMat, "aShield_log_imp"); + G4LogicalVolume* aShield_log_imp = new G4LogicalVolume(aShield, dummyMat, "aShield_log_imp"); fLogicalVolumeVector.push_back(aShield_log_imp); // physical parallel cells G4String name = "none"; G4int i = 1; - G4double startz = -85*cm; + 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); - - G4double pos_x = 0*cm; - G4double pos_y = 0*cm; - G4double pos_z = startz + (i-1) * (2*heightShield); - G4VPhysicalVolume *pvol = - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aShield_log_imp, - name, - worldLogical, - false, - i); + + G4double pos_x = 0 * cm; + G4double pos_y = 0 * cm; + G4double pos_z = startz + (i - 1) * (2 * heightShield); + G4VPhysicalVolume* pvol = new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), + aShield_log_imp, name, worldLogical, false, i); // 0); G4GeometryCell cell(*pvol, i); // G4GeometryCell cell(*pvol, 0); @@ -140,71 +127,62 @@ void B02ImportanceDetectorConstruction::Construct() } // filling the rest of the world volumr behind the concrete with - // another slob which should get the same importance value as the + // another slob which should get the same importance value as the // last slob - innerRadiusShield = 0*cm; + innerRadiusShield = 0 * cm; // outerRadiusShield = 110*cm; exceeds world volume!!!! - outerRadiusShield = 100*cm; + outerRadiusShield = 100 * cm; // heightShield = 10*cm; - heightShield = 5*cm; - startAngleShield = 0*deg; - spanningAngleShield = 360*deg; - - G4Tubs *aRest = new G4Tubs("Rest", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - - G4LogicalVolume *aRest_log = - new G4LogicalVolume(aRest, dummyMat, "aRest_log"); + heightShield = 5 * cm; + startAngleShield = 0 * deg; + spanningAngleShield = 360 * deg; + + G4Tubs* aRest = new G4Tubs("Rest", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + + G4LogicalVolume* aRest_log = new G4LogicalVolume(aRest, dummyMat, "aRest_log"); fLogicalVolumeVector.push_back(aRest_log); name = GetCellName(19); - - G4double pos_x = 0*cm; - G4double pos_y = 0*cm; + + G4double pos_x = 0 * cm; + G4double pos_y = 0 * 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, - worldLogical, - false, - 19); + G4double pos_z = 95 * cm; + G4VPhysicalVolume* pvol = new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), aRest_log, + name, worldLogical, false, 19); // 0); G4GeometryCell cell(*pvol, 19); // G4GeometryCell cell(*pvol, 0); fPVolumeStore.AddPVolume(cell); SetSensitive(); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const G4VPhysicalVolume &B02ImportanceDetectorConstruction:: -GetPhysicalVolumeByName(const G4String& name) const { +const G4VPhysicalVolume& +B02ImportanceDetectorConstruction::GetPhysicalVolumeByName(const G4String& name) const +{ return *fPVolumeStore.GetPVolume(name); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4String B02ImportanceDetectorConstruction::ListPhysNamesAsG4String(){ +G4String B02ImportanceDetectorConstruction::ListPhysNamesAsG4String() +{ G4String names(fPVolumeStore.GetPNames()); return names; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4String B02ImportanceDetectorConstruction::GetCellName(G4int i) { +G4String B02ImportanceDetectorConstruction::GetCellName(G4int i) +{ std::ostringstream os; os << "cell_"; - if (i<10) { + if (i < 10) { os << "0"; } os << i; @@ -214,37 +192,39 @@ G4String B02ImportanceDetectorConstruction::GetCellName(G4int i) { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4GeometryCell B02ImportanceDetectorConstruction::GetGeometryCell(G4int i){ +G4GeometryCell B02ImportanceDetectorConstruction::GetGeometryCell(G4int i) +{ G4String name(GetCellName(i)); - const G4VPhysicalVolume *p=0; + const G4VPhysicalVolume* p = 0; p = fPVolumeStore.GetPVolume(name); if (p) { - return G4GeometryCell(*p,0); + return G4GeometryCell(*p, 0); } else { G4cout << "B02ImportanceDetectorConstruction::GetGeometryCell: " << G4endl << " couldn't get G4GeometryCell" << G4endl; - return G4GeometryCell(*fGhostWorld,-2); + return G4GeometryCell(*fGhostWorld, -2); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume &B02ImportanceDetectorConstruction:: -GetWorldVolumeAddress() const{ - return *fGhostWorld; +G4VPhysicalVolume& B02ImportanceDetectorConstruction::GetWorldVolumeAddress() const +{ + return *fGhostWorld; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume *B02ImportanceDetectorConstruction::GetWorldVolume() { +G4VPhysicalVolume* B02ImportanceDetectorConstruction::GetWorldVolume() +{ return fGhostWorld; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void B02ImportanceDetectorConstruction::SetSensitive(){ - +void B02ImportanceDetectorConstruction::SetSensitive() +{ // ------------------------------------------------- // The collection names of defined Primitives are // 0 ConcreteSD/Collisions @@ -259,13 +239,11 @@ void B02ImportanceDetectorConstruction::SetSensitive(){ // ------------------------------------------------- // moved to ConstructSD() for MT compliance - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void B02ImportanceDetectorConstruction::ConstructSD() { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); // // Sensitive Detector Name @@ -276,56 +254,54 @@ void B02ImportanceDetectorConstruction::ConstructSD() //------------------------ // // Define MultiFunctionalDetector with name. - G4MultiFunctionalDetector* MFDet = - new G4MultiFunctionalDetector(concreteSDname); - SDman->AddNewDetector( MFDet ); // Register SD to SDManager + G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(concreteSDname); + SDman->AddNewDetector(MFDet); // Register SD to SDManager - G4String fltName,particleName; - G4SDParticleFilter* neutronFilter = - new G4SDParticleFilter(fltName="neutronFilter", particleName="neutron"); + 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++){ + for (std::vector::iterator it = fLogicalVolumeVector.begin(); + it != fLogicalVolumeVector.end(); it++) + { // (*it)->SetSensitiveDetector(MFDet); SetSensitiveDetector((*it)->GetName(), MFDet); } G4String psName; - G4PSNofCollision* scorer0 = new G4PSNofCollision(psName="Collisions"); + G4PSNofCollision* scorer0 = new G4PSNofCollision(psName = "Collisions"); MFDet->RegisterPrimitive(scorer0); - G4PSNofCollision* scorer1 = new G4PSNofCollision(psName="CollWeight"); + G4PSNofCollision* scorer1 = new G4PSNofCollision(psName = "CollWeight"); scorer1->Weighted(true); MFDet->RegisterPrimitive(scorer1); - G4PSPopulation* scorer2 = new G4PSPopulation(psName="Population"); + G4PSPopulation* scorer2 = new G4PSPopulation(psName = "Population"); MFDet->RegisterPrimitive(scorer2); - G4PSTrackCounter* scorer3 = - new G4PSTrackCounter(psName="TrackEnter",fCurrent_In); + G4PSTrackCounter* scorer3 = new G4PSTrackCounter(psName = "TrackEnter", fCurrent_In); MFDet->RegisterPrimitive(scorer3); - G4PSTrackLength* scorer4 = new G4PSTrackLength(psName="SL"); + G4PSTrackLength* scorer4 = new G4PSTrackLength(psName = "SL"); MFDet->RegisterPrimitive(scorer4); - G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW"); + G4PSTrackLength* scorer5 = new G4PSTrackLength(psName = "SLW"); scorer5->Weighted(true); MFDet->RegisterPrimitive(scorer5); - G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE"); + G4PSTrackLength* scorer6 = new G4PSTrackLength(psName = "SLWE"); scorer6->Weighted(true); scorer6->MultiplyKineticEnergy(true); MFDet->RegisterPrimitive(scorer6); - G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V"); + G4PSTrackLength* scorer7 = new G4PSTrackLength(psName = "SLW_V"); scorer7->Weighted(true); scorer7->DivideByVelocity(true); MFDet->RegisterPrimitive(scorer7); - G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V"); + G4PSTrackLength* scorer8 = new G4PSTrackLength(psName = "SLWE_V"); scorer8->Weighted(true); scorer8->MultiplyKineticEnergy(true); scorer8->DivideByVelocity(true); @@ -335,40 +311,35 @@ void B02ImportanceDetectorConstruction::ConstructSD() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VIStore* B02ImportanceDetectorConstruction::CreateImportanceStore() { - - G4cout << " B02ImportanceDetectorConstruction:: Creating Importance Store " - << G4endl; - if (!fPVolumeStore.Size()) - { - G4Exception("B02ImportanceDetectorConstruction::CreateImportanceStore" - ,"exampleB02_0001",RunMustBeAborted - ,"no physical volumes created yet!"); + G4cout << " B02ImportanceDetectorConstruction:: Creating Importance Store " << G4endl; + if (!fPVolumeStore.Size()) { + G4Exception("B02ImportanceDetectorConstruction::CreateImportanceStore", "exampleB02_0001", + RunMustBeAborted, "no physical volumes created yet!"); } // creating and filling the importance store - + // G4IStore *istore = new G4IStore(*fWorldVolume); - - G4IStore *istore = G4IStore::GetInstance(GetName()); + + G4IStore* istore = G4IStore::GetInstance(GetName()); G4GeometryCell gWorldVolumeCell(GetWorldVolumeAddress(), 0); - G4double imp =1; + G4double imp = 1; istore->AddImportanceGeometryCell(1, gWorldVolumeCell); - // set importance values and create scorers + // set importance values and create scorers G4int cell(1); - for (cell=1; cell<=18; cell++) { + for (cell = 1; cell <= 18; cell++) { G4GeometryCell gCell = GetGeometryCell(cell); - G4cout << " adding cell: " << cell - << " replica: " << gCell.GetReplicaNumber() + G4cout << " adding cell: " << cell << " replica: " << gCell.GetReplicaNumber() << " name: " << gCell.GetPhysicalVolume().GetName() << G4endl; - imp = std::pow(2.0,cell-1); + imp = std::pow(2.0, cell - 1); - G4cout << "Going to assign importance: " << imp << ", to volume: " - << gCell.GetPhysicalVolume().GetName() << G4endl; - //x aIstore.AddImportanceGeometryCell(imp, gCell); + G4cout << "Going to assign importance: " << imp + << ", to volume: " << gCell.GetPhysicalVolume().GetName() << G4endl; + // x aIstore.AddImportanceGeometryCell(imp, gCell); istore->AddImportanceGeometryCell(imp, gCell.GetPhysicalVolume(), cell); } @@ -376,64 +347,57 @@ G4VIStore* B02ImportanceDetectorConstruction::CreateImportanceStore() // G4GeometryCell gCell = GetGeometryCell(18); // create importance geometry cell pair for the "rest"cell - // with the same importance as the last concrete cell + // with the same importance as the last concrete cell G4GeometryCell gCell = GetGeometryCell(19); - // G4double imp = std::pow(2.0,18); - imp = std::pow(2.0,17); + // G4double imp = std::pow(2.0,18); + imp = std::pow(2.0, 17); istore->AddImportanceGeometryCell(imp, gCell.GetPhysicalVolume(), 19); return istore; - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VWeightWindowStore *B02ImportanceDetectorConstruction:: -CreateWeightWindowStore() +G4VWeightWindowStore* B02ImportanceDetectorConstruction::CreateWeightWindowStore() { - G4cout << " B02ImportanceDetectorConstruction:: Creating Importance Store " - << G4endl; - if (!fPVolumeStore.Size()) - { - G4Exception("B02ImportanceDetectorConstruction::CreateWeightWindowStore" - ,"exampleB02_0002",RunMustBeAborted - ,"no physical volumes created yet!"); + G4cout << " B02ImportanceDetectorConstruction:: Creating Importance Store " << G4endl; + if (!fPVolumeStore.Size()) { + G4Exception("B02ImportanceDetectorConstruction::CreateWeightWindowStore", "exampleB02_0002", + RunMustBeAborted, "no physical volumes created yet!"); } // creating and filling the importance store - + // G4IStore *istore = new G4IStore(*fWorldVolume); - - G4WeightWindowStore *wwstore = G4WeightWindowStore::GetInstance(GetName()); + + G4WeightWindowStore* wwstore = G4WeightWindowStore::GetInstance(GetName()); // create one energy region covering the energies of the problem // - std::set > enBounds; + std::set> enBounds; enBounds.insert(1 * GeV); wwstore->SetGeneralUpperEnergyBounds(enBounds); - + G4int n = 0; - G4double lowerWeight =1; + G4double lowerWeight = 1; std::vector lowerWeights; lowerWeights.push_back(1); - G4GeometryCell gWorldCell(GetWorldVolumeAddress(),0); + G4GeometryCell gWorldCell(GetWorldVolumeAddress(), 0); wwstore->AddLowerWeights(gWorldCell, lowerWeights); G4int cell(1); - for (cell=1; cell<=18; cell++) { + for (cell = 1; cell <= 18; cell++) { G4GeometryCell gCell = GetGeometryCell(cell); - G4cout << " adding cell: " << cell - << " replica: " << gCell.GetReplicaNumber() + G4cout << " adding cell: " << cell << " replica: " << gCell.GetReplicaNumber() << " name: " << gCell.GetPhysicalVolume().GetName() << G4endl; - lowerWeight = 1./std::pow(2., n++); - G4cout << "Going to assign lower weight: " << lowerWeight - << ", to volume: " - << gCell.GetPhysicalVolume().GetName() << G4endl; - lowerWeights.clear(); - lowerWeights.push_back(lowerWeight); - wwstore->AddLowerWeights(gCell, lowerWeights); + lowerWeight = 1. / std::pow(2., n++); + G4cout << "Going to assign lower weight: " << lowerWeight + << ", to volume: " << gCell.GetPhysicalVolume().GetName() << G4endl; + lowerWeights.clear(); + lowerWeights.push_back(lowerWeight); + wwstore->AddLowerWeights(gCell, lowerWeights); } // the remaining part pf the geometry (rest) gets the same @@ -441,10 +405,9 @@ CreateWeightWindowStore() // // create importance geometry cell pair for the "rest"cell - // with the same importance as the last concrete cell + // with the same importance as the last concrete cell G4GeometryCell gCell = GetGeometryCell(19); - wwstore->AddLowerWeights(gCell, lowerWeights); + wwstore->AddLowerWeights(gCell, lowerWeights); return wwstore; - } diff --git a/examples/extended/biasing/B02/src/B02PVolumeStore.cc b/examples/extended/biasing/B02/src/B02PVolumeStore.cc index 540337ed75b..f97cc2f740d 100644 --- a/examples/extended/biasing/B02/src/B02PVolumeStore.cc +++ b/examples/extended/biasing/B02/src/B02PVolumeStore.cc @@ -27,7 +27,7 @@ /// \brief Implementation of the B02PVolumeStore class // // -// GEANT4 tag +// GEANT4 tag // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -37,65 +37,65 @@ // ---------------------------------------------------------------------- #include "B02PVolumeStore.hh" -#include #include "G4VPhysicalVolume.hh" +#include + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B02PVolumeStore::B02PVolumeStore(){} +B02PVolumeStore::B02PVolumeStore() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B02PVolumeStore::~B02PVolumeStore(){} +B02PVolumeStore::~B02PVolumeStore() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void B02PVolumeStore::AddPVolume(const G4GeometryCell &cell){ - B02SetGeometryCell::iterator it = - fSetGeometryCell.find(cell); +void B02PVolumeStore::AddPVolume(const G4GeometryCell& cell) +{ + B02SetGeometryCell::iterator it = fSetGeometryCell.find(cell); if (it != fSetGeometryCell.end()) { - G4cout << "B02PVolumeStore::AddPVolume: cell already stored" - << G4endl; + G4cout << "B02PVolumeStore::AddPVolume: cell already stored" << G4endl; return; } fSetGeometryCell.insert(cell); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const G4VPhysicalVolume *B02PVolumeStore:: -GetPVolume(const G4String &name) const { - const G4VPhysicalVolume *pvol = 0; +const G4VPhysicalVolume* B02PVolumeStore::GetPVolume(const G4String& name) const +{ + const G4VPhysicalVolume* pvol = 0; for (B02SetGeometryCell::const_iterator it = fSetGeometryCell.begin(); - it != fSetGeometryCell.end(); ++it) { - const G4VPhysicalVolume &vol = it->GetPhysicalVolume(); + it != fSetGeometryCell.end(); ++it) + { + const G4VPhysicalVolume& vol = it->GetPhysicalVolume(); if (vol.GetName() == name) { - pvol = &vol; - } + pvol = &vol; + } } if (!pvol) { - G4cout << "B02PVolumeStore::GetPVolume: no physical volume named: " - << name << ", found" << G4endl; + G4cout << "B02PVolumeStore::GetPVolume: no physical volume named: " << name << ", found" + << G4endl; } return pvol; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4String B02PVolumeStore::GetPNames() const { +G4String B02PVolumeStore::GetPNames() const +{ G4String NameString; for (B02SetGeometryCell::const_iterator it = fSetGeometryCell.begin(); - it != fSetGeometryCell.end(); ++it) { - const G4VPhysicalVolume &vol = it->GetPhysicalVolume(); + it != fSetGeometryCell.end(); ++it) + { + const G4VPhysicalVolume& vol = it->GetPhysicalVolume(); std::ostringstream os; - os << vol.GetName() << "_" << it->GetReplicaNumber() - << "\n"; + os << vol.GetName() << "_" << it->GetReplicaNumber() << "\n"; G4String cellname = os.str(); - + // G4String cellname(vol.GetName()); // cellname += G4String("_"); // cellname += std::str(it->GetReplicaNumber()); @@ -107,7 +107,8 @@ G4String B02PVolumeStore::GetPNames() const { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4int B02PVolumeStore::Size() { +G4int B02PVolumeStore::Size() +{ return fSetGeometryCell.size(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc b/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc index 7b77e3edd83..4e80458389e 100644 --- a/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc @@ -29,26 +29,25 @@ // // -#include "globals.hh" - #include "B02PrimaryGeneratorAction.hh" #include "G4Event.hh" -#include "G4ParticleGun.hh" #include "G4Neutron.hh" -#include "G4ThreeVector.hh" +#include "G4ParticleGun.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B02PrimaryGeneratorAction::B02PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction(), fParticleGun(0) + : G4VUserPrimaryGeneratorAction(), fParticleGun(0) { G4int n_particle = 1; fParticleGun = new G4ParticleGun(n_particle); fParticleGun->SetParticleDefinition(G4Neutron::NeutronDefinition()); - fParticleGun->SetParticleEnergy(10.0*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.0, 0.0, -90.0005*cm)); + fParticleGun->SetParticleEnergy(10.0 * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0.0, 0.0, -90.0005 * cm)); fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.0, 0.0, 1.0)); } diff --git a/examples/extended/biasing/B02/src/B02Run.cc b/examples/extended/biasing/B02/src/B02Run.cc index ca8ac4b0dfc..ce2366a90fa 100644 --- a/examples/extended/biasing/B02/src/B02Run.cc +++ b/examples/extended/biasing/B02/src/B02Run.cc @@ -32,7 +32,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // // (Description) -// B02Run Class is for accumulating scored quantities which is +// B02Run Class is for accumulating scored quantities which is // scored using G4MutiFunctionalDetector and G4VPrimitiveScorer. // Accumulation is done using G4THitsMap object. // @@ -41,10 +41,10 @@ // 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 +// 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 fCollName; // Collection Name, @@ -57,16 +57,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "B02Run.hh" -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" +#include "G4SDManager.hh" #include "G4VPrimitiveScorer.hh" // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Constructor. +// Constructor. // (The vector of MultiFunctionalDetector name has to given.) -B02Run::B02Run(const std::vector mfdName): G4Run() +B02Run::B02Run(const std::vector mfdName) : G4Run() { G4SDManager* SDman = G4SDManager::GetSDMpointer(); //================================================= @@ -74,38 +74,36 @@ B02Run::B02Run(const std::vector mfdName): G4Run() // Get CollectionIDs for HitCollections. //================================================= G4int Nmfd = mfdName.size(); - for ( G4int idet = 0; idet < Nmfd ; idet++){ // Loop for all MFD. + 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. "<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 << "++ " << fullCollectionName << " id " << collectionID << G4endl; + // Store obtained HitsCollection information into data members. + // And, creates new G4THitsMap for accumulating quantities during RUN. + fCollName.push_back(fullCollectionName); + fCollID.push_back(collectionID); + fRunMap.push_back(new G4THitsMap(detName, collectionName)); + } + else { + G4cout << "** collection " << fullCollectionName << " not found. " << G4endl; } + } } } } @@ -118,8 +116,8 @@ B02Run::~B02Run() { //--- Clear HitsMap for RUN G4int Nmap = fRunMap.size(); - for ( G4int i = 0; i < Nmap; i++){ - if(fRunMap[i] ) fRunMap[i]->clear(); + for (G4int i = 0; i < Nmap; i++) { + if (fRunMap[i]) fRunMap[i]->clear(); } fCollName.clear(); fCollID.clear(); @@ -145,20 +143,20 @@ void B02Run::RecordEvent(const G4Event* aEvent) // Sum up HitsMap of this Event into HitsMap of this RUN //======================================================= G4int Ncol = fCollID.size(); - for ( G4int i = 0; i < Ncol ; i++ ){ // Loop over HitsCollection - G4THitsMap* EvtMap=0; - if ( fCollID[i] >= 0 ){ // Collection is attached to HCE + for (G4int i = 0; i < Ncol; i++) { // Loop over HitsCollection + G4THitsMap* EvtMap = 0; + if (fCollID[i] >= 0) { // Collection is attached to HCE EvtMap = (G4THitsMap*)(HCE->GetHC(fCollID[i])); - }else{ - G4cout <<" Error EvtMap Not Found "<< i << G4endl; } - if ( EvtMap ) { + else { + G4cout << " Error EvtMap Not Found " << i << G4endl; + } + if (EvtMap) { //=== Sum up HitsMap of this event to HitsMap of RUN.=== *fRunMap[i] += *EvtMap; //====================================================== } } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -168,46 +166,45 @@ void B02Run::RecordEvent(const G4Event* aEvent) //----- // Access HitsMap. // By MultiFunctionalDetector name and Collection Name. -G4THitsMap* B02Run::GetHitsMap(const G4String& detName, - const G4String& colName){ - G4String fullName = detName+"/"+colName; - return GetHitsMap(fullName); +G4THitsMap* B02Run::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* B02Run::GetHitsMap(const G4String& fullName){ - G4int Ncol = fCollName.size(); - for ( G4int i = 0; i < Ncol; i++){ - if ( fCollName[i] == fullName ){ - return fRunMap[i]; - } +G4THitsMap* B02Run::GetHitsMap(const G4String& fullName) +{ + G4int Ncol = fCollName.size(); + for (G4int i = 0; i < Ncol; i++) { + if (fCollName[i] == fullName) { + return fRunMap[i]; } - return NULL; + } + return NULL; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // - Dump All HitsMap of this RUN. (for debuging and monitoring of quantity). // This method calls G4THisMap::PrintAll() for individual HitsMap. -void B02Run::DumpAllScorer(){ - +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; + 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; + std::map::iterator itr = RunMap->GetMap()->begin(); + for (; itr != RunMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first << " Run Value : " << *(itr->second) << G4endl; } } } @@ -217,18 +214,18 @@ void B02Run::DumpAllScorer(){ void B02Run::Merge(const G4Run* aRun) { - const B02Run * localRun = static_cast(aRun); + const B02Run* localRun = static_cast(aRun); //======================================================= // Merge HitsMap of working threads //======================================================= G4int nCol = localRun->fCollID.size(); - for ( G4int i = 0; i < nCol ; i++ ){ // Loop over HitsCollection - if ( localRun->fCollID[i] >= 0 ){ + for (G4int i = 0; i < nCol; i++) { // Loop over HitsCollection + if (localRun->fCollID[i] >= 0) { *fRunMap[i] += *localRun->fRunMap[i]; } } - + G4Run::Merge(aRun); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B02/src/B02RunAction.cc b/examples/extended/biasing/B02/src/B02RunAction.cc index 1fc83d5ff07..e868d8893c7 100644 --- a/examples/extended/biasing/B02/src/B02RunAction.cc +++ b/examples/extended/biasing/B02/src/B02RunAction.cc @@ -27,31 +27,32 @@ /// \brief Implementation of the B02RunAction class // // -// +// #include "B02RunAction.hh" + #include "B02Run.hh" //-- In order to obtain detector information. -#include "G4RunManager.hh" #include "B02DetectorConstruction.hh" #include "B02ImportanceDetectorConstruction.hh" -#include "G4THitsMap.hh" +#include "G4RunManager.hh" +#include "G4THitsMap.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // // B02RunAction -// +// // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Constructor -B02RunAction::B02RunAction(): - G4UserRunAction(), - // fFieldName(15), - fFieldValue(14) +B02RunAction::B02RunAction() + : G4UserRunAction(), + // fFieldName(15), + fFieldValue(14) { // - Prepare data member for B02Run. // vector represents a list of MultiFunctionalDetector names. @@ -87,7 +88,7 @@ void B02RunAction::BeginOfRunAction(const G4Run* aRun) void B02RunAction::EndOfRunAction(const G4Run* aRun) { - G4cout << " ###### EndOfRunAction " <GetUserDetectorConstruction(); - B02ImportanceDetectorConstruction* bdet = - (B02ImportanceDetectorConstruction*)vdet; + + for (G4int i = 0; i < (G4int)fSDName.size(); i++) { + const G4VUserDetectorConstruction* vdet = mgr->GetUserDetectorConstruction(); + B02ImportanceDetectorConstruction* bdet = (B02ImportanceDetectorConstruction*)vdet; // - + //--------------------------------------------- // Dump accumulated quantities for this RUN. // (Display only central region of x-y plane) @@ -116,94 +115,73 @@ void B02RunAction::EndOfRunAction(const G4Run* aRun) // 7 ConcreteSD/SLW_V // 8 ConcreteSD/SLWE_V //--------------------------------------------- - G4THitsMap* Collisions = - b02Run->GetHitsMap(fSDName[i]+"/Collisions"); - G4THitsMap* CollWeight = - b02Run->GetHitsMap(fSDName[i]+"/CollWeight"); - G4THitsMap* Population = - b02Run->GetHitsMap(fSDName[i]+"/Population"); - G4THitsMap* TrackEnter = - b02Run->GetHitsMap(fSDName[i]+"/TrackEnter"); - G4THitsMap* SL = b02Run->GetHitsMap(fSDName[i]+"/SL"); - G4THitsMap* SLW = b02Run->GetHitsMap(fSDName[i]+"/SLW"); - G4THitsMap* SLWE = b02Run->GetHitsMap(fSDName[i]+"/SLWE"); - G4THitsMap* SLW_V = b02Run->GetHitsMap(fSDName[i]+"/SLW_V"); - G4THitsMap* SLWE_V = b02Run->GetHitsMap(fSDName[i]+"/SLWE_V"); + G4THitsMap* Collisions = b02Run->GetHitsMap(fSDName[i] + "/Collisions"); + G4THitsMap* CollWeight = b02Run->GetHitsMap(fSDName[i] + "/CollWeight"); + G4THitsMap* Population = b02Run->GetHitsMap(fSDName[i] + "/Population"); + G4THitsMap* TrackEnter = b02Run->GetHitsMap(fSDName[i] + "/TrackEnter"); + G4THitsMap* SL = b02Run->GetHitsMap(fSDName[i] + "/SL"); + G4THitsMap* SLW = b02Run->GetHitsMap(fSDName[i] + "/SLW"); + G4THitsMap* SLWE = b02Run->GetHitsMap(fSDName[i] + "/SLWE"); + G4THitsMap* SLW_V = b02Run->GetHitsMap(fSDName[i] + "/SLW_V"); + G4THitsMap* SLWE_V = b02Run->GetHitsMap(fSDName[i] + "/SLWE_V"); + + if (IsMaster()) { + G4cout << "\n--------------------End of Global Run-----------------------" << G4endl; + G4cout << " Number of event processed : " << aRun->GetNumberOfEvent() << G4endl; + } + else { + G4cout << "\n--------------------End of Local Run------------------------" << G4endl; + G4cout << " Number of event processed : " << aRun->GetNumberOfEvent() << G4endl; + } - if (IsMaster()) - { - G4cout << - "\n--------------------End of Global Run-----------------------" << - G4endl; - G4cout << - " Number of event processed : "<< aRun->GetNumberOfEvent() << G4endl; - } - else - { - G4cout << - "\n--------------------End of Local Run------------------------" << - G4endl; - G4cout << - " Number of event processed : "<< aRun->GetNumberOfEvent() << G4endl; - } - - G4cout << "=============================================================" - <GetCellName(iz); - G4cout - << std::setw(fFieldValue) << cname << " |" - << std::setw(fFieldValue) << (*TrackEnters) << " |" - << std::setw(fFieldValue) << (*Populations) << " |" - << std::setw(fFieldValue) << (*SumCollisions) << " |" - << std::setw(fFieldValue) << (*SumCollWeight) << " |" - << std::setw(fFieldValue) << NumWeightedEnergy << " |" - << std::setw(fFieldValue) << FluxWeightedEnergy << " |" - << std::setw(fFieldValue) << AverageTrackWeight << " |" - << std::setw(fFieldValue) << (*SLs) << " |" - << std::setw(fFieldValue) << (*SLWs) << " |" - << std::setw(fFieldValue) << (*SLW_Vs) << " |" - << std::setw(fFieldValue) << (*SLWEs) << " |" - << std::setw(fFieldValue) << (*SLWE_Vs) << " |" - << G4endl; + G4cout << std::setw(fFieldValue) << cname << " |" << std::setw(fFieldValue) << (*TrackEnters) + << " |" << std::setw(fFieldValue) << (*Populations) << " |" << std::setw(fFieldValue) + << (*SumCollisions) << " |" << std::setw(fFieldValue) << (*SumCollWeight) << " |" + << std::setw(fFieldValue) << NumWeightedEnergy << " |" << std::setw(fFieldValue) + << FluxWeightedEnergy << " |" << std::setw(fFieldValue) << AverageTrackWeight << " |" + << std::setw(fFieldValue) << (*SLs) << " |" << std::setw(fFieldValue) << (*SLWs) + << " |" << std::setw(fFieldValue) << (*SLW_Vs) << " |" << std::setw(fFieldValue) + << (*SLWEs) << " |" << std::setw(fFieldValue) << (*SLWE_Vs) << " |" << G4endl; } - G4cout << "============================================="< vecScoreName; vecScoreName.push_back("Tr.Entering"); @@ -220,36 +198,35 @@ void B02RunAction::PrintHeader(std::ostream *out) vecScoreName.push_back("SLWE_v"); // head line -// std::string vname; -// vname = FillString("Volume", ' ', fFieldName+1); + // std::string vname; + // vname = FillString("Volume", ' ', fFieldName+1); //*out << vname << '|'; - *out << std::setw(fFieldValue) << "Volume" << " |"; - for (std::vector::iterator it = vecScoreName.begin(); - it != vecScoreName.end(); it++) { -// vname = FillString((*it), -// ' ', -// fFieldValue+1, -// false); -// *out << vname << '|'; - *out << std::setw(fFieldValue) << (*it) << " |"; + *out << std::setw(fFieldValue) << "Volume" + << " |"; + for (std::vector::iterator it = vecScoreName.begin(); it != vecScoreName.end(); it++) { + // vname = FillString((*it), + // ' ', + // fFieldValue+1, + // false); + // *out << vname << '|'; + *out << std::setw(fFieldValue) << (*it) << " |"; } - *out << G4endl; + *out << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -std::string B02RunAction::FillString(const std::string &name, - char c, G4int n, G4bool back) +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); + fname += std::string(k, c); } else { - fname = std::string(k,c); + fname = std::string(k, c); fname += name; } } diff --git a/examples/extended/biasing/B03/exampleB03.cc b/examples/extended/biasing/B03/exampleB03.cc index 4cbbaf1df6d..279df4f51de 100644 --- a/examples/extended/biasing/B03/exampleB03.cc +++ b/examples/extended/biasing/B03/exampleB03.cc @@ -53,20 +53,17 @@ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include - -#include "G4Types.hh" +#include "B03ActionInitialization.hh" +#include "B03DetectorConstruction.hh" +#include "B03PhysicsList.hh" #include "G4RunManagerFactory.hh" - -#include "G4VPhysicalVolume.hh" -#include "G4UImanager.hh" #include "G4SystemOfUnits.hh" +#include "G4Types.hh" +#include "G4UImanager.hh" +#include "G4VPhysicalVolume.hh" -#include "B03DetectorConstruction.hh" -#include "B03PhysicsList.hh" - -#include "B03ActionInitialization.hh" +#include // #include "B03PrimaryGeneratorAction.hh" // #include "B03RunAction.hh" @@ -74,13 +71,13 @@ #include "B03ImportanceDetectorConstruction.hh" // Files specific for biasing and scoring -//#include "G4Scorer.hh" +// #include "G4Scorer.hh" // #include "G4GeometrySampler.hh" #include "G4IStore.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int , char **) +int main(int, char**) { G4int numberOfEvents = 100; @@ -92,14 +89,13 @@ int main(int , char **) G4Random::setTheSeed(myseed); // create the detector --------------------------- - B03DetectorConstruction *detector = new B03DetectorConstruction(); + B03DetectorConstruction* detector = new B03DetectorConstruction(); runManager->SetUserInitialization(detector); // --------------------------------------------------- // create a parallel detector G4String parallelName("ParallelBiasingWorld"); - B03ImportanceDetectorConstruction *pdet = - new B03ImportanceDetectorConstruction(parallelName); + B03ImportanceDetectorConstruction* pdet = new B03ImportanceDetectorConstruction(parallelName); detector->RegisterParallelWorld(pdet); // G4GeometrySampler pgs(pdet->GetWorldVolume(),"neutron"); @@ -109,19 +105,19 @@ int main(int , char **) // push parallel world to store in case of multiple worlds: physlist->AddParallelWorldName(parallelName); // physlist->AddParallelWorldName(parallelName); - //physlist->AddParallelWorldName(sparallelName); + // physlist->AddParallelWorldName(sparallelName); // physlist->AddBiasing(&pgs,parallelName); runManager->SetUserInitialization(physlist); - // Set user action classes through Worker Initialization - // + // Set user action classes through Worker Initialization + // B03ActionInitialization* actions = new B03ActionInitialization; runManager->SetUserInitialization(actions); -// runManager->SetUserAction(new B03PrimaryGeneratorAction); -// // runManager->SetUserAction(new B03PrimaryGeneratorAction(ifElectron)); -// runManager->SetUserAction(new B03RunAction); + // runManager->SetUserAction(new B03PrimaryGeneratorAction); + // // runManager->SetUserAction(new B03PrimaryGeneratorAction(ifElectron)); + // runManager->SetUserAction(new B03RunAction); runManager->Initialize(); @@ -129,7 +125,7 @@ int main(int , char **) G4cout << " ghost world: " << pdet->GetName() << G4endl; // create an importance - G4IStore *aIstore = G4IStore::GetInstance(pdet->GetName()); + G4IStore* aIstore = G4IStore::GetInstance(pdet->GetName()); // create a geometry cell for the world volume replpicanumber is 0! G4GeometryCell gWorldVolumeCell(aghostWorld, 0); @@ -138,13 +134,12 @@ int main(int , char **) // set importance values and create scorers G4int cell(1); - for (cell=1; cell<=18; cell++) { + for (cell = 1; cell <= 18; cell++) { G4GeometryCell gCell = pdet->GetGeometryCell(cell); - G4cout << " adding cell: " << cell - << " replica: " << gCell.GetReplicaNumber() + G4cout << " adding cell: " << cell << " replica: " << gCell.GetReplicaNumber() << " name: " << gCell.GetPhysicalVolume().GetName() << G4endl; - G4double imp = std::pow(2.0,cell-1); - //x aIstore.AddImportanceGeometryCell(imp, gCell); + G4double imp = std::pow(2.0, cell - 1); + // x aIstore.AddImportanceGeometryCell(imp, gCell); aIstore->AddImportanceGeometryCell(imp, gCell.GetPhysicalVolume(), cell); } @@ -155,16 +150,16 @@ int main(int , char **) // with the same importance as the last concrete cell G4GeometryCell gCell = pdet->GetGeometryCell(19); // G4double imp = std::pow(2.0,18); - G4double imp = std::pow(2.0,17); + G4double imp = std::pow(2.0, 17); aIstore->AddImportanceGeometryCell(imp, gCell.GetPhysicalVolume(), 19); - //temporary fix before runManager->BeamOn works... + // temporary fix before runManager->BeamOn works... G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4String command1 = "/control/cout/setCoutFile fileName"; UImanager->ApplyCommand(command1); - G4String command2 = "/run/beamOn " - + G4UIcommand::ConvertToString(numberOfEvents);; + G4String command2 = "/run/beamOn " + G4UIcommand::ConvertToString(numberOfEvents); + ; UImanager->ApplyCommand(command2); // runManager->BeamOn(numberOfEvents); diff --git a/examples/extended/biasing/B03/exampleB03.out b/examples/extended/biasing/B03/exampleB03.out index fa96658b8e3..d6c96ba6de2 100644 --- a/examples/extended/biasing/B03/exampleB03.out +++ b/examples/extended/biasing/B03/exampleB03.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -219,7 +219,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -534,7 +534,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -557,7 +557,7 @@ Max 2J for sampling of angular correlations 10 *** G4Exception : GeomBias1001 issued by : G4ImportanceAlgorithm::Warning() Calculate() - ipre_over_ipost ! in [0.25, 4]. -ipre_over_ipost = 4096. +ipre_over_ipost = 256. *** This is just a warning message. *** -------- WWWW -------- G4Exception-END --------- WWWW ------- @@ -577,24 +577,24 @@ ipre_over_ipost = 4096. ============================================================= ============================================================= Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v | - cell_00 | 41 | 138 | 0 | 0 | 0.00240356 | 1.077 | 1 | 6159.05 | 6159.05 | 132125 | 6633.31 | 317.572 | - cell_01 | 169 | 190 | 424 | 424 | 0.00228811 | 4.17243 | 1 | 26415.8 | 26415.8 | 1.33919e+06 | 110218 | 3064.22 | - cell_02 | 214 | 330 | 1045 | 522.5 | 0.00139409 | 2.60265 | 0.5 | 62000 | 31000 | 1.85181e+06 | 80682.3 | 2581.59 | - cell_03 | 346 | 495 | 1906 | 476.5 | 0.000819533 | 1.92913 | 0.25 | 99535 | 24883.7 | 1.98326e+06 | 48004.1 | 1625.35 | - cell_04 | 514 | 734 | 2900 | 362.5 | 0.000357048 | 1.45063 | 0.125 | 152907 | 19113.3 | 2.83986e+06 | 27726.4 | 1013.96 | - cell_05 | 791 | 1072 | 4505 | 281.562 | 0.000230628 | 1.12145 | 0.0625 | 219777 | 13736.1 | 2.51847e+06 | 15404.3 | 580.831 | - cell_06 | 1115 | 1536 | 6610 | 206.562 | 0.000195251 | 0.978478 | 0.03125 | 319346 | 9979.56 | 1.9451e+06 | 9764.78 | 379.782 | - cell_07 | 1392 | 1924 | 8315 | 129.922 | 0.000174929 | 0.967975 | 0.015625 | 391881 | 6123.15 | 1.31848e+06 | 5927.05 | 230.64 | - cell_08 | 1643 | 2277 | 9963 | 77.8359 | 0.000142129 | 0.834791 | 0.0078125 | 466220 | 3642.34 | 886228 | 3040.59 | 125.959 | - cell_09 | 2006 | 2718 | 12208 | 47.6875 | 0.000108686 | 0.698384 | 0.00390625 | 555809 | 2171.13 | 595026 | 1516.28 | 64.6712 | - cell_10 | 2322 | 3213 | 14494 | 28.3086 | 0.000100983 | 0.629744 | 0.00195312 | 652526 | 1274.47 | 349466 | 802.587 | 35.2903 | - cell_11 | 2691 | 3703 | 16774 | 16.3809 | 0.00010287 | 0.595493 | 0.000976562 | 750778 | 733.181 | 191158 | 436.605 | 19.6644 | - cell_12 | 3154 | 4300 | 20231 | 9.87842 | 9.35143e-05 | 0.529399 | 0.000488281 | 900435 | 439.666 | 115697 | 232.758 | 10.8193 | - cell_13 | 3565 | 4927 | 22717 | 5.54614 | 8.13106e-05 | 0.47145 | 0.000244141 | 1.0099e+06 | 246.558 | 68469.2 | 116.24 | 5.56727 | - cell_14 | 3813 | 5326 | 24435 | 2.98279 | 7.21813e-05 | 0.432703 | 0.00012207 | 1.07604e+06 | 131.353 | 38932 | 56.8368 | 2.81016 | - cell_15 | 4081 | 5699 | 27105 | 1.65436 | 6.85807e-05 | 0.431084 | 6.10352e-05 | 1.18065e+06 | 72.0609 | 22474.7 | 31.0643 | 1.54133 | - cell_16 | 4354 | 6061 | 27840 | 0.849609 | 6.75463e-05 | 0.439274 | 3.05176e-05 | 1.21743e+06 | 37.153 | 11950.1 | 16.3203 | 0.807187 | - cell_17 | 4405 | 6371 | 29171 | 0.445114 | 6.38365e-05 | 0.403215 | 1.52588e-05 | 1.27188e+06 | 19.4074 | 6260.36 | 7.82534 | 0.399639 | - cell_18 | 3155 | 5872 | 24533 | 0.187172 | 7.20439e-05 | 0.428497 | 7.62939e-06 | 1.08986e+06 | 8.315 | 2589.5 | 3.56295 | 0.186558 | - cell_19 | 2622 | 2622 | 0 | 0 | 9.85005e-05 | 0.549683 | 7.62939e-06 | 421241 | 3.21381 | 901.175 | 1.76658 | 0.0887662 | + cell_00 | 45 | 141 | 0 | 0 | 0.00284012 | 1.72472 | 1 | 7560.2 | 7560.2 | 179803 | 13039.2 | 510.662 | + cell_01 | 157 | 189 | 406 | 406 | 0.00248455 | 4.14 | 1 | 25379.5 | 25379.5 | 1.18743e+06 | 105071 | 2950.24 | + cell_02 | 211 | 319 | 1020 | 510 | 0.000939005 | 2.88328 | 0.5 | 55257.5 | 27628.7 | 2.57208e+06 | 79661.3 | 2415.2 | + cell_03 | 335 | 486 | 1853 | 463.25 | 0.000541882 | 1.9403 | 0.25 | 99248.9 | 24812.2 | 2.79309e+06 | 48143.3 | 1513.53 | + cell_04 | 521 | 717 | 3259 | 407.375 | 0.000347866 | 1.26681 | 0.125 | 154203 | 19275.4 | 2.49466e+06 | 24418.3 | 867.808 | + cell_05 | 811 | 1073 | 4855 | 303.438 | 0.000181836 | 1.02898 | 0.0625 | 229914 | 14369.6 | 3.05419e+06 | 14786.1 | 555.362 | + cell_06 | 1007 | 1401 | 6354 | 198.562 | 0.000152013 | 0.88442 | 0.03125 | 291283 | 9102.61 | 2.0972e+06 | 8050.53 | 318.802 | + cell_07 | 1253 | 1666 | 7821 | 122.203 | 0.000124385 | 0.714621 | 0.015625 | 351043 | 5485.05 | 1.31915e+06 | 3919.73 | 164.082 | + cell_08 | 1488 | 2073 | 9590 | 74.9219 | 9.57211e-05 | 0.63372 | 0.0078125 | 419361 | 3276.26 | 940280 | 2076.23 | 90.0046 | + cell_09 | 1655 | 2317 | 10575 | 41.3086 | 0.000104644 | 0.602613 | 0.00390625 | 470943 | 1839.62 | 471041 | 1108.58 | 49.2916 | + cell_10 | 1967 | 2686 | 12704 | 24.8125 | 8.67741e-05 | 0.539749 | 0.00195312 | 565763 | 1105.01 | 315578 | 596.426 | 27.384 | + cell_11 | 2293 | 3097 | 14172 | 13.8398 | 8.36225e-05 | 0.509666 | 0.000976562 | 633733 | 618.88 | 181520 | 315.422 | 15.1791 | + cell_12 | 2535 | 3493 | 15887 | 7.75732 | 7.80035e-05 | 0.503796 | 0.000488281 | 709075 | 346.228 | 107714 | 174.428 | 8.40204 | + cell_13 | 2743 | 3813 | 17690 | 4.31885 | 7.1278e-05 | 0.502967 | 0.000244141 | 780598 | 190.576 | 63314.8 | 95.8534 | 4.51295 | + cell_14 | 3023 | 4208 | 19113 | 2.33313 | 7.73867e-05 | 0.491617 | 0.00012207 | 849405 | 103.687 | 31817.7 | 50.9744 | 2.46227 | + cell_15 | 3309 | 4576 | 21338 | 1.30237 | 7.78715e-05 | 0.463999 | 6.10352e-05 | 944862 | 57.6698 | 16998.9 | 26.7588 | 1.32373 | + cell_16 | 3568 | 4965 | 22884 | 0.698364 | 6.83912e-05 | 0.436182 | 3.05176e-05 | 996635 | 30.4149 | 9753.6 | 13.2664 | 0.667061 | + cell_17 | 3633 | 5244 | 23676 | 0.361267 | 6.90973e-05 | 0.437683 | 1.52588e-05 | 1.04302e+06 | 15.9153 | 5162.78 | 6.96584 | 0.356734 | + cell_18 | 2662 | 4969 | 20517 | 0.156532 | 7.75273e-05 | 0.478 | 7.62939e-06 | 917505 | 7.00001 | 2219.44 | 3.34601 | 0.172068 | + cell_19 | 2329 | 2329 | 0 | 0 | 0.000124413 | 0.614934 | 7.62939e-06 | 372364 | 2.84091 | 684.426 | 1.74697 | 0.0851516 | ============================================= diff --git a/examples/extended/biasing/B03/include/B03ActionInitialization.hh b/examples/extended/biasing/B03/include/B03ActionInitialization.hh index 0bbd3cb2597..002416d3ca7 100644 --- a/examples/extended/biasing/B03/include/B03ActionInitialization.hh +++ b/examples/extended/biasing/B03/include/B03ActionInitialization.hh @@ -37,14 +37,12 @@ class B03ActionInitialization : public G4VUserActionInitialization { public: - B03ActionInitialization(); + B03ActionInitialization(); virtual ~B03ActionInitialization(); public: virtual void BuildForMaster() const; virtual void Build() const; - }; #endif - diff --git a/examples/extended/biasing/B03/include/B03DetectorConstruction.hh b/examples/extended/biasing/B03/include/B03DetectorConstruction.hh index 07c85f9b75e..3e044efa6c7 100644 --- a/examples/extended/biasing/B03/include/B03DetectorConstruction.hh +++ b/examples/extended/biasing/B03/include/B03DetectorConstruction.hh @@ -32,33 +32,31 @@ #ifndef B03DetectorConstruction_hh #define B03DetectorConstruction_hh B03DetectorConstruction_hh -#include "globals.hh" #include "G4VUserDetectorConstruction.hh" +#include "globals.hh" class G4VPhysicalVolume; class G4IStore; class B03DetectorConstruction : public G4VUserDetectorConstruction { -public: - B03DetectorConstruction(); - ~B03DetectorConstruction(); - - virtual G4VPhysicalVolume* Construct(); - - G4VPhysicalVolume* GetWorldVolume(); - G4VPhysicalVolume& GetWorldVolumeAddress() const; + public: + B03DetectorConstruction(); + ~B03DetectorConstruction(); - // G4String GetCellName(G4int i); + virtual G4VPhysicalVolume* Construct(); - void SetSensitive(); + G4VPhysicalVolume* GetWorldVolume(); + G4VPhysicalVolume& GetWorldVolumeAddress() const; - // virtual void ConstructSDandField(); + // G4String GetCellName(G4int i); -private: + void SetSensitive(); - G4VPhysicalVolume* fWorldVolume; + // virtual void ConstructSDandField(); + private: + G4VPhysicalVolume* fWorldVolume; }; #endif diff --git a/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh b/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh index 38d4e12fde7..8afbfc68684 100644 --- a/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh +++ b/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh @@ -29,49 +29,49 @@ // // -#ifndef B03ImportanceDetectorConstruction_hh -#define B03ImportanceDetectorConstruction_hh B03ImportanceDetectorConstruction_hh +#ifndef B03ImportanceDetectorConstruction_hh +#define B03ImportanceDetectorConstruction_hh B03ImportanceDetectorConstruction_hh -#include "globals.hh" -#include -#include -#include "G4GeometryCell.hh" #include "B03PVolumeStore.hh" +#include "G4GeometryCell.hh" #include "G4VUserParallelWorld.hh" +#include "globals.hh" + +#include +#include class G4VPhysicalVolume; class G4LogicalVolume; class B03ImportanceDetectorConstruction : public G4VUserParallelWorld { -public: - B03ImportanceDetectorConstruction(G4String worldName); - ~B03ImportanceDetectorConstruction(); - - const G4VPhysicalVolume &GetPhysicalVolumeByName(const G4String& name) const; - G4VPhysicalVolume &GetWorldVolumeAddress() const; - G4String ListPhysNamesAsG4String(); - G4String GetCellName(G4int i); - G4GeometryCell GetGeometryCell(G4int i); + public: + B03ImportanceDetectorConstruction(G4String worldName); + ~B03ImportanceDetectorConstruction(); - G4VPhysicalVolume* GetWorldVolume(); + const G4VPhysicalVolume& GetPhysicalVolumeByName(const G4String& name) const; + G4VPhysicalVolume& GetWorldVolumeAddress() const; + G4String ListPhysNamesAsG4String(); + G4String GetCellName(G4int i); + G4GeometryCell GetGeometryCell(G4int i); - void SetSensitive(); + G4VPhysicalVolume* GetWorldVolume(); - virtual void ConstructSD(); + void SetSensitive(); -private: - virtual void Construct(); - B03PVolumeStore fPVolumeStore; + virtual void ConstructSD(); - // std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; - std::vector< G4LogicalVolume * > fLogicalVolumeVector; + private: + virtual void Construct(); + B03PVolumeStore fPVolumeStore; - // G4VPhysicalVolume *fWorldVolume; + // std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; + std::vector fLogicalVolumeVector; - G4VPhysicalVolume* fGhostWorld; + // G4VPhysicalVolume *fWorldVolume; + G4VPhysicalVolume* fGhostWorld; }; #endif diff --git a/examples/extended/biasing/B03/include/B03PVolumeStore.hh b/examples/extended/biasing/B03/include/B03PVolumeStore.hh index ab01b1b12e5..e0edccd89a1 100644 --- a/examples/extended/biasing/B03/include/B03PVolumeStore.hh +++ b/examples/extended/biasing/B03/include/B03PVolumeStore.hh @@ -27,7 +27,7 @@ /// \brief Definition of the B03PVolumeStore class // // -// GEANT4 tag +// GEANT4 tag // // ---------------------------------------------------------------------- // Class B03PVolumeStore @@ -42,24 +42,26 @@ #ifndef B03PVolumeStore_hh #define B03PVolumeStore_hh B03PVolumeStore_hh -#include "globals.hh" -#include #include "G4GeometryCell.hh" #include "G4GeometryCellComp.hh" +#include "globals.hh" + +#include + +typedef std::set B03SetGeometryCell; -typedef std::set< G4GeometryCell, G4GeometryCellComp > B03SetGeometryCell; +class B03PVolumeStore +{ + public: + B03PVolumeStore(); + ~B03PVolumeStore(); -class B03PVolumeStore { -public: - B03PVolumeStore(); - ~B03PVolumeStore(); - - void AddPVolume(const G4GeometryCell &cell); - const G4VPhysicalVolume *GetPVolume(const G4String &name) const; - G4String GetPNames() const; + void AddPVolume(const G4GeometryCell& cell); + const G4VPhysicalVolume* GetPVolume(const G4String& name) const; + G4String GetPNames() const; -private: - B03SetGeometryCell fSetGeometryCell; + private: + B03SetGeometryCell fSetGeometryCell; }; #endif diff --git a/examples/extended/biasing/B03/include/B03PhysicsList.hh b/examples/extended/biasing/B03/include/B03PhysicsList.hh index 588e426b1e6..af7ef19d483 100644 --- a/examples/extended/biasing/B03/include/B03PhysicsList.hh +++ b/examples/extended/biasing/B03/include/B03PhysicsList.hh @@ -30,25 +30,24 @@ #ifndef B03PhysicsList_h #define B03PhysicsList_h 1 +#include "G4GeometrySampler.hh" #include "G4VUserPhysicsList.hh" #include "globals.hh" -#include "G4GeometrySampler.hh" #include // taken from Tst12PhysicsList -class B03PhysicsList: public G4VUserPhysicsList +class B03PhysicsList : public G4VUserPhysicsList { public: B03PhysicsList(G4String); virtual ~B03PhysicsList(); - public: - void AddParallelWorldName(G4String& pname) - {fParaWorldName.push_back(pname);} + public: + void AddParallelWorldName(G4String& pname) { fParaWorldName.push_back(pname); } - // void AddBiasing(G4GeometrySampler *mgs, G4String& pname) + // void AddBiasing(G4GeometrySampler *mgs, G4String& pname) // {fGeomSampler = mgs; fBiasWorldName = pname;} protected: @@ -56,33 +55,31 @@ class B03PhysicsList: public G4VUserPhysicsList virtual void ConstructParticle(); virtual void ConstructProcess(); - // + // virtual void SetCuts(); - + protected: - // these methods Construct physics processes and register them + // these methods Construct physics processes and register them virtual void ConstructGeneral(); virtual void ConstructEM(); virtual void ConstructHad(); virtual void ConstructLeptHad(); - void AddScoringProcess(); - void AddBiasingProcess(); + void AddScoringProcess(); + void AddBiasingProcess(); - // - void ConstructAllBosons(); - void ConstructAllLeptons(); - void ConstructAllMesons(); - void ConstructAllBaryons(); - void ConstructAllIons(); - void ConstructAllShortLiveds(); + // + void ConstructAllBosons(); + void ConstructAllLeptons(); + void ConstructAllMesons(); + void ConstructAllBaryons(); + void ConstructAllIons(); + void ConstructAllShortLiveds(); private: - std::vector fParaWorldName; - G4String fBiasWorldName; - // G4GeometrySampler* fGeomSampler; - + std::vector fParaWorldName; + G4String fBiasWorldName; + // G4GeometrySampler* fGeomSampler; }; #endif - diff --git a/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh b/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh index 971076b5448..f11cc680e58 100644 --- a/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh @@ -29,7 +29,7 @@ // #ifndef B03PrimaryGeneratorAction_hh -#define B03PrimaryGeneratorAction_hh B03PrimaryGeneratorAction_hh +#define B03PrimaryGeneratorAction_hh B03PrimaryGeneratorAction_hh #include "G4VUserPrimaryGeneratorAction.hh" @@ -50,4 +50,3 @@ class B03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction }; #endif - diff --git a/examples/extended/biasing/B03/include/B03Run.hh b/examples/extended/biasing/B03/include/B03Run.hh index c0fd2bb66ec..10f09489a48 100644 --- a/examples/extended/biasing/B03/include/B03Run.hh +++ b/examples/extended/biasing/B03/include/B03Run.hh @@ -27,10 +27,10 @@ /// \brief Definition of the B03Run class // // -// +// //--------------------------------------------------------------------- -// (Purpose) -// Example implementation for multi-functional-detector and +// (Purpose) +// Example implementation for multi-functional-detector and // primitive scorer. // This B03Run class has collections which accumulate // a event information into a run information. @@ -40,46 +40,45 @@ #ifndef B03Run_h #define B03Run_h 1 -#include "G4Run.hh" #include "G4Event.hh" - +#include "G4Run.hh" #include "G4THitsMap.hh" + #include // -class B03Run : public G4Run { - -public: - // constructor and destructor. - // vector of multifunctionaldetector name has to given to constructor. - B03Run(const std::vector mfdName); - virtual ~B03Run(); +class B03Run : public G4Run +{ + public: + // constructor and destructor. + // vector of multifunctionaldetector name has to given to constructor. + B03Run(const std::vector mfdName); + virtual ~B03Run(); -public: - // virtual method from G4Run. - // The method is overriden in this class for scoring. - virtual void RecordEvent(const G4Event*); + 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 fRunMap.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 fRunMap[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(); + // Access methods for scoring information. + // - Number of HitsMap for this RUN. + // This is equal to number of collections. + G4int GetNumberOfHitsMap() const { return fRunMap.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 fRunMap[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(); - virtual void Merge(const G4Run*); + virtual void Merge(const G4Run*); -private: - std::vector fCollName; - std::vector fCollID; - std::vector*> fRunMap; + private: + std::vector fCollName; + std::vector fCollID; + std::vector*> fRunMap; }; // diff --git a/examples/extended/biasing/B03/include/B03RunAction.hh b/examples/extended/biasing/B03/include/B03RunAction.hh index 863ed56ea09..a0565a3d809 100644 --- a/examples/extended/biasing/B03/include/B03RunAction.hh +++ b/examples/extended/biasing/B03/include/B03RunAction.hh @@ -27,49 +27,48 @@ /// \brief Definition of the B03RunAction class // // -// +// #ifndef B03RunAction_h #define B03RunAction_h 1 #include "G4UserRunAction.hh" #include "globals.hh" + #include class G4Run; //======================================================================= // B03RunAction -// +// // // //======================================================================= // class B03RunAction : public G4UserRunAction { -public: - // constructor and destructor - B03RunAction(); - virtual ~B03RunAction(); - -public: - // virtual method from G4UserRunAction. - virtual G4Run* GenerateRun(); - virtual void BeginOfRunAction(const G4Run*); - virtual void EndOfRunAction(const G4Run*); + public: + // constructor and destructor + B03RunAction(); + virtual ~B03RunAction(); -public: - void PrintHeader(std::ostream *out); - std::string FillString(const std::string &name, char c, G4int n, - G4bool back=true); + public: + // virtual method from G4UserRunAction. + virtual G4Run* GenerateRun(); + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); -private: - // Data member - // - vector of MultiFunctionalDetecor names. - std::vector fSDName; - // G4int fFieldName; - G4int fFieldValue; + 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 fSDName; + // G4int fFieldName; + G4int fFieldValue; }; // diff --git a/examples/extended/biasing/B03/src/B03ActionInitialization.cc b/examples/extended/biasing/B03/src/B03ActionInitialization.cc index 42e46d1d46e..cc58827fda5 100644 --- a/examples/extended/biasing/B03/src/B03ActionInitialization.cc +++ b/examples/extended/biasing/B03/src/B03ActionInitialization.cc @@ -30,18 +30,23 @@ // #include "B03ActionInitialization.hh" + #include "B03PrimaryGeneratorAction.hh" #include "B03RunAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B03ActionInitialization::B03ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B03ActionInitialization::~B03ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,11 +59,8 @@ void B03ActionInitialization::BuildForMaster() const void B03ActionInitialization::Build() const { - SetUserAction(new B03PrimaryGeneratorAction); SetUserAction(new B03RunAction); - } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B03/src/B03DetectorConstruction.cc b/examples/extended/biasing/B03/src/B03DetectorConstruction.cc index b47c633e04b..e0ca97230b0 100644 --- a/examples/extended/biasing/B03/src/B03DetectorConstruction.cc +++ b/examples/extended/biasing/B03/src/B03DetectorConstruction.cc @@ -28,44 +28,46 @@ // // // -#include "G4Types.hh" -#include "globals.hh" - #include "B03DetectorConstruction.hh" -#include "G4Material.hh" #include "G4Box.hh" -#include "G4Tubs.hh" +#include "G4Colour.hh" #include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "G4Tubs.hh" +#include "G4Types.hh" +#include "G4VisAttributes.hh" +#include "globals.hh" // 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" +#include "G4SDManager.hh" +#include "G4SDParticleFilter.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B03DetectorConstruction::B03DetectorConstruction() - : G4VUserDetectorConstruction() -{;} +B03DetectorConstruction::B03DetectorConstruction() : G4VUserDetectorConstruction() +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B03DetectorConstruction::~B03DetectorConstruction() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +75,7 @@ G4VPhysicalVolume* B03DetectorConstruction::Construct() { G4double pos_x; G4double pos_y; - G4double pos_z; + G4double pos_z; G4double density, pressure, temperature; G4double A; @@ -83,56 +85,54 @@ G4VPhysicalVolume* B03DetectorConstruction::Construct() G4double z; G4double fractionmass; - A = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H" , Z= 1, A); + 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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); + 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 = 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; + 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); - + 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 @@ -140,52 +140,41 @@ G4VPhysicalVolume* B03DetectorConstruction::Construct() // world solid - G4double innerRadiusCylinder = 0*cm; - G4double outerRadiusCylinder = 101*cm; // dont't have scoring - // cells coinside eith world volume boundary + G4double innerRadiusCylinder = 0 * cm; + G4double outerRadiusCylinder = 101 * cm; // dont't have scoring + // cells coinside eith world volume boundary // G4double heightCylinder = 105*cm; - G4double heightCylinder = 100*cm; - G4double startAngleCylinder = 0*deg; - G4double spanningAngleCylinder = 360*deg; + G4double heightCylinder = 100 * cm; + G4double startAngleCylinder = 0 * deg; + G4double spanningAngleCylinder = 360 * deg; - G4Tubs *worldCylinder = new G4Tubs("worldCylinder", - innerRadiusCylinder, - outerRadiusCylinder, - heightCylinder, - startAngleCylinder, - spanningAngleCylinder); + G4Tubs* worldCylinder = new G4Tubs("worldCylinder", innerRadiusCylinder, outerRadiusCylinder, + heightCylinder, startAngleCylinder, spanningAngleCylinder); // logical world - G4LogicalVolume *worldCylinder_log = + G4LogicalVolume* worldCylinder_log = new G4LogicalVolume(worldCylinder, Galactic, "worldCylinder_log"); name = "shieldWorld"; - fWorldVolume = new G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log - ,name, 0, false, 0); + fWorldVolume = new G4PVPlacement(0, G4ThreeVector(0, 0, 0), worldCylinder_log, name, 0, false, 0); // creating 18 slobs of 10 cm thick concrete - G4double innerRadiusShield = 0*cm; - G4double outerRadiusShield = 100*cm; - G4double heightShield = 90*cm; - G4double startAngleShield = 0*deg; - G4double spanningAngleShield = 360*deg; - - G4Tubs *aShield = new G4Tubs("aShield", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - + G4double innerRadiusShield = 0 * cm; + G4double outerRadiusShield = 100 * cm; + G4double heightShield = 90 * cm; + G4double startAngleShield = 0 * deg; + G4double spanningAngleShield = 360 * deg; + + G4Tubs* aShield = new G4Tubs("aShield", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + // logical shield - G4LogicalVolume *aShield_log = - new G4LogicalVolume(aShield, Concrete, "aShield_log"); + G4LogicalVolume* aShield_log = new G4LogicalVolume(aShield, Concrete, "aShield_log"); - G4VisAttributes* pShieldVis = new - G4VisAttributes(G4Colour(0.0,0.0,1.0)); + G4VisAttributes* pShieldVis = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0)); pShieldVis->SetForceSolid(true); aShield_log->SetVisAttributes(pShieldVis); @@ -193,18 +182,12 @@ G4VPhysicalVolume* B03DetectorConstruction::Construct() name = "concreteShield"; - pos_x = 0*cm; - pos_y = 0*cm; + pos_x = 0 * cm; + pos_y = 0 * cm; pos_z = 0; - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aShield_log, - name, - worldCylinder_log, - false, - 0); - + new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), aShield_log, name, worldCylinder_log, + false, 0); return fWorldVolume; } @@ -218,13 +201,15 @@ G4VPhysicalVolume* B03DetectorConstruction::Construct() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume *B03DetectorConstruction::GetWorldVolume() { - return fWorldVolume; +G4VPhysicalVolume* B03DetectorConstruction::GetWorldVolume() +{ + return fWorldVolume; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume &B03DetectorConstruction::GetWorldVolumeAddress() const{ +G4VPhysicalVolume& B03DetectorConstruction::GetWorldVolumeAddress() const +{ return *fWorldVolume; } diff --git a/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc b/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc index 0a07834dd7f..61c305c5b44 100644 --- a/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc +++ b/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc @@ -29,33 +29,32 @@ // // -#include "globals.hh" -#include - #include "B03ImportanceDetectorConstruction.hh" -#include "G4Material.hh" -#include "G4Tubs.hh" #include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "G4Tubs.hh" +#include "globals.hh" + +#include // For Primitive Scorers -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" -#include "G4SDParticleFilter.hh" #include "G4PSNofCollision.hh" #include "G4PSPopulation.hh" #include "G4PSTrackCounter.hh" #include "G4PSTrackLength.hh" +#include "G4SDManager.hh" +#include "G4SDParticleFilter.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B03ImportanceDetectorConstruction:: -B03ImportanceDetectorConstruction(G4String worldName) -:G4VUserParallelWorld(worldName),fLogicalVolumeVector() +B03ImportanceDetectorConstruction::B03ImportanceDetectorConstruction(G4String worldName) + : G4VUserParallelWorld(worldName), fLogicalVolumeVector() { // Construct(); } @@ -70,16 +69,16 @@ B03ImportanceDetectorConstruction::~B03ImportanceDetectorConstruction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void B03ImportanceDetectorConstruction::Construct() -{ +{ G4cout << " constructing parallel world " << G4endl; - G4Material* dummyMat = 0; + G4Material* dummyMat = 0; - //GetWorld methods create a clone of the mass world to the parallel world (!) - // via the transportation manager + // GetWorld methods create a clone of the mass world to the parallel world (!) + // via the transportation manager fGhostWorld = GetWorld(); - G4cout << " B03ImportanceDetectorConstruction:: ghostWorldName = " - << fGhostWorld->GetName() << G4endl; + G4cout << " B03ImportanceDetectorConstruction:: ghostWorldName = " << fGhostWorld->GetName() + << G4endl; G4LogicalVolume* worldLogical = fGhostWorld->GetLogicalVolume(); fLogicalVolumeVector.push_back(worldLogical); @@ -89,45 +88,33 @@ void B03ImportanceDetectorConstruction::Construct() // creating 18 slobs of 10 cm thicknes - G4double innerRadiusShield = 0*cm; - G4double outerRadiusShield = 100*cm; - G4double heightShield = 5*cm; - G4double startAngleShield = 0*deg; - G4double spanningAngleShield = 360*deg; - - G4Tubs *aShield = new G4Tubs("aShield", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - + G4double innerRadiusShield = 0 * cm; + G4double outerRadiusShield = 100 * cm; + G4double heightShield = 5 * cm; + G4double startAngleShield = 0 * deg; + G4double spanningAngleShield = 360 * deg; + + G4Tubs* aShield = new G4Tubs("aShield", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + // logical parallel cells - G4LogicalVolume *aShield_log_imp = - new G4LogicalVolume(aShield, dummyMat, "aShield_log_imp"); + G4LogicalVolume* aShield_log_imp = new G4LogicalVolume(aShield, dummyMat, "aShield_log_imp"); fLogicalVolumeVector.push_back(aShield_log_imp); // physical parallel cells G4int i = 1; - G4double startz = -85*cm; + 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); - - G4double pos_x = 0*cm; - G4double pos_y = 0*cm; - G4double pos_z = startz + (i-1) * (2*heightShield); - G4VPhysicalVolume *pvol = - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aShield_log_imp, - name, - worldLogical, - false, - i); + + G4double pos_x = 0 * cm; + G4double pos_y = 0 * cm; + G4double pos_z = startz + (i - 1) * (2 * heightShield); + G4VPhysicalVolume* pvol = new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), + aShield_log_imp, name, worldLogical, false, i); // 0); G4GeometryCell cell(*pvol, i); // G4GeometryCell cell(*pvol, 0); @@ -135,71 +122,62 @@ void B03ImportanceDetectorConstruction::Construct() } // filling the rest of the world volumr behind the concrete with - // another slob which should get the same importance value as the + // another slob which should get the same importance value as the // last slob - innerRadiusShield = 0*cm; + innerRadiusShield = 0 * cm; // outerRadiusShield = 110*cm; exceeds world volume!!!! - outerRadiusShield = 100*cm; + outerRadiusShield = 100 * cm; // heightShield = 10*cm; - heightShield = 5*cm; - startAngleShield = 0*deg; - spanningAngleShield = 360*deg; - - G4Tubs *aRest = new G4Tubs("Rest", - innerRadiusShield, - outerRadiusShield, - heightShield, - startAngleShield, - spanningAngleShield); - - G4LogicalVolume *aRest_log = - new G4LogicalVolume(aRest, dummyMat, "aRest_log"); + heightShield = 5 * cm; + startAngleShield = 0 * deg; + spanningAngleShield = 360 * deg; + + G4Tubs* aRest = new G4Tubs("Rest", innerRadiusShield, outerRadiusShield, heightShield, + startAngleShield, spanningAngleShield); + + G4LogicalVolume* aRest_log = new G4LogicalVolume(aRest, dummyMat, "aRest_log"); fLogicalVolumeVector.push_back(aRest_log); name = GetCellName(19); - - G4double pos_x = 0*cm; - G4double pos_y = 0*cm; + + G4double pos_x = 0 * cm; + G4double pos_y = 0 * 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, - worldLogical, - false, - 19); + G4double pos_z = 95 * cm; + G4VPhysicalVolume* pvol = new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), aRest_log, + name, worldLogical, false, 19); // 0); G4GeometryCell cell(*pvol, 19); // G4GeometryCell cell(*pvol, 0); fPVolumeStore.AddPVolume(cell); SetSensitive(); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const G4VPhysicalVolume &B03ImportanceDetectorConstruction:: -GetPhysicalVolumeByName(const G4String& name) const { +const G4VPhysicalVolume& +B03ImportanceDetectorConstruction::GetPhysicalVolumeByName(const G4String& name) const +{ return *fPVolumeStore.GetPVolume(name); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4String B03ImportanceDetectorConstruction::ListPhysNamesAsG4String(){ +G4String B03ImportanceDetectorConstruction::ListPhysNamesAsG4String() +{ G4String names(fPVolumeStore.GetPNames()); return names; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4String B03ImportanceDetectorConstruction::GetCellName(G4int i) { +G4String B03ImportanceDetectorConstruction::GetCellName(G4int i) +{ std::ostringstream os; os << "cell_"; - if (i<10) { + if (i < 10) { os << "0"; } os << i; @@ -209,37 +187,39 @@ G4String B03ImportanceDetectorConstruction::GetCellName(G4int i) { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4GeometryCell B03ImportanceDetectorConstruction::GetGeometryCell(G4int i){ +G4GeometryCell B03ImportanceDetectorConstruction::GetGeometryCell(G4int i) +{ G4String name(GetCellName(i)); - const G4VPhysicalVolume *p=0; + const G4VPhysicalVolume* p = 0; p = fPVolumeStore.GetPVolume(name); if (p) { - return G4GeometryCell(*p,0); + return G4GeometryCell(*p, 0); } else { G4cout << "B03ImportanceDetectorConstruction::GetGeometryCell: " << G4endl << " couldn't get G4GeometryCell" << G4endl; - return G4GeometryCell(*fGhostWorld,-2); + return G4GeometryCell(*fGhostWorld, -2); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume &B03ImportanceDetectorConstruction:: -GetWorldVolumeAddress() const{ - return *fGhostWorld; +G4VPhysicalVolume& B03ImportanceDetectorConstruction::GetWorldVolumeAddress() const +{ + return *fGhostWorld; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume *B03ImportanceDetectorConstruction::GetWorldVolume() { +G4VPhysicalVolume* B03ImportanceDetectorConstruction::GetWorldVolume() +{ return fGhostWorld; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void B03ImportanceDetectorConstruction::SetSensitive(){ - +void B03ImportanceDetectorConstruction::SetSensitive() +{ // ------------------------------------------------- // The collection names of defined Primitives are // 0 ConcreteSD/Collisions @@ -253,14 +233,12 @@ void B03ImportanceDetectorConstruction::SetSensitive(){ // 8 ConcreteSD/SLWE_V // ------------------------------------------------- - //now moved to ConstructSD() - + // now moved to ConstructSD() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void B03ImportanceDetectorConstruction::ConstructSD() { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); // // Sensitive Detector Name @@ -271,56 +249,54 @@ void B03ImportanceDetectorConstruction::ConstructSD() //------------------------ // // Define MultiFunctionalDetector with name. - G4MultiFunctionalDetector* MFDet = - new G4MultiFunctionalDetector(concreteSDname); - SDman->AddNewDetector( MFDet ); // Register SD to SDManager + G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(concreteSDname); + SDman->AddNewDetector(MFDet); // Register SD to SDManager - G4String fltName,particleName; - G4SDParticleFilter* neutronFilter = - new G4SDParticleFilter(fltName="neutronFilter", particleName="neutron"); + 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++){ + for (std::vector::iterator it = fLogicalVolumeVector.begin(); + it != fLogicalVolumeVector.end(); it++) + { // (*it)->SetSensitiveDetector(MFDet); SetSensitiveDetector((*it)->GetName(), MFDet); } G4String psName; - G4PSNofCollision* scorer0 = new G4PSNofCollision(psName="Collisions"); + G4PSNofCollision* scorer0 = new G4PSNofCollision(psName = "Collisions"); MFDet->RegisterPrimitive(scorer0); - G4PSNofCollision* scorer1 = new G4PSNofCollision(psName="CollWeight"); + G4PSNofCollision* scorer1 = new G4PSNofCollision(psName = "CollWeight"); scorer1->Weighted(true); MFDet->RegisterPrimitive(scorer1); - G4PSPopulation* scorer2 = new G4PSPopulation(psName="Population"); + G4PSPopulation* scorer2 = new G4PSPopulation(psName = "Population"); MFDet->RegisterPrimitive(scorer2); - G4PSTrackCounter* scorer3 = - new G4PSTrackCounter(psName="TrackEnter",fCurrent_In); + G4PSTrackCounter* scorer3 = new G4PSTrackCounter(psName = "TrackEnter", fCurrent_In); MFDet->RegisterPrimitive(scorer3); - G4PSTrackLength* scorer4 = new G4PSTrackLength(psName="SL"); + G4PSTrackLength* scorer4 = new G4PSTrackLength(psName = "SL"); MFDet->RegisterPrimitive(scorer4); - G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW"); + G4PSTrackLength* scorer5 = new G4PSTrackLength(psName = "SLW"); scorer5->Weighted(true); MFDet->RegisterPrimitive(scorer5); - G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE"); + G4PSTrackLength* scorer6 = new G4PSTrackLength(psName = "SLWE"); scorer6->Weighted(true); scorer6->MultiplyKineticEnergy(true); MFDet->RegisterPrimitive(scorer6); - G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V"); + G4PSTrackLength* scorer7 = new G4PSTrackLength(psName = "SLW_V"); scorer7->Weighted(true); scorer7->DivideByVelocity(true); MFDet->RegisterPrimitive(scorer7); - G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V"); + G4PSTrackLength* scorer8 = new G4PSTrackLength(psName = "SLWE_V"); scorer8->Weighted(true); scorer8->MultiplyKineticEnergy(true); scorer8->DivideByVelocity(true); diff --git a/examples/extended/biasing/B03/src/B03PVolumeStore.cc b/examples/extended/biasing/B03/src/B03PVolumeStore.cc index d42696f3b09..83e867f8a8c 100644 --- a/examples/extended/biasing/B03/src/B03PVolumeStore.cc +++ b/examples/extended/biasing/B03/src/B03PVolumeStore.cc @@ -27,7 +27,7 @@ /// \brief Implementation of the B03PVolumeStore class // // -// GEANT4 tag +// GEANT4 tag // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -37,66 +37,65 @@ // ---------------------------------------------------------------------- #include "B03PVolumeStore.hh" -#include #include "G4VPhysicalVolume.hh" +#include + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B03PVolumeStore::B03PVolumeStore(){} +B03PVolumeStore::B03PVolumeStore() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B03PVolumeStore::~B03PVolumeStore(){} +B03PVolumeStore::~B03PVolumeStore() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void B03PVolumeStore::AddPVolume(const G4GeometryCell &cell){ - B03SetGeometryCell::iterator it = - fSetGeometryCell.find(cell); +void B03PVolumeStore::AddPVolume(const G4GeometryCell& cell) +{ + B03SetGeometryCell::iterator it = fSetGeometryCell.find(cell); if (it != fSetGeometryCell.end()) { - G4cout << "B03PVolumeStore::AddPVolume: cell already stored" - << G4endl; + G4cout << "B03PVolumeStore::AddPVolume: cell already stored" << G4endl; return; } fSetGeometryCell.insert(cell); - - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const G4VPhysicalVolume *B03PVolumeStore:: -GetPVolume(const G4String &name) const { - const G4VPhysicalVolume *pvol = 0; +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(); + it != fSetGeometryCell.end(); ++it) + { + const G4VPhysicalVolume& vol = it->GetPhysicalVolume(); if (vol.GetName() == name) { - pvol = &vol; - } + pvol = &vol; + } } if (!pvol) { - G4cout << "B03PVolumeStore::GetPVolume: no physical volume named: " - << name << ", found" << G4endl; + G4cout << "B03PVolumeStore::GetPVolume: no physical volume named: " << name << ", found" + << G4endl; } return pvol; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4String B03PVolumeStore::GetPNames() const { +G4String B03PVolumeStore::GetPNames() const +{ G4String NameString; for (B03SetGeometryCell::const_iterator it = fSetGeometryCell.begin(); - it != fSetGeometryCell.end(); ++it) { - const G4VPhysicalVolume &vol = it->GetPhysicalVolume(); + it != fSetGeometryCell.end(); ++it) + { + const G4VPhysicalVolume& vol = it->GetPhysicalVolume(); std::ostringstream os; - os << vol.GetName() << "_" << it->GetReplicaNumber() - << "\n"; + os << vol.GetName() << "_" << it->GetReplicaNumber() << "\n"; G4String cellname = os.str(); - + // G4String cellname(vol.GetName()); // cellname += G4String("_"); // cellname += std::str(it->GetReplicaNumber()); diff --git a/examples/extended/biasing/B03/src/B03PhysicsList.cc b/examples/extended/biasing/B03/src/B03PhysicsList.cc index 05ddcbab944..edfaa9cafe2 100644 --- a/examples/extended/biasing/B03/src/B03PhysicsList.cc +++ b/examples/extended/biasing/B03/src/B03PhysicsList.cc @@ -29,36 +29,35 @@ // // -#include "globals.hh" -#include - #include "B03PhysicsList.hh" +#include "G4BaryonConstructor.hh" +#include "G4BosonConstructor.hh" +#include "G4HadronicParameters.hh" +#include "G4IonConstructor.hh" +#include "G4LeptonConstructor.hh" +#include "G4Material.hh" +#include "G4MaterialTable.hh" +#include "G4MesonConstructor.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleTypes.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" #include "G4SystemOfUnits.hh" -#include "G4HadronicParameters.hh" +#include "globals.hh" + +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -B03PhysicsList::B03PhysicsList(G4String parallelname): -G4VUserPhysicsList(), -fBiasWorldName(parallelname) +B03PhysicsList::B03PhysicsList(G4String parallelname) + : G4VUserPhysicsList(), fBiasWorldName(parallelname) { fParaWorldName.clear(); - SetVerboseLevel(1); + SetVerboseLevel(1); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -75,7 +74,7 @@ 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. + // created in the program. ConstructAllBosons(); ConstructAllLeptons(); @@ -127,7 +126,7 @@ void B03PhysicsList::ConstructAllIons() { // Construct light ions G4IonConstructor pConstructor; - pConstructor.ConstructParticle(); + pConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -136,7 +135,7 @@ void B03PhysicsList::ConstructAllShortLiveds() { // Construct resonaces and quarks G4ShortLivedConstructor pConstructor; - pConstructor.ConstructParticle(); + pConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -156,74 +155,70 @@ void B03PhysicsList::ConstructProcess() #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4eMultipleScattering.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuMultipleScattering.hh" -#include "G4hMultipleScattering.hh" - -#include "G4eIonisation.hh" +#include "G4MuPairProduction.hh" +#include "G4PhotoElectricEffect.hh" #include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" #include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - #include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" void B03PhysicsList::ConstructEM() { - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - + if (particleName == "gamma") { - // gamma + // gamma // Construct processes for gamma pmanager->AddDiscreteProcess(new G4GammaConversion()); - pmanager->AddDiscreteProcess(new G4ComptonScattering()); + pmanager->AddDiscreteProcess(new G4ComptonScattering()); pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); - - } else if (particleName == "e-") { - //electron - // Construct processes for electron - pmanager->AddProcess(new G4eMultipleScattering(),-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 G4eMultipleScattering(),-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 G4MuMultipleScattering(),-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 G4hMultipleScattering(),-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 G4hMultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hIonisation(),-1,2,2); - } + } + else if (particleName == "e-") { + // electron + // Construct processes for electron + pmanager->AddProcess(new G4eMultipleScattering(), -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 G4eMultipleScattering(), -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 G4MuMultipleScattering(), -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 G4hMultipleScattering(), -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 G4hMultipleScattering(), -1, 1, 1); + pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); + } } } } @@ -233,35 +228,35 @@ void B03PhysicsList::ConstructEM() // Hadron Processes #include "G4HadronElasticProcess.hh" -#include "G4NeutronFissionProcess.hh" -#include "G4NeutronCaptureProcess.hh" #include "G4HadronInelasticProcess.hh" +#include "G4NeutronCaptureProcess.hh" +#include "G4NeutronFissionProcess.hh" // Low-energy Models #include "G4HadronElastic.hh" -#include "G4NeutronRadCapture.hh" #include "G4LFission.hh" +#include "G4NeutronRadCapture.hh" // -- generator models -#include "G4TheoFSGenerator.hh" -#include "G4ExcitationHandler.hh" +#include "G4BinaryLightIonReaction.hh" +#include "G4CascadeInterface.hh" #include "G4CompetitiveFission.hh" -#include "G4GeneratorPrecompoundInterface.hh" +#include "G4ExcitationHandler.hh" +#include "G4ExcitedStringDecay.hh" +#include "G4FTFModel.hh" #include "G4Fancy3DNucleus.hh" -#include "G4CascadeInterface.hh" -#include "G4StringModel.hh" +#include "G4GeneratorPrecompoundInterface.hh" +#include "G4LundStringFragmentation.hh" #include "G4PreCompoundModel.hh" -#include "G4FTFModel.hh" #include "G4QGSMFragmentation.hh" -#include "G4LundStringFragmentation.hh" -#include "G4ExcitedStringDecay.hh" #include "G4QMDReaction.hh" -#include "G4BinaryLightIonReaction.hh" +#include "G4StringModel.hh" +#include "G4TheoFSGenerator.hh" // Cross sections -#include "G4ComponentGGNuclNuclXsc.hh" #include "G4ComponentGGHadronNucleusXsc.hh" +#include "G4ComponentGGNuclNuclXsc.hh" #include "G4CrossSectionElastic.hh" #include "G4CrossSectionInelastic.hh" #include "G4NeutronInelasticXS.hh" @@ -279,68 +274,63 @@ void B03PhysicsList::ConstructHad() // this will be the model class for high energies G4TheoFSGenerator* theTheoModel = new G4TheoFSGenerator; G4TheoFSGenerator* antiBHighEnergyModel = new G4TheoFSGenerator; - + // Evaporation logic G4ExcitationHandler* theHandler = new G4ExcitationHandler; - theHandler->SetMinEForMultiFrag(3*MeV); - - // Pre equilibrium stage + 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); + G4GeneratorPrecompoundInterface* theCascade = new G4GeneratorPrecompoundInterface; + theCascade->SetDeExcitation(thePreEquilib); // Bertini cascade G4CascadeInterface* bertini = new G4CascadeInterface; - bertini->SetMaxEnergy(22*MeV); + bertini->SetMaxEnergy(22 * MeV); // here come the high energy parts G4VPartonStringModel* theStringModel; theStringModel = new G4FTFModel; theTheoModel->SetTransport(theCascade); theTheoModel->SetHighEnergyGenerator(theStringModel); - theTheoModel->SetMinEnergy(19*GeV); - theTheoModel->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergy() ); + theTheoModel->SetMinEnergy(19 * GeV); + theTheoModel->SetMaxEnergy(G4HadronicParameters::Instance()->GetMaxEnergy()); G4VLongitudinalStringDecay* theFragmentation = new G4QGSMFragmentation; - G4ExcitedStringDecay* theStringDecay = - new G4ExcitedStringDecay(theFragmentation); + G4ExcitedStringDecay* theStringDecay = new G4ExcitedStringDecay(theFragmentation); theStringModel->SetFragmentationModel(theStringDecay); // high energy model for anti-baryons antiBHighEnergyModel = new G4TheoFSGenerator("ANTI-FTFP"); G4FTFModel* antiBStringModel = new G4FTFModel; - G4ExcitedStringDecay* stringDecay = - new G4ExcitedStringDecay(new G4LundStringFragmentation); + G4ExcitedStringDecay* stringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); antiBStringModel->SetFragmentationModel(stringDecay); - G4GeneratorPrecompoundInterface* antiBCascade = - new G4GeneratorPrecompoundInterface; - G4PreCompoundModel* preEquilib = - new G4PreCompoundModel(new G4ExcitationHandler); + G4GeneratorPrecompoundInterface* antiBCascade = new G4GeneratorPrecompoundInterface; + G4PreCompoundModel* preEquilib = new G4PreCompoundModel(new G4ExcitationHandler); antiBCascade->SetDeExcitation(preEquilib); antiBHighEnergyModel->SetTransport(antiBCascade); antiBHighEnergyModel->SetHighEnergyGenerator(antiBStringModel); antiBHighEnergyModel->SetMinEnergy(0.0); - antiBHighEnergyModel->SetMaxEnergy(20*TeV); + antiBHighEnergyModel->SetMaxEnergy(20 * TeV); // Light ion models G4BinaryLightIonReaction* binaryCascade = new G4BinaryLightIonReaction; binaryCascade->SetMinEnergy(0.0); - binaryCascade->SetMaxEnergy(110*MeV); + binaryCascade->SetMaxEnergy(110 * MeV); G4QMDReaction* qmd = new G4QMDReaction; - qmd->SetMinEnergy(100*MeV); - qmd->SetMaxEnergy(10*GeV); + qmd->SetMinEnergy(100 * MeV); + qmd->SetMaxEnergy(10 * GeV); - G4VCrossSectionDataSet* ionXS = new G4CrossSectionInelastic( new G4ComponentGGNuclNuclXsc ); + G4VCrossSectionDataSet* ionXS = new G4CrossSectionInelastic(new G4ComponentGGNuclNuclXsc); - G4ComponentGGHadronNucleusXsc * ggHNXsec = new G4ComponentGGHadronNucleusXsc(); - G4VCrossSectionDataSet * theGGHNEl = new G4CrossSectionElastic(ggHNXsec); - G4VCrossSectionDataSet * theGGHNInel = new G4CrossSectionInelastic(ggHNXsec); + G4ComponentGGHadronNucleusXsc* ggHNXsec = new G4ComponentGGHadronNucleusXsc(); + G4VCrossSectionDataSet* theGGHNEl = new G4CrossSectionElastic(ggHNXsec); + G4VCrossSectionDataSet* theGGHNInel = new G4CrossSectionInelastic(ggHNXsec); // Elastic process G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess; @@ -348,89 +338,91 @@ void B03PhysicsList::ConstructHad() G4HadronElastic* theElasticModel = new G4HadronElastic; theElasticProcess->RegisterMe(theElasticModel); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - + if (particleName == "pi+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4PionPlus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } else if (particleName == "pi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4PionMinus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } else if (particleName == "kaon+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4KaonPlus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon0S") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4KaonZeroShort::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon0L") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4KaonZeroLong::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4KaonMinus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "proton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4Proton::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_proton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiProton::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(antiBHighEnergyModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - - } else if (particleName == "neutron") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4PionPlus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "pi-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4PionMinus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "kaon+") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4KaonPlus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "kaon0S") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4KaonZeroShort::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "kaon0L") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4KaonZeroLong::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "kaon-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4KaonMinus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "proton") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4Proton::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "anti_proton") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiProton::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(antiBHighEnergyModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "neutron") { // elastic scattering pmanager->AddDiscreteProcess(theElasticProcess); // inelastic scattering - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4Neutron::Definition() ); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4Neutron::Definition()); theInelasticProcess->AddDataSet(new G4NeutronInelasticXS()); theInelasticProcess->RegisterMe(bertini); theInelasticProcess->RegisterMe(theTheoModel); @@ -447,140 +439,140 @@ void B03PhysicsList::ConstructHad() G4NeutronRadCapture* theCaptureModel = new G4NeutronRadCapture; theCaptureProcess->RegisterMe(theCaptureModel); pmanager->AddDiscreteProcess(theCaptureProcess); - - } else if (particleName == "anti_neutron") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiNeutron::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(antiBHighEnergyModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - - } else if (particleName == "lambda") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4Lambda::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_lambda") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiLambda::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(antiBHighEnergyModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "sigma+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4SigmaPlus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "sigma-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4SigmaMinus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_sigma+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiSigmaPlus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(antiBHighEnergyModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_sigma-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiSigmaMinus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(antiBHighEnergyModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "xi0") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4XiZero::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "xi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4XiMinus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(bertini); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_xi0") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiXiZero::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(antiBHighEnergyModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_xi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiXiMinus::Definition() ); - theInelasticProcess->AddDataSet(theGGHNInel); - theInelasticProcess->RegisterMe(antiBHighEnergyModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "deuteron") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4Deuteron::Definition() ); - theInelasticProcess->RegisterMe(binaryCascade); - theInelasticProcess->RegisterMe(qmd); - theInelasticProcess->AddDataSet(ionXS); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "triton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4Triton::Definition() ); - theInelasticProcess->RegisterMe(binaryCascade); - theInelasticProcess->RegisterMe(qmd); - theInelasticProcess->AddDataSet(ionXS); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "alpha") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4Alpha::Definition() ); - theInelasticProcess->RegisterMe(binaryCascade); - theInelasticProcess->RegisterMe(qmd); - theInelasticProcess->AddDataSet(ionXS); - pmanager->AddDiscreteProcess(theInelasticProcess); - - } else if (particleName == "omega-") { + } + else if (particleName == "anti_neutron") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiNeutron::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(antiBHighEnergyModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "lambda") { pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4OmegaMinus::Definition() ); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4Lambda::Definition()); theInelasticProcess->AddDataSet(theGGHNInel); theInelasticProcess->RegisterMe(bertini); theInelasticProcess->RegisterMe(theTheoModel); pmanager->AddDiscreteProcess(theInelasticProcess); - - } else if (particleName == "anti_omega-") { + } + else if (particleName == "anti_lambda") { pmanager->AddDiscreteProcess(theElasticProcess); - G4HadronInelasticProcess* theInelasticProcess = - new G4HadronInelasticProcess( "inelastic", G4AntiOmegaMinus::Definition() ); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiLambda::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(antiBHighEnergyModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "sigma+") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4SigmaPlus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "sigma-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4SigmaMinus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "anti_sigma+") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiSigmaPlus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(antiBHighEnergyModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "anti_sigma-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiSigmaMinus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(antiBHighEnergyModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "xi0") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4XiZero::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "xi-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4XiMinus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "anti_xi0") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiXiZero::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(antiBHighEnergyModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "anti_xi-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiXiMinus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(antiBHighEnergyModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "deuteron") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4Deuteron::Definition()); + theInelasticProcess->RegisterMe(binaryCascade); + theInelasticProcess->RegisterMe(qmd); + theInelasticProcess->AddDataSet(ionXS); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "triton") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4Triton::Definition()); + theInelasticProcess->RegisterMe(binaryCascade); + theInelasticProcess->RegisterMe(qmd); + theInelasticProcess->AddDataSet(ionXS); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "alpha") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4Alpha::Definition()); + theInelasticProcess->RegisterMe(binaryCascade); + theInelasticProcess->RegisterMe(qmd); + theInelasticProcess->AddDataSet(ionXS); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "omega-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4OmegaMinus::Definition()); + theInelasticProcess->AddDataSet(theGGHNInel); + theInelasticProcess->RegisterMe(bertini); + theInelasticProcess->RegisterMe(theTheoModel); + pmanager->AddDiscreteProcess(theInelasticProcess); + } + else if (particleName == "anti_omega-") { + pmanager->AddDiscreteProcess(theElasticProcess); + G4HadronInelasticProcess* theInelasticProcess = + new G4HadronInelasticProcess("inelastic", G4AntiOmegaMinus::Definition()); theInelasticProcess->AddDataSet(theGGHNInel); theInelasticProcess->RegisterMe(antiBHighEnergyModel); pmanager->AddDiscreteProcess(theInelasticProcess); @@ -591,7 +583,9 @@ void B03PhysicsList::ConstructHad() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void B03PhysicsList::ConstructLeptHad() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -599,15 +593,15 @@ void B03PhysicsList::ConstructLeptHad() void B03PhysicsList::ConstructGeneral() { G4Decay* theDecayProcess = new G4Decay(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); + if (theDecayProcess->IsApplicable(*particle)) { + pmanager->AddProcess(theDecayProcess); + pmanager->SetProcessOrdering(theDecayProcess, idxPostStep); + pmanager->SetProcessOrdering(theDecayProcess, idxAtRest); } } } @@ -616,60 +610,57 @@ void B03PhysicsList::ConstructGeneral() void B03PhysicsList::SetCuts() { - if (verboseLevel >0) - { + 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(); + G4cout << "CutLength : " << defaultCutValue / mm << " (mm)" << G4endl; + } + // "G4VUserPhysicsList::SetCutsWithDefault" method sets + // the default cut value for all particle types + SetCutsWithDefault(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4ParallelWorldProcess.hh" -void B03PhysicsList::AddScoringProcess(){ - +void B03PhysicsList::AddScoringProcess() +{ G4int npw = fParaWorldName.size(); - for ( G4int i = 0; i < npw; i++){ - G4String procName = "ParaWorldProc_"+fParaWorldName[i]; - G4ParallelWorldProcess* theParallelWorldProcess - = new G4ParallelWorldProcess(procName); - theParallelWorldProcess->SetParallelWorld(fParaWorldName[i]); - - auto particleIterator=GetParticleIterator(); - particleIterator->reset(); - while( (*particleIterator)() ){ - G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - pmanager->AddProcess(theParallelWorldProcess); - if(theParallelWorldProcess->IsAtRestRequired(particle)) - {pmanager->SetProcessOrdering(theParallelWorldProcess, idxAtRest, 9900);} - pmanager->SetProcessOrderingToSecond(theParallelWorldProcess, idxAlongStep); - pmanager->SetProcessOrdering(theParallelWorldProcess, idxPostStep, 9900); - } + for (G4int i = 0; i < npw; i++) { + G4String procName = "ParaWorldProc_" + fParaWorldName[i]; + G4ParallelWorldProcess* theParallelWorldProcess = new G4ParallelWorldProcess(procName); + theParallelWorldProcess->SetParallelWorld(fParaWorldName[i]); + + auto particleIterator = GetParticleIterator(); + particleIterator->reset(); + while ((*particleIterator)()) { + G4ParticleDefinition* particle = particleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + pmanager->AddProcess(theParallelWorldProcess); + if (theParallelWorldProcess->IsAtRestRequired(particle)) { + pmanager->SetProcessOrdering(theParallelWorldProcess, idxAtRest, 9900); + } + pmanager->SetProcessOrderingToSecond(theParallelWorldProcess, idxAlongStep); + pmanager->SetProcessOrdering(theParallelWorldProcess, idxPostStep, 9900); + } } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ImportanceProcess.hh" #include "G4IStore.hh" -void B03PhysicsList::AddBiasingProcess(){ +#include "G4ImportanceProcess.hh" +void B03PhysicsList::AddBiasingProcess() +{ + G4cout << " Preparing Importance Sampling with GhostWorld " << fBiasWorldName << G4endl; - G4cout << " Preparing Importance Sampling with GhostWorld " - << fBiasWorldName << G4endl; - G4IStore* iStore = G4IStore::GetInstance(fBiasWorldName); - G4GeometrySampler fGeomSampler(fBiasWorldName,"neutron"); - fGeomSampler.SetParallel(true); // parallelworld + G4GeometrySampler fGeomSampler(fBiasWorldName, "neutron"); + fGeomSampler.SetParallel(true); // parallelworld // fGeomSampler.SetWorld(iStore->GetParallelWorldVolumePointer()); // fGeomSampler->PrepareImportanceSampling(G4IStore:: // GetInstance(fBiasWorldName), 0); static G4bool first = true; - if(first) { + if (first) { fGeomSampler.PrepareImportanceSampling(iStore, 0); fGeomSampler.Configure(); @@ -677,12 +668,11 @@ void B03PhysicsList::AddBiasingProcess(){ first = false; } -#ifdef G4MULTITHREADED - if(!G4Threading::IsMasterThread()) fGeomSampler.AddProcess(); +#ifdef G4MULTITHREADED + if (!G4Threading::IsMasterThread()) fGeomSampler.AddProcess(); #else G4cout << " Running in singlethreaded mode!!! " << G4endl; #endif - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc b/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc index 6a4daef2fb9..90a07a9f460 100644 --- a/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc @@ -29,26 +29,25 @@ // // -#include "globals.hh" - #include "B03PrimaryGeneratorAction.hh" #include "G4Event.hh" -#include "G4ParticleGun.hh" #include "G4Neutron.hh" -#include "G4ThreeVector.hh" +#include "G4ParticleGun.hh" #include "G4SystemOfUnits.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... B03PrimaryGeneratorAction::B03PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction(), fParticleGun(0) + : G4VUserPrimaryGeneratorAction(), fParticleGun(0) { G4int n_particle = 1; fParticleGun = new G4ParticleGun(n_particle); fParticleGun->SetParticleDefinition(G4Neutron::NeutronDefinition()); - fParticleGun->SetParticleEnergy(10.0*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.0, 0.0, -90.0005*cm)); + fParticleGun->SetParticleEnergy(10.0 * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0.0, 0.0, -90.0005 * cm)); fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.0, 0.0, 1.0)); } diff --git a/examples/extended/biasing/B03/src/B03Run.cc b/examples/extended/biasing/B03/src/B03Run.cc index b4189eab79d..5e40b0fc7d5 100644 --- a/examples/extended/biasing/B03/src/B03Run.cc +++ b/examples/extended/biasing/B03/src/B03Run.cc @@ -32,7 +32,7 @@ //===================================================================== // // (Description) -// B03Run Class is for accumulating scored quantities which is +// B03Run Class is for accumulating scored quantities which is // scored using G4MutiFunctionalDetector and G4VPrimitiveScorer. // Accumulation is done using G4THitsMap object. // @@ -41,10 +41,10 @@ // was assigned at instantiation of MultiFunctionalDetector(MFD). // Then B03Run constructor automatically scans primitive scorers // in the MFD, and obtains collectionIDs of all collections associated -// to those primitive scorers. Futhermore, the G4THitsMap objects +// 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 B03Run objects as // data members. // std::vector fCollName; // Collection Name, @@ -57,16 +57,16 @@ //===================================================================== #include "B03Run.hh" -#include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" +#include "G4SDManager.hh" #include "G4VPrimitiveScorer.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Constructor. +// Constructor. // (The vector of MultiFunctionalDetector name has to given.) -B03Run::B03Run(const std::vector mfdName): G4Run() +B03Run::B03Run(const std::vector mfdName) : G4Run() { G4SDManager* SDman = G4SDManager::GetSDMpointer(); //================================================= @@ -74,38 +74,36 @@ B03Run::B03Run(const std::vector mfdName): G4Run() // Get CollectionIDs for HitCollections. //================================================= G4int Nmfd = mfdName.size(); - for ( G4int idet = 0; idet < Nmfd ; idet++){ // Loop for all MFD. + 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 << "++ "<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 << "++ " << fullCollectionName << " id " << collectionID << G4endl; // Store obtained HitsCollection information into data members. // And, creates new G4THitsMap for accumulating quantities during RUN. - fCollName.push_back(fullCollectionName); - fCollID.push_back(collectionID); - fRunMap.push_back(new G4THitsMap(detName - ,collectionName)); - }else{ - G4cout << "** collection " << fullCollectionName - << " not found. "<(detName, collectionName)); + } + else { + G4cout << "** collection " << fullCollectionName << " not found. " << G4endl; } + } } } } @@ -118,8 +116,8 @@ B03Run::~B03Run() { //--- Clear HitsMap for RUN G4int Nmap = fRunMap.size(); - for ( G4int i = 0; i < Nmap; i++){ - if(fRunMap[i] ) fRunMap[i]->clear(); + for (G4int i = 0; i < Nmap; i++) { + if (fRunMap[i]) fRunMap[i]->clear(); } fCollName.clear(); fCollID.clear(); @@ -144,21 +142,20 @@ void B03Run::RecordEvent(const G4Event* aEvent) // Sum up HitsMap of this Event into HitsMap of this RUN //======================================================= G4int Ncol = fCollID.size(); - for ( G4int i = 0; i < Ncol ; i++ ){ // Loop over HitsCollection - G4THitsMap* EvtMap=0; - if ( fCollID[i] >= 0 ){ // Collection is attached to HCE + for (G4int i = 0; i < Ncol; i++) { // Loop over HitsCollection + G4THitsMap* EvtMap = 0; + if (fCollID[i] >= 0) { // Collection is attached to HCE EvtMap = (G4THitsMap*)(HCE->GetHC(fCollID[i])); - }else{ - G4cout <<" Error EvtMap Not Found "<< i << G4endl; } - if ( EvtMap ) { + else { + G4cout << " Error EvtMap Not Found " << i << G4endl; + } + if (EvtMap) { //=== Sum up HitsMap of this event to HitsMap of RUN.=== *fRunMap[i] += *EvtMap; //====================================================== } } - - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -167,11 +164,11 @@ void B03Run::RecordEvent(const G4Event* aEvent) // // Access HitsMap. // By MultiFunctionalDetector name and Collection Name. -G4THitsMap* B03Run::GetHitsMap(const G4String& detName, - const G4String& colName){ - G4String fullName = detName+"/"+colName; - G4cout << " getting hits map " << fullName << G4endl; - return GetHitsMap(fullName); +G4THitsMap* B03Run::GetHitsMap(const G4String& detName, const G4String& colName) +{ + G4String fullName = detName + "/" + colName; + G4cout << " getting hits map " << fullName << G4endl; + return GetHitsMap(fullName); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -179,37 +176,36 @@ G4THitsMap* B03Run::GetHitsMap(const G4String& detName, // Access HitsMap. // By full description of collection name, that is // / -G4THitsMap* B03Run::GetHitsMap(const G4String& fullName){ - G4cout << " getting hits map " << fullName << G4endl; - G4int Ncol = fCollName.size(); - for ( G4int i = 0; i < Ncol; i++){ - if ( fCollName[i] == fullName ){ - return fRunMap[i]; - } +G4THitsMap* B03Run::GetHitsMap(const G4String& fullName) +{ + G4cout << " getting hits map " << fullName << G4endl; + G4int Ncol = fCollName.size(); + for (G4int i = 0; i < Ncol; i++) { + if (fCollName[i] == fullName) { + return fRunMap[i]; } - return NULL; + } + return NULL; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // - Dump All HitsMap of this RUN. (for debuging and monitoring of quantity). // This method calls G4THisMap::PrintAll() for individual HitsMap. -void B03Run::DumpAllScorer(){ - +void B03Run::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; + 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; + std::map::iterator itr = RunMap->GetMap()->begin(); + for (; itr != RunMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first << " Run Value : " << *(itr->second) << G4endl; } } } @@ -219,18 +215,18 @@ void B03Run::DumpAllScorer(){ void B03Run::Merge(const G4Run* aRun) { - const B03Run * localRun = static_cast(aRun); + const B03Run* localRun = static_cast(aRun); //======================================================= // Merge HitsMap of working threads //======================================================= G4int nCol = localRun->fCollID.size(); - for ( G4int i = 0; i < nCol ; i++ ){ // Loop over HitsCollection - if ( localRun->fCollID[i] >= 0 ){ + for (G4int i = 0; i < nCol; i++) { // Loop over HitsCollection + if (localRun->fCollID[i] >= 0) { *fRunMap[i] += *localRun->fRunMap[i]; } } - + G4Run::Merge(aRun); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/B03/src/B03RunAction.cc b/examples/extended/biasing/B03/src/B03RunAction.cc index 3462d223f1f..2d54d793339 100644 --- a/examples/extended/biasing/B03/src/B03RunAction.cc +++ b/examples/extended/biasing/B03/src/B03RunAction.cc @@ -27,31 +27,32 @@ /// \brief Implementation of the B03RunAction class // // -// +// #include "B03RunAction.hh" + #include "B03Run.hh" //-- In order to obtain detector information. -#include "G4RunManager.hh" #include "B03ImportanceDetectorConstruction.hh" -#include "G4THitsMap.hh" +#include "G4RunManager.hh" +#include "G4THitsMap.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // B03RunAction -// +// // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Constructor -B03RunAction::B03RunAction(): - G4UserRunAction(), - // fFieldName(15), - fFieldValue(14) +B03RunAction::B03RunAction() + : G4UserRunAction(), + // fFieldName(15), + fFieldValue(14) { // - Prepare data member for B03Run. // vector represents a list of MultiFunctionalDetector names. @@ -87,7 +88,7 @@ void B03RunAction::BeginOfRunAction(const G4Run* aRun) void B03RunAction::EndOfRunAction(const G4Run* aRun) { - G4cout << " ###### EndOfRunAction " <GetUserDetectorConstruction(); + + for (G4int i = 0; i < (G4int)fSDName.size(); i++) { + const G4VUserDetectorConstruction* vdet = mgr->GetUserDetectorConstruction(); // B03DetectorConstruction* bdet = (B03DetectorConstruction*)vdet; - B03ImportanceDetectorConstruction* bdet = - (B03ImportanceDetectorConstruction*)vdet; + B03ImportanceDetectorConstruction* bdet = (B03ImportanceDetectorConstruction*)vdet; // - + //--------------------------------------------- // Dump accumulated quantities for this RUN. // (Display only central region of x-y plane) @@ -117,100 +116,76 @@ void B03RunAction::EndOfRunAction(const G4Run* aRun) // 7 ConcreteSD/SLW_V // 8 ConcreteSD/SLWE_V //--------------------------------------------- - G4THitsMap* Collisions = - b02Run->GetHitsMap(fSDName[i]+"/Collisions"); - G4THitsMap* CollWeight = - b02Run->GetHitsMap(fSDName[i]+"/CollWeight"); - G4THitsMap* Population = - b02Run->GetHitsMap(fSDName[i]+"/Population"); - G4THitsMap* TrackEnter = - b02Run->GetHitsMap(fSDName[i]+"/TrackEnter"); - G4THitsMap* SL = - b02Run->GetHitsMap(fSDName[i]+"/SL"); - G4THitsMap* SLW = - b02Run->GetHitsMap(fSDName[i]+"/SLW"); - G4THitsMap* SLWE = - b02Run->GetHitsMap(fSDName[i]+"/SLWE"); - G4THitsMap* SLW_V = - b02Run->GetHitsMap(fSDName[i]+"/SLW_V"); - G4THitsMap* SLWE_V = - b02Run->GetHitsMap(fSDName[i]+"/SLWE_V"); + G4THitsMap* Collisions = b02Run->GetHitsMap(fSDName[i] + "/Collisions"); + G4THitsMap* CollWeight = b02Run->GetHitsMap(fSDName[i] + "/CollWeight"); + G4THitsMap* Population = b02Run->GetHitsMap(fSDName[i] + "/Population"); + G4THitsMap* TrackEnter = b02Run->GetHitsMap(fSDName[i] + "/TrackEnter"); + G4THitsMap* SL = b02Run->GetHitsMap(fSDName[i] + "/SL"); + G4THitsMap* SLW = b02Run->GetHitsMap(fSDName[i] + "/SLW"); + G4THitsMap* SLWE = b02Run->GetHitsMap(fSDName[i] + "/SLWE"); + G4THitsMap* SLW_V = b02Run->GetHitsMap(fSDName[i] + "/SLW_V"); + G4THitsMap* SLWE_V = b02Run->GetHitsMap(fSDName[i] + "/SLWE_V"); + + if (IsMaster()) { + G4cout << "\n--------------------End of Global Run-----------------------" << G4endl; + G4cout << " Number of event processed : " << aRun->GetNumberOfEvent() << G4endl; + } + else { + G4cout << "\n--------------------End of Local Run------------------------" << G4endl; + G4cout << " Number of event processed : " << aRun->GetNumberOfEvent() << G4endl; + } - if (IsMaster()) - { - G4cout << - "\n--------------------End of Global Run-----------------------" << - G4endl; - G4cout << - " Number of event processed : "<< aRun->GetNumberOfEvent() << G4endl; - } - else - { - G4cout << - "\n--------------------End of Local Run------------------------" << - G4endl; - G4cout << " Number of event processed : "<< aRun->GetNumberOfEvent() << - G4endl; - } - - G4cout << "=============================================================" - <GetCellName(iz); - G4cout - << std::setw(fFieldValue) << cname << " |" - << std::setw(fFieldValue) << (*TrackEnters) << " |" - << std::setw(fFieldValue) << (*Populations) << " |" - << std::setw(fFieldValue) << (*SumCollisions) << " |" - << std::setw(fFieldValue) << (*SumCollWeight) << " |" - << std::setw(fFieldValue) << NumWeightedEnergy << " |" - << std::setw(fFieldValue) << FluxWeightedEnergy << " |" - << std::setw(fFieldValue) << AverageTrackWeight << " |" - << std::setw(fFieldValue) << (*SLs) << " |" - << std::setw(fFieldValue) << (*SLWs) << " |" - << std::setw(fFieldValue) << (*SLW_Vs) << " |" - << std::setw(fFieldValue) << (*SLWEs) << " |" - << std::setw(fFieldValue) << (*SLWE_Vs) << " |" - << G4endl; + G4cout << std::setw(fFieldValue) << cname << " |" << std::setw(fFieldValue) << (*TrackEnters) + << " |" << std::setw(fFieldValue) << (*Populations) << " |" << std::setw(fFieldValue) + << (*SumCollisions) << " |" << std::setw(fFieldValue) << (*SumCollWeight) << " |" + << std::setw(fFieldValue) << NumWeightedEnergy << " |" << std::setw(fFieldValue) + << FluxWeightedEnergy << " |" << std::setw(fFieldValue) << AverageTrackWeight << " |" + << std::setw(fFieldValue) << (*SLs) << " |" << std::setw(fFieldValue) << (*SLWs) + << " |" << std::setw(fFieldValue) << (*SLW_Vs) << " |" << std::setw(fFieldValue) + << (*SLWEs) << " |" << std::setw(fFieldValue) << (*SLWE_Vs) << " |" << G4endl; } - G4cout << "============================================="< vecScoreName; vecScoreName.push_back("Tr.Entering"); @@ -227,36 +202,35 @@ void B03RunAction::PrintHeader(std::ostream *out) vecScoreName.push_back("SLWE_v"); // head line - //std::string vname = FillString("Volume", ' ', FieldName+1); + // std::string vname = FillString("Volume", ' ', FieldName+1); //*out << vname << '|'; std::string vname; - *out << std::setw(fFieldValue) << "Volume" << " |"; - for (std::vector::iterator it = vecScoreName.begin(); - it != vecScoreName.end(); it++) { - //vname = FillString((*it), -// ' ', -// fFieldValue+1, -// false); -// *out << vname << '|'; - *out << std::setw(fFieldValue) << (*it) << " |"; + *out << std::setw(fFieldValue) << "Volume" + << " |"; + for (std::vector::iterator it = vecScoreName.begin(); it != vecScoreName.end(); it++) { + // vname = FillString((*it), + // ' ', + // fFieldValue+1, + // false); + // *out << vname << '|'; + *out << std::setw(fFieldValue) << (*it) << " |"; } - *out << G4endl; + *out << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -std::string B03RunAction::FillString(const std::string &name, - char c, G4int n, G4bool back) +std::string B03RunAction::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); + fname += std::string(k, c); } else { - fname = std::string(k,c); + fname = std::string(k, c); fname += name; } } diff --git a/examples/extended/biasing/GB01/exampleGB01.cc b/examples/extended/biasing/GB01/exampleGB01.cc index 98806621b4f..1f76b58a3e1 100644 --- a/examples/extended/biasing/GB01/exampleGB01.cc +++ b/examples/extended/biasing/GB01/exampleGB01.cc @@ -28,67 +28,64 @@ // // -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" +#include "FTFP_BERT.hh" #include "GB01ActionInitialization.hh" - -#include "G4UImanager.hh" - #include "GB01DetectorConstruction.hh" #include "GB01PrimaryGeneratorAction.hh" -#include "FTFP_BERT.hh" #include "G4GenericBiasingPhysics.hh" - -#include "G4VisExecutive.hh" +#include "G4RunManagerFactory.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " ./exampleGB01 [-m macro ] " - << " [-b biasing {'on','off'}]" - << "\n or\n ./exampleGB01 [macro.mac]" - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " ./exampleGB01 [-m macro ] " + << " [-b biasing {'on','off'}]" + << "\n or\n ./exampleGB01 [macro.mac]" << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 5 ) { + if (argc > 5) { PrintUsage(); return 1; } G4String macro(""); G4String onOffBiasing(""); - if ( argc == 2 ) macro = argv[1]; - else - { - for ( G4int i=1; iBias("gamma"); - biasingPhysics->Bias("neutron"); - biasingPhysics->Bias("kaon0L"); - biasingPhysics->Bias("kaon0S"); - physicsList->RegisterPhysics(biasingPhysics); - G4cout << " ********************************************************* " << G4endl; - G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; - G4cout << " ********************************************************* " << G4endl; - } - else - { - G4cout << " ************************************************* " << G4endl; - G4cout << " ********** processes are not wrapped ************ " << G4endl; - G4cout << " ************************************************* " << G4endl; - } + if (onOffBiasing == "on") { + biasingPhysics->Bias("gamma"); + biasingPhysics->Bias("neutron"); + biasingPhysics->Bias("kaon0L"); + biasingPhysics->Bias("kaon0S"); + physicsList->RegisterPhysics(biasingPhysics); + G4cout << " ********************************************************* " << G4endl; + G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; + G4cout << " ********************************************************* " << G4endl; + } + else { + G4cout << " ************************************************* " << G4endl; + G4cout << " ********** processes are not wrapped ************ " << G4endl; + G4cout << " ************************************************* " << G4endl; + } runManager->SetUserInitialization(physicsList); // -- Action initialization: runManager->SetUserInitialization(new GB01ActionInitialization); @@ -135,19 +130,18 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( !ui ) // batch mode - { - G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); - } - else - { // interactive mode : define UI session - // UImanager->ApplyCommand("/control/execute vis.mac"); - // if (ui->IsGUI()) - // UImanager->ApplyCommand("/control/execute gui.mac"); - ui->SessionStart(); - delete ui; - } + if (!ui) // batch mode + { + G4String command = "/control/execute "; + UImanager->ApplyCommand(command + macro); + } + else { // interactive mode : define UI session + // UImanager->ApplyCommand("/control/execute vis.mac"); + // if (ui->IsGUI()) + // UImanager->ApplyCommand("/control/execute gui.mac"); + ui->SessionStart(); + delete ui; + } delete visManager; delete runManager; diff --git a/examples/extended/biasing/GB01/exampleGB01.out b/examples/extended/biasing/GB01/exampleGB01.out index e0d6f7ad662..44e15e6a0c9 100644 --- a/examples/extended/biasing/GB01/exampleGB01.out +++ b/examples/extended/biasing/GB01/exampleGB01.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -56,14 +56,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -239,7 +246,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -794,7 +801,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -1701,9 +1708,10 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 199 0.954 0.0455 199 699 test.phys biasWrapper(hadElastic) - 3 -0.574 -0.943 200 0.954 0 1.5 700 World Transportation - 4 -5.54e+03 -9.1e+03 1e+04 0.954 0 1.45e+04 1.52e+04 OutOfWorld Transportation + 2 0 0 167 0.954 0.0455 167 667 test.phys biasWrapper(hadElastic) + 3 -3.07 -5.05 173 0.91 0.0444 8.03 675 test.phys biasWrapper(hadElastic) + 4 -19.8 0.00544 200 0.91 0 32.5 708 World Transportation + 5 -6.03e+03 1.81e+03 1e+04 0.91 0 1.16e+04 1.23e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1712,19 +1720,18 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 41.8 0.998 0.00155 41.8 542 test.phys biasWrapper(hadElastic) - 3 0.0469 0.0446 42.2 0.889 0 0.442 542 test.phys biasWrapper(hadElastic) - 4 -91.9 -112 94.2 0.842 0.0472 154 696 test.phys biasWrapper(hadElastic) - 5 -113 -141 200 0.842 0 112 808 World Transportation - 6 -2.08e+03 -2.83e+03 1e+04 0.842 0 1.03e+04 1.12e+04 OutOfWorld Transportation + 2 0 0 9.39 0.891 0 9.39 509 test.phys biasWrapper(hadElastic) + 3 -160 -19.3 41.8 0.843 0.0473 165 674 test.phys biasWrapper(hadElastic) + 4 -240 -31.9 200 0.843 0 178 852 World Transportation + 5 -5.19e+03 -818 1e+04 0.843 0 1.1e+04 1.19e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0469 0.0446 42.2 0.109 0 0 0 test.phys initStep - 1 0.0477 0.0456 42.2 0 0.109 0.00201 0.00201 test.phys ionIoni + 0 0 0 9.39 0.109 0 0 0 test.phys initStep + 1 0.00111 0.000134 9.39 0 0.109 0.00201 0.00201 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1733,29 +1740,29 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 72.9 0.919 0 72.9 573 test.phys biasWrapper(hadElastic) - 3 11.5 36 90.1 0.882 0.0365 41.5 614 test.phys biasWrapper(hadElastic) - 4 125 83.3 168 0.821 0.0611 146 760 test.phys biasWrapper(hadElastic) - 5 161 84.2 152 0.641 0 39.2 799 test.phys biasWrapper(hadElastic) - 6 46.2 13.4 129 0.589 0.0529 137 936 test.phys biasWrapper(hadElastic) - 7 -57.8 55.8 200 0.589 0 133 1.07e+03 World Transportation - 8 -1e+04 4.11e+03 6.94e+03 0.589 0 1.27e+04 1.37e+04 OutOfWorld Transportation + 2 0 0 61.3 0.919 0 61.3 561 test.phys biasWrapper(hadElastic) + 3 14.2 44.3 82.4 0.882 0.0365 51.1 612 test.phys biasWrapper(hadElastic) + 4 131 93 163 0.821 0.0611 150 762 test.phys biasWrapper(hadElastic) + 5 166 93.9 147 0.641 0 38.7 801 test.phys biasWrapper(hadElastic) + 6 53.7 24.3 125 0.589 0.0529 134 935 test.phys biasWrapper(hadElastic) + 7 -57.4 69.7 200 0.589 0 142 1.08e+03 World Transportation + 8 -1e+04 4.13e+03 6.94e+03 0.589 0 1.27e+04 1.38e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 161 84.2 152 0.18 0 0 0 test.phys initStep - 1 161 84.2 152 0 0.18 0.00252 0.00252 test.phys ionIoni + 0 166 93.9 147 0.18 0 0 0 test.phys initStep + 1 166 93.9 147 0 0.18 0.00252 0.00252 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 72.9 0.0812 0 0 0 test.phys initStep - 1 -0.000286 -0.000894 72.9 0 0.0812 0.00175 0.00175 test.phys ionIoni + 0 0 0 61.3 0.0812 0 0 0 test.phys initStep + 1 -0.000286 -0.000894 61.3 0 0.0812 0.00175 0.00175 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1764,18 +1771,18 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 58.7 0.769 0 58.7 559 test.phys biasWrapper(hadElastic) - 3 1.44 -31.6 13.5 0.735 0.0341 55.1 614 test.phys biasWrapper(hadElastic) - 4 23.4 -47.5 0 0.735 0 30.3 644 World Transportation - 5 1e+04 -7.28e+03 -6.15e+03 0.735 0 1.38e+04 1.44e+04 OutOfWorld Transportation + 2 0 0 49.4 0.769 0 49.4 549 test.phys biasWrapper(hadElastic) + 3 1.44 -31.4 4.37 0.735 0.0341 54.9 604 test.phys biasWrapper(hadElastic) + 4 8.52 -36.6 0 0.735 0 9.77 614 World Transportation + 5 1e+04 -7.28e+03 -6.16e+03 0.735 0 1.38e+04 1.44e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 58.7 0.231 0 0 0 test.phys initStep - 1 -3.09e-05 0.000676 58.7 0 0.231 0.00269 0.00269 test.phys ionIoni + 0 0 0 49.4 0.231 0 0 0 test.phys initStep + 1 -3.09e-05 0.000676 49.4 0 0.231 0.00269 0.00269 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1784,10 +1791,10 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 11.9 0.971 0.0289 11.9 512 test.phys biasWrapper(hadElastic) - 3 6.56 -30.3 52.7 0.952 0.019 51.3 563 test.phys biasWrapper(hadElastic) - 4 87.9 -106 130 0.948 0.00408 136 699 test.phys biasWrapper(hadElastic) - 5 127 -164 200 0.948 0 98.6 797 World Transportation + 2 0 0 9.96 0.971 0.0289 9.96 510 test.phys biasWrapper(hadElastic) + 3 6.28 -29.1 49.1 0.952 0.019 49.2 559 test.phys biasWrapper(hadElastic) + 4 92.6 -109 131 0.948 0.00408 144 703 test.phys biasWrapper(hadElastic) + 5 131 -166 200 0.948 0 97 800 World Transportation 6 5.65e+03 -8.3e+03 1e+04 0.948 0 1.39e+04 1.47e+04 OutOfWorld Transportation ********************************************************************************************************* @@ -1797,45 +1804,45 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 34.1 0.959 0.0414 34.1 534 test.phys biasWrapper(hadElastic) - 3 -36.8 59.3 104 0.868 0 98.7 633 test.phys biasWrapper(hadElastic) - 4 -10.7 63.1 131 0.849 0.0196 38 671 test.phys biasWrapper(hadElastic) - 5 -0.958 67.6 183 0.755 0 52.7 723 test.phys biasWrapper(hadElastic) - 6 255 -15 195 0.739 0.0165 269 992 test.phys biasWrapper(hadElastic) - 7 302 -4.1 189 0.612 0 49.3 1.04e+03 test.phys biasWrapper(hadElastic) - 8 267 4.7 121 0.559 0.0531 77.1 1.12e+03 test.phys biasWrapper(hadElastic) - 9 201 26.6 128 0.533 0.0255 70.5 1.19e+03 test.phys biasWrapper(hadElastic) - 10 171 79.7 112 0.529 0.00379 62.9 1.25e+03 test.phys biasWrapper(hadElastic) - 11 -30.5 331 113 0.485 0.0441 322 1.57e+03 test.phys biasWrapper(hadElastic) - 12 -67.1 322 126 0.438 0.0469 39.9 1.61e+03 test.phys biasWrapper(hadElastic) - 13 -102 341 89.7 0.434 0.00437 53.1 1.67e+03 test.phys biasWrapper(hadElastic) - 14 -161 423 17.4 0.416 0.0176 125 1.79e+03 test.phys biasWrapper(hadElastic) - 15 -195 424 0 0.416 0 38.1 1.83e+03 World Transportation - 16 -1e+04 840 -5.03e+03 0.416 0 1.1e+04 1.29e+04 OutOfWorld Transportation + 2 0 0 28.6 0.959 0.0414 28.6 529 test.phys biasWrapper(hadElastic) + 3 -37.6 60.6 100 0.868 0 101 630 test.phys biasWrapper(hadElastic) + 4 -11.6 64.4 127 0.849 0.0196 38 668 test.phys biasWrapper(hadElastic) + 5 -1.91 68.9 178 0.755 0 52.2 720 test.phys biasWrapper(hadElastic) + 6 253 -13.5 190 0.739 0.0165 268 988 test.phys biasWrapper(hadElastic) + 7 301 -2.64 184 0.612 0 49.2 1.04e+03 test.phys biasWrapper(hadElastic) + 8 263 6.81 111 0.559 0.0531 82.7 1.12e+03 test.phys biasWrapper(hadElastic) + 9 196 28.9 119 0.533 0.0255 71.3 1.19e+03 test.phys biasWrapper(hadElastic) + 10 167 81.5 103 0.529 0.00379 62.3 1.25e+03 test.phys biasWrapper(hadElastic) + 11 -33.1 330 103 0.485 0.0441 319 1.57e+03 test.phys biasWrapper(hadElastic) + 12 -66.9 322 115 0.438 0.0469 36.9 1.61e+03 test.phys biasWrapper(hadElastic) + 13 -96.3 338 84.8 0.434 0.00437 45.2 1.65e+03 test.phys biasWrapper(hadElastic) + 14 -150 412 20 0.416 0.0176 112 1.77e+03 test.phys biasWrapper(hadElastic) + 15 -189 413 0 0.416 0 43.8 1.81e+03 World Transportation + 16 -1e+04 829 -5.04e+03 0.416 0 1.1e+04 1.28e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 302 -4.1 189 0.127 0 0 0 test.phys initStep - 1 302 -4.1 189 0 0.127 0.00216 0.00216 test.phys ionIoni + 0 301 -2.64 184 0.127 0 0 0 test.phys initStep + 1 301 -2.64 184 0 0.127 0.00216 0.00216 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.958 67.6 183 0.0933 0 0 0 test.phys initStep - 1 -0.958 67.6 183 0 0.0933 0.00187 0.00187 test.phys ionIoni + 0 -1.91 68.9 178 0.0933 0 0 0 test.phys initStep + 1 -1.91 68.9 178 0 0.0933 0.00187 0.00187 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -36.8 59.3 104 0.0903 0 0 0 test.phys initStep - 1 -36.8 59.3 104 0 0.0903 0.00184 0.00184 test.phys ionIoni + 0 -37.6 60.6 100 0.0903 0 0 0 test.phys initStep + 1 -37.6 60.6 100 0 0.0903 0.00184 0.00184 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1844,29 +1851,29 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 8.92 0.948 0.0515 8.92 509 test.phys biasWrapper(hadElastic) - 3 36.7 13.4 40.9 0.938 0.0103 50.5 559 test.phys biasWrapper(hadElastic) - 4 88.1 64.9 141 0.836 0 124 683 test.phys biasWrapper(hadElastic) - 5 93.5 72.9 137 0.825 0.0105 10.6 694 test.phys biasWrapper(hadElastic) - 6 156 109 90.1 0.709 0 86.2 780 test.phys biasWrapper(hadElastic) - 7 268 38.6 200 0.709 0 172 952 World Transportation - 8 1e+04 -6.13e+03 9.79e+03 0.709 0 1.5e+04 1.59e+04 OutOfWorld Transportation + 2 0 0 7.5 0.948 0.0515 7.5 507 test.phys biasWrapper(hadElastic) + 3 39.8 14.5 42.2 0.938 0.0103 54.8 562 test.phys biasWrapper(hadElastic) + 4 99.1 74.1 158 0.836 0 143 706 test.phys biasWrapper(hadElastic) + 5 105 82 154 0.825 0.0105 10.4 716 test.phys biasWrapper(hadElastic) + 6 166 118 108 0.709 0 85 801 test.phys biasWrapper(hadElastic) + 7 260 58.5 200 0.709 0 144 945 World Transportation + 8 1e+04 -6.12e+03 9.79e+03 0.709 0 1.5e+04 1.59e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 156 109 90.1 0.116 0 0 0 test.phys initStep - 1 156 109 90.1 0 0.116 0.00207 0.00207 test.phys ionIoni + 0 166 118 108 0.116 0 0 0 test.phys initStep + 1 166 118 108 0 0.116 0.00207 0.00207 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 88.1 64.9 141 0.102 0 0 0 test.phys initStep - 1 88.1 64.9 141 0 0.102 0.00195 0.00195 test.phys ionIoni + 0 99.1 74.1 158 0.102 0 0 0 test.phys initStep + 1 99.1 74.1 158 0 0.102 0.00195 0.00195 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1875,18 +1882,18 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 127 0.91 0 127 627 test.phys biasWrapper(hadElastic) - 3 -7.76 -78.8 157 0.877 0.0339 84.5 711 test.phys biasWrapper(hadElastic) - 4 -30.8 -104 200 0.877 0 55.2 767 World Transportation - 5 -5.22e+03 -5.75e+03 1e+04 0.877 0 1.24e+04 1.32e+04 OutOfWorld Transportation + 2 0 0 107 0.91 0 107 607 test.phys biasWrapper(hadElastic) + 3 -9.15 -92.9 142 0.877 0.0339 99.7 706 test.phys biasWrapper(hadElastic) + 4 -40 -127 200 0.877 0 74.2 781 World Transportation + 5 -5.22e+03 -5.77e+03 1e+04 0.877 0 1.24e+04 1.32e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 127 0.0896 0 0 0 test.phys initStep - 1 9.84e-05 0.000999 127 0 0.0896 0.00183 0.00183 test.phys ionIoni + 0 0 0 107 0.0896 0 0 0 test.phys initStep + 1 9.84e-05 0.000999 107 0 0.0896 0.00183 0.00183 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1895,37 +1902,37 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 40.5 0.827 0 40.5 540 test.phys biasWrapper(hadElastic) - 3 -9.93 -29 30.4 0.798 0.0293 32.3 573 test.phys biasWrapper(hadElastic) - 4 -53.5 -58.7 32.1 0.622 0 52.8 626 test.phys biasWrapper(hadElastic) - 5 -23.8 -56.1 50 0.561 0.0605 34.8 660 test.phys biasWrapper(hadElastic) - 6 -10.6 -64.9 39.9 0.452 0 18.8 679 test.phys biasWrapper(hadElastic) - 7 -4.03 -66 200 0.452 0 160 839 World Transportation - 8 396 -134 1e+04 0.452 0 9.81e+03 1.06e+04 OutOfWorld Transportation + 2 0 0 34 0.827 0 34 534 test.phys biasWrapper(hadElastic) + 3 -9.78 -28.6 24.1 0.798 0.0293 31.8 566 test.phys biasWrapper(hadElastic) + 4 -53 -58 25.8 0.622 0 52.3 618 test.phys biasWrapper(hadElastic) + 5 -22.3 -55.3 44.2 0.561 0.0605 35.9 654 test.phys biasWrapper(hadElastic) + 6 -8.85 -64.2 34 0.452 0 19.1 673 test.phys biasWrapper(hadElastic) + 7 -2.07 -65.4 200 0.452 0 166 839 World Transportation + 8 398 -133 1e+04 0.452 0 9.81e+03 1.06e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -10.6 -64.9 39.9 0.11 0 0 0 test.phys initStep - 1 -10.6 -64.9 39.9 0 0.11 0.00201 0.00201 test.phys ionIoni + 0 -8.85 -64.2 34 0.11 0 0 0 test.phys initStep + 1 -8.85 -64.2 34 0 0.11 0.00201 0.00201 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -53.5 -58.7 32.1 0.177 0 0 0 test.phys initStep - 1 -53.5 -58.7 32.1 0 0.177 0.00251 0.00251 test.phys ionIoni + 0 -53 -58 25.8 0.177 0 0 0 test.phys initStep + 1 -53 -58 25.8 0 0.177 0.00251 0.00251 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 40.5 0.173 0 0 0 test.phys initStep - 1 0.00038 0.00111 40.5 0 0.173 0.00249 0.00249 test.phys ionIoni + 0 0 0 34 0.173 0 0 0 test.phys initStep + 1 0.00038 0.00111 34 0 0.173 0.00249 0.00249 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1934,27 +1941,27 @@ 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 -500 1 0 0 0 World initStep 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 3.81 0.97 0.03 3.81 504 test.phys biasWrapper(hadElastic) - 3 8.22 -32.7 47.1 0.85 0 54.9 559 test.phys biasWrapper(hadElastic) - 4 -81.6 -80.1 39.5 0.715 0 102 661 test.phys biasWrapper(hadElastic) - 5 -78 -62.3 0 0.715 0 43.5 704 World Transportation - 6 852 4.46e+03 -1e+04 0.715 0 1.1e+04 1.17e+04 OutOfWorld Transportation + 2 0 0 3.2 0.97 0.03 3.2 503 test.phys biasWrapper(hadElastic) + 3 7.92 -31.6 44.9 0.85 0 52.9 556 test.phys biasWrapper(hadElastic) + 4 -81.1 -78.5 37.4 0.715 0 101 657 test.phys biasWrapper(hadElastic) + 5 -77.6 -61.6 0 0.715 0 41.2 698 World Transportation + 6 853 4.46e+03 -1e+04 0.715 0 1.1e+04 1.17e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -81.6 -80.1 39.5 0.135 0 0 0 test.phys initStep - 1 -81.6 -80.1 39.5 0 0.135 0.00222 0.00222 test.phys ionIoni + 0 -81.1 -78.5 37.4 0.135 0 0 0 test.phys initStep + 1 -81.1 -78.5 37.4 0 0.135 0.00222 0.00222 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.22 -32.7 47.1 0.12 0 0 0 test.phys initStep - 1 8.22 -32.7 47.1 0 0.12 0.0021 0.0021 test.phys ionIoni + 0 7.92 -31.6 44.9 0.12 0 0 0 test.phys initStep + 1 7.92 -31.6 44.9 0 0.12 0.0021 0.0021 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1963,7 +1970,7 @@ 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 -500 100 0 0 0 World initStep 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 83.1 99.7 0 83.1 583 test.phys biasWrapper(hadElastic) + 2 0 0 83.2 99.7 0 83.2 583 test.phys biasWrapper(hadElastic) 3 -18 17.9 200 99.7 0 120 703 World Transportation 4 -1.53e+03 1.52e+03 1e+04 99.7 0 1e+04 1.07e+04 OutOfWorld Transportation @@ -1972,8 +1979,8 @@ 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 83.1 0.344 0 0 0 test.phys initStep - 1 0.00191 -0.0019 83.1 0 0.344 0.00287 0.00287 test.phys ionIoni + 0 0 0 83.2 0.344 0 0 0 test.phys initStep + 1 0.00191 -0.0019 83.2 0 0.344 0.00287 0.00287 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -1983,8 +1990,8 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu 0 0 0 -500 100 0 0 0 World initStep 1 0 0 0 100 0 500 500 test.phys Transportation 2 0 0 167 99.8 0 167 667 test.phys biasWrapper(hadElastic) - 3 -0.792 -0.51 173 99.5 0 5.85 673 test.phys biasWrapper(hadElastic) - 4 -4.53 -8.21 200 99.5 0 28.8 701 World Transportation + 3 -0.793 -0.511 173 99.5 0 5.85 673 test.phys biasWrapper(hadElastic) + 4 -4.51 -8.18 200 99.5 0 28.7 701 World Transportation 5 -1.34e+03 -2.76e+03 1e+04 99.5 0 1.03e+04 1.1e+04 OutOfWorld Transportation ********************************************************************************************************* @@ -1992,7 +1999,7 @@ 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.792 -0.51 173 0.254 0 0 0 test.phys initStep + 0 -0.793 -0.511 173 0.254 0 0 0 test.phys initStep 1 -0.793 -0.508 173 0 0.254 0.00274 0.00274 test.phys ionIoni ********************************************************************************************************* @@ -2046,7 +2053,7 @@ 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 11.6 0.0994 0 0 0 test.phys initStep - 1 4.05 2.05 3.55e-15 0.0994 0 12.5 12.5 World Transportation + 1 4.05 2.05 -1.78e-15 0.0994 0 12.5 12.5 World Transportation 2 3.49e+03 1.77e+03 -1e+04 0.0994 0 1.07e+04 1.08e+04 OutOfWorld Transportation ********************************************************************************************************* @@ -2055,7 +2062,7 @@ 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 11.6 1.38 0 0 0 test.phys initStep - 1 6.53 4.58 3.55e-15 1.38 0 14.1 14.1 World Transportation + 1 6.53 4.58 -1.78e-15 1.38 0 14.1 14.1 World Transportation 2 5.64e+03 3.95e+03 -1e+04 1.38 0 1.21e+04 1.21e+04 OutOfWorld Transportation ********************************************************************************************************* @@ -2064,7 +2071,7 @@ 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 11.6 3.53 0 0 0 test.phys initStep - 1 3.03 13.4 5.33e-15 3.53 0 18 18 World Transportation + 1 3.03 13.4 -1.78e-15 3.53 0 18 18 World Transportation 2 2.26e+03 1e+04 -8.66e+03 3.53 0 1.34e+04 1.34e+04 OutOfWorld Transportation ********************************************************************************************************* @@ -2083,163 +2090,163 @@ 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 11.6 12 0 0 0 test.phys initStep - 1 66 72.8 12.1 11.8 0 98.3 98.3 test.phys biasWrapper(hadElastic) - 2 305 217 133 0 0 304 402 test.phys biasWrapper(neutronInelastic) + 1 68.8 75.9 12.1 11.8 0 102 102 test.phys biasWrapper(hadElastic) + 2 305 219 131 0 0 301 403 test.phys biasWrapper(neutronInelastic) ********************************************************************************************************* * G4Track Information: Particle = C14, Track ID = 13, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 305 217 133 1.35 0 0 0 test.phys initStep - 1 305 217 133 0 1.35 0.00383 0.00383 test.phys ionIoni + 0 305 219 131 1.35 0 0 0 test.phys initStep + 1 305 219 131 0 1.35 0.00383 0.00383 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 305 217 133 0.487 0 0 0 test.phys initStep - 1 272 195 123 0.469 0 40.9 40.9 test.phys compt - 2 264 186 118 0.409 0 13.3 54.2 test.phys compt - 3 -17.1 -2.18 157 0.238 0 340 395 test.phys compt - 4 4.67 -41.3 167 0.161 0 46 441 test.phys compt - 5 -117 -144 18.1 0.103 0 218 659 test.phys compt - 6 -125 -27.3 168 0.0801 0 190 849 test.phys compt - 7 -78.6 -26.4 143 0.0621 0 52.8 902 test.phys compt - 8 -112 -47.5 154 0.059 0 41.4 943 test.phys compt - 9 -160 -121 96.4 0 0.000403 105 1.05e+03 test.phys phot + 0 305 219 131 0.487 0 0 0 test.phys initStep + 1 272 196 121 0.469 0 40.9 40.9 test.phys compt + 2 264 187 116 0.409 0 13.3 54.2 test.phys compt + 3 -17.2 -0.845 155 0.238 0 340 395 test.phys compt + 4 4.59 -40 166 0.161 0 46 441 test.phys compt + 5 -117 -142 16.6 0.103 0 218 659 test.phys compt + 6 -125 -25.9 167 0.0801 0 190 849 test.phys compt + 7 -78.7 -25 141 0.0621 0 52.8 902 test.phys compt + 8 -112 -46.2 153 0.059 0 41.4 943 test.phys compt + 9 -160 -120 95 0 0.000403 105 1.05e+03 test.phys phot ********************************************************************************************************* * 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 -160 -121 96.4 0.0586 0 0 0 test.phys initStep - 1 -160 -121 96.4 0 0.0586 0.0798 0.0798 test.phys eIoni + 0 -160 -120 95 0.0586 0 0 0 test.phys initStep + 1 -160 -120 95 0 0.0586 0.0798 0.0798 test.phys 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 -112 -47.5 154 0.00301 0 0 0 test.phys initStep - 1 -112 -47.5 154 0 0.00301 0.000461 0.000461 test.phys eIoni + 0 -112 -46.2 153 0.00301 0 0 0 test.phys initStep + 1 -112 -46.2 153 0 0.00301 0.000461 0.000461 test.phys 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 -78.6 -26.4 143 0.018 0 0 0 test.phys initStep - 1 -78.6 -26.4 143 0 0.018 0.01 0.01 test.phys eIoni + 0 -78.7 -25 141 0.018 0 0 0 test.phys initStep + 1 -78.7 -25 141 0 0.018 0.01 0.01 test.phys 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 -125 -27.3 168 0.0228 0 0 0 test.phys initStep - 1 -125 -27.3 168 0 0.0228 0.0151 0.0151 test.phys eIoni + 0 -125 -25.9 167 0.0228 0 0 0 test.phys initStep + 1 -125 -25.9 167 0 0.0228 0.0151 0.0151 test.phys 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 -117 -144 18.1 0.0587 0 0 0 test.phys initStep - 1 -117 -144 18.1 0 0.0587 0.0798 0.0798 test.phys eIoni + 0 -117 -142 16.6 0.0587 0 0 0 test.phys initStep + 1 -117 -142 16.6 0 0.0587 0.0798 0.0798 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 17, Parent ID = 12 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.67 -41.3 167 0.0767 0 0 0 test.phys initStep - 1 4.72 -41.4 167 0 0.0767 0.127 0.127 test.phys eIoni + 0 4.59 -40 166 0.0767 0 0 0 test.phys initStep + 1 4.63 -40 166 0 0.0767 0.127 0.127 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 16, Parent ID = 12 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -17.1 -2.18 157 0.171 0 0 0 test.phys initStep - 1 -17.4 -2.2 157 0 0.171 0.486 0.486 test.phys eIoni + 0 -17.2 -0.845 155 0.171 0 0 0 test.phys initStep + 1 -17.5 -0.857 155 0 0.171 0.486 0.486 test.phys 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 264 186 118 0.0599 0 0 0 test.phys initStep - 1 264 186 118 0 0.0599 0.0827 0.0827 test.phys eIoni + 0 264 187 116 0.0599 0 0 0 test.phys initStep + 1 264 187 116 0 0.0599 0.0827 0.0827 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 14, Parent ID = 12 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 272 195 123 0.0184 0 0 0 test.phys initStep - 1 272 195 123 0 0.0184 0.0104 0.0104 test.phys eIoni + 0 272 196 121 0.0184 0 0 0 test.phys initStep + 1 272 196 121 0 0.0184 0.0104 0.0104 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = proton, Track ID = 11, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 305 217 133 4.78 0 0 0 test.phys initStep - 1 305 217 133 3.22 1.56 0.238 0.238 test.phys hIoni - 2 305 217 133 1.48 1.74 0.175 0.413 test.phys hIoni - 3 305 217 133 0.0174 1.46 0.0656 0.478 test.phys hIoni - 4 305 217 133 0.00124 0.0162 0.000793 0.479 test.phys hIoni - 5 305 217 133 0 0.00124 0.000218 0.479 test.phys hIoni + 0 305 219 131 4.78 0 0 0 test.phys initStep + 1 305 219 131 3.22 1.56 0.238 0.238 test.phys hIoni + 2 305 219 132 1.48 1.74 0.175 0.413 test.phys hIoni + 3 305 219 132 0.0174 1.46 0.0656 0.478 test.phys hIoni + 4 305 219 132 0.00124 0.0162 0.000793 0.479 test.phys hIoni + 5 305 219 132 0 0.00124 0.000218 0.479 test.phys hIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 305 217 133 5.77 0 0 0 test.phys initStep - 1 366 143 128 3.82 0 96 96 test.phys compt - 2 510 -173 58.9 0.265 0 354 451 test.phys compt - 3 481 -46.8 200 0.265 0 192 642 World Transportation - 4 -1.48e+03 8.75e+03 1e+04 0.265 0 1.33e+04 1.4e+04 OutOfWorld Transportation + 0 305 219 131 5.77 0 0 0 test.phys initStep + 1 366 145 127 3.82 0 96 96 test.phys compt + 2 509 -172 57.5 0.265 0 354 451 test.phys compt + 3 481 -44.1 200 0.265 0 194 644 World Transportation + 4 -1.48e+03 8.76e+03 1e+04 0.265 0 1.33e+04 1.4e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 24, Parent ID = 10 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 510 -173 58.9 3.56 0 0 0 test.phys initStep - 1 512 -179 57.4 2.76 0.798 6.94 6.94 test.phys eIoni - 2 514 -182 53.2 1.86 0.899 5.63 12.6 test.phys eIoni - 3 516 -184 52.3 1.36 0.5 4.15 16.7 test.phys eIoni - 4 518 -185 49.9 0.911 0.451 3.32 20 test.phys eIoni - 5 518 -187 49.1 0.606 0.304 2.55 22.6 test.phys eIoni - 6 517 -188 48.4 0.439 0.168 1.47 24.1 test.phys eIoni - 7 517 -189 47.8 0.159 0.28 1.62 25.7 test.phys eIoni - 8 517 -188 47.6 0 0.159 0.431 26.1 test.phys eIoni + 0 509 -172 57.5 3.56 0 0 0 test.phys initStep + 1 512 -178 56 2.76 0.798 6.94 6.94 test.phys eIoni + 2 514 -180 51.8 1.86 0.899 5.63 12.6 test.phys eIoni + 3 516 -183 50.8 1.36 0.5 4.15 16.7 test.phys eIoni + 4 517 -184 48.5 0.911 0.451 3.32 20 test.phys eIoni + 5 518 -186 47.7 0.606 0.304 2.55 22.6 test.phys eIoni + 6 517 -187 46.9 0.439 0.168 1.47 24.1 test.phys eIoni + 7 517 -187 46.4 0.159 0.28 1.62 25.7 test.phys eIoni + 8 517 -187 46.2 0 0.159 0.431 26.1 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 23, Parent ID = 10 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 366 143 128 1.94 0 0 0 test.phys initStep - 1 369 142 129 1.43 0.512 4.29 4.29 test.phys eIoni - 2 369 139 130 1.03 0.406 3.44 7.73 test.phys eIoni - 3 370 137 131 0.71 0.315 2.75 10.5 test.phys eIoni - 4 370 136 132 0.448 0.262 2.2 12.7 test.phys eIoni - 5 370 135 131 0.184 0.264 1.64 14.3 test.phys eIoni - 6 370 135 131 0 0.184 0.549 14.9 test.phys eIoni + 0 366 145 127 1.94 0 0 0 test.phys initStep + 1 369 143 127 1.43 0.512 4.29 4.29 test.phys eIoni + 2 369 140 129 1.03 0.406 3.44 7.73 test.phys eIoni + 3 370 138 130 0.71 0.315 2.75 10.5 test.phys eIoni + 4 370 137 131 0.448 0.262 2.2 12.7 test.phys eIoni + 5 370 137 130 0.184 0.264 1.64 14.3 test.phys eIoni + 6 369 137 130 0 0.184 0.549 14.9 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 9, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 66 72.8 12.1 0.204 0 0 0 test.phys initStep - 1 66 72.8 12.1 0 0.204 0.00261 0.00261 test.phys ionIoni + 0 68.8 75.9 12.1 0.204 0 0 0 test.phys initStep + 1 68.8 75.9 12.1 0 0.204 0.00261 0.00261 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 @@ -2511,7 +2518,7 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu 0 0 0 -500 100 0 0 0 World initStep 1 0 0 0 100 0 500 500 test.phys Transportation 2 0 0 180 99.7 0 180 680 test.phys biasWrapper(hadElastic) - 3 0.697 3.91 200 99.7 0 20 700 World Transportation + 3 0.693 3.89 200 99.7 0 19.9 700 World Transportation 4 349 1.96e+03 1e+04 99.7 0 1e+04 1.07e+04 OutOfWorld Transportation ********************************************************************************************************* @@ -2529,9 +2536,9 @@ 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 -500 100 0 0 0 World initStep 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 83.1 99.1 0 83.1 583 test.phys biasWrapper(hadElastic) - 3 26.9 7.41 161 98.5 0 82.6 666 test.phys biasWrapper(hadElastic) - 4 50.8 3.28 200 98.5 0 46 712 World Transportation + 2 0 0 83.2 99.1 0 83.2 583 test.phys biasWrapper(hadElastic) + 3 26.9 7.42 161 98.5 0 82.7 666 test.phys biasWrapper(hadElastic) + 4 50.7 3.3 200 98.5 0 45.9 712 World Transportation 5 6.05e+03 -1.03e+03 1e+04 98.5 0 1.15e+04 1.22e+04 OutOfWorld Transportation ********************************************************************************************************* @@ -2539,16 +2546,16 @@ 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 26.9 7.41 161 0.59 0 0 0 test.phys initStep - 1 26.8 7.41 161 0 0.59 0.00307 0.00307 test.phys ionIoni + 0 26.9 7.42 161 0.59 0 0 0 test.phys initStep + 1 26.9 7.42 161 0 0.59 0.00307 0.00307 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 83.1 0.884 0 0 0 test.phys initStep - 1 -0.00297 -0.000821 83.1 0 0.884 0.00317 0.00317 test.phys ionIoni + 0 0 0 83.2 0.884 0 0 0 test.phys initStep + 1 -0.00297 -0.000821 83.2 0 0.884 0.00317 0.00317 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -2568,22 +2575,22 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu 0 0 0 -500 100 0 0 0 World initStep 1 0 0 0 100 0 500 500 test.phys Transportation 2 0 0 25.6 99.7 0 25.6 526 test.phys biasWrapper(hadElastic) - 3 -3.12 0.97 42.7 0 0 17.4 543 test.phys biasWrapper(neutronInelastic) + 3 -3.12 0.969 42.7 0 0 17.4 543 test.phys biasWrapper(neutronInelastic) ********************************************************************************************************* * G4Track Information: Particle = N12, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.12 0.97 42.7 3.72 0 0 0 test.phys initStep - 1 -3.12 0.972 42.7 0 3.72 0.00275 0.00275 test.phys ionIoni + 0 -3.12 0.969 42.7 3.72 0 0 0 test.phys initStep + 1 -3.12 0.971 42.7 0 3.72 0.00275 0.00275 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.12 0.97 42.7 1.04 0 0 0 test.phys initStep + 0 -3.12 0.969 42.7 1.04 0 0 0 test.phys initStep 1 41.3 -52.5 0 1.04 0 81.6 81.6 World Transportation 2 8.3e+03 -1e+04 -7.93e+03 1.04 0 1.52e+04 1.53e+04 OutOfWorld Transportation @@ -2592,7 +2599,7 @@ 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 -3.12 0.97 42.7 7.05 0 0 0 test.phys initStep + 0 -3.12 0.969 42.7 7.05 0 0 0 test.phys initStep 1 52.7 22.7 200 7.05 0 168 168 World Transportation 2 3.53e+03 1.37e+03 1e+04 7.05 0 1.05e+04 1.07e+04 OutOfWorld Transportation @@ -2601,7 +2608,7 @@ 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 -3.12 0.97 42.7 26.6 0 0 0 test.phys initStep + 0 -3.12 0.969 42.7 26.6 0 0 0 test.phys initStep 1 15.3 47.7 200 26.6 0 165 165 World Transportation 2 1.16e+03 2.96e+03 1e+04 26.6 0 1.03e+04 1.05e+04 OutOfWorld Transportation @@ -2610,7 +2617,7 @@ 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 -3.12 0.97 42.7 30.6 0 0 0 test.phys initStep + 0 -3.12 0.969 42.7 30.6 0 0 0 test.phys initStep 1 -17.3 -105 0 30.6 0 115 115 World Transportation 2 -1.34e+03 -1e+04 -3.97e+03 30.6 0 1.07e+04 1.09e+04 OutOfWorld Transportation diff --git a/examples/extended/biasing/GB01/include/GB01ActionInitialization.hh b/examples/extended/biasing/GB01/include/GB01ActionInitialization.hh index 0d5a6de8abf..d2b13fb9077 100644 --- a/examples/extended/biasing/GB01/include/GB01ActionInitialization.hh +++ b/examples/extended/biasing/GB01/include/GB01ActionInitialization.hh @@ -46,5 +46,3 @@ class GB01ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/biasing/GB01/include/GB01BOptrChangeCrossSection.hh b/examples/extended/biasing/GB01/include/GB01BOptrChangeCrossSection.hh index b8b8dbc9652..574e324cd05 100644 --- a/examples/extended/biasing/GB01/include/GB01BOptrChangeCrossSection.hh +++ b/examples/extended/biasing/GB01/include/GB01BOptrChangeCrossSection.hh @@ -51,55 +51,59 @@ class G4BOptnChangeCrossSection; class G4ParticleDefinition; #include -class GB01BOptrChangeCrossSection : public G4VBiasingOperator { -public: - // ------------------------------------------------------------ - // -- Constructor: takes the name of the particle type to bias: - // ------------------------------------------------------------ - GB01BOptrChangeCrossSection(G4String particleToBias, G4String name = "ChangeXS"); - virtual ~GB01BOptrChangeCrossSection(); - - // -- method called at beginning of run: - virtual void StartRun(); - -private: - // ----------------------------- - // -- Mandatory from base class: - // ----------------------------- - // -- This method returns the biasing operation that will bias the physics process occurence. - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess); - // -- Methods not used: - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) - {return 0;} - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) - {return 0;} +class GB01BOptrChangeCrossSection : public G4VBiasingOperator +{ + public: + // ------------------------------------------------------------ + // -- Constructor: takes the name of the particle type to bias: + // ------------------------------------------------------------ + GB01BOptrChangeCrossSection(G4String particleToBias, G4String name = "ChangeXS"); + virtual ~GB01BOptrChangeCrossSection(); -private: - // -- ("using" is avoid compiler complaining against (false) method shadowing.) - using G4VBiasingOperator::OperationApplied; + // -- method called at beginning of run: + virtual void StartRun(); - // -- Optionnal base class method implementation. - // -- This method is called to inform the operator that a proposed operation has been applied. - // -- In the present case, it means that a physical interaction occured (interaction at - // -- PostStepDoIt level): - virtual void OperationApplied( const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase biasingCase, - G4VBiasingOperation* occurenceOperationApplied, - G4double weightForOccurenceInteraction, - G4VBiasingOperation* finalStateOperationApplied, - const G4VParticleChange* particleChangeProduced ); - -private: - // -- List of associations between processes and biasing operations: - std::map< const G4BiasingProcessInterface*, - G4BOptnChangeCrossSection* > fChangeCrossSectionOperations; - G4bool fSetup; - const G4ParticleDefinition* fParticleToBias; + private: + // ----------------------------- + // -- Mandatory from base class: + // ----------------------------- + // -- This method returns the biasing operation that will bias the physics process occurence. + virtual G4VBiasingOperation* + ProposeOccurenceBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess); + // -- Methods not used: + virtual G4VBiasingOperation* ProposeFinalStateBiasingOperation(const G4Track*, + const G4BiasingProcessInterface*) + { + return 0; + } + virtual G4VBiasingOperation* ProposeNonPhysicsBiasingOperation(const G4Track*, + const G4BiasingProcessInterface*) + { + return 0; + } + private: + // -- ("using" is avoid compiler complaining against (false) method shadowing.) + using G4VBiasingOperator::OperationApplied; + + // -- Optionnal base class method implementation. + // -- This method is called to inform the operator that a proposed operation has been applied. + // -- In the present case, it means that a physical interaction occured (interaction at + // -- PostStepDoIt level): + virtual void OperationApplied(const G4BiasingProcessInterface* callingProcess, + G4BiasingAppliedCase biasingCase, + G4VBiasingOperation* occurenceOperationApplied, + G4double weightForOccurenceInteraction, + G4VBiasingOperation* finalStateOperationApplied, + const G4VParticleChange* particleChangeProduced); + + private: + // -- List of associations between processes and biasing operations: + std::map + fChangeCrossSectionOperations; + G4bool fSetup; + const G4ParticleDefinition* fParticleToBias; }; #endif diff --git a/examples/extended/biasing/GB01/include/GB01BOptrMultiParticleChangeCrossSection.hh b/examples/extended/biasing/GB01/include/GB01BOptrMultiParticleChangeCrossSection.hh index 7943390228a..50525d3dd49 100644 --- a/examples/extended/biasing/GB01/include/GB01BOptrMultiParticleChangeCrossSection.hh +++ b/examples/extended/biasing/GB01/include/GB01BOptrMultiParticleChangeCrossSection.hh @@ -50,65 +50,67 @@ class G4ParticleDefinition; #include -class GB01BOptrMultiParticleChangeCrossSection : public G4VBiasingOperator { -public: - GB01BOptrMultiParticleChangeCrossSection(); - virtual ~GB01BOptrMultiParticleChangeCrossSection() {} - - // --------------------------------- - // -- Method specific to this class: - // --------------------------------- - // -- Each particle type for which its name is passed will be biased; *provided* - // -- that the proper calls to biasingPhysics->Bias(particleName) have been done - // -- in the main program. - void AddParticle( G4String particleName ); - - -private: - // ----------------------------- - // -- Mandatory from base class: - // ----------------------------- - // -- This method returns a biasing operation that will bias the physics process occurence: - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess); - // -- Methods not used: - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) - {return 0;} - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) - {return 0;} +class GB01BOptrMultiParticleChangeCrossSection : public G4VBiasingOperator +{ + public: + GB01BOptrMultiParticleChangeCrossSection(); + virtual ~GB01BOptrMultiParticleChangeCrossSection() {} - -private: - // -- ("using" is to avoid compiler complaining against (false) method shadowing.) + // --------------------------------- + // -- Method specific to this class: + // --------------------------------- + // -- Each particle type for which its name is passed will be biased; *provided* + // -- that the proper calls to biasingPhysics->Bias(particleName) have been done + // -- in the main program. + void AddParticle(G4String particleName); + + private: + // ----------------------------- + // -- Mandatory from base class: + // ----------------------------- + // -- This method returns a biasing operation that will bias the physics process occurence: + virtual G4VBiasingOperation* + ProposeOccurenceBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess); + // -- Methods not used: + virtual G4VBiasingOperation* ProposeFinalStateBiasingOperation(const G4Track*, + const G4BiasingProcessInterface*) + { + return 0; + } + virtual G4VBiasingOperation* ProposeNonPhysicsBiasingOperation(const G4Track*, + const G4BiasingProcessInterface*) + { + return 0; + } + + private: + // -- ("using" is to avoid compiler complaining against (false) method shadowing.) using G4VBiasingOperator::OperationApplied; - // -- Optionnal base class method implementation. - // -- This method is called to inform the operator that a proposed operation has been applied. - // -- In the present case, it means that a physical interaction occured (interaction at - // -- PostStepDoIt level): - virtual void OperationApplied( const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase biasingCase, - G4VBiasingOperation* occurenceOperationApplied, - G4double weightForOccurenceInteraction, - G4VBiasingOperation* finalStateOperationApplied, - const G4VParticleChange* particleChangeProduced ); + // -- Optionnal base class method implementation. + // -- This method is called to inform the operator that a proposed operation has been applied. + // -- In the present case, it means that a physical interaction occured (interaction at + // -- PostStepDoIt level): + virtual void OperationApplied(const G4BiasingProcessInterface* callingProcess, + G4BiasingAppliedCase biasingCase, + G4VBiasingOperation* occurenceOperationApplied, + G4double weightForOccurenceInteraction, + G4VBiasingOperation* finalStateOperationApplied, + const G4VParticleChange* particleChangeProduced); + + public: + // -- Optionnal base class method. It is called at the time a tracking of a particle starts: + void StartTracking(const G4Track* track); -public: - // -- Optionnal base class method. It is called at the time a tracking of a particle starts: - void StartTracking( const G4Track* track ); - -private: - // -- List of associations between particle types and biasing operators: - std::map < const G4ParticleDefinition*, - GB01BOptrChangeCrossSection* > fBOptrForParticle; - std::vector < const G4ParticleDefinition* > fParticlesToBias; - GB01BOptrChangeCrossSection* fCurrentOperator; + private: + // -- List of associations between particle types and biasing operators: + std::map fBOptrForParticle; + std::vector fParticlesToBias; + GB01BOptrChangeCrossSection* fCurrentOperator; - // -- count number of biased interations for current track: - G4int fnInteractions; + // -- count number of biased interations for current track: + G4int fnInteractions; }; #endif diff --git a/examples/extended/biasing/GB01/include/GB01DetectorConstruction.hh b/examples/extended/biasing/GB01/include/GB01DetectorConstruction.hh index 5e8f5106fc8..9a1e6555a20 100644 --- a/examples/extended/biasing/GB01/include/GB01DetectorConstruction.hh +++ b/examples/extended/biasing/GB01/include/GB01DetectorConstruction.hh @@ -36,17 +36,13 @@ class GB01DetectorConstruction : public G4VUserDetectorConstruction { -public: - - GB01DetectorConstruction(); - ~GB01DetectorConstruction(); - -public: - - virtual G4VPhysicalVolume* Construct(); - virtual void ConstructSDandField(); + public: + GB01DetectorConstruction(); + ~GB01DetectorConstruction(); + public: + virtual G4VPhysicalVolume* Construct(); + virtual void ConstructSDandField(); }; #endif - diff --git a/examples/extended/biasing/GB01/include/GB01PrimaryGeneratorAction.hh b/examples/extended/biasing/GB01/include/GB01PrimaryGeneratorAction.hh index b70cb2a1690..bbe551dad82 100644 --- a/examples/extended/biasing/GB01/include/GB01PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/GB01/include/GB01PrimaryGeneratorAction.hh @@ -38,17 +38,16 @@ class G4ParticleGun; class GB01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - GB01PrimaryGeneratorAction(); - virtual ~GB01PrimaryGeneratorAction(); + public: + GB01PrimaryGeneratorAction(); + virtual ~GB01PrimaryGeneratorAction(); - virtual void GeneratePrimaries(G4Event*); + virtual void GeneratePrimaries(G4Event*); -private: - G4ParticleGun* fParticleGun; //pointer a to G4 class + private: + G4ParticleGun* fParticleGun; // pointer a to G4 class }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/GB01/src/GB01ActionInitialization.cc b/examples/extended/biasing/GB01/src/GB01ActionInitialization.cc index 40811622d52..ea806a2dcab 100644 --- a/examples/extended/biasing/GB01/src/GB01ActionInitialization.cc +++ b/examples/extended/biasing/GB01/src/GB01ActionInitialization.cc @@ -28,30 +28,29 @@ /// \brief Implementation of the GB01ActionInitialization class #include "GB01ActionInitialization.hh" + #include "GB01PrimaryGeneratorAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB01ActionInitialization::GB01ActionInitialization() - : G4VUserActionInitialization() -{} +GB01ActionInitialization::GB01ActionInitialization() : G4VUserActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB01ActionInitialization::~GB01ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB01ActionInitialization::BuildForMaster() const -{ -} +void GB01ActionInitialization::BuildForMaster() const {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB01ActionInitialization::Build() const { SetUserAction(new GB01PrimaryGeneratorAction); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB01/src/GB01BOptrChangeCrossSection.cc b/examples/extended/biasing/GB01/src/GB01BOptrChangeCrossSection.cc index 46332c811c1..11ca193e32e 100644 --- a/examples/extended/biasing/GB01/src/GB01BOptrChangeCrossSection.cc +++ b/examples/extended/biasing/GB01/src/GB01BOptrChangeCrossSection.cc @@ -27,45 +27,37 @@ /// \brief Implementation of the GB01BOptrChangeCrossSection class // #include "GB01BOptrChangeCrossSection.hh" -#include "G4BiasingProcessInterface.hh" -#include "G4BOptnChangeCrossSection.hh" +#include "G4BOptnChangeCrossSection.hh" +#include "G4BiasingProcessInterface.hh" +#include "G4InteractionLawPhysical.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" #include "G4VProcess.hh" - #include "Randomize.hh" -#include "G4InteractionLawPhysical.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB01BOptrChangeCrossSection::GB01BOptrChangeCrossSection(G4String particleName, - G4String name) - : G4VBiasingOperator(name), - fSetup(true) +GB01BOptrChangeCrossSection::GB01BOptrChangeCrossSection(G4String particleName, G4String name) + : G4VBiasingOperator(name), fSetup(true) { fParticleToBias = G4ParticleTable::GetParticleTable()->FindParticle(particleName); - - if ( fParticleToBias == 0 ) - { - G4ExceptionDescription ed; - ed << "Particle `" << particleName << "' not found !" << G4endl; - G4Exception("GB01BOptrChangeCrossSection(...)", - "exGB01.01", - JustWarning, - ed); - } + + if (fParticleToBias == 0) { + G4ExceptionDescription ed; + ed << "Particle `" << particleName << "' not found !" << G4endl; + G4Exception("GB01BOptrChangeCrossSection(...)", "exGB01.01", JustWarning, ed); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB01BOptrChangeCrossSection::~GB01BOptrChangeCrossSection() { - for ( std::map< const G4BiasingProcessInterface*, G4BOptnChangeCrossSection* >::iterator - it = fChangeCrossSectionOperations.begin() ; - it != fChangeCrossSectionOperations.end() ; - it++ ) delete (*it).second; + for (std::map::iterator it = + fChangeCrossSectionOperations.begin(); + it != fChangeCrossSectionOperations.end(); it++) + delete (*it).second; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -77,65 +69,59 @@ void GB01BOptrChangeCrossSection::StartRun() // --------------- // -- Start by collecting processes under biasing, create needed biasing // -- operations and associate these operations to the processes: - if ( fSetup ) + if (fSetup) { + const G4ProcessManager* processManager = fParticleToBias->GetProcessManager(); + const G4BiasingProcessSharedData* sharedData = + G4BiasingProcessInterface::GetSharedData(processManager); + if (sharedData) // -- sharedData tested, as is can happen a user attaches an operator to a + // -- volume but without defined BiasingProcessInterface processes. { - const G4ProcessManager* processManager = fParticleToBias->GetProcessManager(); - const G4BiasingProcessSharedData* sharedData = - G4BiasingProcessInterface::GetSharedData( processManager ); - if ( sharedData ) // -- sharedData tested, as is can happen a user attaches an operator to a - // -- volume but without defined BiasingProcessInterface processes. - { - for ( size_t i = 0 ; i < (sharedData->GetPhysicsBiasingProcessInterfaces()).size(); i++ ) - { - const G4BiasingProcessInterface* wrapperProcess = - (sharedData->GetPhysicsBiasingProcessInterfaces())[i]; - G4String operationName = "XSchange-" + - wrapperProcess->GetWrappedProcess()->GetProcessName(); - fChangeCrossSectionOperations[wrapperProcess] = - new G4BOptnChangeCrossSection(operationName); - } - } - fSetup = false; + for (size_t i = 0; i < (sharedData->GetPhysicsBiasingProcessInterfaces()).size(); i++) { + const G4BiasingProcessInterface* wrapperProcess = + (sharedData->GetPhysicsBiasingProcessInterfaces())[i]; + G4String operationName = + "XSchange-" + wrapperProcess->GetWrappedProcess()->GetProcessName(); + fChangeCrossSectionOperations[wrapperProcess] = + new G4BOptnChangeCrossSection(operationName); + } } + fSetup = false; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB01BOptrChangeCrossSection::ProposeOccurenceBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* - callingProcess) +G4VBiasingOperation* GB01BOptrChangeCrossSection::ProposeOccurenceBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* callingProcess) { - // ----------------------------------------------------- // -- Check if current particle type is the one to bias: // ----------------------------------------------------- - if ( track->GetDefinition() != fParticleToBias ) return 0; - - + if (track->GetDefinition() != fParticleToBias) return 0; + // --------------------------------------------------------------------- // -- select and setup the biasing operation for current callingProcess: // --------------------------------------------------------------------- // -- Check if the analog cross-section well defined : for example, the conversion // -- process for a gamma below e+e- creation threshold has an DBL_MAX interaction // -- length. Nothing is done in this case (ie, let analog process to deal with the case) - G4double analogInteractionLength = + G4double analogInteractionLength = callingProcess->GetWrappedProcess()->GetCurrentInteractionLength(); - if ( analogInteractionLength > DBL_MAX/10. ) return 0; + if (analogInteractionLength > DBL_MAX / 10.) return 0; // -- Analog cross-section is well-defined: - G4double analogXS = 1./analogInteractionLength; + G4double analogXS = 1. / analogInteractionLength; // -- Choose a constant cross-section bias. But at this level, this factor can be made // -- direction dependent, like in the exponential transform MCNP case, or it // -- can be chosen differently, depending on the process, etc. - G4double XStransformation = 2.0 ; - + G4double XStransformation = 2.0; + // -- fetch the operation associated to this callingProcess: - G4BOptnChangeCrossSection* operation = fChangeCrossSectionOperations[callingProcess]; + G4BOptnChangeCrossSection* operation = fChangeCrossSectionOperations[callingProcess]; // -- get the operation that was proposed to the process in the previous step: G4VBiasingOperation* previousOperation = callingProcess->GetPreviousOccurenceBiasingOperation(); - + // -- now setup the operation to be returned to the process: this // -- consists in setting the biased cross-section, and in asking // -- the operation to sample its exponential interaction law. @@ -147,58 +133,48 @@ GB01BOptrChangeCrossSection::ProposeOccurenceBiasingOperation(const G4Track* // -- only on the first time the operation is proposed, or if the interaction // -- occured. If the interaction did not occur for the process in the previous, // -- we update the number of interaction length instead of resampling. - if ( previousOperation == 0 ) - { - operation->SetBiasedCrossSection( XStransformation * analogXS ); + if (previousOperation == 0) { + operation->SetBiasedCrossSection(XStransformation * analogXS); + operation->Sample(); + } + else { + if (previousOperation != operation) { + // -- should not happen ! + G4ExceptionDescription ed; + ed << " Logic problem in operation handling !" << G4endl; + G4Exception("GB01BOptrChangeCrossSection::ProposeOccurenceBiasingOperation(...)", "exGB01.02", + JustWarning, ed); + return 0; + } + if (operation->GetInteractionOccured()) { + operation->SetBiasedCrossSection(XStransformation * analogXS); operation->Sample(); } - else - { - if ( previousOperation != operation ) - { - // -- should not happen ! - G4ExceptionDescription ed; - ed << " Logic problem in operation handling !" << G4endl; - G4Exception("GB01BOptrChangeCrossSection::ProposeOccurenceBiasingOperation(...)", - "exGB01.02", - JustWarning, - ed); - return 0; - } - if ( operation->GetInteractionOccured() ) - { - operation->SetBiasedCrossSection( XStransformation * analogXS ); - operation->Sample(); - } - else - { - // -- update the 'interaction length' and underneath 'number of interaction lengths' - // -- for past step (this takes into accout the previous step cross-section value) - operation->UpdateForStep( callingProcess->GetPreviousStepSize() ); - // -- update the cross-section value: - operation->SetBiasedCrossSection( XStransformation * analogXS ); - // -- forces recomputation of the 'interaction length' taking into account above - // -- new cross-section value [tricky : to be improved] - operation->UpdateForStep( 0.0 ); - } + else { + // -- update the 'interaction length' and underneath 'number of interaction lengths' + // -- for past step (this takes into accout the previous step cross-section value) + operation->UpdateForStep(callingProcess->GetPreviousStepSize()); + // -- update the cross-section value: + operation->SetBiasedCrossSection(XStransformation * analogXS); + // -- forces recomputation of the 'interaction length' taking into account above + // -- new cross-section value [tricky : to be improved] + operation->UpdateForStep(0.0); } - + } + return operation; - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB01BOptrChangeCrossSection:: -OperationApplied(const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase, - G4VBiasingOperation* occurenceOperationApplied, - G4double, - G4VBiasingOperation*, - const G4VParticleChange* ) +void GB01BOptrChangeCrossSection::OperationApplied(const G4BiasingProcessInterface* callingProcess, + G4BiasingAppliedCase, + G4VBiasingOperation* occurenceOperationApplied, + G4double, G4VBiasingOperation*, + const G4VParticleChange*) { G4BOptnChangeCrossSection* operation = fChangeCrossSectionOperations[callingProcess]; - if ( operation == occurenceOperationApplied ) operation->SetInteractionOccured(); + if (operation == occurenceOperationApplied) operation->SetInteractionOccured(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB01/src/GB01BOptrMultiParticleChangeCrossSection.cc b/examples/extended/biasing/GB01/src/GB01BOptrMultiParticleChangeCrossSection.cc index 8eca057b4df..dbd8e626ac1 100644 --- a/examples/extended/biasing/GB01/src/GB01BOptrMultiParticleChangeCrossSection.cc +++ b/examples/extended/biasing/GB01/src/GB01BOptrMultiParticleChangeCrossSection.cc @@ -27,12 +27,12 @@ /// \brief Implementation of the GB01BOptrMultiParticleChangeCrossSection class // #include "GB01BOptrMultiParticleChangeCrossSection.hh" -#include "G4BiasingProcessInterface.hh" #include "GB01BOptrChangeCrossSection.hh" + +#include "G4BiasingProcessInterface.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" - #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -46,54 +46,50 @@ GB01BOptrMultiParticleChangeCrossSection::GB01BOptrMultiParticleChangeCrossSecti void GB01BOptrMultiParticleChangeCrossSection::AddParticle(G4String particleName) { const G4ParticleDefinition* particle = - G4ParticleTable::GetParticleTable()->FindParticle( particleName ); - - if ( particle == 0 ) - { - G4ExceptionDescription ed; - ed << "Particle `" << particleName << "' not found !" << G4endl; - G4Exception("GB01BOptrMultiParticleChangeCrossSection::AddParticle(...)", - "exGB01.02", - JustWarning, - ed); - return; - } - + G4ParticleTable::GetParticleTable()->FindParticle(particleName); + + if (particle == 0) { + G4ExceptionDescription ed; + ed << "Particle `" << particleName << "' not found !" << G4endl; + G4Exception("GB01BOptrMultiParticleChangeCrossSection::AddParticle(...)", "exGB01.02", + JustWarning, ed); + return; + } + GB01BOptrChangeCrossSection* optr = new GB01BOptrChangeCrossSection(particleName); - fParticlesToBias.push_back( particle ); - fBOptrForParticle[ particle ] = optr; + fParticlesToBias.push_back(particle); + fBOptrForParticle[particle] = optr; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB01BOptrMultiParticleChangeCrossSection:: -ProposeOccurenceBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess) +G4VBiasingOperation* GB01BOptrMultiParticleChangeCrossSection::ProposeOccurenceBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* callingProcess) { // -- examples of limitations imposed to apply the biasing: // -- limit application of biasing to primary particles only: - if ( track->GetParentID() != 0 ) return 0; + if (track->GetParentID() != 0) return 0; // -- limit to at most 5 biased interactions: - if ( fnInteractions > 4 ) return 0; + if (fnInteractions > 4) return 0; // -- and limit to a weight of at least 0.05: - if ( track->GetWeight() < 0.05 ) return 0; - - if ( fCurrentOperator ) return fCurrentOperator-> - GetProposedOccurenceBiasingOperation(track, callingProcess); - else return 0; + if (track->GetWeight() < 0.05) return 0; + + if (fCurrentOperator) + return fCurrentOperator->GetProposedOccurenceBiasingOperation(track, callingProcess); + else + return 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB01BOptrMultiParticleChangeCrossSection::StartTracking( const G4Track* track ) +void GB01BOptrMultiParticleChangeCrossSection::StartTracking(const G4Track* track) { // -- fetch the underneath biasing operator, if any, for the current particle type: const G4ParticleDefinition* definition = track->GetParticleDefinition(); - std::map < const G4ParticleDefinition*, GB01BOptrChangeCrossSection* > :: iterator - it = fBOptrForParticle.find( definition ); + std::map::iterator it = + fBOptrForParticle.find(definition); fCurrentOperator = 0; - if ( it != fBOptrForParticle.end() ) fCurrentOperator = (*it).second; + if (it != fBOptrForParticle.end()) fCurrentOperator = (*it).second; // -- reset count for number of biased interactions: fnInteractions = 0; @@ -101,25 +97,19 @@ void GB01BOptrMultiParticleChangeCrossSection::StartTracking( const G4Track* tra //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void -GB01BOptrMultiParticleChangeCrossSection:: -OperationApplied( const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase biasingCase, - G4VBiasingOperation* occurenceOperationApplied, - G4double weightForOccurenceInteraction, - G4VBiasingOperation* finalStateOperationApplied, - const G4VParticleChange* particleChangeProduced ) +void GB01BOptrMultiParticleChangeCrossSection::OperationApplied( + const G4BiasingProcessInterface* callingProcess, G4BiasingAppliedCase biasingCase, + G4VBiasingOperation* occurenceOperationApplied, G4double weightForOccurenceInteraction, + G4VBiasingOperation* finalStateOperationApplied, const G4VParticleChange* particleChangeProduced) { // -- count number of biased interactions: fnInteractions++; // -- inform the underneath biasing operator that a biased interaction occured: - if ( fCurrentOperator ) fCurrentOperator->ReportOperationApplied( callingProcess, - biasingCase, - occurenceOperationApplied, - weightForOccurenceInteraction, - finalStateOperationApplied, - particleChangeProduced ); + if (fCurrentOperator) + fCurrentOperator->ReportOperationApplied(callingProcess, biasingCase, occurenceOperationApplied, + weightForOccurenceInteraction, + finalStateOperationApplied, particleChangeProduced); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB01/src/GB01DetectorConstruction.cc b/examples/extended/biasing/GB01/src/GB01DetectorConstruction.cc index 5740f654214..a15974c6fcd 100644 --- a/examples/extended/biasing/GB01/src/GB01DetectorConstruction.cc +++ b/examples/extended/biasing/GB01/src/GB01DetectorConstruction.cc @@ -27,74 +27,67 @@ /// \brief Implementation of the GB01DetectorConstruction class // #include "GB01DetectorConstruction.hh" -#include "G4SystemOfUnits.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "GB01BOptrMultiParticleChangeCrossSection.hh" #include "G4Box.hh" +#include "G4Colour.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" +#include "G4SystemOfUnits.hh" #include "G4UniformMagField.hh" -#include "G4LogicalVolumeStore.hh" - #include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4NistManager.hh" - -#include "GB01BOptrMultiParticleChangeCrossSection.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB01DetectorConstruction::GB01DetectorConstruction() -{} +GB01DetectorConstruction::GB01DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB01DetectorConstruction::~GB01DetectorConstruction() -{} +GB01DetectorConstruction::~GB01DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* GB01DetectorConstruction::Construct() { - G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); G4Material* defaultMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_lN2"); - G4VSolid* solidWorld = new G4Box("World", 10*m, 10*m, 10*m ); - - G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid - worldMaterial, // its material - "World"); // its name - - G4PVPlacement* 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 - + G4VSolid* solidWorld = new G4Box("World", 10 * m, 10 * m, 10 * m); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid + worldMaterial, // its material + "World"); // its name + + G4PVPlacement* 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 + // ----------------------------------- // -- volume where biasing is applied: // ----------------------------------- - G4double halfZ = 10*cm; - G4VSolid* solidTest = new G4Box("test.solid", 1*m, 1*m, halfZ ); - - G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, // its solid + G4double halfZ = 10 * cm; + G4VSolid* solidTest = new G4Box("test.solid", 1 * m, 1 * m, halfZ); + + G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, // its solid defaultMaterial, // its material "test.logical"); // its name - new G4PVPlacement(0, // no rotation - G4ThreeVector(0,0, halfZ), // volume entrance at (0,0,0) - logicTest, // its logical volume - "test.phys", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - - + new G4PVPlacement(0, // no rotation + G4ThreeVector(0, 0, halfZ), // volume entrance at (0,0,0) + logicTest, // its logical volume + "test.phys", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + return physiWorld; } @@ -102,16 +95,15 @@ void GB01DetectorConstruction::ConstructSDandField() { // -- Fetch volume for biasing: G4LogicalVolume* logicTest = G4LogicalVolumeStore::GetInstance()->GetVolume("test.logical"); - + // ---------------------------------------------- // -- operator creation and attachment to volume: // ---------------------------------------------- - GB01BOptrMultiParticleChangeCrossSection* testMany = + GB01BOptrMultiParticleChangeCrossSection* testMany = new GB01BOptrMultiParticleChangeCrossSection(); testMany->AddParticle("gamma"); testMany->AddParticle("neutron"); testMany->AttachTo(logicTest); - G4cout << " Attaching biasing operator " << testMany->GetName() - << " to logical volume " << logicTest->GetName() - << G4endl; + G4cout << " Attaching biasing operator " << testMany->GetName() << " to logical volume " + << logicTest->GetName() << G4endl; } diff --git a/examples/extended/biasing/GB01/src/GB01PrimaryGeneratorAction.cc b/examples/extended/biasing/GB01/src/GB01PrimaryGeneratorAction.cc index 69aab0d801d..c49bb09ec78 100644 --- a/examples/extended/biasing/GB01/src/GB01PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/GB01/src/GB01PrimaryGeneratorAction.cc @@ -27,12 +27,12 @@ /// \brief Implementation of the GB01PrimaryGeneratorAction class // #include "GB01PrimaryGeneratorAction.hh" -#include "G4SystemOfUnits.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" +#include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -40,16 +40,16 @@ GB01PrimaryGeneratorAction::GB01PrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="gamma"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(100.*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-50*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(100. * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -50 * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,4 +63,3 @@ void GB01PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { fParticleGun->GeneratePrimaryVertex(anEvent); } - diff --git a/examples/extended/biasing/GB02/exampleGB02.cc b/examples/extended/biasing/GB02/exampleGB02.cc index 96af0e31a22..222fafefc3d 100644 --- a/examples/extended/biasing/GB02/exampleGB02.cc +++ b/examples/extended/biasing/GB02/exampleGB02.cc @@ -28,67 +28,64 @@ // // -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" +#include "FTFP_BERT.hh" #include "GB02ActionInitialization.hh" - -#include "G4UImanager.hh" - #include "GB02DetectorConstruction.hh" #include "GB02PrimaryGeneratorAction.hh" -#include "FTFP_BERT.hh" #include "G4GenericBiasingPhysics.hh" - -#include "G4VisExecutive.hh" +#include "G4RunManagerFactory.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " ./exampleGB02 [-m macro ] " - << " [-b biasing {'on','off'}]" - << "\n or\n ./exampleGB02 [macro.mac]" - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " ./exampleGB02 [-m macro ] " + << " [-b biasing {'on','off'}]" + << "\n or\n ./exampleGB02 [macro.mac]" << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 5 ) { + if (argc > 5) { PrintUsage(); return 1; } G4String macro(""); G4String onOffBiasing(""); - if ( argc == 2 ) macro = argv[1]; - else - { - for ( G4int i=1; iBias("gamma"); - biasingPhysics->Bias("neutron"); - physicsList->RegisterPhysics(biasingPhysics); - G4cout << " ********************************************************* " << G4endl; - G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; - G4cout << " ********************************************************* " << G4endl; - } - else - { - G4cout << " ************************************************* " << G4endl; - G4cout << " ********** processes are not wrapped ************ " << G4endl; - G4cout << " ************************************************* " << G4endl; - } + if (onOffBiasing == "on") { + biasingPhysics->Bias("gamma"); + biasingPhysics->Bias("neutron"); + physicsList->RegisterPhysics(biasingPhysics); + G4cout << " ********************************************************* " << G4endl; + G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; + G4cout << " ********************************************************* " << G4endl; + } + else { + G4cout << " ************************************************* " << G4endl; + G4cout << " ********** processes are not wrapped ************ " << G4endl; + G4cout << " ************************************************* " << G4endl; + } runManager->SetUserInitialization(physicsList); // -- Action initialization: runManager->SetUserInitialization(new GB02ActionInitialization); @@ -133,19 +128,18 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( macro != "" ) // batch mode - { - G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); - } - else - { // interactive mode : define UI session - // UImanager->ApplyCommand("/control/execute vis.mac"); - // if (ui->IsGUI()) - // UImanager->ApplyCommand("/control/execute gui.mac"); - ui->SessionStart(); - delete ui; - } + if (macro != "") // batch mode + { + G4String command = "/control/execute "; + UImanager->ApplyCommand(command + macro); + } + else { // interactive mode : define UI session + // UImanager->ApplyCommand("/control/execute vis.mac"); + // if (ui->IsGUI()) + // UImanager->ApplyCommand("/control/execute gui.mac"); + ui->SessionStart(); + delete ui; + } delete visManager; delete runManager; diff --git a/examples/extended/biasing/GB02/exampleGB02.out b/examples/extended/biasing/GB02/exampleGB02.out index cefb6c8fe75..9a1951e0fad 100644 --- a/examples/extended/biasing/GB02/exampleGB02.out +++ b/examples/extended/biasing/GB02/exampleGB02.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -56,14 +56,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -239,7 +246,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -794,7 +801,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -1993,210 +2000,205 @@ 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 5.07 11.1 134 0.511 0 0 0 test.phys initStep - 1 -143 -121 148 0.264 0 198 198 test.phys compt - 2 -160 -102 185 0.261 0 45.1 244 test.phys compt - 3 -172 -90.7 200 0.261 0 22.1 266 World Transportation - 4 -7.65e+03 6.87e+03 1e+04 0.261 0 1.42e+04 1.44e+04 OutOfWorld Transportation + 1 -217 -188 155 0.394 0 299 299 test.phys compt + 2 -598 -170 119 0.184 0 383 682 test.phys compt + 3 -583 -183 99.4 0.177 0 27.8 710 test.phys compt + 4 -400 -302 21 0.112 0 232 942 test.phys compt + 5 -416 -285 10.3 0.0915 0 25.3 967 test.phys compt + 6 -420 -296 -3.55e-15 0.0915 0 15.3 983 World Transportation + 7 -4.06e+03 -1e+04 -9.34e+03 0.0915 0 1.4e+04 1.49e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -160 -102 185 0.00277 0 0 0 test.phys initStep - 1 -160 -102 185 0 0.00277 0.000402 0.000402 test.phys eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 8 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -143 -121 148 0.247 0 0 0 test.phys initStep - 1 -143 -121 148 0 0.247 0.875 0.875 test.phys eIoni + 0 -416 -285 10.3 0.0202 0 0 0 test.phys initStep + 1 -416 -285 10.3 0 0.0202 0.0123 0.0123 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 8 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.07 11.1 134 0.511 0 0 0 test.phys initStep - 1 50.1 51.3 129 0.426 0 60.5 60.5 test.phys compt - 2 53.9 53 132 0.284 0 4.66 65.2 test.phys compt - 3 86.9 107 96.4 0.177 0 72.6 138 test.phys compt - 4 157 60.3 105 0.156 0 84.8 223 test.phys compt - 5 187 -14 200 0.156 0 124 347 World Transportation - 6 3.26e+03 -7.65e+03 1e+04 0.156 0 1.28e+04 1.31e+04 OutOfWorld Transportation + 0 -400 -302 21 0.0653 0 0 0 test.phys initStep + 1 -400 -302 21 0 0.0653 0.0962 0.0962 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 157 60.3 105 0.0214 0 0 0 test.phys initStep - 1 157 60.3 105 0 0.0214 0.0135 0.0135 test.phys eIoni + 0 -583 -183 99.4 0.00663 0 0 0 test.phys initStep + 1 -583 -183 99.4 0 0.00663 0.00174 0.00174 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 86.9 107 96.4 0.107 0 0 0 test.phys initStep - 1 86.9 107 96.4 0 0.107 0.224 0.224 test.phys eIoni + 0 -598 -170 119 0.21 0 0 0 test.phys initStep + 1 -599 -170 119 0 0.21 0.678 0.678 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 +* 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 53.9 53 132 0.142 0 0 0 test.phys initStep - 1 54 52.9 132 0 0.142 0.359 0.359 test.phys eIoni + 0 -217 -188 155 0.117 0 0 0 test.phys initStep + 1 -217 -188 155 0 0.117 0.261 0.261 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 50.1 51.3 129 0.085 0 0 0 test.phys initStep - 1 50.1 51.3 129 0 0.085 0.151 0.151 test.phys eIoni + 0 5.07 11.1 134 0.511 0 0 0 test.phys initStep + 1 39 41.3 130 0.226 0 45.5 45.5 test.phys compt + 2 42.4 7.28 77.7 0.133 0 62.8 108 test.phys compt + 3 41.2 106 83.3 0.111 0 99.2 208 test.phys compt + 4 -78.4 134 117 0.111 0 127 335 test.phys Rayl + 5 -112 137 125 0.111 0 35 370 test.phys Rayl + 6 -141 141 130 0.109 0 29.1 399 test.phys compt + 7 -258 110 143 0.109 0 122 521 test.phys Rayl + 8 -412 64.3 160 0.105 0 162 683 test.phys compt + 9 -496 86.8 200 0.105 0 95.7 779 World Transportation + 10 -1e+04 2.63e+03 4.68e+03 0.105 0 1.08e+04 1.16e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.46 -2.22 119 0.143 0 0 0 test.phys initStep - 1 11.5 -2.01 147 0.131 0 28.9 28.9 test.phys compt - 2 54.5 -18.2 172 0.0927 0 52.6 81.5 test.phys compt - 3 43.6 -6.01 85.2 0.0805 0 88.6 170 test.phys compt - 4 -59.8 -54.1 72.2 0.0805 0 115 285 test.phys Rayl - 5 -85 -72.1 66.6 0 0.000403 31.5 316 test.phys phot + 0 -412 64.3 160 0.00413 0 0 0 test.phys initStep + 1 -412 64.3 160 0 0.00413 0.000778 0.000778 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -85 -72.1 66.6 0.0801 0 0 0 test.phys initStep - 1 -85 -72.1 66.6 0 0.0801 0.137 0.137 test.phys eIoni + 0 -141 141 130 0.00199 0 0 0 test.phys initStep + 1 -141 141 130 0 0.00199 0.000235 0.000235 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 43.6 -6.01 85.2 0.0122 0 0 0 test.phys initStep - 1 43.6 -6.01 85.2 0 0.0122 0.00504 0.00504 test.phys eIoni + 0 41.2 106 83.3 0.0219 0 0 0 test.phys initStep + 1 41.2 106 83.3 0 0.0219 0.0141 0.0141 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 54.5 -18.2 172 0.0386 0 0 0 test.phys initStep - 1 54.5 -18.2 172 0 0.0386 0.0384 0.0384 test.phys eIoni + 0 42.4 7.28 77.7 0.0934 0 0 0 test.phys initStep + 1 42.4 7.21 77.7 0 0.0934 0.178 0.178 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.5 -2.01 147 0.0113 0 0 0 test.phys initStep - 1 11.5 -2.01 147 0 0.0113 0.00438 0.00438 test.phys eIoni + 0 39 41.3 130 0.285 0 0 0 test.phys initStep + 1 39.3 41.8 131 0.0637 0.221 1.08 1.08 test.phys eIoni + 2 39.2 41.8 131 0 0.0637 0.0922 1.17 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.515 0.731 111 0.722 0 0 0 test.phys initStep - 1 -0.414 0.0157 112 0.406 0.316 2.22 2.22 test.phys eIoni - 2 -0.544 0.679 113 0.184 0.222 1.53 3.75 test.phys eIoni - 3 -0.745 0.488 113 0 0.184 0.55 4.3 test.phys eIoni + 0 3.46 -2.22 119 0.143 0 0 0 test.phys initStep + 1 6.07 -2.16 128 0.112 0 9.41 9.41 test.phys compt + 2 6.94 28.9 128 0.0883 0 31 40.5 test.phys compt + 3 20.7 10.2 200 0.0883 0 75.3 116 World Transportation + 4 1.9e+03 -2.55e+03 1e+04 0.0883 0 1.03e+04 1.04e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 97.8 91.3 0 0 0 test.phys initStep - 1 0.0248 -0.0146 101 90.9 0.376 3.52 3.52 test.phys eBrem - 2 0.128 -0.183 108 89.8 0.801 6.6 10.1 test.phys eBrem - 3 0.932 -2.06 141 83.7 4.63 33.5 43.6 test.phys eIoni - 4 0.902 -2.23 145 82.9 0.471 3.76 47.4 test.phys eIoni - 5 2.61 -4.02 178 78.4 4.21 33 80.4 test.phys eBrem - 6 3.36 -5.38 200 75.3 3.08 22 102 World Transportation - 7 -405 -441 1e+04 75.3 3.53e-22 9.82e+03 9.92e+03 OutOfWorld Transportation + 0 6.94 28.9 128 0.0239 0 0 0 test.phys initStep + 1 6.94 28.9 128 0 0.0239 0.0164 0.0164 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.61 -4.02 178 0.323 0 0 0 test.phys initStep - 1 3.34 -5.44 200 0.323 0 22 22 World Transportation - 2 328 -637 1e+04 0.323 0 9.83e+03 9.85e+03 OutOfWorld Transportation + 0 6.07 -2.16 128 0.0305 0 0 0 test.phys initStep + 1 6.07 -2.16 128 0 0.0305 0.0253 0.0253 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 3 +* 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.902 -2.23 145 0.379 0 0 0 test.phys initStep - 1 0.243 -2.54 146 0.117 0.262 1.45 1.45 test.phys eIoni - 2 0.157 -2.47 146 0 0.117 0.26 1.71 test.phys eIoni + 0 0.515 0.731 111 0.722 0 0 0 test.phys initStep + 1 -0.414 0.0157 112 0.468 0.254 2.22 2.22 test.phys eIoni + 2 -0.829 -0.939 113 0.209 0.259 1.69 3.91 test.phys eIoni + 3 -0.55 -0.796 113 0 0.209 0.671 4.58 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 3 +* 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.932 -2.06 141 1.39 0 0 0 test.phys initStep - 1 0.32 -1.55 142 1.23 0.154 1.32 1.32 test.phys eBrem - 2 0.199 0.0236 144 0.798 0.431 3.1 4.42 test.phys eIoni - 3 -0.483 -1.09 146 0.453 0.346 2.36 6.77 test.phys eIoni - 4 -1.2 -1.61 146 0.172 0.281 1.66 8.43 test.phys eIoni - 5 -1.31 -1.55 146 0 0.172 0.491 8.92 test.phys eIoni + 0 0 0 97.8 91.3 0 0 0 test.phys initStep + 1 0.0993 -0.154 108 90 1.07 10.3 10.3 test.phys eIoni + 2 0.253 0.0199 119 88.5 1.24 11.2 21.5 test.phys eIoni + 3 0.278 0.029 125 86.5 1.03 5.96 27.4 test.phys eIoni + 4 1.51 0.892 185 73 7.46 59.6 87 test.phys eBrem + 5 2.09 1.32 196 71.2 1.63 10.9 98 test.phys eIoni + 6 2.35 1.4 200 70.7 0.502 4.3 102 World Transportation + 7 588 -52.7 1e+04 70.7 3.51e-22 9.82e+03 9.92e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 21 +* 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 0.32 -1.55 142 0.0106 0 0 0 test.phys initStep - 1 -7.5 -0.337 134 0 0.000403 11.5 11.5 test.phys phot + 0 2.09 1.32 196 0.229 0 0 0 test.phys initStep + 1 1.86 1.58 196 0 0.229 0.773 0.773 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 24 +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -7.5 -0.337 134 0.0102 0 0 0 test.phys initStep - 1 -7.5 -0.336 134 0 0.0102 0.00368 0.00368 test.phys eIoni + 0 1.51 0.892 185 6.03 0 0 0 test.phys initStep + 1 2.13 1.31 200 6.03 0 15.2 15.2 World Transportation + 2 403 274 1e+04 6.03 0 9.81e+03 9.83e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 3 +* 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 0.128 -0.183 108 0.361 0 0 0 test.phys initStep - 1 2.6 -7.7 200 0.361 0 92.4 92.4 World Transportation - 2 266 -808 1e+04 0.361 0 9.84e+03 9.93e+03 OutOfWorld Transportation + 0 0.278 0.029 125 0.926 0 0 0 test.phys initStep + 1 -0.159 -1.43 127 0.499 0.427 2.58 2.58 test.phys eIoni + 2 -0.945 -1.21 128 0.28 0.219 1.77 4.35 test.phys eIoni + 3 -1.39 -1.22 127 0 0.28 1.05 5.4 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 3 +* 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 0.0248 -0.0146 101 0.00396 0 0 0 test.phys initStep - 1 0.0271 -0.0162 101 0 0.000403 0.113 0.113 test.phys phot + 0 0.253 0.0199 119 0.266 0 0 0 test.phys initStep + 1 0.681 -0.106 120 0 0.266 0.976 0.976 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 19 +* 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 0.0271 -0.0162 101 0.00356 0 0 0 test.phys initStep - 1 0.0272 -0.0164 101 0 0.00356 0.000607 0.000607 test.phys eIoni + 0 0.0993 -0.154 108 0.245 0 0 0 test.phys initStep + 1 0.0886 -0.549 108 0 0.245 0.861 0.861 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 @@ -2215,74 +2217,63 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 155 0 0 155 655 test.phys conv + 1 0 0 182 0 0 182 682 test.phys conv ********************************************************************************************************* * 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 0 155 41 0 0 0 test.phys initStep - 1 -0.26 -0.128 164 38.6 1.3 9.63 9.63 test.phys eIoni - 2 -0.631 -1.09 171 37.5 0.823 7.09 16.7 test.phys eIoni - 3 -1.47 -4.23 191 35 2.53 20.1 36.8 test.phys eBrem - 4 -1.56 -5.49 200 33.7 1.32 8.86 45.7 World Transportation - 5 727 -1.76e+03 1e+04 33.7 3.34e-22 9.98e+03 1e+04 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.47 -4.23 191 0.0122 0 0 0 test.phys initStep - 1 -1.49 -4.96 196 0 0.000403 4.97 4.97 test.phys phot + 0 0 0 182 44.8 0 0 0 test.phys initStep + 1 0.309 0.432 200 42.6 2.17 18.3 18.3 World Transportation + 2 292 818 1e+04 42.6 3.36e-22 9.84e+03 9.86e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +* 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 -1.49 -4.96 196 0.0118 0 0 0 test.phys initStep - 1 -1.49 -4.96 196 0 0.0118 0.00474 0.00474 test.phys eIoni + 0 0 0 182 54.2 0 0 0 test.phys initStep + 1 -0.312 -0.109 190 52.5 1.16 8.18 8.18 test.phys eIoni + 2 -0.465 -0.188 193 51.7 0.361 3.53 11.7 test.phys eIoni + 3 -0.487 -0.2 194 51.6 0.104 0.91 12.6 test.phys eBrem + 4 -0.632 -0.282 200 50.9 0.691 5.64 18.3 World Transportation + 5 -457 49.9 1e+04 50.9 3.41e-22 9.81e+03 9.83e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.631 -1.09 171 0.254 0 0 0 test.phys initStep - 1 -0.601 -1.52 172 0 0.254 0.91 0.91 test.phys eIoni + 0 -0.487 -0.2 194 0.00388 0 0 0 test.phys initStep + 1 -0.488 -0.199 194 0 0.000403 0.0439 0.0439 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.26 -0.128 164 1.09 0 0 0 test.phys initStep - 1 -1.41 1.01 166 0.8 0.291 2.87 2.87 test.phys eIoni - 2 -2.96 1.88 167 0.514 0.286 2.36 5.22 test.phys eIoni - 3 -3.48 1.31 166 0.246 0.268 1.8 7.02 test.phys eIoni - 4 -3.82 1.44 165 0 0.246 0.865 7.89 test.phys eIoni + 0 -0.488 -0.199 194 0.00347 0 0 0 test.phys initStep + 1 -0.488 -0.2 194 0 0.00347 0.000583 0.000583 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +* 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 0 0 155 58 0 0 0 test.phys initStep - 1 -0.148 -0.715 174 54.8 2.65 19.6 19.6 test.phys eIoni - 2 -0.259 -1.18 200 51.3 3.45 25.6 45.3 World Transportation - 3 -601 -103 1e+04 51.3 3.41e-22 9.82e+03 9.86e+03 OutOfWorld Transportation + 0 -0.465 -0.188 193 0.435 0 0 0 test.phys initStep + 1 -1.09 0.406 194 0.0507 0.385 1.61 1.61 test.phys eIoni + 2 -1.09 0.433 194 0 0.0507 0.0619 1.67 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 +* 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.148 -0.715 174 0.57 0 0 0 test.phys initStep - 1 -0.184 0.36 175 0.303 0.267 1.92 1.92 test.phys eIoni - 2 -0.255 0.432 176 0.0124 0.291 1.17 3.09 test.phys eIoni - 3 -0.257 0.433 176 0 0.0124 0.00519 3.09 test.phys eIoni + 0 -0.312 -0.109 190 0.529 0 0 0 test.phys initStep + 1 -0.548 0.867 191 0.286 0.243 1.83 1.83 test.phys eIoni + 2 -0.953 1.09 191 0.0453 0.241 1.09 2.92 test.phys eIoni + 3 -0.956 1.12 191 0 0.0453 0.0507 2.97 test.phys eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 @@ -2301,151 +2292,143 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 96.9 0 0 96.9 597 test.phys conv + 1 0 0 162 0 0 162 662 test.phys conv ********************************************************************************************************* * 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 0 96.9 53.5 0 0 0 test.phys initStep - 1 -0.957 -1.08 127 49.6 3.56 30.2 30.2 test.phys eIoni - 2 -0.0601 -2.49 152 46.3 3.06 25 55.2 test.phys eIoni - 3 -0.0163 -2.56 153 46.2 0.0775 0.744 56 test.phys eBrem - 4 0.916 -6.38 181 41.9 3.85 28.1 84 test.phys eIoni - 5 0.842 -7.65 188 41 0.953 8.08 92.1 test.phys eBrem - 6 0.777 -9.36 200 39.3 1.66 11.6 104 World Transportation - 7 893 -1.33e+03 1e+04 39.3 3.37e-22 9.93e+03 1e+04 OutOfWorld Transportation + 0 0 0 162 39 0 0 0 test.phys initStep + 1 -0.00531 0.0252 162 37.9 0.0865 0.456 0.456 test.phys eBrem + 2 -0.409 0.592 171 36.5 1.49 9 9.45 test.phys eBrem + 3 -0.458 0.654 174 35.9 0.329 2.53 12 test.phys eIoni + 4 -0.986 0.669 182 34.3 1.27 8.6 20.6 test.phys eIoni + 5 -1.41 0.582 187 33.8 0.455 4.39 25 test.phys eBrem + 6 -2.18 0.411 200 32.3 1.55 13.5 38.4 World Transportation + 7 -1.66e+03 -1.98e+03 1e+04 32.3 3.38e-22 1.01e+04 1.02e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.916 -6.38 181 0.393 0 0 0 test.phys initStep - 1 1.54 -6.87 181 0.154 0.239 1.49 1.49 test.phys eIoni - 2 1.53 -6.67 181 0 0.154 0.411 1.9 test.phys eIoni + 0 -1.41 0.582 187 0.0163 0 0 0 test.phys initStep + 1 -2.37 0.36 196 0 0.000403 9.35 9.35 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0163 -2.56 153 0.00804 0 0 0 test.phys initStep - 1 -0.0121 -2.57 153 0 0.000403 0.0741 0.0741 test.phys phot + 0 -2.37 0.36 196 0.0159 0 0 0 test.phys initStep + 1 -2.37 0.363 196 0 0.0159 0.00805 0.00805 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +* 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.0121 -2.57 153 0.00764 0 0 0 test.phys initStep - 1 -0.0124 -2.57 153 0 0.00764 0.00223 0.00223 test.phys eIoni + 0 -0.986 0.669 182 0.328 0 0 0 test.phys initStep + 1 -1.22 0.1 183 0.0303 0.298 1.27 1.27 test.phys eIoni + 2 -1.21 0.109 183 0 0.0303 0.025 1.3 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +* 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.0601 -2.49 152 0.239 0 0 0 test.phys initStep - 1 -0.221 -2.17 152 0 0.239 0.83 0.83 test.phys eIoni + 0 -0.458 0.654 174 0.247 0 0 0 test.phys initStep + 1 -0.152 0.906 174 0 0.247 0.874 0.874 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.957 -1.08 127 0.41 0 0 0 test.phys initStep - 1 -0.496 -0.459 128 0.17 0.24 1.54 1.54 test.phys eIoni - 2 -0.616 -0.601 128 0 0.17 0.482 2.03 test.phys eIoni + 0 -0.409 0.592 171 0.00504 0 0 0 test.phys initStep + 1 -0.415 0.591 171 0.00504 0 0.117 0.117 test.phys Rayl + 2 -0.41 0.561 171 0 0.000403 0.0528 0.17 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 96.9 45.4 0 0 0 test.phys initStep - 1 -0.191 -0.165 117 42.7 2.46 19.9 19.9 test.phys eIoni - 2 1.6 -1.72 146 38.3 4.15 28.9 48.8 test.phys eIoni - 3 1.84 -1.53 148 36.5 0.319 2.66 51.5 test.phys eBrem - 4 4.76 0.378 168 33.3 2.74 20.5 71.9 test.phys eIoni - 5 6.92 0.0519 177 31.8 1.09 8.51 80.4 test.phys eIoni - 6 8.4 -0.171 181 30.9 0.557 4.79 85.2 test.phys eIoni - 7 10.3 -0.104 188 29.8 0.842 6.87 92.1 test.phys eIoni - 8 11.1 -0.0558 190 28.3 0.345 2.84 95 test.phys eIoni - 9 14.4 0.0481 200 27 1.37 10.1 105 World Transportation - 10 3.16e+03 -299 1e+04 27 3.38e-22 1.03e+04 1.04e+04 OutOfWorld Transportation + 0 -0.41 0.561 171 0.00464 0 0 0 test.phys initStep + 1 -0.41 0.562 171 0 0.00464 0.000946 0.000946 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.1 -0.0558 190 1.14 0 0 0 test.phys initStep - 1 10 -0.0302 193 0.797 0.342 2.95 2.95 test.phys eIoni - 2 9.11 0.455 194 0.49 0.307 2.35 5.3 test.phys eIoni - 3 8.06 0.963 194 0.221 0.269 1.74 7.04 test.phys eIoni - 4 8.03 0.984 195 0 0.221 0.733 7.78 test.phys eIoni + 0 -0.00531 0.0252 162 1.02 0 0 0 test.phys initStep + 1 -0.519 1.69 200 1.02 0 37.9 37.9 World Transportation + 2 -134 434 1e+04 1.02 0 9.81e+03 9.85e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 3 +* 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 10.3 -0.104 188 0.262 0 0 0 test.phys initStep - 1 10.2 0.307 188 0 0.262 0.956 0.956 test.phys eIoni + 0 0 0 162 59.9 0 0 0 test.phys initStep + 1 -0.0972 0.0422 169 20.6 0.757 7 7 test.phys eBrem + 2 0.722 -2.99 196 17.5 3.11 27.2 34.2 test.phys eBrem + 3 0.756 -3.1 197 17.3 0.129 1.32 35.6 test.phys eBrem + 4 0.74 -3.26 199 16.8 0.172 1.68 37.2 test.phys eBrem + 5 0.732 -3.4 200 16.7 0.153 1.43 38.7 World Transportation + 6 -272 -956 1e+04 16.7 3.09e-22 9.85e+03 9.89e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.4 -0.171 181 0.336 0 0 0 test.phys initStep - 1 8.71 -0.764 181 0.11 0.226 1.3 1.3 test.phys eIoni - 2 8.82 -0.794 181 0 0.11 0.235 1.54 test.phys eIoni + 0 0.74 -3.26 199 0.335 0 0 0 test.phys initStep + 1 0.759 -3.35 200 0.335 0 1.42 1.42 World Transportation + 2 129 -645 1e+04 0.335 0 9.82e+03 9.82e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 6.92 0.0519 177 0.44 0 0 0 test.phys initStep - 1 7.3 -0.792 177 0.158 0.281 1.62 1.62 test.phys eIoni - 2 7.26 -1 177 0 0.158 0.429 2.05 test.phys eIoni + 0 0.756 -3.1 197 0.00257 0 0 0 test.phys initStep + 1 0.757 -3.1 197 0 0.000403 0.0457 0.0457 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.76 0.378 168 0.446 0 0 0 test.phys initStep - 1 5.22 -0.438 169 0.181 0.265 1.64 1.64 test.phys eIoni - 2 5.25 -0.667 169 0 0.181 0.534 2.17 test.phys eIoni + 0 0.757 -3.1 197 0.00217 0 0 0 test.phys initStep + 1 0.757 -3.1 197 0 0.00217 0.000269 0.000269 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.84 -1.53 148 1.49 0 0 0 test.phys initStep - 1 6.44 2.56 200 1.49 0 52.1 52.1 World Transportation - 2 878 777 1e+04 1.49 0 9.87e+03 9.92e+03 OutOfWorld Transportation + 0 0.722 -2.99 196 0.00518 0 0 0 test.phys initStep + 1 0.723 -2.99 196 0 2.03e-05 0.0262 0.0262 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 3 +* 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 1.6 -1.72 146 0.237 0 0 0 test.phys initStep - 1 1.98 -1.61 146 0 0.237 0.818 0.818 test.phys eIoni + 0 0.723 -2.99 196 0.00516 0 0 0 test.phys initStep + 1 0.723 -2.99 196 0 0.00516 0.00113 0.00113 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.191 -0.165 117 0.26 0 0 0 test.phys initStep - 1 -0.0117 0.222 117 0 0.26 0.944 0.944 test.phys eIoni + 0 -0.0972 0.0422 169 38.6 0 0 0 test.phys initStep + 1 -0.512 -0.0288 200 38.6 0 31.3 31.3 World Transportation + 2 -131 -22.3 1e+04 38.6 0 9.8e+03 9.83e+03 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 @@ -2464,1036 +2447,1095 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 180 0 0 180 680 test.phys conv + 1 0 0 104 0 0 104 604 test.phys conv ********************************************************************************************************* * 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 0 180 18.5 0 0 0 test.phys initStep - 1 -0.274 -0.178 200 16 2.43 20.3 20.3 World Transportation - 2 905 -1.14e+03 1e+04 16 3.1e-22 9.91e+03 9.93e+03 OutOfWorld Transportation + 0 0 0 104 50.1 0 0 0 test.phys initStep + 1 0.351 0.605 120 47.2 1.82 15.5 15.5 test.phys eIoni + 2 0.225 0.75 122 46.6 0.218 1.97 17.4 test.phys eIoni + 3 -0.533 1.39 130 45 1.13 8.87 26.3 test.phys eIoni + 4 -1.15 1.91 135 44.1 0.582 5 31.3 test.phys eIoni + 5 -2.04 2.34 143 42.9 0.88 7.17 38.5 test.phys eIoni + 6 -2.4 2.48 145 42.1 0.36 2.97 41.4 test.phys eIoni + 7 -2.8 2.63 148 41.7 0.389 2.86 44.3 test.phys eBrem + 8 -5.19 3.72 162 39.8 1.68 13.9 58.2 test.phys eIoni + 9 -6.58 4.51 168 38.8 0.726 6.07 64.2 test.phys eIoni + 10 -6.85 4.63 169 36.6 0.114 1.09 65.3 test.phys eBrem + 11 -7.27 4.77 171 34.7 0.237 1.9 67.2 test.phys eIoni + 12 -9.91 6.33 182 33.4 1.29 12 79.3 test.phys eBrem + 13 -12.1 7.1 189 31.9 1.25 7.25 86.5 test.phys eBrem + 14 -16.1 8.57 200 30.7 1.29 11.7 98.2 World Transportation + 15 -3e+03 323 1e+04 30.7 3.4e-22 1.02e+04 1.03e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 180 80.5 0 0 0 test.phys initStep - 1 -0.125 -0.0566 194 77.5 1.67 13.8 13.8 test.phys eIoni - 2 -0.105 -0.0407 199 76.8 0.512 5 18.8 test.phys eIoni - 3 -0.0882 -0.0213 200 76.6 0.234 1.26 20.1 World Transportation - 4 221 75.9 1e+04 76.6 3.52e-22 9.8e+03 9.82e+03 OutOfWorld Transportation + 0 -12.1 7.1 189 0.218 0 0 0 test.phys initStep + 1 -16.4 8.3 200 0.218 0 11.8 11.8 World Transportation + 2 -3.93e+03 1.09e+03 1e+04 0.218 0 1.06e+04 1.06e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.105 -0.0407 199 0.237 0 0 0 test.phys initStep - 1 0.217 -0.237 199 0 0.237 0.818 0.818 test.phys eIoni + 0 -9.91 6.33 182 0.0247 0 0 0 test.phys initStep + 1 -14.7 8.39 199 0.0244 0 17.2 17.2 test.phys compt + 2 -16.5 8.54 200 0.0244 0 2.33 19.5 World Transportation + 3 -1e+04 815 7.37e+03 0.0244 0 1.23e+04 1.23e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 16 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.125 -0.0566 194 1.31 0 0 0 test.phys initStep - 1 -1.72 -0.81 196 0.979 0.332 3.24 3.24 test.phys eIoni - 2 -2.23 -1.7 198 0.731 0.247 1.98 5.22 test.phys msc - 3 -2.49 -2 199 0.55 0.181 1.62 6.84 test.phys msc - 4 -2.5 -2.34 200 0.431 0.12 1.03 7.87 World Transportation - 5 1.77e+03 -2.48e+03 1e+04 0.431 3.27e-22 1.03e+04 1.03e+04 OutOfWorld Transportation + 0 -14.7 8.39 199 0.000252 0 0 0 test.phys initStep + 1 -14.7 8.39 199 0 0.000252 1.6e-05 1.6e-05 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 +* 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 0 0 -500 100 0 0 0 World initStep - 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 100 0 200 700 World Transportation - 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 -7.27 4.77 171 1.6 0 0 0 test.phys initStep + 1 -9.13 3.45 173 1.17 0.432 3.72 3.72 test.phys eIoni + 2 -11 3.94 175 0.842 0.328 3 6.72 test.phys eIoni + 3 -12.5 4.11 176 0.536 0.305 2.43 9.15 test.phys eIoni + 4 -13.2 5.18 176 0.223 0.313 1.85 11 test.phys eIoni + 5 -12.9 4.95 176 0 0.223 0.745 11.7 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 100 0 0 500 test.phys initStep - 1 0 0 44.2 0 0 44.2 544 test.phys conv + 0 -6.85 4.63 169 2.08 0 0 0 test.phys initStep + 1 -15.5 7.29 200 2.08 0 32.5 32.5 World Transportation + 2 -2.74e+03 844 1e+04 2.08 0 1.02e+04 1.02e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 4, Parent ID = 2 +* 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 0 0 44.2 28.5 0 0 0 test.phys initStep - 1 0.131 -0.0578 50.4 27.3 0.699 6.23 6.23 test.phys eIoni - 2 0.0924 -0.144 54.5 8.23 0.518 4.13 10.4 test.phys eBrem - 3 -0.494 0.0365 65 6.41 1.39 10.8 21.1 test.phys eIoni - 4 -0.887 1.32 76.1 4.82 1.59 11.6 32.7 test.phys eIoni - 5 -0.578 1.43 76.6 4.7 0.0526 0.549 33.3 test.phys eBrem - 6 2.45 2.29 80.3 4.16 0.539 5.06 38.3 test.phys eBrem - 7 7.21 3.31 86.1 3.3 0.863 7.96 46.3 test.phys eIoni - 8 9.93 2.55 90.5 1.75 0.796 5.59 51.9 test.phys eIoni - 9 10.7 2.3 94 1.29 0.468 4 55.9 test.phys eIoni - 10 10.3 2.88 95 1.12 0.15 1.34 57.2 test.phys eBrem - 11 10.4 4.18 97.2 0.782 0.341 2.93 60.2 test.phys eIoni - 12 10.3 5.91 97.7 0.498 0.283 2.33 62.5 test.phys eIoni - 13 10.8 7 97.6 0.0186 0.48 1.76 64.3 test.phys eIoni - 14 10.8 7 97.6 0 0.0186 0.0096 64.3 test.phys eIoni - 15 10.8 7 97.6 0 0 0 64.3 test.phys annihil + 0 -6.58 4.51 168 0.268 0 0 0 test.phys initStep + 1 -6.42 4.94 168 0 0.268 0.992 0.992 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 4 +* 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 10.8 7 97.6 0.511 0 0 0 test.phys initStep - 1 103 317 0 0.511 0 338 338 World Transportation - 2 2.97e+03 1e+04 -3.04e+03 0.511 0 1.05e+04 1.09e+04 OutOfWorld Transportation + 0 -5.19 3.72 162 0.254 0 0 0 test.phys initStep + 1 -5.43 4.1 162 0 0.254 0.91 0.91 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 10.8 7 97.6 0.511 0 0 0 test.phys initStep - 1 0.368 -28.2 109 0.51 0 38.4 38.4 test.phys compt - 2 -21.3 -96.2 126 0.256 0 73.5 112 test.phys compt - 3 14.1 -111 114 0.165 0 40.1 152 test.phys compt - 4 -55.1 -142 1.42e-14 0.165 0 137 289 World Transportation - 5 -6.12e+03 -2.9e+03 -1e+04 0.165 0 1.2e+04 1.23e+04 OutOfWorld Transportation + 0 -2.8 2.63 148 0.0168 0 0 0 test.phys initStep + 1 -3.91 3.01 156 0 0.000403 7.68 7.68 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 11 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 14.1 -111 114 0.0915 0 0 0 test.phys initStep - 1 14.2 -111 114 0 0.0915 0.172 0.172 test.phys eIoni + 0 -3.91 3.01 156 0.0164 0 0 0 test.phys initStep + 1 -3.91 3.01 156 0 0.0164 0.00852 0.00852 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 12 +* 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 -21.3 -96.2 126 0.254 0 0 0 test.phys initStep - 1 -21.6 -96.5 126 0 0.254 0.912 0.912 test.phys eIoni + 0 -2.4 2.48 145 0.481 0 0 0 test.phys initStep + 1 -1.66 2.93 146 0.213 0.269 1.73 1.73 test.phys eIoni + 2 -1.43 2.98 146 0 0.213 0.691 2.42 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 12 +* 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.368 -28.2 109 0.000766 0 0 0 test.phys initStep - 1 0.368 -28.2 109 0 0.000766 5.77e-05 5.77e-05 test.phys eIoni + 0 -2.04 2.34 143 0.262 0 0 0 test.phys initStep + 1 -2.1 1.92 143 0 0.262 0.958 0.958 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 4 +* 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 10.3 2.88 95 0.0136 0 0 0 test.phys initStep - 1 8.49 6.36 102 0 0.000403 7.71 7.71 test.phys phot + 0 -1.15 1.91 135 0.337 0 0 0 test.phys initStep + 1 -1.07 2.56 136 0.0974 0.24 1.31 1.31 test.phys eIoni + 2 -1.01 2.63 136 0 0.0974 0.191 1.5 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 11 +* 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 8.49 6.36 102 0.0132 0 0 0 test.phys initStep - 1 8.49 6.36 102 0 0.0132 0.0058 0.0058 test.phys eIoni + 0 -0.533 1.39 130 0.443 0 0 0 test.phys initStep + 1 -0.355 2.27 131 0.179 0.265 1.63 1.63 test.phys eIoni + 2 -0.538 2.21 131 0 0.179 0.524 2.16 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +* 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.93 2.55 90.5 0.746 0 0 0 test.phys initStep - 1 10.4 3.95 91.5 0.474 0.272 2.26 2.26 test.phys eIoni - 2 9.99 4.74 92.1 0.206 0.268 1.71 3.97 test.phys eIoni - 3 10.1 5.02 92.1 0 0.206 0.656 4.62 test.phys eIoni + 0 0.225 0.75 122 0.45 0 0 0 test.phys initStep + 1 0.354 1.65 122 0.216 0.234 1.65 1.65 test.phys eIoni + 2 0.155 1.82 122 0 0.216 0.707 2.36 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 4 +* 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 2.45 2.29 80.3 0.00589 0 0 0 test.phys initStep - 1 2.63 2.48 80.4 0 2.03e-05 0.272 0.272 test.phys phot + 0 0.351 0.605 120 1.01 0 0 0 test.phys initStep + 1 1.21 -0.593 121 0.653 0.359 2.73 2.73 test.phys eIoni + 2 2.08 -0.87 123 0.387 0.265 2.09 4.81 test.phys eIoni + 3 1.85 -0.821 124 0.0639 0.323 1.48 6.29 test.phys eIoni + 4 1.85 -0.825 124 0 0.0639 0.0927 6.38 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 9 +* 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.63 2.48 80.4 0.00587 0 0 0 test.phys initStep - 1 2.63 2.48 80.4 0 0.00587 0.00141 0.00141 test.phys eIoni + 0 0 0 104 48.9 0 0 0 test.phys initStep + 1 -0.896 0.681 129 43.9 2.74 25.1 25.1 test.phys eIoni + 2 2.58 1.9 169 38.8 5.12 40.1 65.2 test.phys eBrem + 3 4.29 0.422 189 36.2 2.52 19.6 84.8 test.phys eBrem + 4 4.73 0.585 193 35.2 0.606 4.64 89.5 test.phys eBrem + 5 5.38 0.899 200 34.5 0.727 6.78 96.2 World Transportation + 6 615 525 1e+04 34.5 3.3e-22 9.83e+03 9.93e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.578 1.43 76.6 0.0642 0 0 0 test.phys initStep - 1 1.2 2.46 78.9 0.0536 0 3.15 3.15 test.phys compt - 2 -69.6 21.3 67.3 0.0517 0 74.1 77.3 test.phys compt - 3 -102 37.8 97.2 0.0444 0 47.1 124 test.phys compt - 4 -79 68.6 19.3 0.0379 0 86.9 211 test.phys compt - 5 -89.3 63.1 45.5 0.0364 0 28.7 240 test.phys compt - 6 -86.9 59 48.3 0 0.000403 5.5 245 test.phys phot + 0 4.73 0.585 193 0.392 0 0 0 test.phys initStep + 1 5.48 0.822 200 0.392 0 6.78 6.78 World Transportation + 2 1.1e+03 346 1e+04 0.392 0 9.87e+03 9.87e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 8 +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86.9 59 48.3 0.0359 0 0 0 test.phys initStep - 1 -86.9 59 48.2 0 0.0359 0.0338 0.0338 test.phys eIoni + 0 4.29 0.422 189 0.0891 0 0 0 test.phys initStep + 1 5.52 0.562 200 0.0891 0 11.4 11.4 World Transportation + 2 1.07e+03 122 1e+04 0.0891 0 9.86e+03 9.87e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 8 +* 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 -89.3 63.1 45.5 0.0015 0 0 0 test.phys initStep - 1 -89.3 63.1 45.5 0 0.0015 0.000152 0.000152 test.phys eIoni + 0 -0.896 0.681 129 2.24 0 0 0 test.phys initStep + 1 -3.29 1.09 133 1.71 0.534 4.78 4.78 test.phys eIoni + 2 -6.67 1.77 133 1.33 0.377 3.9 8.68 test.phys eIoni + 3 -8.97 0.807 134 0.623 0.708 3.27 12 test.phys eIoni + 4 -10.4 0.561 135 0.138 0.485 2.03 14 test.phys eIoni + 5 -10.2 0.588 135 0 0.138 0.343 14.3 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 8 +* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -79 68.6 19.3 0.00652 0 0 0 test.phys initStep - 1 -79 68.6 19.3 0 0.00652 0.00169 0.00169 test.phys eIoni + 0 0 0 -500 100 0 0 0 World initStep + 1 0 0 0 100 0 500 500 test.phys Transportation + 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 100 0 200 700 World Transportation + 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 8 +* 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 -102 37.8 97.2 0.0073 0 0 0 test.phys initStep - 1 -102 37.8 97.2 0 0.0073 0.00206 0.00206 test.phys eIoni + 0 0 0 0 100 0 0 500 test.phys initStep + 1 0 0 133 0 0 133 633 test.phys conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 8 +* 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 -69.6 21.3 67.3 0.0019 0 0 0 test.phys initStep - 1 -69.6 21.3 67.3 0 0.0019 0.000219 0.000219 test.phys eIoni + 0 0 0 133 67.1 0 0 0 test.phys initStep + 1 0.0768 -0.276 147 65.2 1.67 13.7 13.7 test.phys eIoni + 2 0.0997 -0.364 151 30.1 0.405 3.61 17.3 test.phys eBrem + 3 0.091 -0.389 152 29.5 0.321 1.28 18.6 test.phys eIoni + 4 0.0172 -0.596 156 28.3 0.442 3.83 22.4 test.phys eIoni + 5 0.227 -0.773 164 26.8 0.896 8.51 30.9 test.phys eIoni + 6 0.287 -1.05 172 25.5 0.851 7.48 38.4 test.phys eIoni + 7 0.0722 -1.02 180 24.3 0.892 8.41 46.8 test.phys eIoni + 8 -0.756 -1.51 189 21.8 1.11 8.76 55.6 test.phys eIoni + 9 -0.779 -1.55 189 21.7 0.0327 0.386 56 test.phys eBrem + 10 -0.787 -1.57 189 21.7 0.0506 0.188 56.2 test.phys eBrem + 11 -1.16 -2.61 200 20.5 1.21 10.8 67 World Transportation + 12 -1.53e+03 -2.37e+03 1e+04 20.5 3.26e-22 1.02e+04 1.03e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 8 +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.2 2.46 78.9 0.0106 0 0 0 test.phys initStep - 1 1.2 2.46 78.9 0 0.0106 0.00394 0.00394 test.phys eIoni + 0 -0.787 -1.57 189 0.00693 0 0 0 test.phys initStep + 1 -0.832 -1.63 190 0 0.000403 0.728 0.728 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.494 0.0365 65 0.439 0 0 0 test.phys initStep - 1 -1.19 0.659 65.5 0.209 0.23 1.62 1.62 test.phys eIoni - 2 -1.06 0.576 65.2 0 0.209 0.673 2.29 test.phys eIoni + 0 -0.832 -1.63 190 0.00653 0 0 0 test.phys initStep + 1 -0.831 -1.63 190 0 0.00653 0.0017 0.0017 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0924 -0.144 54.5 18.5 0 0 0 test.phys initStep - 1 1.23 -1.04 200 18.5 0 145 145 World Transportation - 2 77.8 -61.5 1e+04 18.5 0 9.8e+03 9.95e+03 OutOfWorld Transportation + 0 -0.779 -1.55 189 0.0981 0 0 0 test.phys initStep + 1 -1.15 -2.21 200 0.0981 0 11 11 World Transportation + 2 -331 -595 1e+04 0.0981 0 9.82e+03 9.83e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +* 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 0.131 -0.0578 50.4 0.486 0 0 0 test.phys initStep - 1 1.05 -0.225 51.1 0.256 0.229 1.74 1.74 test.phys eIoni - 2 1.48 -0.213 51.3 0 0.256 0.925 2.66 test.phys eIoni + 0 -0.756 -1.51 189 1.31 0 0 0 test.phys initStep + 1 -2.75 -1.73 191 0.781 0.532 3.24 3.24 test.phys eIoni + 2 -4.35 -2.4 190 0.505 0.276 2.33 5.57 test.phys eIoni + 3 -3.66 -1.42 190 0 0.505 1.78 7.35 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +* 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 0 0 44.2 70.5 0 0 0 test.phys initStep - 1 0.0116 0.0134 48.4 68.3 0.448 4.23 4.23 test.phys eBrem - 2 -0.00279 0.0508 51.4 67.6 0.306 3 7.23 test.phys eIoni - 3 -1.28 -0.0484 89 59.9 4.64 37.6 44.8 test.phys eBrem - 4 -6.09 1.76 139 51 6.71 50.3 95.2 test.phys eBrem - 5 -7.8 2.27 152 49 1.72 13 108 test.phys eIoni - 6 -7.82 2.27 152 48.6 0.0284 0.198 108 test.phys eIoni - 7 -13.3 2.98 200 42.8 5.85 48.5 157 World Transportation - 8 36.8 190 1e+04 42.8 3.35e-22 9.8e+03 9.96e+03 OutOfWorld Transportation + 0 0.0722 -1.02 180 0.318 0 0 0 test.phys initStep + 1 5.64e-05 -0.44 180 0 0.318 1.23 1.23 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 3 +* 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 -7.82 2.27 152 0.322 0 0 0 test.phys initStep - 1 -8.37 2.57 152 0.0776 0.244 1.25 1.25 test.phys eIoni - 2 -8.35 2.57 152 0 0.0776 0.13 1.38 test.phys eIoni + 0 0.287 -1.05 172 0.422 0 0 0 test.phys initStep + 1 0.982 -0.635 172 0.178 0.244 1.58 1.58 test.phys eIoni + 2 1.12 -0.855 172 0 0.178 0.519 2.09 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 3 +* 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 -7.8 2.27 152 0.274 0 0 0 test.phys initStep - 1 -8.17 2.58 152 0.033 0.241 1.02 1.02 test.phys eIoni - 2 -8.17 2.58 152 0 0.033 0.0291 1.05 test.phys eIoni + 0 0.227 -0.773 164 0.624 0 0 0 test.phys initStep + 1 -0.211 -1.85 165 0.27 0.355 2.03 2.03 test.phys eIoni + 2 -0.696 -1.86 165 0 0.27 0.999 3.03 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 3 +* 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 -6.09 1.76 139 2.19 0 0 0 test.phys initStep - 1 -14.1 9.93 200 2.19 0 62.1 62.1 World Transportation - 2 -1.3e+03 1.32e+03 1e+04 2.19 0 9.97e+03 1e+04 OutOfWorld Transportation + 0 0.0172 -0.596 156 0.799 0 0 0 test.phys initStep + 1 -1.3 -0.584 157 0.474 0.325 2.36 2.36 test.phys eIoni + 2 -1.55 -0.729 157 0.406 0.041 0.312 2.67 test.phys eBrem + 3 -2.43 -1.01 157 0.143 0.264 1.53 4.2 test.phys eIoni + 4 -2.29 -1.08 157 0 0.143 0.362 4.56 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 8 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.28 -0.0484 89 3.06 0 0 0 test.phys initStep - 1 -7.07 0.32 200 3.06 0 111 111 World Transportation - 2 -518 32.8 1e+04 3.06 0 9.81e+03 9.92e+03 OutOfWorld Transportation + 0 -1.55 -0.729 157 0.0271 0 0 0 test.phys initStep + 1 -19.3 -7.82 152 0.0271 0 19.8 19.8 test.phys Rayl + 2 -26.5 -19.4 153 0.0271 0 13.7 33.5 test.phys Rayl + 3 -26.1 -32.1 146 0 0.000403 14.2 47.8 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00279 0.0508 51.4 0.46 0 0 0 test.phys initStep - 1 -0.899 -0.0106 52 0.22 0.24 1.67 1.67 test.phys eIoni - 2 -0.698 0.201 51.8 0 0.22 0.729 2.4 test.phys eIoni + 0 -26.1 -32.1 146 0.0267 0 0 0 test.phys initStep + 1 -26.1 -32.1 146 0 0.0267 0.0201 0.0201 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 3 +* 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.0116 0.0134 48.4 1.72 0 0 0 test.phys initStep - 1 0.362 -0.601 200 1.72 0 152 152 World Transportation - 2 23 -40.3 1e+04 1.72 0 9.8e+03 9.95e+03 OutOfWorld Transportation + 0 0.091 -0.389 152 0.248 0 0 0 test.phys initStep + 1 0.349 -0.0874 152 0 0.248 0.876 0.876 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 100 0 0 0 World initStep - 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 100 0 200 700 World Transportation - 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 0.0997 -0.364 151 34.7 0 0 0 test.phys initStep + 1 0.512 -1.82 200 34.7 0 49.5 49.5 World Transportation + 2 82.2 -289 1e+04 34.7 0 9.8e+03 9.85e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 2, Parent ID = 1 +* 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 0 0 100 0 0 500 test.phys initStep - 1 0 0 180 83.5 0 180 680 test.phys compt - 2 -0.0783 -0.875 200 83.5 0 19.5 700 World Transportation - 3 -39.4 -440 1e+04 83.5 0 9.81e+03 1.05e+04 OutOfWorld Transportation + 0 0.0768 -0.276 147 0.272 0 0 0 test.phys initStep + 1 0.097 0.178 147 0 0.272 1.01 1.01 test.phys 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 0 180 16.5 0 0 0 test.phys initStep - 1 1.05 5.39 198 12.6 2.25 18.6 18.6 test.phys eIoni - 2 1.12 5.6 199 12.1 0.0575 0.514 19.2 test.phys eIoni - 3 1.24 6.3 200 11.9 0.192 1.59 20.7 World Transportation - 4 1.1e+03 5.95e+03 1e+04 11.9 3.5e-22 1.15e+04 1.15e+04 OutOfWorld Transportation + 0 0 0 133 31.8 0 0 0 test.phys initStep + 1 0.00782 0.0025 134 31.7 0.0522 0.325 0.325 test.phys eBrem + 2 2.76 5.74 185 25 6.74 51.8 52.2 test.phys eIoni + 3 1.41 9.6 200 23 1.94 15.9 68.1 World Transportation + 4 -1.51e+03 2.69e+03 1e+04 23 3.32e-22 1.03e+04 1.03e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.12 5.6 199 0.434 0 0 0 test.phys initStep - 1 1.11 5.2 199 0.31 0.124 0.859 0.859 test.phys msc - 2 1.11 4.83 199 0.223 0.0871 0.414 1.27 test.phys msc - 3 1.13 4.47 199 0 0.223 0.744 2.02 test.phys eIoni + 0 0.00782 0.0025 134 0.075 0 0 0 test.phys initStep + 1 3.5 2.94 200 0.075 0 66.6 66.6 World Transportation + 2 519 436 1e+04 0.075 0 9.82e+03 9.89e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.05 5.39 198 1.72 0 0 0 test.phys initStep - 1 0.325 5.26 200 1.5 0.211 2.15 2.15 World Transportation - 2 -2.19e+03 4e+03 1e+04 1.5 2.87e-22 1.08e+04 1.08e+04 OutOfWorld Transportation + 0 0 0 -500 100 0 0 0 World initStep + 1 0 0 0 100 0 500 500 test.phys Transportation + 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 100 0 200 700 World Transportation + 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* 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 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 0 0 0 100 0 0 500 test.phys initStep + 1 0 0 63.1 0 0 63.1 563 test.phys conv ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* 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 0 0 1 0 0 500 test.phys initStep - 1 0 0 97 0.759 0 97 597 test.phys biasWrapper(hadElastic) - 2 -44.2 -7.22 0 0.759 0 107 704 World Transportation - 3 -4.6e+03 -752 -1e+04 0.759 0 1.1e+04 1.17e+04 OutOfWorld Transportation + 0 0 0 63.1 43.6 0 0 0 test.phys initStep + 1 0.166 -0.224 73.8 40.8 1.17 10.7 10.7 test.phys eBrem + 2 0.23 -0.416 76.7 40.2 0.304 2.91 13.6 test.phys eIoni + 3 0.519 -1.22 86.4 38.8 1.32 9.71 23.3 test.phys eBrem + 4 5.28 -19.4 141 30 7.84 58.1 81.5 test.phys eIoni + 5 6.43 -20.5 146 28.1 0.548 4.82 86.3 test.phys eBrem + 6 7.85 -22 152 27.2 0.885 6.69 93 test.phys eBrem + 7 19.3 -34.1 193 21.6 5.61 44.9 138 test.phys eIoni + 8 19.4 -34.1 194 21.4 0.0296 0.205 138 test.phys eIoni + 9 23.2 -35.3 198 19.1 0.702 6.29 144 test.phys eIoni + 10 24.5 -35.7 200 18.8 0.266 2.06 146 World Transportation + 11 8.01e+03 -2.14e+03 1e+04 18.8 4.07e-22 1.28e+04 1.3e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* 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 0 0 97 0.241 0 0 0 test.phys initStep - 1 0.000483 7.89e-05 97 0 0.241 0.00271 0.00271 test.phys ionIoni + 0 23.2 -35.3 198 1.61 0 0 0 test.phys initStep + 1 23.5 -35.2 199 1.57 0.0328 0.296 0.296 test.phys eBrem + 2 26.2 -34.3 200 1.13 0.439 3.57 3.87 test.phys msc + 3 26.3 -34.2 200 1.12 0.0092 0.0583 3.93 World Transportation + 4 9e+03 1e+04 6.58e+03 1.12 4e-22 1.49e+04 1.49e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 12 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 23.5 -35.2 199 0.00804 0 0 0 test.phys initStep + 1 25.1 -34.4 198 0 0.000403 1.78 1.78 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* 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 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 31.2 0.988 0.0124 31.2 531 test.phys biasWrapper(hadElastic) - 2 -5 68 184 0.976 0.0118 168 699 test.phys biasWrapper(hadElastic) - 3 -11.6 82.1 200 0.976 0 22.1 721 World Transportation - 4 -4.11e+03 8.88e+03 1e+04 0.976 0 1.38e+04 1.45e+04 OutOfWorld Transportation + 0 25.1 -34.4 198 0.00764 0 0 0 test.phys initStep + 1 25.1 -34.4 198 0 0.00764 0.00223 0.00223 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* 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 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 19.4 -34.1 194 0.227 0 0 0 test.phys initStep + 1 19.2 -34.4 194 0 0.227 0.767 0.767 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 167 0.764 0 167 667 test.phys biasWrapper(hadElastic) - 2 -84.6 -49.3 0 0.764 0 193 860 World Transportation - 3 -5.16e+03 -3.01e+03 -1e+04 0.764 0 1.16e+04 1.25e+04 OutOfWorld Transportation + 0 7.85 -22 152 0.0025 0 0 0 test.phys initStep + 1 7.85 -22 152 0 0.000403 0.00692 0.00692 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 10 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 167 0.236 0 0 0 test.phys initStep - 1 0.000514 0.000299 167 0 0.236 0.0027 0.0027 test.phys ionIoni + 0 7.85 -22 152 0.0021 0 0 0 test.phys initStep + 1 7.85 -22 152 0 0.0021 0.000256 0.000256 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 6.43 -20.5 146 1.3 0 0 0 test.phys initStep + 1 20.8 -33.2 200 1.3 0 57.6 57.6 World Transportation + 2 2.62e+03 -2.34e+03 1e+04 1.3 0 1.04e+04 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* 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 0 0 1 0 0 500 test.phys initStep - 1 0 0 175 0.891 0 175 675 test.phys biasWrapper(hadElastic) - 2 94.7 81 200 0.891 0 127 802 World Transportation - 3 1e+04 8.56e+03 2.86e+03 0.891 0 1.33e+04 1.41e+04 OutOfWorld Transportation + 0 5.28 -19.4 141 1.02 0 0 0 test.phys initStep + 1 7.19 -19.8 142 0.66 0.358 2.74 2.74 test.phys eIoni + 2 8.2 -18.6 142 0.251 0.409 2.1 4.84 test.phys eIoni + 3 8.14 -19.1 142 0 0.251 0.894 5.73 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 175 0.109 0 0 0 test.phys initStep - 1 -0.00085 -0.000727 175 0 0.109 0.00201 0.00201 test.phys ionIoni + 0 0.519 -1.22 86.4 0.00441 0 0 0 test.phys initStep + 1 0.522 -1.26 86.5 0 0.000403 0.131 0.131 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 0.522 -1.26 86.5 0.004 0 0 0 test.phys initStep + 1 0.522 -1.26 86.5 0 0.004 0.000739 0.000739 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* 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 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 184 0.993 0.00667 184 684 test.phys biasWrapper(hadElastic) - 2 -4.64 -2.19 200 0.993 0 17 701 World Transportation - 3 -2.8e+03 -1.32e+03 1e+04 0.993 0 1.03e+04 1.1e+04 OutOfWorld Transportation + 0 0.23 -0.416 76.7 0.325 0 0 0 test.phys initStep + 1 0.707 -0.0656 77.1 0.0535 0.271 1.26 1.26 test.phys eIoni + 2 0.693 -0.0577 77 0 0.0535 0.068 1.33 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 0.166 -0.224 73.8 1.63 0 0 0 test.phys initStep + 1 2.33 -4.56 119 0.394 0 45.4 45.4 test.phys compt + 2 111 35.3 120 0.213 0 115 161 test.phys compt + 3 113 2.72 200 0.213 0 86.6 247 World Transportation + 4 363 -3.98e+03 1e+04 0.213 0 1.06e+04 1.08e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 5 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 111 0.931 0.0693 111 611 test.phys biasWrapper(hadElastic) - 2 152 10.7 200 0.931 0 177 788 World Transportation - 3 1e+04 702 5.94e+03 0.931 0 1.14e+04 1.22e+04 OutOfWorld Transportation + 0 111 35.3 120 0.181 0 0 0 test.phys initStep + 1 111 35.4 120 0 0.181 0.534 0.534 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 5 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 2.33 -4.56 119 1.23 0 0 0 test.phys initStep + 1 1.86 -5.02 122 0.861 0.371 3.1 3.1 test.phys eIoni + 2 3.58 -4.87 122 0.489 0.372 2.47 5.57 test.phys eIoni + 3 3.89 -4.79 123 0.381 0.104 0.834 6.4 test.phys eBrem + 4 4.33 -4.86 124 0.0441 0.337 1.46 7.86 test.phys eIoni + 5 4.36 -4.86 124 0 0.0441 0.0485 7.91 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 17 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 64.6 0.751 0 64.6 565 test.phys biasWrapper(hadElastic) - 2 4.38 12.7 0 0.751 0 66 631 World Transportation - 3 683 1.98e+03 -1e+04 0.751 0 1.02e+04 1.08e+04 OutOfWorld Transportation + 0 3.89 -4.79 123 0.0033 0 0 0 test.phys initStep + 1 3.99 -4.75 123 0 0.000403 0.223 0.223 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 19 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 64.6 0.249 0 0 0 test.phys initStep - 1 -7.68e-05 -0.000223 64.6 0 0.249 0.00273 0.00273 test.phys ionIoni + 0 3.99 -4.75 123 0.0029 0 0 0 test.phys initStep + 1 3.99 -4.75 123 0 0.0029 0.000432 0.000432 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* 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 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 0 0 63.1 55.4 0 0 0 test.phys initStep + 1 0.699 0.169 89.2 50.8 3.16 26.2 26.2 test.phys eIoni + 2 0.752 0.514 103 36.3 1.67 13.7 39.9 test.phys eBrem + 3 0.774 0.524 104 35.3 0.193 1.47 41.4 test.phys eIoni + 4 0.772 0.344 109 34.8 0.531 4.36 45.7 test.phys eBrem + 5 0.709 0.273 111 34 0.316 2.65 48.4 test.phys eIoni + 6 0.622 0.187 113 33.5 0.176 1.72 50.1 test.phys eIoni + 7 0.401 -0.343 125 31.8 1.43 11.7 61.8 test.phys eIoni + 8 1.24 -2.39 141 29.9 1.89 16 77.8 test.phys eBrem + 9 1.04 -4.32 153 28.3 1.56 12.5 90.3 test.phys eBrem + 10 -0.316 -11.4 195 21.4 5.57 43.4 134 test.phys eBrem + 11 -0.267 -12.5 200 20.7 0.629 4.64 138 World Transportation + 12 756 -2.07e+03 1e+04 20.7 3.22e-22 1e+04 1.02e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 28.7 0.76 0 28.7 529 test.phys biasWrapper(hadElastic) - 2 -8.43 1.49 11.5 0.657 0 19.2 548 test.phys biasWrapper(hadElastic) - 3 13.3 -13.7 0 0.657 0 28.9 577 World Transportation - 4 1e+04 -6.98e+03 -5.26e+03 0.657 0 1.33e+04 1.38e+04 OutOfWorld Transportation + 0 -0.316 -11.4 195 1.36 0 0 0 test.phys initStep + 1 -0.243 -12.7 200 1.36 0 4.7 4.7 World Transportation + 2 159 -2.86e+03 1e+04 1.36 0 1.02e+04 1.02e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 4, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -8.43 1.49 11.5 0.104 0 0 0 test.phys initStep - 1 -8.43 1.49 11.5 0 0.104 0.00196 0.00196 test.phys ionIoni + 0 1.04 -4.32 153 0.00971 0 0 0 test.phys initStep + 1 0.978 -4.31 155 0 0.000403 2.39 2.39 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 29 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 28.7 0.24 0 0 0 test.phys initStep - 1 0.000512 -9.04e-05 28.7 0 0.24 0.00271 0.00271 test.phys ionIoni + 0 0.978 -4.31 155 0.0093 0 0 0 test.phys initStep + 1 0.978 -4.31 155 0 0.0093 0.00314 0.00314 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 1.24 -2.39 141 0.0868 0 0 0 test.phys initStep + 1 2.01 -13 194 0.0861 0 54.4 54.4 test.phys compt + 2 3.01 -16.2 200 0.0861 0 6.92 61.3 World Transportation + 3 1.61e+03 -5.16e+03 1e+04 0.0861 0 1.12e+04 1.12e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 28 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 198 0.956 0.0437 198 698 test.phys biasWrapper(hadElastic) - 2 -1.23 1.03 200 0.956 0 2.22 701 World Transportation - 3 -7.86e+03 6.6e+03 1e+04 0.956 0 1.42e+04 1.49e+04 OutOfWorld Transportation + 0 2.01 -13 194 0.000712 0 0 0 test.phys initStep + 1 2.01 -13 194 0 0.000712 5.23e-05 5.23e-05 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* 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 0 0 -500 1 0 0 0 World initStep - 1 0 0 0 1 0 500 500 test.phys Transportation - 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 1 0 200 700 World Transportation - 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 0.401 -0.343 125 0.233 0 0 0 test.phys initStep + 1 0.295 -0.0145 125 0 0.233 0.799 0.799 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* 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 0 0 0 1 0 0 500 test.phys initStep - 1 0 0 111 0.938 0.0615 111 611 test.phys biasWrapper(hadElastic) - 2 -34.4 127 200 0.938 0 158 770 World Transportation - 3 -2.72e+03 1e+04 7.12e+03 0.938 0 1.23e+04 1.31e+04 OutOfWorld Transportation + 0 0.622 0.187 113 0.291 0 0 0 test.phys initStep + 1 1.05 -0.0822 113 0.0604 0.23 1.11 1.11 test.phys eIoni + 2 1.02 -0.112 113 0 0.0604 0.0839 1.19 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* 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 0 0 -500 100 0 0 0 World initStep - 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 100 0 200 700 World Transportation - 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 0.709 0.273 111 0.503 0 0 0 test.phys initStep + 1 1.6 -0.109 112 0.218 0.285 1.78 1.78 test.phys eIoni + 2 1.76 -0.42 112 0 0.218 0.718 2.49 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 100 0 0 500 test.phys initStep - 1 0 0 35.3 0 0 35.3 535 test.phys biasWrapper(neutronInelastic) + 0 0.772 0.344 109 0.026 0 0 0 test.phys initStep + 1 0.165 0.244 137 0.0258 0 28.7 28.7 test.phys compt + 2 13.6 6.77 173 0.0258 6.38e-05 38.5 67.2 test.phys compt + 3 34.4 8.31 200 0.0258 0 34.1 101 World Transportation + 4 7.54e+03 569 1e+04 0.0258 0 1.24e+04 1.25e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = C11, Track ID = 8, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 24 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 35.3 1.58 0 0 0 test.phys initStep - 1 0.00271 -0.00103 35.3 0 1.58 0.00304 0.00304 test.phys ionIoni + 0 0.165 0.244 137 0.000114 0 0 0 test.phys initStep + 1 0.165 0.244 137 0 0.000114 9.22e-06 9.22e-06 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 7, Parent ID = 2 +* 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 0 0 35.3 2.8 0 0 0 test.phys initStep - 1 19.7 -94.1 25.5 2.67 0 96.6 96.6 test.phys biasWrapper(hadElastic) - 2 50 -116 0 2.67 0 45.2 142 World Transportation - 3 1e+04 -7.26e+03 -8.37e+03 2.67 0 1.48e+04 1.5e+04 OutOfWorld Transportation + 0 0.774 0.524 104 0.794 0 0 0 test.phys initStep + 1 1.45 1.72 106 0.499 0.296 2.35 2.35 test.phys eIoni + 2 2.04 2.55 106 0.149 0.349 1.77 4.11 test.phys eIoni + 3 2.12 2.47 106 0 0.149 0.391 4.5 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 9, Parent ID = 7 +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 3 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 19.7 -94.1 25.5 0.133 0 0 0 test.phys initStep - 1 19.7 -94.1 25.5 0 0.133 0.0022 0.0022 test.phys ionIoni + 0 0.752 0.514 103 12.8 0 0 0 test.phys initStep + 1 -0.737 1.73 200 12.8 0 97.1 97.1 World Transportation + 2 -151 125 1e+04 12.8 0 9.8e+03 9.9e+03 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 2 +* 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 0 0 35.3 6.38 0 0 0 test.phys initStep - 1 77.4 -12.4 143 0 0 134 134 test.phys conv + 0 0.699 0.169 89.2 1.41 0 0 0 test.phys initStep + 1 1.31 -1.62 91.4 1.01 0.396 3.27 3.27 test.phys eBrem + 2 0.649 -2.96 91.4 0.551 0.201 1.67 4.94 test.phys eIoni + 3 0.0461 -3.62 92.4 0.218 0.333 1.88 6.82 test.phys eIoni + 4 -0.122 -3.92 92.2 0 0.218 0.717 7.54 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 11, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 21 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 77.4 -12.4 143 1.82 0 0 0 test.phys initStep - 1 80.1 -13.2 146 1.39 0.429 4.11 4.11 test.phys eIoni - 2 82.8 -14 145 0.918 0.47 3.39 7.49 test.phys eIoni - 3 83 -14.2 145 0.527 0.039 0.337 7.83 test.phys eIoni - 4 83.4 -14.5 143 0.254 0.273 1.83 9.66 test.phys eIoni - 5 83.6 -14.5 144 0.19 0.0427 0.261 9.92 test.phys eBrem - 6 83.8 -14.3 144 0 0.19 0.556 10.5 test.phys eIoni - 7 83.8 -14.3 144 0 0 0 10.5 test.phys annihil + 0 0.649 -2.96 91.4 0.26 0 0 0 test.phys initStep + 1 0.302 -3.22 91.2 0 0.26 0.945 0.945 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 11 +* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 21 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 83.8 -14.3 144 0.511 0 0 0 test.phys initStep - 1 73.7 17.4 157 0.317 0 36 36 test.phys compt - 2 42.9 49 120 0.314 0 57.8 93.8 test.phys compt - 3 -0.871 84.2 83.1 0.305 0 67.3 161 test.phys compt - 4 -7.83 86.4 77.7 0.194 0 9.11 170 test.phys compt - 5 -20.2 47.5 74.8 0.16 0 41 211 test.phys compt - 6 -39 42.2 54.8 0.105 0 28 239 test.phys compt - 7 -39.1 42.9 56.2 0.102 0 1.53 241 test.phys compt - 8 2.86 89.3 128 0.0972 0 95.5 336 test.phys compt - 9 -20.2 149 200 0.0972 0 96.3 432 World Transportation - 10 -3.17e+03 8.37e+03 1e+04 0.0972 0 1.32e+04 1.36e+04 OutOfWorld Transportation + 0 1.31 -1.62 91.4 0.00299 0 0 0 test.phys initStep + 1 1.26 -1.66 91.4 0 0.000403 0.0684 0.0684 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 15 +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 34 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.86 89.3 128 0.00464 0 0 0 test.phys initStep - 1 2.86 89.3 128 0 0.00464 0.000947 0.000947 test.phys eIoni + 0 1.26 -1.66 91.4 0.00258 0 0 0 test.phys initStep + 1 1.26 -1.66 91.4 0 0.00258 0.000358 0.000358 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 15 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -39.1 42.9 56.2 0.00298 0 0 0 test.phys initStep - 1 -39.1 42.9 56.2 0 0.00298 0.000453 0.000453 test.phys eIoni + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 15 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -39 42.2 54.8 0.0548 0 0 0 test.phys initStep - 1 -39 42.2 54.8 0 0.0548 0.071 0.071 test.phys eIoni + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 46.3 0.762 0 46.3 546 test.phys biasWrapper(hadElastic) + 2 -22.5 -10 0 0.762 0 52.4 599 World Transportation + 3 -4.88e+03 -2.18e+03 -1e+04 0.762 0 1.13e+04 1.19e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 15 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -20.2 47.5 74.8 0.0346 0 0 0 test.phys initStep - 1 -20.2 47.5 74.8 0 0.0346 0.0316 0.0316 test.phys eIoni + 0 0 0 46.3 0.238 0 0 0 test.phys initStep + 1 0.000502 0.000224 46.3 0 0.238 0.0027 0.0027 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 15 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -7.83 86.4 77.7 0.111 0 0 0 test.phys initStep - 1 -7.89 86.5 77.6 0 0.111 0.239 0.239 test.phys eIoni + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 15 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.871 84.2 83.1 0.00884 0 0 0 test.phys initStep - 1 -0.871 84.2 83.1 0 0.00884 0.00287 0.00287 test.phys eIoni + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 50.9 0.984 0.0159 50.9 551 test.phys biasWrapper(hadElastic) + 2 -48.9 -7.69 143 0.831 0 104 655 test.phys biasWrapper(hadElastic) + 3 -140 -178 36.8 0.795 0.0362 221 876 test.phys biasWrapper(hadElastic) + 4 -364 -364 100 0.609 0 297 1.17e+03 test.phys biasWrapper(hadElastic) + 5 -282 -339 117 0.559 0.0497 87.3 1.26e+03 test.phys biasWrapper(hadElastic) + 6 -266 -360 124 0.519 0.0402 27.8 1.29e+03 test.phys biasWrapper(hadElastic) + 7 -267 -364 131 0.425 0 8.48 1.3e+03 test.phys biasWrapper(hadElastic) + 8 -302 -307 127 0.35 0 67.3 1.36e+03 test.phys biasWrapper(hadElastic) + 9 -213 -307 53.7 0.306 0.0432 115 1.48e+03 test.phys biasWrapper(hadElastic) + 10 -185 -314 82 0.232 0 40.5 1.52e+03 test.phys biasWrapper(hadElastic) + 11 -190 -315 79.3 0.179 0.0529 5.16 1.53e+03 test.phys biasWrapper(hadElastic) + 12 111 -493 180 0.137 0.0418 364 1.89e+03 test.phys biasWrapper(hadElastic) + 13 72.2 -472 193 0.13 0.00704 46.4 1.94e+03 test.phys biasWrapper(hadElastic) + 14 -11.3 -479 158 0.119 0.0108 90.6 2.03e+03 test.phys biasWrapper(hadElastic) + 15 -19.3 -485 166 0.0951 0.0243 12.6 2.04e+03 test.phys biasWrapper(hadElastic) + 16 -56.4 -428 0 0.0951 0 179 2.22e+03 World Transportation + 17 -2.29e+03 3e+03 -1e+04 0.0951 0 1.08e+04 1.3e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 15 +* G4Track Information: Particle = N14, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 42.9 49 120 0.0023 0 0 0 test.phys initStep - 1 42.9 49 120 0 0.0023 0.000297 0.000297 test.phys eIoni + 0 -185 -314 82 0.0744 0 0 0 test.phys initStep + 1 -185 -314 82 0 0.0744 0.00168 0.00168 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +* G4Track Information: Particle = N14, Track ID = 6, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 73.7 17.4 157 0.194 0 0 0 test.phys initStep - 1 73.7 17.6 158 0 0.194 0.599 0.599 test.phys eIoni + 0 -302 -307 127 0.0758 0 0 0 test.phys initStep + 1 -302 -307 127 0 0.0758 0.0017 0.0017 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 11 +* G4Track Information: Particle = N14, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 83.8 -14.3 144 0.511 0 0 0 test.phys initStep - 1 114 -110 102 0.187 0 108 108 test.phys compt - 2 -18.1 -46.8 166 0.179 0 160 268 test.phys compt - 3 -40 -26 200 0.179 0 45.5 313 World Transportation - 4 -6.37e+03 5.98e+03 1e+04 0.179 0 1.31e+04 1.34e+04 OutOfWorld Transportation + 0 -267 -364 131 0.0938 0 0 0 test.phys initStep + 1 -267 -364 131 0 0.0938 0.00187 0.00187 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 14 +* G4Track Information: Particle = N14, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -18.1 -46.8 166 0.00806 0 0 0 test.phys initStep - 1 -18.1 -46.8 166 0 0.00806 0.00244 0.00244 test.phys eIoni + 0 -364 -364 100 0.186 0 0 0 test.phys initStep + 1 -364 -364 100 0 0.186 0.00254 0.00254 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 14 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 114 -110 102 0.324 0 0 0 test.phys initStep - 1 115 -110 102 0 0.324 1.26 1.26 test.phys eIoni + 0 -48.9 -7.69 143 0.153 0 0 0 test.phys initStep + 1 -48.9 -7.69 143 0 0.153 0.00235 0.00235 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 11 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 83.6 -14.5 144 0.0215 0 0 0 test.phys initStep - 1 99.9 -14.8 152 0 0.000403 18.3 18.3 test.phys phot + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 13 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 99.9 -14.8 152 0.0211 0 0 0 test.phys initStep - 1 99.9 -14.8 152 0 0.0211 0.0132 0.0132 test.phys eIoni + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 135 0.937 0.0628 135 635 test.phys biasWrapper(hadElastic) + 2 59.5 77.6 200 0.937 0 117 753 World Transportation + 3 7.66e+03 1e+04 8.45e+03 0.937 0 1.5e+04 1.57e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 83 -14.2 145 0.352 0 0 0 test.phys initStep - 1 83.8 -14.3 145 0.0769 0.275 1.36 1.36 test.phys eIoni - 2 83.8 -14.4 145 0 0.0769 0.128 1.49 test.phys eIoni + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 77.4 -12.4 143 3.54 0 0 0 test.phys initStep - 1 80.9 -12.8 149 2.64 0.903 6.91 6.91 test.phys eIoni - 2 81.9 -15.3 153 1.77 0.869 5.43 12.3 test.phys eIoni - 3 83.7 -17.8 155 1.17 0.598 4 16.3 test.phys eIoni - 4 85.4 -19.7 155 0.819 0.353 3 19.3 test.phys eIoni - 5 86.5 -19.9 154 0.589 0.17 1.37 20.7 test.phys eBrem - 6 87.1 -19.8 154 0.264 0.0798 0.737 21.5 test.phys eIoni - 7 87.6 -19.8 154 0 0.264 0.966 22.4 test.phys eIoni + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 87.5 0.915 0 87.5 588 test.phys biasWrapper(hadElastic) + 2 -28.1 -73.2 120 0.734 0 84.9 672 test.phys biasWrapper(hadElastic) + 3 -16 -53.4 136 0.617 0 28.2 701 test.phys biasWrapper(hadElastic) + 4 -95.5 -53.9 166 0.469 0 84.8 785 test.phys biasWrapper(hadElastic) + 5 -18 -86.7 103 0.427 0.0423 105 891 test.phys biasWrapper(hadElastic) + 6 4.13 -67.2 103 0.373 0.0537 29.5 920 test.phys biasWrapper(hadElastic) + 7 30.3 -92.9 115 0.308 0.0651 38.5 959 test.phys biasWrapper(hadElastic) + 8 10 -109 30.6 0.261 0.0465 88.2 1.05e+03 test.phys biasWrapper(hadElastic) + 9 -22.1 -101 41.8 0.251 0.0103 34.8 1.08e+03 test.phys biasWrapper(hadElastic) + 10 -51.9 -77.7 29.5 0.216 0.0355 39.9 1.12e+03 test.phys biasWrapper(hadElastic) + 11 70.3 70.7 50.3 0.168 0.0477 193 1.31e+03 test.phys biasWrapper(hadElastic) + 12 55.2 36.4 10.2 0.141 0.0267 54.9 1.37e+03 test.phys biasWrapper(hadElastic) + 13 40 -13.2 82.8 0.11 0.0314 89.2 1.46e+03 test.phys biasWrapper(hadElastic) + 14 41.9 6.73 78.1 0.0875 0.0223 20.5 1.48e+03 test.phys biasWrapper(hadElastic) + 15 9.96 -30.4 49.8 0.0673 0.0202 56.6 1.54e+03 test.phys biasWrapper(hadElastic) + 16 7.56 155 187 0.0513 0.016 231 1.77e+03 test.phys biasWrapper(hadElastic) + 17 12.2 147 172 0.0506 0.000667 17.1 1.78e+03 test.phys biasWrapper(hadElastic) + 18 104 69.9 84.1 0.0409 0.0097 149 1.93e+03 test.phys biasWrapper(hadElastic) + 19 22.9 174 24.3 0.0359 0.00502 145 2.08e+03 test.phys biasWrapper(hadElastic) + 20 16.5 159 -7.11e-15 0.0359 0 29.4 2.11e+03 World Transportation + 21 -2.62e+03 -6.05e+03 -1e+04 0.0359 0 1.21e+04 1.42e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 10 +* G4Track Information: Particle = N14, Track ID = 6, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 87.1 -19.8 154 0.245 0 0 0 test.phys initStep - 1 87.3 -19.8 154 0 0.245 0.861 0.861 test.phys eIoni + 0 -95.5 -53.9 166 0.148 0 0 0 test.phys initStep + 1 -95.5 -53.9 166 0 0.148 0.00231 0.00231 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 10 +* G4Track Information: Particle = N14, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 86.5 -19.9 154 0.061 0 0 0 test.phys initStep - 1 209 40.8 161 0.0525 0 137 137 test.phys compt - 2 207 33.1 148 0 2.03e-05 15.2 152 test.phys phot + 0 -16 -53.4 136 0.117 0 0 0 test.phys initStep + 1 -16 -53.4 136 0 0.117 0.00208 0.00208 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 27 +* G4Track Information: Particle = N14, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 207 33.1 148 0.0525 0 0 0 test.phys initStep - 1 207 33.1 148 0 0.0525 0.0657 0.0657 test.phys eIoni + 0 -28.1 -73.2 120 0.181 0 0 0 test.phys initStep + 1 -28.1 -73.2 120 0 0.181 0.00253 0.00253 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 27 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 209 40.8 161 0.00856 0 0 0 test.phys initStep - 1 209 40.8 161 0 0.00856 0.00271 0.00271 test.phys eIoni + 0 0 0 87.5 0.085 0 0 0 test.phys initStep + 1 0.000348 0.000905 87.5 0 0.085 0.00179 0.00179 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 5, Parent ID = 2 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 35.3 6.8 0 0 0 test.phys initStep - 1 -0.174 0.275 35.3 5.27 1.53 0.326 0.326 test.phys hIoni - 2 -0.311 0.493 35.3 3.7 1.57 0.258 0.584 test.phys hIoni - 3 -0.411 0.66 35.3 2.05 1.65 0.195 0.779 test.phys hIoni - 4 -0.47 0.754 35.3 0.00478 2.04 0.111 0.89 test.phys hIoni - 5 -0.47 0.754 35.3 0 0.00478 0.000428 0.89 test.phys hIoni + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 4, Parent ID = 2 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 35.3 23 0 0 0 test.phys initStep - 1 -69.3 55.6 173 22.7 0 163 163 test.phys biasWrapper(hadElastic) - 2 -79.7 55.8 183 0 0 14.8 178 test.phys biasWrapper(neutronInelastic) + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 56.6 0.836 0 56.6 557 test.phys biasWrapper(hadElastic) + 2 -1.96 11.4 53.7 0.798 0.0383 11.9 568 test.phys biasWrapper(hadElastic) + 3 -132 234 200 0.798 0 296 865 World Transportation + 4 -5.84e+03 1e+04 6.62e+03 0.798 0 1.3e+04 1.39e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = C13, Track ID = 35, Parent ID = 4 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -79.7 55.8 183 0.43 0 0 0 test.phys initStep - 1 -79.7 55.8 183 0 0.43 0.00325 0.00325 test.phys ionIoni + 0 0 0 56.6 0.164 0 0 0 test.phys initStep + 1 0.000202 -0.00118 56.6 0 0.164 0.00243 0.00243 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 34, Parent ID = 4 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -79.7 55.8 183 0.227 0 0 0 test.phys initStep - 1 91.1 197 137 0.204 0.0236 226 226 test.phys biasWrapper(hadElastic) - 2 117 189 164 0.155 0.0484 38.4 265 test.phys biasWrapper(hadElastic) - 3 92.4 229 111 0.152 0.00311 71 336 test.phys biasWrapper(hadElastic) - 4 93.5 243 101 0.134 0.0176 17 353 test.phys biasWrapper(hadElastic) - 5 159 209 32.5 0.103 0.0315 100 453 test.phys biasWrapper(hadElastic) - 6 121 207 48.9 0.0795 0.0233 40.9 494 test.phys biasWrapper(hadElastic) - 7 178 165 33.7 0.0682 0.0113 72.1 566 test.phys biasWrapper(hadElastic) - 8 179 170 25.9 0.0541 0.0141 9.05 575 test.phys biasWrapper(hadElastic) - 9 221 144 54.2 0.0449 0.00914 57.3 633 test.phys biasWrapper(hadElastic) - 10 221 145 54.6 0.0416 0.00328 1.05 634 test.phys biasWrapper(hadElastic) - 11 196 155 200 0.0416 0 148 781 World Transportation - 12 -1.49e+03 824 1e+04 0.0416 0 9.97e+03 1.07e+04 OutOfWorld Transportation + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 4 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -79.7 55.8 183 0.269 0 0 0 test.phys initStep - 1 -75.8 59.8 170 0.243 0 13.8 13.8 test.phys compt - 2 -71.9 57.8 165 0.243 2.92e-06 7.28 21 test.phys compt - 3 6.68 17.1 48.4 0.135 0 146 167 test.phys compt - 4 16 41.5 86 0.115 0 45.8 213 test.phys compt - 5 97.5 -23.2 166 0.112 0 131 344 test.phys compt - 6 173 -37.6 196 0.112 0 82.2 426 test.phys Rayl - 7 177 -38.3 200 0.112 0 6.07 432 World Transportation - 8 1e+04 -1.61e+03 9.28e+03 0.112 0 1.35e+04 1.39e+04 OutOfWorld Transportation + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 78.8 0.941 0.0594 78.8 579 test.phys biasWrapper(hadElastic) + 2 146 -92.1 200 0.941 0 211 789 World Transportation + 3 1e+04 -6.33e+03 8.41e+03 0.941 0 1.43e+04 1.5e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 33 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 97.5 -23.2 166 0.00308 0 0 0 test.phys initStep - 1 97.5 -23.2 166 0 0.00308 0.000478 0.000478 test.phys eIoni + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 33 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 16 41.5 86 0.0193 0 0 0 test.phys initStep - 1 16 41.5 86 0 0.0193 0.0113 0.0113 test.phys eIoni + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 15.7 0.979 0.0205 15.7 516 test.phys biasWrapper(hadElastic) + 2 -26 -0.754 58.8 0.845 0 50.3 566 test.phys biasWrapper(hadElastic) + 3 175 -262 166 0.719 0 346 912 test.phys biasWrapper(hadElastic) + 4 154 -319 0 0.719 0 176 1.09e+03 World Transportation + 5 -1.12e+03 -3.77e+03 -1e+04 0.719 0 1.07e+04 1.17e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 33 +* G4Track Information: Particle = N14, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 6.68 17.1 48.4 0.108 0 0 0 test.phys initStep - 1 6.71 17 48.3 0 0.108 0.229 0.229 test.phys eIoni + 0 175 -262 166 0.126 0 0 0 test.phys initStep + 1 175 -262 166 0 0.126 0.00215 0.00215 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 33 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -26 -0.754 58.8 0.135 0 0 0 test.phys initStep + 1 -26 -0.753 58.8 0 0.135 0.00222 0.00222 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -75.8 59.8 170 0.0257 0 0 0 test.phys initStep - 1 -75.8 59.9 170 0 0.0257 0.0188 0.0188 test.phys eIoni + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 32, Parent ID = 4 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -79.7 55.8 183 14.2 0 0 0 test.phys initStep - 1 -80 55.7 184 12 2.19 0.804 0.804 test.phys hIoni - 2 -80.2 55.6 184 9.93 2.1 0.637 1.44 test.phys hIoni - 3 -80.4 55.6 185 8.2 1.74 0.497 1.94 test.phys hIoni - 4 -80.5 55.6 185 6.58 1.61 0.397 2.33 test.phys hIoni - 5 -80.6 55.6 186 5.02 1.56 0.316 2.65 test.phys hIoni - 6 -80.7 55.6 186 3.43 1.6 0.248 2.9 test.phys hIoni - 7 -80.7 55.6 186 1.67 1.76 0.184 3.08 test.phys hIoni - 8 -80.7 55.6 186 0.0082 1.66 0.0795 3.16 test.phys hIoni - 9 -80.7 55.6 186 0 0.0082 0.000561 3.16 test.phys hIoni + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 62.5 0.889 0 62.5 563 test.phys biasWrapper(hadElastic) + 2 -31 -73.6 77.4 0.841 0.0476 81.2 644 test.phys biasWrapper(hadElastic) + 3 -70.7 -128 200 0.841 0 140 783 World Transportation + 4 -3.24e+03 -4.44e+03 1e+04 0.841 0 1.12e+04 1.19e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 31, Parent ID = 4 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -69.3 55.6 173 0.34 0 0 0 test.phys initStep - 1 -69.3 55.6 173 0 0.34 0.00287 0.00287 test.phys ionIoni + 0 0 0 62.5 0.111 0 0 0 test.phys initStep + 1 0.000438 0.00104 62.5 0 0.111 0.00203 0.00203 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 13.7 0.871 0 13.7 514 test.phys biasWrapper(hadElastic) + 2 15 -47.3 16 0.826 0.0456 49.7 563 test.phys biasWrapper(hadElastic) + 3 28.2 -59.9 0 0.826 0 24.3 588 World Transportation + 4 8.32e+03 -7.93e+03 -1e+04 0.826 0 1.52e+04 1.58e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 13.7 0.129 0 0 0 test.phys initStep + 1 -0.000358 0.00113 13.7 0 0.129 0.00217 0.00217 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 35.3 28.1 0 0 0 test.phys initStep - 1 -7.67 -8.51 92.6 27.9 0 58.4 58.4 test.phys biasWrapper(hadElastic) - 2 -8.91 -5.73 112 27.4 0 20.1 78.6 test.phys biasWrapper(hadElastic) - 3 30.8 -2.2 200 27.4 0 96.2 175 World Transportation - 4 4.48e+03 393 1e+04 27.4 0 1.08e+04 1.09e+04 OutOfWorld Transportation + 0 0 0 -500 1 0 0 0 World initStep + 1 0 0 0 1 0 500 500 test.phys Transportation + 2 0 0 0 1 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 1 0 200 700 World Transportation + 4 0 0 1e+04 1 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 41, Parent ID = 3 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -8.91 -5.73 112 0.489 0 0 0 test.phys initStep - 1 -8.92 -5.73 112 0 0.489 0.00301 0.00301 test.phys ionIoni + 0 0 0 0 1 0 0 500 test.phys initStep + 1 0 0 81.6 0.833 0 81.6 582 test.phys biasWrapper(hadElastic) + 2 -192 -223 0 0.833 0 305 886 World Transportation + 3 -8.6e+03 -1e+04 -3.58e+03 0.833 0 1.34e+04 1.43e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 40, Parent ID = 3 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -7.67 -8.51 92.6 0.175 0 0 0 test.phys initStep - 1 -7.67 -8.51 92.6 0 0.175 0.0025 0.0025 test.phys ionIoni + 0 0 0 81.6 0.167 0 0 0 test.phys initStep + 1 0.000774 0.000901 81.6 0 0.167 0.00245 0.00245 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -3512,17 +3554,52 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 122 99.5 0 122 622 test.phys biasWrapper(hadElastic) - 2 18.6 -7.16 200 99.5 0 81 702 World Transportation - 3 2.34e+03 -901 1e+04 99.5 0 1.01e+04 1.08e+04 OutOfWorld Transportation + 1 0 0 148 0 0 148 648 test.phys biasWrapper(neutronInelastic) ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = N13, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 148 0.914 0 0 0 test.phys initStep + 1 0.000348 -0.0028 148 0 0.914 0.00296 0.00296 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 148 2 0 0 0 test.phys initStep + 1 -73 -27 177 1.4 0 82.9 82.9 test.phys compt + 2 -120 -19.8 200 1.4 0 53.4 136 World Transportation + 3 -1e+04 1.48e+03 5.05e+03 1.4 0 1.11e+04 1.12e+04 OutOfWorld Transportation + +********************************************************************************************************* +* 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 -73 -27 177 0.603 0 0 0 test.phys initStep + 1 -73.7 -28.2 177 0.234 0.37 1.99 1.99 test.phys eIoni + 2 -73.9 -28.6 177 0 0.234 0.801 2.79 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 148 28 0 0 0 test.phys initStep + 1 61.2 102 200 28 0 130 130 World Transportation + 2 5.97e+03 1e+04 5.22e+03 28 0 1.26e+04 1.27e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 122 0.464 0 0 0 test.phys initStep - 1 -0.00267 0.00103 122 0 0.464 0.00298 0.00298 test.phys ionIoni + 0 0 0 148 58.5 0 0 0 test.phys initStep + 1 -20.9 -6.65 200 58.5 0 56.4 56.4 World Transportation + 2 -3.96e+03 -1.26e+03 1e+04 58.5 0 1.06e+04 1.07e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -3541,17 +3618,17 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 30.9 99.6 0 30.9 531 test.phys biasWrapper(hadElastic) - 2 -11.1 35.4 200 99.6 0 173 704 World Transportation - 3 -656 2.09e+03 1e+04 99.6 0 1e+04 1.07e+04 OutOfWorld Transportation + 1 0 0 120 99.7 0 120 620 test.phys biasWrapper(hadElastic) + 2 10.1 11.9 200 99.7 0 81.2 702 World Transportation + 3 1.26e+03 1.48e+03 1e+04 99.7 0 9.99e+03 1.07e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 30.9 0.352 0 0 0 test.phys initStep - 1 0.000813 -0.00258 30.9 0 0.352 0.00288 0.00288 test.phys ionIoni + 0 0 0 120 0.283 0 0 0 test.phys initStep + 1 -0.00167 -0.00196 120 0 0.283 0.00279 0.00279 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -3570,17 +3647,17 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 28 99.4 0 28 528 test.phys biasWrapper(hadElastic) - 2 -21 45 200 99.4 0 179 707 World Transportation - 3 -1.22e+03 2.61e+03 1e+04 99.4 0 1.02e+04 1.09e+04 OutOfWorld Transportation + 1 0 0 133 99.9 0 133 633 test.phys biasWrapper(hadElastic) + 2 -0.869 -9.3 200 99.9 0 67.7 701 World Transportation + 3 -128 -1.37e+03 1e+04 99.9 0 9.89e+03 1.06e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 28 0.593 0 0 0 test.phys initStep - 1 0.00126 -0.0027 28 0 0.593 0.00308 0.00308 test.phys ionIoni + 0 0 0 133 0.145 0 0 0 test.phys initStep + 1 0.000172 0.00184 133 0 0.145 0.00229 0.00229 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -3599,198 +3676,204 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 95 0 0 95 595 test.phys biasWrapper(neutronInelastic) + 1 0 0 120 0 0 120 620 test.phys biasWrapper(neutronInelastic) ********************************************************************************************************* -* G4Track Information: Particle = C12, Track ID = 9, Parent ID = 2 +* G4Track Information: Particle = C12, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 95 0.246 0 0 0 test.phys initStep - 1 -0.00154 -0.00148 95 0 0.246 0.00279 0.00279 test.phys ionIoni + 0 0 0 120 0.534 0 0 0 test.phys initStep + 1 0.00167 -0.00136 120 0 0.534 0.00312 0.00312 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 2 +* G4Track Information: Particle = deuteron, Track ID = 6, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 95 0.394 0 0 0 test.phys initStep - 1 99.6 -171 0 0.394 0 220 220 World Transportation - 2 5.82e+03 -1e+04 -5.45e+03 0.394 0 1.26e+04 1.28e+04 OutOfWorld Transportation + 0 0 0 120 4.82 0 0 0 test.phys initStep + 1 -0.177 -0.0725 120 2.55 2.27 0.192 0.192 test.phys hIoni + 2 -0.273 -0.11 120 0 2.55 0.103 0.295 test.phys hIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 95 1.31 0 0 0 test.phys initStep - 1 141 -114 200 1.31 0 210 210 World Transportation - 2 1e+04 -8.1e+03 7.54e+03 1.31 0 1.47e+04 1.49e+04 OutOfWorld Transportation + 0 0 0 120 0.503 0 0 0 test.phys initStep + 1 18.3 1.34 115 0.363 0 19.1 19.1 test.phys compt + 2 75.8 -47.6 0 0.363 0 137 156 World Transportation + 3 5.09e+03 -4.32e+03 -1e+04 0.363 0 1.2e+04 1.21e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 6, Parent ID = 2 +* 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 0 0 95 1.86 0 0 0 test.phys initStep - 1 0.000589 -0.0498 95 0.0259 1.83 0.0952 0.0952 test.phys hIoni - 2 0.000663 -0.0502 95 0 0.0259 0.001 0.0962 test.phys hIoni + 0 18.3 1.34 115 0.14 0 0 0 test.phys initStep + 1 18.4 1.42 115 0 0.14 0.35 0.35 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 95 4.09 0 0 0 test.phys initStep - 1 -0.571 -4.44 94.5 0.85 0 4.51 4.51 test.phys compt - 2 16.7 -20.8 75.2 0.304 0 30.7 35.2 test.phys compt - 3 38.3 -121 200 0.304 0 162 197 World Transportation - 4 1.73e+03 -8.01e+03 1e+04 0.304 0 1.27e+04 1.29e+04 OutOfWorld Transportation + 0 0 0 120 6.89 0 0 0 test.phys initStep + 1 47.9 86.5 200 6.89 0 127 127 World Transportation + 2 5.54e+03 1e+04 9.37e+03 6.89 0 1.46e+04 1.47e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 5 +* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 16.7 -20.8 75.2 0.546 0 0 0 test.phys initStep - 1 17.4 -21.2 74.1 0.288 0.258 1.87 1.87 test.phys eIoni - 2 17 -21.5 74.3 0.063 0.225 1.09 2.96 test.phys eIoni - 3 16.9 -21.6 74.3 0 0.063 0.0904 3.05 test.phys eIoni + 0 0 0 120 77 0 0 0 test.phys initStep + 1 13.3 20.5 200 77 0 83.7 83.7 World Transportation + 2 1.64e+03 2.53e+03 1e+04 77 0 1.02e+04 1.03e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.571 -4.44 94.5 3.24 0 0 0 test.phys initStep - 1 -1.77 -8.75 94.6 2.46 0.531 4.7 4.7 test.phys eIoni - 2 -2.1 -9.29 93.5 2.32 0.137 1.27 5.97 test.phys eBrem - 3 -2.27 -9.38 93.3 1.66 0.0599 0.306 6.28 test.phys eIoni - 4 -2.59 -11.3 90.5 1.19 0.464 3.82 10.1 test.phys eIoni - 5 -2.52 -11.8 90.3 0.922 0.0478 0.503 10.6 test.phys eIoni - 6 -1.34 -13.4 89.8 0.63 0.292 2.57 13.2 test.phys eIoni - 7 -0.85 -14.8 89.8 0.37 0.26 2.04 15.2 test.phys eIoni - 8 -0.8 -15.2 90.5 0.103 0.266 1.42 16.6 test.phys eIoni - 9 -0.774 -15.3 90.6 0 0.103 0.211 16.8 test.phys eIoni + 0 0 0 -500 100 0 0 0 World initStep + 1 0 0 0 100 0 500 500 test.phys Transportation + 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 100 0 200 700 World Transportation + 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 10 +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.52 -11.8 90.3 0.224 0 0 0 test.phys initStep - 1 -2.71 -12.1 90.4 0 0.224 0.747 0.747 test.phys eIoni + 0 0 0 0 100 0 0 500 test.phys initStep + 1 0 0 25.8 99.1 0 25.8 526 test.phys biasWrapper(hadElastic) + 2 36 -19.4 139 0 0 120 646 test.phys biasWrapper(neutronInelastic) ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 10 +* G4Track Information: Particle = C12, Track ID = 10, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.27 -9.38 93.3 0.607 0 0 0 test.phys initStep - 1 -3.52 -9.37 92.6 0.314 0.293 2 2 test.phys eIoni - 2 -4.09 -9.31 92.2 0.0619 0.252 1.22 3.21 test.phys eIoni - 3 -4.07 -9.29 92.3 0 0.0619 0.0875 3.3 test.phys eIoni + 0 36 -19.4 139 1.21 0 0 0 test.phys initStep + 1 36 -19.4 139 0 1.21 0.00329 0.00329 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 10 +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.1 -9.29 93.5 0.00287 0 0 0 test.phys initStep - 1 -2.18 -9.32 93.4 0 0.000403 0.136 0.136 test.phys phot + 0 36 -19.4 139 0.395 0 0 0 test.phys initStep + 1 41.6 -8.47 200 0.395 0 62.3 62.3 World Transportation + 2 951 1.75e+03 1e+04 0.395 0 1e+04 1.01e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 13 +* G4Track Information: Particle = neutron, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.18 -9.32 93.4 0.00247 0 0 0 test.phys initStep - 1 -2.18 -9.32 93.4 0 0.00247 0.000333 0.000333 test.phys eIoni + 0 36 -19.4 139 1 0 0 0 test.phys initStep + 1 116 109 27.6 0.834 0 188 188 test.phys biasWrapper(hadElastic) + 2 80.5 127 40.2 0.799 0.0352 41.5 230 test.phys biasWrapper(hadElastic) + 3 60 135 83 0.798 0.00108 48.1 278 test.phys biasWrapper(hadElastic) + 4 54.6 139 96 0.762 0.0359 14.6 292 test.phys biasWrapper(hadElastic) + 5 40.8 129 111 0.744 0.018 22.4 315 test.phys biasWrapper(hadElastic) + 6 -179 -38.6 147 0.704 0.0405 278 593 test.phys biasWrapper(hadElastic) + 7 -224 -38.6 200 0.704 0 70.3 664 World Transportation + 8 -8.66e+03 -49.8 1e+04 0.704 0 1.29e+04 1.36e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 +* G4Track Information: Particle = N14, Track ID = 11, Parent ID = 8 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.77 -8.75 94.6 0.247 0 0 0 test.phys initStep - 1 -1.55 -9.13 94.5 0 0.247 0.87 0.87 test.phys eIoni + 0 116 109 27.6 0.166 0 0 0 test.phys initStep + 1 116 109 27.6 0 0.166 0.00244 0.00244 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 4, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 95 4.45 0 0 0 test.phys initStep - 1 2.96 8.23 101 4.42 0.0284 10.8 10.8 test.phys biasWrapper(hadElastic) - 2 2.15 113 200 4.42 0 144 155 World Transportation - 3 -74 1e+04 9.5e+03 4.42 0 1.36e+04 1.37e+04 OutOfWorld Transportation + 0 36 -19.4 139 1.11 0 0 0 test.phys initStep + 1 361 99.1 16.8 0.278 0 367 367 test.phys compt + 2 347 96 0.472 0.205 0 21.9 389 test.phys compt + 3 347 96.4 -7.11e-15 0.205 0 0.615 390 World Transportation + 4 3.09e+03 8e+03 -1e+04 0.205 0 1.3e+04 1.34e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 95 75.1 0 0 0 test.phys initStep - 1 4.98 2.35 200 75.1 0 105 105 World Transportation - 2 470 222 1e+04 75.1 0 9.81e+03 9.92e+03 OutOfWorld Transportation + 0 347 96 0.472 0.0728 0 0 0 test.phys initStep + 1 347 96 0.462 0 0.0728 0.116 0.116 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 100 0 0 0 World initStep - 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 100 0 200 700 World Transportation - 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 361 99.1 16.8 0.831 0 0 0 test.phys initStep + 1 363 99.7 16.5 0.475 0.356 2.41 2.41 test.phys eIoni + 2 364 99.7 16.8 0.363 0.106 0.711 3.13 test.phys eBrem + 3 364 100 16.9 0.0302 0.333 1.4 4.52 test.phys eIoni + 4 364 100 16.8 0 0.0302 0.0249 4.55 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 12 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 100 0 0 500 test.phys initStep - 1 0 0 190 0 0 190 690 test.phys biasWrapper(neutronInelastic) + 0 364 99.7 16.8 0.00637 0 0 0 test.phys initStep + 1 364 99.2 16.8 0 0.000403 0.524 0.524 test.phys phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 364 99.2 16.8 0.00597 0 0 0 test.phys initStep + 1 364 99.2 16.8 0 0.00597 0.00146 0.00146 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = C13, Track ID = 6, Parent ID = 2 +* G4Track Information: Particle = proton, Track ID = 6, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 190 3.73 0 0 0 test.phys initStep - 1 0.00343 -0.000734 190 0 3.73 0.00362 0.00362 test.phys ionIoni + 0 36 -19.4 139 5.37 0 0 0 test.phys initStep + 1 36.1 -19.6 139 3.82 1.55 0.262 0.262 test.phys hIoni + 2 36.2 -19.8 139 2.19 1.63 0.2 0.462 test.phys hIoni + 3 36.3 -19.8 139 0.15 2.04 0.121 0.583 test.phys hIoni + 4 36.3 -19.8 139 0.00302 0.147 0.00313 0.586 test.phys hIoni + 5 36.3 -19.8 139 0 0.00302 0.00034 0.586 test.phys hIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 190 4.94 0 0 0 test.phys initStep - 1 23.2 -9.43 200 4.94 0 26.9 26.9 World Transportation - 2 1e+04 -4.07e+03 4.41e+03 4.94 0 1.16e+04 1.16e+04 OutOfWorld Transportation + 0 36 -19.4 139 5.55 0 0 0 test.phys initStep + 1 199 103 200 5.55 0 213 213 World Transportation + 2 1e+04 7.48e+03 3.87e+03 5.55 0 1.28e+04 1.3e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 4, Parent ID = 2 +* G4Track Information: Particle = neutron, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 190 9.89 0 0 0 test.phys initStep - 1 -0.13 0.332 191 8.14 1.75 0.494 0.494 test.phys hIoni - 2 -0.231 0.567 191 6.49 1.65 0.394 0.888 test.phys hIoni - 3 -0.314 0.747 191 4.84 1.65 0.312 1.2 test.phys hIoni - 4 -0.379 0.88 191 3.24 1.6 0.24 1.44 test.phys hIoni - 5 -0.419 0.973 191 1.53 1.71 0.176 1.62 test.phys hIoni - 6 -0.435 1.01 191 0 1.53 0.0694 1.68 test.phys hIoni + 0 36 -19.4 139 71.9 0 0 0 test.phys initStep + 1 48.2 -55.8 200 71.9 0 72.1 72.1 World Transportation + 2 2.01e+03 -5.89e+03 1e+04 71.9 0 1.16e+04 1.16e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 190 73.8 0 0 0 test.phys initStep - 1 -9 -1.21 200 73.8 0 13.3 13.3 World Transportation - 2 -9.03e+03 -1.22e+03 1e+04 73.8 0 1.34e+04 1.34e+04 OutOfWorld Transportation + 0 0 0 25.8 0.9 0 0 0 test.phys initStep + 1 -0.00272 0.00147 25.8 0 0.9 0.00318 0.00318 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 @@ -3809,265 +3892,968 @@ 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 100 0 0 500 test.phys initStep - 1 0 0 152 0 0 152 652 test.phys biasWrapper(neutronInelastic) + 1 0 0 122 0 0 122 622 test.phys biasWrapper(neutronInelastic) ********************************************************************************************************* -* G4Track Information: Particle = Be10, Track ID = 9, Parent ID = 2 +* G4Track Information: Particle = alpha, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 152 1.11 0 0 0 test.phys initStep - 1 0.00384 -0.0016 152 0 1.11 0.00455 0.00455 test.phys ionIoni + 0 0 0 122 7.45 0 0 0 test.phys initStep + 1 0.00709 -0.0938 122 0 7.45 0.0988 0.0988 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = deuteron, Track ID = 8, Parent ID = 2 +* G4Track Information: Particle = alpha, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 152 5.89 0 0 0 test.phys initStep - 1 0.108 0.162 152 3.62 2.27 0.223 0.223 test.phys hIoni - 2 0.18 0.274 152 1.12 2.5 0.153 0.376 test.phys hIoni - 3 0.194 0.296 152 0 1.12 0.0293 0.405 test.phys hIoni + 0 0 0 122 6.29 0 0 0 test.phys initStep + 1 0.0746 0.00297 122 0 6.29 0.0756 0.0756 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 7, Parent ID = 2 +* G4Track Information: Particle = alpha, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 152 0.71 0 0 0 test.phys initStep - 1 0.000369 -0.0186 152 0 0.71 0.0207 0.0207 test.phys hIoni + 0 0 0 122 21.9 0 0 0 test.phys initStep + 1 -0.161 0.0283 122 15.4 6.41 0.267 0.267 test.phys ionIoni + 2 -0.28 0.0526 122 8.89 6.55 0.203 0.47 test.phys ionIoni + 3 -0.352 0.0652 122 0.898 7.99 0.126 0.596 test.phys ionIoni + 4 -0.357 0.0659 122 0 0.898 0.00798 0.604 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 152 0.779 0 0 0 test.phys initStep - 1 9.98 -13 169 0.44 0 23.9 23.9 test.phys compt - 2 -9.42 -20.5 200 0.44 0 37 60.9 World Transportation - 3 -6.22e+03 -2.45e+03 1e+04 0.44 0 1.19e+04 1.19e+04 OutOfWorld Transportation + 0 0 0 122 0.491 0 0 0 test.phys initStep + 1 -12.2 10.4 52.1 0.183 0 71.7 71.7 test.phys compt + 2 -24.4 25.4 88.4 0.115 0 41.1 113 test.phys compt + 3 59.3 -35.8 64.6 0.106 0 106 219 test.phys compt + 4 85.8 -68.8 95.1 0.08 0 52.2 271 test.phys compt + 5 90.9 -62.2 84.2 0.0737 0 13.7 285 test.phys compt + 6 88.6 -60.9 82 0.0737 0 3.46 288 test.phys Rayl + 7 79.8 -56.6 82.7 0.0737 8.76e-06 9.78 298 test.phys compt + 8 35.1 -32.4 85.8 0.0578 0 50.9 349 test.phys compt + 9 89.5 -64.2 52.3 0.0534 0 71.3 420 test.phys compt + 10 109 -109 90.9 0.0479 0 62.6 483 test.phys compt + 11 121 -130 54.9 0.0478 0 43.2 526 test.phys compt + 12 126 -167 2.96 0 0.000403 64 590 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.98 -13 169 0.339 0 0 0 test.phys initStep - 1 10.6 -13.3 170 0.103 0.236 1.32 1.32 test.phys eIoni - 2 10.6 -13.4 170 0 0.103 0.21 1.53 test.phys eIoni + 0 126 -167 2.96 0.0474 0 0 0 test.phys initStep + 1 126 -167 2.95 0 0.0474 0.055 0.055 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 152 4.06 0 0 0 test.phys initStep - 1 -94.2 -1e+03 40.9 4.06 0 1.01e+03 1.01e+03 World Transportation - 2 -942 -1e+04 -959 4.06 0 9.09e+03 1.01e+04 OutOfWorld Transportation + 0 121 -130 54.9 0.000132 0 0 0 test.phys initStep + 1 121 -130 54.9 0 0.000132 1e-05 1e-05 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 4, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 152 5.18 0 0 0 test.phys initStep - 1 -0.154 -0.0842 152 3.61 1.57 0.254 0.254 test.phys hIoni - 2 -0.273 -0.148 152 1.87 1.74 0.191 0.446 test.phys hIoni - 3 -0.335 -0.178 152 0 1.87 0.0965 0.542 test.phys hIoni + 0 109 -109 90.9 0.00543 0 0 0 test.phys initStep + 1 109 -109 90.9 0 0.00543 0.00124 0.00124 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 152 44.7 0 0 0 test.phys initStep - 1 -24.9 2.27 200 44.7 0 54.1 54.1 World Transportation - 2 -5.1e+03 466 1e+04 44.7 0 1.1e+04 1.11e+04 OutOfWorld Transportation + 0 89.5 -64.2 52.3 0.00439 0 0 0 test.phys initStep + 1 89.5 -64.2 52.3 0 0.00439 0.000864 0.000864 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 100 0 0 0 World initStep - 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 100 0 200 700 World Transportation - 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 35.1 -32.4 85.8 0.0159 0 0 0 test.phys initStep + 1 35.1 -32.4 85.8 0 0.0159 0.00802 0.00802 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 100 0 0 500 test.phys initStep - 1 0 0 67.9 99.4 0 67.9 568 test.phys biasWrapper(hadElastic) - 2 -6.82 38.3 200 99.4 0 138 706 World Transportation - 3 -513 2.88e+03 1e+04 99.4 0 1.02e+04 1.09e+04 OutOfWorld Transportation + 0 90.9 -62.2 84.2 0.00635 0 0 0 test.phys initStep + 1 90.9 -62.2 84.2 0 0.00635 0.00162 0.00162 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 67.9 0.616 0 0 0 test.phys initStep - 1 0.000524 -0.00294 67.9 0 0.616 0.00309 0.00309 test.phys ionIoni + 0 85.8 -68.8 95.1 0.0263 0 0 0 test.phys initStep + 1 85.8 -68.8 95.1 0 0.0263 0.0195 0.0195 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 100 0 0 0 World initStep - 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 100 0 200 700 World Transportation - 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 59.3 -35.8 64.6 0.0088 0 0 0 test.phys initStep + 1 59.3 -35.8 64.6 0 0.0088 0.00285 0.00285 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 6 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 100 0 0 500 test.phys initStep - 1 0 0 31.4 99.2 0 31.4 531 test.phys biasWrapper(hadElastic) - 2 -33.1 19.2 146 98.7 0 121 652 test.phys biasWrapper(hadElastic) - 3 -49.5 43.7 200 98.7 0 61.3 714 World Transportation - 4 -3.04e+03 4.51e+03 1e+04 98.7 0 1.12e+04 1.19e+04 OutOfWorld Transportation + 0 -24.4 25.4 88.4 0.0676 0 0 0 test.phys initStep + 1 -24.4 25.4 88.4 0 0.0676 0.102 0.102 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 4, Parent ID = 2 +* 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 -33.1 19.2 146 0.477 0 0 0 test.phys initStep - 1 -33.1 19.2 146 0 0.477 0.00299 0.00299 test.phys ionIoni + 0 -12.2 10.4 52.1 0.308 0 0 0 test.phys initStep + 1 -12.2 10.4 51.5 0 0.308 1.19 1.19 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = N14, Track ID = 3, Parent ID = 2 +* G4Track Information: Particle = neutron, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 31.4 0.774 0 0 0 test.phys initStep - 1 0.00265 -0.00153 31.4 0 0.774 0.00315 0.00315 test.phys ionIoni + 0 0 0 122 12.8 0 0 0 test.phys initStep + 1 -26.1 140 91.9 0 0 145 145 test.phys biasWrapper(neutronInelastic) ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = C13, Track ID = 23, Parent ID = 5 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -500 100 0 0 0 World initStep - 1 0 0 0 100 0 500 500 test.phys Transportation - 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) - 3 0 0 200 100 0 200 700 World Transportation - 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + 0 -26.1 140 91.9 1.62 0 0 0 test.phys initStep + 1 -26.1 140 91.9 0 1.62 0.00358 0.00358 test.phys ionIoni ********************************************************************************************************* -* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 5 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 100 0 0 500 test.phys initStep - 1 0 0 89.2 0 0 89.2 589 test.phys biasWrapper(neutronInelastic) + 0 -26.1 140 91.9 0.0598 0 0 0 test.phys initStep + 1 -18.2 154 66.5 0.0504 0 30.3 30.3 test.phys compt + 2 -16.5 156 71.8 0.0448 0 5.73 36 test.phys compt + 3 21 147 48.3 0.0392 0 45.1 81.2 test.phys compt + 4 -93.4 308 45.4 0 0.000403 198 279 test.phys phot ********************************************************************************************************* -* G4Track Information: Particle = C13, Track ID = 8, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 22 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 89.2 2.16 0 0 0 test.phys initStep - 1 0.00221 -0.00215 89.2 0 2.16 0.00359 0.00359 test.phys ionIoni + 0 -93.4 308 45.4 0.0388 0 0 0 test.phys initStep + 1 -93.4 308 45.4 0 0.0388 0.0387 0.0387 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 22 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 89.2 0.103 0 0 0 test.phys initStep - 1 7.34 -43.3 83 0.0939 0 44.4 44.4 test.phys compt - 2 33.1 -54.3 84.6 0.0884 0 28 72.4 test.phys compt - 3 46.9 -76.4 107 0.076 0 34.2 107 test.phys compt - 4 36.1 -74.9 116 0.0615 0 14.4 121 test.phys compt - 5 26 -119 0 0.0615 0 125 246 World Transportation - 6 -847 -3.91e+03 -1e+04 0.0615 0 1.07e+04 1.1e+04 OutOfWorld Transportation + 0 21 147 48.3 0.00562 0 0 0 test.phys initStep + 1 21 147 48.3 0 0.00562 0.00131 0.00131 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 22 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 36.1 -74.9 116 0.0145 0 0 0 test.phys initStep - 1 36.1 -74.9 116 0 0.0145 0.00683 0.00683 test.phys eIoni + 0 -16.5 156 71.8 0.00561 0 0 0 test.phys initStep + 1 -16.5 156 71.8 0 0.00561 0.00131 0.00131 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 22 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 46.9 -76.4 107 0.0124 0 0 0 test.phys initStep - 1 46.9 -76.4 107 0 0.0124 0.00518 0.00518 test.phys eIoni + 0 -18.2 154 66.5 0.00939 0 0 0 test.phys initStep + 1 -18.2 154 66.5 0 0.00939 0.00319 0.00319 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 +* G4Track Information: Particle = neutron, Track ID = 21, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -26.1 140 91.9 1.07 0 0 0 test.phys initStep + 1 42.3 204 200 1.07 0 143 143 World Transportation + 2 6.25e+03 6.06e+03 1e+04 1.07 0 1.3e+04 1.31e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = proton, Track ID = 20, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -26.1 140 91.9 2.4 0 0 0 test.phys initStep + 1 -26.2 140 92 0.461 1.94 0.134 0.134 test.phys hIoni + 2 -26.2 140 92 0 0.461 0.0111 0.145 test.phys hIoni + +********************************************************************************************************* +* G4Track Information: Particle = proton, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 33.1 -54.3 84.6 0.00549 0 0 0 test.phys initStep - 1 33.1 -54.3 84.6 0 0.00549 0.00126 0.00126 test.phys eIoni + 0 0 0 122 15.6 0 0 0 test.phys initStep + 1 -0.209 -0.416 123 13.3 2.31 0.924 0.924 test.phys hIoni + 2 -0.373 -0.746 123 11.4 1.93 0.733 1.66 test.phys hIoni + 3 -0.514 -1.01 124 9.52 1.88 0.592 2.25 test.phys hIoni + 4 -0.614 -1.22 124 7.76 1.76 0.471 2.72 test.phys hIoni + 5 -0.695 -1.4 125 6.19 1.57 0.373 3.09 test.phys hIoni + 6 -0.767 -1.54 125 4.63 1.55 0.298 3.39 test.phys hIoni + 7 -0.821 -1.65 125 3.07 1.57 0.232 3.62 test.phys hIoni + 8 -0.855 -1.72 125 1.3 1.77 0.168 3.79 test.phys hIoni + 9 -0.862 -1.75 125 0.0144 1.28 0.0531 3.84 test.phys hIoni + 10 -0.861 -1.75 125 0 0.0144 0.000719 3.85 test.phys hIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 122 15.8 0 0 0 test.phys initStep + 1 53.9 67.7 200 15.8 0 117 117 World Transportation + 2 6.82e+03 8.56e+03 1e+04 15.8 0 1.46e+04 1.47e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 -500 100 0 0 0 World initStep + 1 0 0 0 100 0 500 500 test.phys Transportation + 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 100 0 200 700 World Transportation + 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 100 0 0 500 test.phys initStep + 1 0 0 177 0 0 177 677 test.phys biasWrapper(neutronInelastic) + +********************************************************************************************************* +* G4Track Information: Particle = C12, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 7.34 -43.3 83 0.00895 0 0 0 test.phys initStep - 1 7.34 -43.3 83 0 0.00895 0.00293 0.00293 test.phys eIoni + 0 0 0 177 0.533 0 0 0 test.phys initStep + 1 -0.00213 0.00121 177 0 0.533 0.00312 0.00312 test.phys ionIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 89.2 0.179 0 0 0 test.phys initStep - 1 -182 -162 0 0.179 0 260 260 World Transportation - 2 -1e+04 -8.92e+03 -4.82e+03 0.179 0 1.4e+04 1.43e+04 OutOfWorld Transportation + 0 0 0 177 0.088 0 0 0 test.phys initStep + 1 18.6 102 122 0.087 0 118 118 test.phys compt + 2 -28.1 288 0 0.087 0 227 345 World Transportation + 3 -2.47e+03 1e+04 -6.38e+03 0.087 0 1.19e+04 1.22e+04 OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 2 +* 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 0 89.2 0.896 0 0 0 test.phys initStep - 1 -73.9 44 124 0.284 0 92.9 92.9 test.phys compt - 2 -62.8 -59.6 200 0.284 0 129 222 World Transportation - 3 998 -1e+04 7.45e+03 0.284 0 1.24e+04 1.26e+04 OutOfWorld Transportation + 0 18.6 102 122 0.00105 0 0 0 test.phys initStep + 1 18.6 102 122 0 0.00105 8.9e-05 8.9e-05 test.phys eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 5 +* G4Track Information: Particle = proton, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -73.9 44 124 0.612 0 0 0 test.phys initStep - 1 -75 44.9 125 0.341 0.271 2.01 2.01 test.phys eIoni - 2 -74.6 45.4 125 0.103 0.238 1.32 3.33 test.phys eIoni - 3 -74.5 45.4 125 0 0.103 0.21 3.54 test.phys eIoni + 0 0 0 177 1.07 0 0 0 test.phys initStep + 1 0.00942 -0.0241 177 0 1.07 0.0391 0.0391 test.phys hIoni ********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 4, Parent ID = 2 +* G4Track Information: Particle = neutron, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 89.2 1.35 0 0 0 test.phys initStep - 1 0.00892 0.0272 89.2 0.00653 1.34 0.0564 0.0564 test.phys hIoni - 2 0.00895 0.0273 89.2 0 0.00653 0.000501 0.0569 test.phys hIoni + 0 0 0 177 26.6 0 0 0 test.phys initStep + 1 22.1 28.3 200 26.6 0 42.7 42.7 World Transportation + 2 7.81e+03 1e+04 8.36e+03 26.6 0 1.51e+04 1.51e+04 OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 89.2 87.8 0 0 0 test.phys initStep - 1 -44.1 33.6 200 87.8 0 124 124 World Transportation - 2 -3.95e+03 3.01e+03 1e+04 87.8 0 1.1e+04 1.11e+04 OutOfWorld Transportation + 0 0 0 177 59.1 0 0 0 test.phys initStep + 1 -3.8 -12.2 198 59.1 0.027 24.9 24.9 test.phys biasWrapper(hadElastic) + 2 -4.16 -13 200 59.1 0 1.9 26.8 World Transportation + 3 -2.13e+03 -4.71e+03 1e+04 59.1 0 1.11e+04 1.11e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 -500 100 0 0 0 World initStep + 1 0 0 0 100 0 500 500 test.phys Transportation + 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 100 0 200 700 World Transportation + 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 100 0 0 500 test.phys initStep + 1 0 0 106 100 0.014 106 606 test.phys biasWrapper(hadElastic) + 2 0.975 1.49 147 0 0 41.5 647 test.phys biasWrapper(neutronInelastic) + +********************************************************************************************************* +* G4Track Information: Particle = C12, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.975 1.49 147 3.79 0 0 0 test.phys initStep + 1 0.976 1.49 147 0 3.79 0.00335 0.00335 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.975 1.49 147 0.256 0 0 0 test.phys initStep + 1 -0.106 -66.9 0 0.256 0 162 162 World Transportation + 2 -73.4 -4.71e+03 -1e+04 0.256 0 1.1e+04 1.12e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.975 1.49 147 2.8 0 0 0 test.phys initStep + 1 -190 66.4 200 2.8 0 208 208 World Transportation + 2 -1e+04 3.4e+03 2.9e+03 2.8 0 1.07e+04 1.09e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.975 1.49 147 14.6 0 0 0 test.phys initStep + 1 -179 -22.5 0 14.6 0 234 234 World Transportation + 2 -1e+04 -1.33e+03 -8.03e+03 14.6 0 1.28e+04 1.3e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = proton, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.975 1.49 147 16.8 0 0 0 test.phys initStep + 1 1.29 1.65 148 14.6 2.27 1.03 1.03 test.phys hIoni + 2 1.54 1.78 149 12.4 2.14 0.834 1.87 test.phys hIoni + 3 1.77 1.89 150 10.5 1.98 0.666 2.53 test.phys hIoni + 4 1.96 1.97 150 8.66 1.8 0.53 3.06 test.phys hIoni + 5 2.13 1.97 151 6.96 1.7 0.422 3.49 test.phys hIoni + 6 2.29 1.88 151 5.34 1.62 0.334 3.82 test.phys hIoni + 7 2.4 1.8 151 3.78 1.56 0.261 4.08 test.phys hIoni + 8 2.48 1.75 151 2.09 1.69 0.198 4.28 test.phys hIoni + 9 2.54 1.72 151 0.0544 2.04 0.114 4.39 test.phys hIoni + 10 2.54 1.72 151 0 0.0544 0.00153 4.39 test.phys hIoni + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.975 1.49 147 49.1 0 0 0 test.phys initStep + 1 -1.21 -50.8 200 49.1 0 74.2 74.2 World Transportation + 2 -408 -9.79e+03 1e+04 49.1 0 1.38e+04 1.39e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 -500 100 0 0 0 World initStep + 1 0 0 0 100 0 500 500 test.phys Transportation + 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 100 0 200 700 World Transportation + 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 100 0 0 500 test.phys initStep + 1 0 0 108 0 0 108 608 test.phys biasWrapper(neutronInelastic) + +********************************************************************************************************* +* G4Track Information: Particle = B10, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 108 12.1 0 0 0 test.phys initStep + 1 -0.000182 -0.00121 108 0 12.1 0.00501 0.00501 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = deuteron, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 108 2.44 0 0 0 test.phys initStep + 1 0.0127 0.0353 108 0 2.44 0.0964 0.0964 test.phys hIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 108 0.123 0 0 0 test.phys initStep + 1 35 -71.3 136 0.0979 0 84.1 84.1 test.phys compt + 2 56.4 -57.1 141 0.0953 0 26.2 110 test.phys compt + 3 143 36.4 104 0.0934 0 133 243 test.phys compt + 4 147 46.7 97 0.0698 0 13.4 256 test.phys compt + 5 150 18.7 148 0.0659 0 58.1 314 test.phys compt + 6 169 26.3 170 0.0532 0 30.5 345 test.phys compt + 7 115 39.1 137 0.0462 0 64.9 410 test.phys compt + 8 116 27.8 142 0.0442 0 12.4 422 test.phys compt + 9 161 11.2 157 0.0378 0 50.3 472 test.phys compt + 10 69.7 82.2 102 0.0331 0 128 600 test.phys compt + 11 112 25.4 115 0 0.000403 72.1 673 test.phys phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 112 25.4 115 0.0327 0 0 0 test.phys initStep + 1 112 25.4 115 0 0.0327 0.0286 0.0286 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 69.7 82.2 102 0.00473 0 0 0 test.phys initStep + 1 69.7 82.2 102 0 0.00473 0.000979 0.000979 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 161 11.2 157 0.00636 0 0 0 test.phys initStep + 1 161 11.2 157 0 0.00636 0.00162 0.00162 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 116 27.8 142 0.00204 0 0 0 test.phys initStep + 1 116 27.8 142 0 0.00204 0.000245 0.000245 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 115 39.1 137 0.00699 0 0 0 test.phys initStep + 1 115 39.1 137 0 0.00699 0.00191 0.00191 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 169 26.3 170 0.0127 0 0 0 test.phys initStep + 1 169 26.3 170 0 0.0127 0.0054 0.0054 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 150 18.7 148 0.00393 0 0 0 test.phys initStep + 1 150 18.7 148 0 0.00393 0.000716 0.000716 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 147 46.7 97 0.0236 0 0 0 test.phys initStep + 1 147 46.7 96.9 0 0.0236 0.0161 0.0161 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 143 36.4 104 0.00185 0 0 0 test.phys initStep + 1 143 36.4 104 0 0.00185 0.000211 0.000211 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 56.4 -57.1 141 0.0026 0 0 0 test.phys initStep + 1 56.4 -57.1 141 0 0.0026 0.000362 0.000362 test.phys eIoni + +********************************************************************************************************* +* 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 35 -71.3 136 0.0247 0 0 0 test.phys initStep + 1 35 -71.3 136 0 0.0247 0.0175 0.0175 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 108 3.81 0 0 0 test.phys initStep + 1 -91.4 234 110 2.74 0 251 251 test.phys compt + 2 -194 382 70.5 0 0 184 436 test.phys conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 23, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -194 382 70.5 1.59 0 0 0 test.phys initStep + 1 -197 383 72 1.13 0.464 3.73 3.73 test.phys eIoni + 2 -197 385 70 0.805 0.326 2.95 6.68 test.phys eIoni + 3 -198 385 68.2 0.537 0.268 2.38 9.06 test.phys eIoni + 4 -198 386 68.3 0.295 0.242 1.85 10.9 test.phys eIoni + 5 -197 386 68.6 0.0179 0.277 1.11 12 test.phys eIoni + 6 -197 386 68.6 0 0.0179 0.00899 12 test.phys eIoni + 7 -197 386 68.6 0 0 0 12 test.phys annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -197 386 68.6 0.511 0 0 0 test.phys initStep + 1 -213 358 67.7 0.219 0 32.1 32.1 test.phys compt + 2 -169 367 153 0.193 0 96.1 128 test.phys compt + 3 -155 324 200 0.193 0 65.2 193 World Transportation + 4 2.75e+03 -8.46e+03 1e+04 0.193 0 1.35e+04 1.37e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -169 367 153 0.0263 0 0 0 test.phys initStep + 1 -169 367 153 0 0.0263 0.0195 0.0195 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -213 358 67.7 0.292 0 0 0 test.phys initStep + 1 -213 358 67.5 0 0.292 1.11 1.11 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -197 386 68.6 0.511 0 0 0 test.phys initStep + 1 -133 500 72.1 0.435 0 131 131 test.phys compt + 2 -113 651 0 0.435 0 168 299 World Transportation + 3 1.08e+03 1e+04 -4.48e+03 0.435 0 1.04e+04 1.07e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 24 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -133 500 72.1 0.0764 0 0 0 test.phys initStep + 1 -133 500 72.1 0 0.0764 0.126 0.126 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -194 382 70.5 0.119 0 0 0 test.phys initStep + 1 -195 382 70.4 0 0.119 0.268 0.268 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -91.4 234 110 1.07 0 0 0 test.phys initStep + 1 -91.1 236 111 0.725 0.349 2.84 2.84 test.phys eIoni + 2 -90.9 238 112 0.286 0.439 2.22 5.06 test.phys eIoni + 3 -90.4 238 112 0 0.286 1.09 6.15 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = proton, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 108 7 0 0 0 test.phys initStep + 1 -0.133 -0.273 108 5.42 1.57 0.335 0.335 test.phys hIoni + 2 -0.234 -0.491 108 3.8 1.63 0.264 0.6 test.phys hIoni + 3 -0.308 -0.656 108 2.22 1.58 0.199 0.799 test.phys hIoni + 4 -0.356 -0.754 108 0.205 2.01 0.123 0.921 test.phys hIoni + 5 -0.357 -0.757 108 0 0.205 0.00418 0.926 test.phys hIoni + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 108 16.8 0 0 0 test.phys initStep + 1 37.3 -16.1 0 16.8 0 115 115 World Transportation + 2 3.49e+03 -1.5e+03 -1e+04 16.8 0 1.07e+04 1.08e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 108 20 0 0 0 test.phys initStep + 1 -1.31 41.2 111 19.7 0 41.4 41.4 test.phys biasWrapper(hadElastic) + 2 -260 499 123 0 0 526 568 test.phys biasWrapper(neutronInelastic) + +********************************************************************************************************* +* G4Track Information: Particle = C14, Track ID = 34, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -260 499 123 3.3 0 0 0 test.phys initStep + 1 -260 499 123 0 3.3 0.00388 0.00388 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -260 499 123 0.708 0 0 0 test.phys initStep + 1 -172 483 95.9 0.291 0 93.7 93.7 test.phys compt + 2 -188 393 110 0.153 0 92 186 test.phys compt + 3 -282 498 1.35 0.0967 0 177 363 test.phys compt + 4 -197 341 80 0.0948 0 195 558 test.phys compt + 5 -154 295 149 0.0696 0 93.6 652 test.phys compt + 6 -187 312 121 0.0577 0 46.7 698 test.phys compt + 7 -184 321 151 0.0572 0 31.9 730 test.phys compt + 8 -192 334 176 0.0508 0 28.7 759 test.phys compt + 9 -161 285 200 0.0508 0 62.6 822 World Transportation + 10 6.47e+03 -1e+04 5.32e+03 0.0508 0 1.33e+04 1.41e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -192 334 176 0.00646 0 0 0 test.phys initStep + 1 -192 334 176 0 0.00646 0.00167 0.00167 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -184 321 151 0.000471 0 0 0 test.phys initStep + 1 -184 321 151 0 0.000471 3.11e-05 3.11e-05 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -187 312 121 0.0119 0 0 0 test.phys initStep + 1 -187 312 121 0 0.0119 0.00483 0.00483 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -154 295 149 0.0252 0 0 0 test.phys initStep + 1 -154 295 149 0 0.0252 0.0181 0.0181 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -197 341 80 0.00188 0 0 0 test.phys initStep + 1 -197 341 80 0 0.00188 0.000216 0.000216 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -282 498 1.35 0.0565 0 0 0 test.phys initStep + 1 -282 498 1.33 0 0.0565 0.0749 0.0749 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -188 393 110 0.137 0 0 0 test.phys initStep + 1 -188 393 111 0 0.137 0.34 0.34 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -172 483 95.9 0.417 0 0 0 test.phys initStep + 1 -171 483 95.6 0.0419 0.375 1.56 1.56 test.phys eIoni + 2 -171 483 95.6 0 0.0419 0.0443 1.61 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -260 499 123 1.39 0 0 0 test.phys initStep + 1 -295 445 153 1.21 0 71 71 test.phys compt + 2 -496 233 200 1.21 0 296 367 World Transportation + 3 -1e+04 -9.77e+03 2.44e+03 1.21 0 1.4e+04 1.43e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 32 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -295 445 153 0.176 0 0 0 test.phys initStep + 1 -295 445 153 0 0.176 0.509 0.509 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -260 499 123 4.25 0 0 0 test.phys initStep + 1 -260 500 123 0.919 0 0.194 0.194 test.phys compt + 2 -275 500 156 0.325 0 36.3 36.4 test.phys compt + 3 -523 358 43.3 0.261 0 307 344 test.phys compt + 4 -533 357 13.1 0.143 0 31.8 375 test.phys compt + 5 -542 362 26.6 0.0944 0 17 392 test.phys compt + 6 -512 321 0 0.0944 0 57 449 World Transportation + 7 7.1e+03 -1e+04 -6.76e+03 0.0944 0 1.45e+04 1.49e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 31 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -542 362 26.6 0.049 0 0 0 test.phys initStep + 1 -542 362 26.6 0 0.049 0.0583 0.0583 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 31 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -533 357 13.1 0.118 0 0 0 test.phys initStep + 1 -533 357 12.9 0 0.118 0.264 0.264 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 31 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -523 358 43.3 0.0639 0 0 0 test.phys initStep + 1 -523 358 43.3 0 0.0639 0.0925 0.0925 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 31 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -275 500 156 0.594 0 0 0 test.phys initStep + 1 -275 500 158 0.149 0.446 1.97 1.97 test.phys eIoni + 2 -275 500 158 0 0.149 0.387 2.36 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 31 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -260 500 123 3.34 0 0 0 test.phys initStep + 1 -267 501 123 2.61 0.721 6.57 6.57 test.phys eIoni + 2 -271 502 121 1.74 0.873 5.39 12 test.phys eIoni + 3 -273 502 121 1.11 0.233 2.1 14.1 test.phys eIoni + 4 -275 503 119 0.729 0.379 2.89 17 test.phys eIoni + 5 -275 504 118 0.431 0.298 2.23 19.2 test.phys eIoni + 6 -275 503 117 0.123 0.308 1.6 20.8 test.phys eIoni + 7 -275 503 117 0 0.123 0.285 21.1 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 44 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -273 502 121 0.399 0 0 0 test.phys initStep + 1 -274 502 121 0.0604 0.339 1.51 1.51 test.phys eIoni + 2 -274 502 121 0 0.0604 0.0841 1.6 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = proton, Track ID = 30, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -260 499 123 10.7 0 0 0 test.phys initStep + 1 -260 499 123 8.87 1.78 0.542 0.542 test.phys hIoni + 2 -259 499 123 7.19 1.68 0.434 0.976 test.phys hIoni + 3 -259 499 124 5.58 1.61 0.345 1.32 test.phys hIoni + 4 -259 499 124 3.98 1.6 0.271 1.59 test.phys hIoni + 5 -259 499 124 2.25 1.73 0.206 1.8 test.phys hIoni + 6 -259 499 124 0.274 1.98 0.125 1.92 test.phys hIoni + 7 -259 499 124 0.01 0.264 0.00573 1.93 test.phys hIoni + 8 -259 499 124 0 0.01 0.000606 1.93 test.phys hIoni + +********************************************************************************************************* +* G4Track Information: Particle = N14, Track ID = 29, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.31 41.2 111 0.334 0 0 0 test.phys initStep + 1 -1.31 41.2 111 0 0.334 0.00286 0.00286 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 -500 100 0 0 0 World initStep + 1 0 0 0 100 0 500 500 test.phys Transportation + 2 0 0 0 100 0 0 500 test.phys biasWrapper(0) + 3 0 0 200 100 0 200 700 World Transportation + 4 0 0 1e+04 100 0 9.8e+03 1.05e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 100 0 0 500 test.phys initStep + 1 0 0 17.6 0 0 17.6 518 test.phys biasWrapper(neutronInelastic) + +********************************************************************************************************* +* G4Track Information: Particle = B11, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 17.6 5.19 0 0 0 test.phys initStep + 1 -0.00344 -0.00169 17.6 0 5.19 0.00411 0.00411 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 17.6 0.18 0 0 0 test.phys initStep + 1 -4.82 2.59 19 0.137 0 5.65 5.65 test.phys compt + 2 77.2 171 64.5 0.113 0 193 199 test.phys compt + 3 133 145 200 0.113 0 149 347 World Transportation + 4 4.14e+03 -1.72e+03 1e+04 0.113 0 1.08e+04 1.11e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 77.2 171 64.5 0.0235 0 0 0 test.phys initStep + 1 77.2 171 64.5 0 0.0235 0.016 0.016 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.82 2.59 19 0.0435 0 0 0 test.phys initStep + 1 -4.84 2.58 19 0 0.0435 0.0474 0.0474 test.phys eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 17.6 1.87 0 0 0 test.phys initStep + 1 8.93 69 3.55e-15 1.87 0 71.7 71.7 World Transportation + 2 1.29e+03 1e+04 -2.53e+03 1.87 0 1.03e+04 1.04e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = proton, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 17.6 2.47 0 0 0 test.phys initStep + 1 0.0388 -0.132 17.5 0.592 1.88 0.138 0.138 test.phys hIoni + 2 0.0428 -0.147 17.5 0.0178 0.575 0.0159 0.154 test.phys hIoni + 3 0.0428 -0.147 17.5 0 0.0178 0.000803 0.155 test.phys hIoni + +********************************************************************************************************* +* G4Track Information: Particle = proton, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 17.6 9.16 0 0 0 test.phys initStep + 1 -0.173 0.00869 18 7.45 1.71 0.451 0.451 test.phys hIoni + 2 -0.32 0.0159 18.3 5.83 1.62 0.358 0.808 test.phys hIoni + 3 -0.438 0.0174 18.6 4.21 1.63 0.282 1.09 test.phys hIoni + 4 -0.532 0.0197 18.8 2.59 1.61 0.215 1.31 test.phys hIoni + 5 -0.598 0.0216 18.9 0.724 1.87 0.145 1.45 test.phys hIoni + 6 -0.608 0.0191 18.9 0 0.724 0.0214 1.47 test.phys hIoni + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 17.6 14.7 0 0 0 test.phys initStep + 1 408 82.1 200 14.7 0 454 454 World Transportation + 2 1e+04 2.01e+03 4.49e+03 14.7 0 1.07e+04 1.11e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = neutron, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 17.6 38 0 0 0 test.phys initStep + 1 136 145 148 37.5 0 238 238 test.phys biasWrapper(hadElastic) + 2 150 150 156 37 0 17.1 255 test.phys biasWrapper(hadElastic) + 3 469 194 200 37 0 325 580 World Transportation + 4 1e+04 1.51e+03 1.51e+03 37 0 9.71e+03 1.03e+04 OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = N14, Track ID = 13, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 150 150 156 0.457 0 0 0 test.phys initStep + 1 150 150 156 0 0.457 0.00298 0.00298 test.phys ionIoni + +********************************************************************************************************* +* G4Track Information: Particle = N14, Track ID = 12, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 136 145 148 0.475 0 0 0 test.phys initStep + 1 136 145 148 0 0.475 0.00299 0.00299 test.phys ionIoni Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/biasing/GB02/include/GB02ActionInitialization.hh b/examples/extended/biasing/GB02/include/GB02ActionInitialization.hh index 37ef2b1fd7a..f02a964651c 100644 --- a/examples/extended/biasing/GB02/include/GB02ActionInitialization.hh +++ b/examples/extended/biasing/GB02/include/GB02ActionInitialization.hh @@ -46,5 +46,3 @@ class GB02ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/biasing/GB02/include/GB02BOptrMultiParticleForceCollision.hh b/examples/extended/biasing/GB02/include/GB02BOptrMultiParticleForceCollision.hh index ba824de5b40..67bd2610888 100644 --- a/examples/extended/biasing/GB02/include/GB02BOptrMultiParticleForceCollision.hh +++ b/examples/extended/biasing/GB02/include/GB02BOptrMultiParticleForceCollision.hh @@ -35,57 +35,57 @@ class G4ParticleDefinition; #include -class GB02BOptrMultiParticleForceCollision : public G4VBiasingOperator { -public: - GB02BOptrMultiParticleForceCollision(); - virtual ~GB02BOptrMultiParticleForceCollision() {} +class GB02BOptrMultiParticleForceCollision : public G4VBiasingOperator +{ + public: + GB02BOptrMultiParticleForceCollision(); + virtual ~GB02BOptrMultiParticleForceCollision() {} - // -------------------------- - // -- Specific to this class: - // -------------------------- - // -- Declare particles to be biased: - void AddParticle( G4String particleName ); - -private: - // ----------------------------- - // -- Mandatory from base class: - // ----------------------------- - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess) final; - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation (const G4Track* track, - const G4BiasingProcessInterface* callingProcess) final; - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess) final; - -private: - // ------------------------------- - // -- Optionnal, from base class : - // ------------------------------- - // -- Here, these are needed implementions to forward calls to the underneath - // -- G4BOptrForceCollision biasing operator - void OperationApplied( const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase biasingCase, - G4VBiasingOperation* operationApplied, - const G4VParticleChange* particleChangeProduced ) final; - void OperationApplied( const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase biasingCase, - G4VBiasingOperation* occurenceOperationApplied, - G4double weightForOccurenceInteraction, - G4VBiasingOperation* finalStateOperationApplied, - const G4VParticleChange* particleChangeProduced ) final; - - void ExitBiasing( const G4Track*, const G4BiasingProcessInterface* ) final; - -public: - virtual void StartTracking( const G4Track* track ) final; - -private: - std::map < const G4ParticleDefinition*, G4BOptrForceCollision* > fBOptrForParticle; - std::vector < const G4ParticleDefinition* > fParticlesToBias; - G4BOptrForceCollision* fCurrentOperator; + // -------------------------- + // -- Specific to this class: + // -------------------------- + // -- Declare particles to be biased: + void AddParticle(G4String particleName); + + private: + // ----------------------------- + // -- Mandatory from base class: + // ----------------------------- + virtual G4VBiasingOperation* + ProposeNonPhysicsBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess) final; + virtual G4VBiasingOperation* + ProposeOccurenceBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess) final; + virtual G4VBiasingOperation* + ProposeFinalStateBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess) final; + + private: + // ------------------------------- + // -- Optionnal, from base class : + // ------------------------------- + // -- Here, these are needed implementions to forward calls to the underneath + // -- G4BOptrForceCollision biasing operator + void OperationApplied(const G4BiasingProcessInterface* callingProcess, + G4BiasingAppliedCase biasingCase, G4VBiasingOperation* operationApplied, + const G4VParticleChange* particleChangeProduced) final; + void OperationApplied(const G4BiasingProcessInterface* callingProcess, + G4BiasingAppliedCase biasingCase, + G4VBiasingOperation* occurenceOperationApplied, + G4double weightForOccurenceInteraction, + G4VBiasingOperation* finalStateOperationApplied, + const G4VParticleChange* particleChangeProduced) final; + + void ExitBiasing(const G4Track*, const G4BiasingProcessInterface*) final; + + public: + virtual void StartTracking(const G4Track* track) final; + + private: + std::map fBOptrForParticle; + std::vector fParticlesToBias; + G4BOptrForceCollision* fCurrentOperator; }; #endif diff --git a/examples/extended/biasing/GB02/include/GB02DetectorConstruction.hh b/examples/extended/biasing/GB02/include/GB02DetectorConstruction.hh index 75878d42af7..40e494738d6 100644 --- a/examples/extended/biasing/GB02/include/GB02DetectorConstruction.hh +++ b/examples/extended/biasing/GB02/include/GB02DetectorConstruction.hh @@ -36,17 +36,13 @@ class GB02DetectorConstruction : public G4VUserDetectorConstruction { -public: - - GB02DetectorConstruction(); - ~GB02DetectorConstruction(); - -public: - - virtual G4VPhysicalVolume* Construct(); - virtual void ConstructSDandField(); - + public: + GB02DetectorConstruction(); + ~GB02DetectorConstruction(); + + public: + virtual G4VPhysicalVolume* Construct(); + virtual void ConstructSDandField(); }; #endif - diff --git a/examples/extended/biasing/GB02/include/GB02PrimaryGeneratorAction.hh b/examples/extended/biasing/GB02/include/GB02PrimaryGeneratorAction.hh index c9c733404d6..0e47e66a108 100644 --- a/examples/extended/biasing/GB02/include/GB02PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/GB02/include/GB02PrimaryGeneratorAction.hh @@ -38,14 +38,14 @@ class G4ParticleGun; class GB02PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - GB02PrimaryGeneratorAction(); - virtual ~GB02PrimaryGeneratorAction(); + public: + GB02PrimaryGeneratorAction(); + virtual ~GB02PrimaryGeneratorAction(); - virtual void GeneratePrimaries(G4Event*); + virtual void GeneratePrimaries(G4Event*); -private: - G4ParticleGun* fParticleGun; //pointer a to G4 class + private: + G4ParticleGun* fParticleGun; // pointer a to G4 class }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB02/src/GB02ActionInitialization.cc b/examples/extended/biasing/GB02/src/GB02ActionInitialization.cc index b3d411bce5f..d1894912fe3 100644 --- a/examples/extended/biasing/GB02/src/GB02ActionInitialization.cc +++ b/examples/extended/biasing/GB02/src/GB02ActionInitialization.cc @@ -28,30 +28,29 @@ /// \brief Implementation of the GB02ActionInitialization class #include "GB02ActionInitialization.hh" + #include "GB02PrimaryGeneratorAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB02ActionInitialization::GB02ActionInitialization() - : G4VUserActionInitialization() -{} +GB02ActionInitialization::GB02ActionInitialization() : G4VUserActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB02ActionInitialization::~GB02ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB02ActionInitialization::BuildForMaster() const -{ -} +void GB02ActionInitialization::BuildForMaster() const {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB02ActionInitialization::Build() const { SetUserAction(new GB02PrimaryGeneratorAction); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB02/src/GB02BOptrMultiParticleForceCollision.cc b/examples/extended/biasing/GB02/src/GB02BOptrMultiParticleForceCollision.cc index d8c96937f8e..a8a10f3e981 100644 --- a/examples/extended/biasing/GB02/src/GB02BOptrMultiParticleForceCollision.cc +++ b/examples/extended/biasing/GB02/src/GB02BOptrMultiParticleForceCollision.cc @@ -27,134 +27,113 @@ /// \brief Implementation of the GB02BOptrMultiParticleForceCollision class // #include "GB02BOptrMultiParticleForceCollision.hh" -#include "G4BiasingProcessInterface.hh" #include "G4BOptrForceCollision.hh" +#include "G4BiasingProcessInterface.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB02BOptrMultiParticleForceCollision::GB02BOptrMultiParticleForceCollision() -: G4VBiasingOperator("TestManyForceCollision") -{ -} + : G4VBiasingOperator("TestManyForceCollision") +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB02BOptrMultiParticleForceCollision::AddParticle(G4String particleName) { const G4ParticleDefinition* particle = - G4ParticleTable::GetParticleTable()->FindParticle( particleName ); - - if ( particle == 0 ) - { - G4ExceptionDescription ed; - ed << "Particle `" << particleName << "' not found !" << G4endl; - G4Exception("GB02BOptrMultiParticleForceCollision::AddParticle(...)", - "exGB02.01", - JustWarning, - ed); - return; - } - - G4BOptrForceCollision* optr = new G4BOptrForceCollision(particleName, - "ForceCollisionFor"+particleName); - fParticlesToBias.push_back( particle ); - fBOptrForParticle[ particle ] = optr; - + G4ParticleTable::GetParticleTable()->FindParticle(particleName); + + if (particle == 0) { + G4ExceptionDescription ed; + ed << "Particle `" << particleName << "' not found !" << G4endl; + G4Exception("GB02BOptrMultiParticleForceCollision::AddParticle(...)", "exGB02.01", JustWarning, + ed); + return; + } + + G4BOptrForceCollision* optr = + new G4BOptrForceCollision(particleName, "ForceCollisionFor" + particleName); + fParticlesToBias.push_back(particle); + fBOptrForParticle[particle] = optr; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB02BOptrMultiParticleForceCollision:: -ProposeOccurenceBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess) +G4VBiasingOperation* GB02BOptrMultiParticleForceCollision::ProposeOccurenceBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* callingProcess) { - if ( fCurrentOperator ) return fCurrentOperator-> - GetProposedOccurenceBiasingOperation(track, callingProcess); - else return 0; + if (fCurrentOperator) + return fCurrentOperator->GetProposedOccurenceBiasingOperation(track, callingProcess); + else + return 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB02BOptrMultiParticleForceCollision:: -ProposeNonPhysicsBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess) +G4VBiasingOperation* GB02BOptrMultiParticleForceCollision::ProposeNonPhysicsBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* callingProcess) { - if ( fCurrentOperator ) return fCurrentOperator-> - GetProposedNonPhysicsBiasingOperation(track, callingProcess); - else return 0; + if (fCurrentOperator) + return fCurrentOperator->GetProposedNonPhysicsBiasingOperation(track, callingProcess); + else + return 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB02BOptrMultiParticleForceCollision:: -ProposeFinalStateBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess) +G4VBiasingOperation* GB02BOptrMultiParticleForceCollision::ProposeFinalStateBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* callingProcess) { - if ( fCurrentOperator ) return fCurrentOperator-> - GetProposedFinalStateBiasingOperation(track, callingProcess); - else return 0; + if (fCurrentOperator) + return fCurrentOperator->GetProposedFinalStateBiasingOperation(track, callingProcess); + else + return 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB02BOptrMultiParticleForceCollision::StartTracking( const G4Track* track ) +void GB02BOptrMultiParticleForceCollision::StartTracking(const G4Track* track) { const G4ParticleDefinition* definition = track->GetParticleDefinition(); - std::map < const G4ParticleDefinition*, G4BOptrForceCollision* > :: iterator - it = fBOptrForParticle.find( definition ); + std::map::iterator it = + fBOptrForParticle.find(definition); fCurrentOperator = 0; - if ( it != fBOptrForParticle.end() ) fCurrentOperator = (*it).second; + if (it != fBOptrForParticle.end()) fCurrentOperator = (*it).second; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void -GB02BOptrMultiParticleForceCollision:: -OperationApplied( const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase biasingCase, - G4VBiasingOperation* operationApplied, - const G4VParticleChange* particleChangeProduced ) +void GB02BOptrMultiParticleForceCollision::OperationApplied( + const G4BiasingProcessInterface* callingProcess, G4BiasingAppliedCase biasingCase, + G4VBiasingOperation* operationApplied, const G4VParticleChange* particleChangeProduced) { - if ( fCurrentOperator ) fCurrentOperator->ReportOperationApplied( callingProcess, - biasingCase, - operationApplied, - particleChangeProduced ); - + if (fCurrentOperator) + fCurrentOperator->ReportOperationApplied(callingProcess, biasingCase, operationApplied, + particleChangeProduced); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void -GB02BOptrMultiParticleForceCollision:: -OperationApplied( const G4BiasingProcessInterface* callingProcess, - G4BiasingAppliedCase biasingCase, - G4VBiasingOperation* occurenceOperationApplied, - G4double weightForOccurenceInteraction, - G4VBiasingOperation* finalStateOperationApplied, - const G4VParticleChange* particleChangeProduced ) +void GB02BOptrMultiParticleForceCollision::OperationApplied( + const G4BiasingProcessInterface* callingProcess, G4BiasingAppliedCase biasingCase, + G4VBiasingOperation* occurenceOperationApplied, G4double weightForOccurenceInteraction, + G4VBiasingOperation* finalStateOperationApplied, const G4VParticleChange* particleChangeProduced) { - if ( fCurrentOperator ) fCurrentOperator->ReportOperationApplied( callingProcess, - biasingCase, - occurenceOperationApplied, - weightForOccurenceInteraction, - finalStateOperationApplied, - particleChangeProduced ); + if (fCurrentOperator) + fCurrentOperator->ReportOperationApplied(callingProcess, biasingCase, occurenceOperationApplied, + weightForOccurenceInteraction, + finalStateOperationApplied, particleChangeProduced); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void -GB02BOptrMultiParticleForceCollision:: -ExitBiasing( const G4Track* track, - const G4BiasingProcessInterface* callingProcess ) +void GB02BOptrMultiParticleForceCollision::ExitBiasing( + const G4Track* track, const G4BiasingProcessInterface* callingProcess) { - if ( fCurrentOperator ) fCurrentOperator->ExitingBiasing( track, callingProcess ); + if (fCurrentOperator) fCurrentOperator->ExitingBiasing(track, callingProcess); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB02/src/GB02DetectorConstruction.cc b/examples/extended/biasing/GB02/src/GB02DetectorConstruction.cc index 0a1f282f36b..e3e99c46639 100644 --- a/examples/extended/biasing/GB02/src/GB02DetectorConstruction.cc +++ b/examples/extended/biasing/GB02/src/GB02DetectorConstruction.cc @@ -27,68 +27,64 @@ /// \brief Implementation of the GB02DetectorConstruction class // #include "GB02DetectorConstruction.hh" -#include "G4SystemOfUnits.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "GB02BOptrMultiParticleForceCollision.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" - -#include "GB02BOptrMultiParticleForceCollision.hh" +#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB02DetectorConstruction::GB02DetectorConstruction() -{} +GB02DetectorConstruction::GB02DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB02DetectorConstruction::~GB02DetectorConstruction() -{} +GB02DetectorConstruction::~GB02DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* GB02DetectorConstruction::Construct() { - G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); G4Material* defaultMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_lN2"); - G4VSolid* solidWorld = new G4Box("World", 10*m, 10*m, 10*m ); - - G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, //its solid - worldMaterial, //its material - "World"); //its name - - G4PVPlacement* 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 - + G4VSolid* solidWorld = new G4Box("World", 10 * m, 10 * m, 10 * m); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid + worldMaterial, // its material + "World"); // its name + + G4PVPlacement* 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 + // ----------------------------------- // -- volume where biasing is applied: // ----------------------------------- - G4double halfZ = 10*cm; - G4VSolid* solidTest = new G4Box("test.solid", 1*m, 1*m, halfZ ); - - G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, //its solid - defaultMaterial, //its material - "test.logical"); //its name - - new G4PVPlacement(0, // no rotation - G4ThreeVector(0,0, halfZ), // volume entrance at (0,0,0) - logicTest, // its logical volume - "test.phys", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - - + G4double halfZ = 10 * cm; + G4VSolid* solidTest = new G4Box("test.solid", 1 * m, 1 * m, halfZ); + + G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, // its solid + defaultMaterial, // its material + "test.logical"); // its name + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0, 0, halfZ), // volume entrance at (0,0,0) + logicTest, // its logical volume + "test.phys", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + return physiWorld; } @@ -98,17 +94,16 @@ void GB02DetectorConstruction::ConstructSDandField() { // -- Fetch volume for biasing: G4LogicalVolume* logicTest = G4LogicalVolumeStore::GetInstance()->GetVolume("test.logical"); - + // ---------------------------------------------- // -- operator creation and attachment to volume: // ---------------------------------------------- - GB02BOptrMultiParticleForceCollision* testMany = new GB02BOptrMultiParticleForceCollision(); + GB02BOptrMultiParticleForceCollision* testMany = new GB02BOptrMultiParticleForceCollision(); testMany->AddParticle("gamma"); testMany->AddParticle("neutron"); testMany->AttachTo(logicTest); - G4cout << " Attaching biasing operator " << testMany->GetName() - << " to logical volume " << logicTest->GetName() - << G4endl; + G4cout << " Attaching biasing operator " << testMany->GetName() << " to logical volume " + << logicTest->GetName() << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB02/src/GB02PrimaryGeneratorAction.cc b/examples/extended/biasing/GB02/src/GB02PrimaryGeneratorAction.cc index cbb90686227..e5854008fa0 100644 --- a/examples/extended/biasing/GB02/src/GB02PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/GB02/src/GB02PrimaryGeneratorAction.cc @@ -27,28 +27,28 @@ /// \brief Implementation of the GB02PrimaryGeneratorAction class // #include "GB02PrimaryGeneratorAction.hh" -#include "G4SystemOfUnits.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" +#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB02PrimaryGeneratorAction::GB02PrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="gamma"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(100.*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-50*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(100. * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -50 * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB03/exampleGB03.cc b/examples/extended/biasing/GB03/exampleGB03.cc index e7792e49e41..6c7a7f671bd 100644 --- a/examples/extended/biasing/GB03/exampleGB03.cc +++ b/examples/extended/biasing/GB03/exampleGB03.cc @@ -24,26 +24,23 @@ // ******************************************************************** // -#include "G4Types.hh" +#include "FTFP_BERT.hh" +#include "GB03ActionInitialization.hh" +#include "GB03DetectorConstruction.hh" +#include "GB03PrimaryGeneratorAction.hh" +#include "G4GenericBiasingPhysics.hh" #include "G4RunManagerFactory.hh" - -#include "G4VisExecutive.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" - #include "G4UImanager.hh" +#include "G4VisExecutive.hh" -#include "GB03DetectorConstruction.hh" -#include "GB03PrimaryGeneratorAction.hh" -#include "GB03ActionInitialization.hh" -#include "FTFP_BERT.hh" -#include "G4GenericBiasingPhysics.hh" - -int main(int argc,char** argv) +int main(int argc, char** argv) { // Instantiate G4UIExecutive if interactive mode G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { + if (argc == 1) { ui = new G4UIExecutive(argc, argv); } @@ -80,18 +77,18 @@ int main(int argc,char** argv) // G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) // Define UI session for interactive mode - { - UImanager->ApplyCommand("/control/execute vis.mac"); - ui->SessionStart(); - delete ui; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); - } + if (ui) // Define UI session for interactive mode + { + UImanager->ApplyCommand("/control/execute vis.mac"); + ui->SessionStart(); + delete ui; + } + else // Batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); + } delete visManager; delete runManager; diff --git a/examples/extended/biasing/GB03/exampleGB03.out b/examples/extended/biasing/GB03/exampleGB03.out index 1bb0a33b687..d0f75110797 100644 --- a/examples/extended/biasing/GB03/exampleGB03.out +++ b/examples/extended/biasing/GB03/exampleGB03.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -44,14 +44,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -245,7 +252,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -801,7 +808,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -870,7 +877,7 @@ GB03BOptrGeometryBasedBiasing : starting run with splitting factor = 2, and prob Run terminated. Run Summary Number of events processed : 10 - User=0.130000s Real=0.138565s Sys=0.000000s + User=0.090000s Real=0.093653s Sys=0.000000s Region -- -- appears in world volume This region is in the mass world. @@ -930,15 +937,16 @@ GB03BOptrGeometryBasedBiasing : starting run with splitting factor = 2, and prob Run terminated. Run Summary Number of events processed : 10 - User=0.170000s Real=0.187149s Sys=0.000000s + User=0.100000s Real=0.111468s Sys=0.000000s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:1) +UserDetectorConstruction deleted 0x1dc1590 +UserPhysicsList deleted 0x1dc2050 +UserActionInitialization deleted 0x1f7d6b0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -946,24 +954,22 @@ G4SDManager deleted. EventManager deleted. Units table cleared. TransportationManager deleted. -Total navigation history collections cleaned: 27 +Total navigation history collections cleaned: 28 G4RNGHelper object is deleted. ================== Deleting memory pools =================== -Pool ID '20G4NavigationLevelRep', size : 0.0385 MB +Pool ID '20G4NavigationLevelRep', size : 0.0404 MB Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB -Pool ID '17G4DynamicParticle', size : 0.00577 MB -Pool ID '16G4SmartVoxelNode', size : 0.000961 MB -Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB +Pool ID '17G4DynamicParticle', size : 0.00481 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB Pool ID '15G4HCofThisEvent', size : 0.000961 MB -Pool ID '7G4Track', size : 0.0106 MB -Pool ID '18G4TouchableHistory', size : 0.00288 MB +Pool ID '7G4Track', size : 0.00961 MB +Pool ID '18G4TouchableHistory', size : 0.00385 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB Pool ID '10G4Fragment', size : 0.000961 MB -Number of memory pools allocated: 13 of which, static: 0 -Dynamic pools deleted: 13 / Total memory freed: 0.066 MB +Number of memory pools allocated: 11 of which, static: 0 +Dynamic pools deleted: 11 / Total memory freed: 0.065 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/extended/biasing/GB03/include/GB03ActionInitialization.hh b/examples/extended/biasing/GB03/include/GB03ActionInitialization.hh index 888c9cca4f0..69297496025 100644 --- a/examples/extended/biasing/GB03/include/GB03ActionInitialization.hh +++ b/examples/extended/biasing/GB03/include/GB03ActionInitialization.hh @@ -30,8 +30,8 @@ #ifndef GB03ActionInitialization_H #define GB03ActionInitialization_H 1 -#include "globals.hh" #include "G4VUserActionInitialization.hh" +#include "globals.hh" class GB03ActionInitialization : public G4VUserActionInitialization { @@ -41,8 +41,6 @@ class GB03ActionInitialization : public G4VUserActionInitialization virtual void Build() const; virtual void BuildForMaster() const; - }; #endif - diff --git a/examples/extended/biasing/GB03/include/GB03BOptnSplitOrKillOnBoundary.hh b/examples/extended/biasing/GB03/include/GB03BOptnSplitOrKillOnBoundary.hh index 0b3b604140d..35235df5369 100644 --- a/examples/extended/biasing/GB03/include/GB03BOptnSplitOrKillOnBoundary.hh +++ b/examples/extended/biasing/GB03/include/GB03BOptnSplitOrKillOnBoundary.hh @@ -31,76 +31,73 @@ #ifndef GB03BOptnSplitOrKillOnBoundary_hh #define GB03BOptnSplitOrKillOnBoundary_hh 1 -#include "G4VBiasingOperation.hh" #include "G4ParticleChange.hh" #include "G4ParticleChangeForNothing.hh" +#include "G4VBiasingOperation.hh" class G4LogicalVolume; -class GB03BOptnSplitOrKillOnBoundary : public G4VBiasingOperation { -public: - // -- Constructor : - GB03BOptnSplitOrKillOnBoundary(G4String name); - // -- destructor: - virtual ~GB03BOptnSplitOrKillOnBoundary(); +class GB03BOptnSplitOrKillOnBoundary : public G4VBiasingOperation +{ + public: + // -- Constructor : + GB03BOptnSplitOrKillOnBoundary(G4String name); + // -- destructor: + virtual ~GB03BOptnSplitOrKillOnBoundary(); + + public: + // ---------------------------------------------- + // -- Methods from G4VBiasingOperation interface: + // ---------------------------------------------- + // -- Unused: + virtual const G4VBiasingInteractionLaw* + ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface*, G4ForceCondition&) + { + return 0; + } + virtual G4VParticleChange* ApplyFinalStateBiasing(const G4BiasingProcessInterface*, + const G4Track*, const G4Step*, G4bool&) + { + return 0; + } + + // -- Used methods ("non-physics biasing methods"): + // ------------------------------------------------ + // -- Method to return the distance or the condition under which + // -- requesting the biasing. The "condition" flag will be indeed + // -- used to apply the operation on the geometry boundary. + virtual G4double DistanceToApplyOperation(const G4Track*, G4double, + G4ForceCondition* condition); + // -- Method the generate the final state, ie, either the final states + // -- corresponding to the splitting or killing cases: + virtual G4VParticleChange* GenerateBiasingFinalState(const G4Track*, const G4Step*); -public: - // ---------------------------------------------- - // -- Methods from G4VBiasingOperation interface: - // ---------------------------------------------- - // -- Unused: - virtual const G4VBiasingInteractionLaw* - ProvideOccurenceBiasingInteractionLaw( const G4BiasingProcessInterface*, - G4ForceCondition& ) {return 0;} - virtual G4VParticleChange* - ApplyFinalStateBiasing ( const G4BiasingProcessInterface*, - const G4Track*, - const G4Step*, - G4bool& ) {return 0;} + // -- Specific to this example: + // ---------------------------- + // -- Set the integer splitting factor (should be >= 2): + // -- This determines also the killing probability : 1/splittingFactor + void SetSplittingFactor(G4int splittingFactor) { fSplittingFactor = splittingFactor; } + // -- An "invention" (?) of this example: defines a probability + // -- to apply the splitting(killing) techniques: + // -- - If proba == 1, the technique is applied normally + // -- - if proba < 1 (say 70%) then the splitting(killing) is + // -- applied in only 70% of the cases. + // -- This "trick" is useful when the desired splitting factor + // -- would rather be a non-integer value, ie in case where: + // -- splittingFactor = k is (a bit) too small + // -- splittingFactor = k+1 is (a bit) too large + // -- then the proba can allow to tune an in between application + // -- of the technique. + // -- Specially useful when wanting to split between "1 and 2". + void SetApplyProbability(G4double proba) { fApplyProbability = proba; } - // -- Used methods ("non-physics biasing methods"): - // ------------------------------------------------ - // -- Method to return the distance or the condition under which - // -- requesting the biasing. The "condition" flag will be indeed - // -- used to apply the operation on the geometry boundary. - virtual G4double - DistanceToApplyOperation ( const G4Track*, - G4double, - G4ForceCondition* condition ); - // -- Method the generate the final state, ie, either the final states - // -- corresponding to the splitting or killing cases: - virtual G4VParticleChange* - GenerateBiasingFinalState ( const G4Track*, - const G4Step* ); + G4int GetSplittingFactor() const { return fSplittingFactor; } + G4double GetApplyProbability() const { return fApplyProbability; } - // -- Specific to this example: - // ---------------------------- - // -- Set the integer splitting factor (should be >= 2): - // -- This determines also the killing probability : 1/splittingFactor - void SetSplittingFactor( G4int splittingFactor ) - { fSplittingFactor = splittingFactor; } - // -- An "invention" (?) of this example: defines a probability - // -- to apply the splitting(killing) techniques: - // -- - If proba == 1, the technique is applied normally - // -- - if proba < 1 (say 70%) then the splitting(killing) is - // -- applied in only 70% of the cases. - // -- This "trick" is useful when the desired splitting factor - // -- would rather be a non-integer value, ie in case where: - // -- splittingFactor = k is (a bit) too small - // -- splittingFactor = k+1 is (a bit) too large - // -- then the proba can allow to tune an in between application - // -- of the technique. - // -- Specially useful when wanting to split between "1 and 2". - void SetApplyProbability( G4double proba ) - { fApplyProbability = proba; } - - G4int GetSplittingFactor() const { return fSplittingFactor; } - G4double GetApplyProbability() const { return fApplyProbability; } - -private: - G4ParticleChange fParticleChange; - G4ParticleChangeForNothing fParticleChangeForNothing; - G4int fSplittingFactor; - G4double fApplyProbability; + private: + G4ParticleChange fParticleChange; + G4ParticleChangeForNothing fParticleChangeForNothing; + G4int fSplittingFactor; + G4double fApplyProbability; }; #endif diff --git a/examples/extended/biasing/GB03/include/GB03BOptrGeometryBasedBiasing.hh b/examples/extended/biasing/GB03/include/GB03BOptrGeometryBasedBiasing.hh index bfd75a8a9a1..62fdd65926d 100644 --- a/examples/extended/biasing/GB03/include/GB03BOptrGeometryBasedBiasing.hh +++ b/examples/extended/biasing/GB03/include/GB03BOptrGeometryBasedBiasing.hh @@ -30,8 +30,9 @@ #ifndef GB03BOptrGeometryBasedBiasing_h #define GB03BOptrGeometryBasedBiasing_h 1 -#include "G4VBiasingOperator.hh" #include "GB03BOptnSplitOrKillOnBoundary.hh" + +#include "G4VBiasingOperator.hh" class G4GenericMessenger; /// Biasing operator class. @@ -42,48 +43,51 @@ class GB03BOptrGeometryBasedBiasing : public G4VBiasingOperator GB03BOptrGeometryBasedBiasing(); virtual ~GB03BOptrGeometryBasedBiasing(); -public: - // ------------------------------ - // Method added for this example: - // ------------------------------ - GB03BOptnSplitOrKillOnBoundary* GetSplitAndKillOperation() const - { return fSplitAndKillOperation; } + public: + // ------------------------------ + // Method added for this example: + // ------------------------------ + GB03BOptnSplitOrKillOnBoundary* GetSplitAndKillOperation() const + { + return fSplitAndKillOperation; + } - // ------------------------- - // Optional from base class: - // ------------------------- - void StartRun(); - -private: - // -------------------------- - // Mandatory from base class: - // -------------------------- - // Used for splitting/killing: - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation( const G4Track* track, - const G4BiasingProcessInterface* callingProcess ); + // ------------------------- + // Optional from base class: + // ------------------------- + void StartRun(); - // Not used here: - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation( const G4Track*, - const G4BiasingProcessInterface* ) { return 0; } - // Not used here: - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation( const G4Track*, - const G4BiasingProcessInterface* ) { return 0; } + private: + // -------------------------- + // Mandatory from base class: + // -------------------------- + // Used for splitting/killing: + virtual G4VBiasingOperation* + ProposeNonPhysicsBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess); -private: - GB03BOptnSplitOrKillOnBoundary* fSplitAndKillOperation; - G4int fSplittingFactor; - G4double fApplyProbability; - // Messengers to change the - G4GenericMessenger* fSplittingFactorMessenger; - G4GenericMessenger* fApplyProbabilityMessenger; + // Not used here: + virtual G4VBiasingOperation* ProposeOccurenceBiasingOperation(const G4Track*, + const G4BiasingProcessInterface*) + { + return 0; + } + // Not used here: + virtual G4VBiasingOperation* ProposeFinalStateBiasingOperation(const G4Track*, + const G4BiasingProcessInterface*) + { + return 0; + } + private: + GB03BOptnSplitOrKillOnBoundary* fSplitAndKillOperation; + G4int fSplittingFactor; + G4double fApplyProbability; + // Messengers to change the + G4GenericMessenger* fSplittingFactorMessenger; + G4GenericMessenger* fApplyProbabilityMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/biasing/GB03/include/GB03DetectorConstruction.hh b/examples/extended/biasing/GB03/include/GB03DetectorConstruction.hh index 7c3fef9e19d..c41e0c2586e 100644 --- a/examples/extended/biasing/GB03/include/GB03DetectorConstruction.hh +++ b/examples/extended/biasing/GB03/include/GB03DetectorConstruction.hh @@ -48,18 +48,18 @@ class GB03DetectorConstruction : public G4VUserDetectorConstruction virtual G4VPhysicalVolume* Construct(); virtual void ConstructSDandField(); - + void PrintCalorParameters() const; - void SetAbsorberMaterial(G4String materialChoice); + void SetAbsorberMaterial(G4String materialChoice); G4String GetAbsorberMaterial() const; - void SetGapMaterial(G4String materialChoice); + void SetGapMaterial(G4String materialChoice); G4String GetGapMaterial() const; void SetNumberOfLayers(G4int nl); static G4int GetNumberOfLayers() { return fNumberOfLayers; } - G4int GetVerboseLevel() const { return fVerboseLevel; } + G4int GetVerboseLevel() const { return fVerboseLevel; } void SetVerboseLevel(G4int val) { fVerboseLevel = val; } - + private: void DefineMaterials(); void SetupGeometry(); @@ -67,38 +67,36 @@ class GB03DetectorConstruction : public G4VUserDetectorConstruction void SetupBiasing(); // data members - static G4int fNumberOfLayers; + static G4int fNumberOfLayers; - G4double fTotalThickness; /// total thinkness of one calorimeter - G4double fLayerThickness; /// = fTotalThickness / fNumberOfLayers + G4double fTotalThickness; /// total thinkness of one calorimeter + G4double fLayerThickness; /// = fTotalThickness / fNumberOfLayers - G4bool fConstructed; + G4bool fConstructed; static G4ThreadLocal G4bool fConstructedSDandField; - - G4String fCalName; - G4Material* fWorldMaterial; - G4Material* fAbsorberMaterial; - G4Material* fGapMaterial; + G4String fCalName; + + G4Material* fWorldMaterial; + G4Material* fAbsorberMaterial; + G4Material* fGapMaterial; - G4Box* fLayerSolid; - G4Box* fGapSolid; + G4Box* fLayerSolid; + G4Box* fGapSolid; - G4LogicalVolume* fWorldLogical; - G4LogicalVolume* fCalorLogical; - G4LogicalVolume* fLayerLogical; - G4LogicalVolume* fGapLogical; + G4LogicalVolume* fWorldLogical; + G4LogicalVolume* fCalorLogical; + G4LogicalVolume* fLayerLogical; + G4LogicalVolume* fGapLogical; G4VPhysicalVolume* fWorldPhysical; G4VPhysicalVolume* fCalorPhysical; - G4PVReplica* fLayerPhysical; + G4PVReplica* fLayerPhysical; G4VPhysicalVolume* fGapPhysical; - GB03DetectorMessenger* fDetectorMessenger; - - G4int fVerboseLevel; - + GB03DetectorMessenger* fDetectorMessenger; + + G4int fVerboseLevel; }; #endif - diff --git a/examples/extended/biasing/GB03/include/GB03DetectorMessenger.hh b/examples/extended/biasing/GB03/include/GB03DetectorMessenger.hh index b14c877cd9c..92182cabc8b 100644 --- a/examples/extended/biasing/GB03/include/GB03DetectorMessenger.hh +++ b/examples/extended/biasing/GB03/include/GB03DetectorMessenger.hh @@ -30,32 +30,31 @@ #ifndef GB03DetectorMessenger_h #define GB03DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class GB03DetectorConstruction; class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithAnInteger; -class GB03DetectorMessenger: public G4UImessenger +class GB03DetectorMessenger : public G4UImessenger { public: - GB03DetectorMessenger(GB03DetectorConstruction* ); + GB03DetectorMessenger(GB03DetectorConstruction*); virtual ~GB03DetectorMessenger(); - + virtual void SetNewValue(G4UIcommand*, G4String); - virtual G4String GetCurrentValue(G4UIcommand * command); - + virtual G4String GetCurrentValue(G4UIcommand* command); + private: GB03DetectorConstruction* fDetector; - - G4UIdirectory* fDirectory; - G4UIcmdWithAString* fAbsMaterialCmd; - G4UIcmdWithAString* fGapMaterialCmd; - G4UIcmdWithAnInteger* fNumLayerCmd; - G4UIcmdWithAnInteger* fVerboseCmd; + + G4UIdirectory* fDirectory; + G4UIcmdWithAString* fAbsMaterialCmd; + G4UIcmdWithAString* fGapMaterialCmd; + G4UIcmdWithAnInteger* fNumLayerCmd; + G4UIcmdWithAnInteger* fVerboseCmd; }; #endif - diff --git a/examples/extended/biasing/GB03/include/GB03PrimaryGeneratorAction.hh b/examples/extended/biasing/GB03/include/GB03PrimaryGeneratorAction.hh index 043003dc5d6..702808e9072 100644 --- a/examples/extended/biasing/GB03/include/GB03PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/GB03/include/GB03PrimaryGeneratorAction.hh @@ -39,7 +39,7 @@ class G4Event; class GB03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - GB03PrimaryGeneratorAction(); + GB03PrimaryGeneratorAction(); virtual ~GB03PrimaryGeneratorAction(); virtual void GeneratePrimaries(G4Event*); @@ -49,4 +49,3 @@ class GB03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction }; #endif - diff --git a/examples/extended/biasing/GB03/src/GB03ActionInitialization.cc b/examples/extended/biasing/GB03/src/GB03ActionInitialization.cc index 1db07853350..8268a959931 100644 --- a/examples/extended/biasing/GB03/src/GB03ActionInitialization.cc +++ b/examples/extended/biasing/GB03/src/GB03ActionInitialization.cc @@ -28,17 +28,16 @@ /// \brief Implementation of the GB03ActionInitialization class #include "GB03ActionInitialization.hh" + #include "GB03PrimaryGeneratorAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB03ActionInitialization::GB03ActionInitialization() -{} +GB03ActionInitialization::GB03ActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB03ActionInitialization::~GB03ActionInitialization() -{} +GB03ActionInitialization::~GB03ActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,8 +48,6 @@ void GB03ActionInitialization::Build() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB03ActionInitialization::BuildForMaster() const -{} +void GB03ActionInitialization::BuildForMaster() const {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/biasing/GB03/src/GB03BOptnSplitOrKillOnBoundary.cc b/examples/extended/biasing/GB03/src/GB03BOptnSplitOrKillOnBoundary.cc index a15d31cee12..9920015e2b0 100644 --- a/examples/extended/biasing/GB03/src/GB03BOptnSplitOrKillOnBoundary.cc +++ b/examples/extended/biasing/GB03/src/GB03BOptnSplitOrKillOnBoundary.cc @@ -27,28 +27,24 @@ /// \file GB03BOptnSplitOrKillOnBoundary.cc /// \brief Implementation of the GB03BOptnSplitOrKillOnBoundary class -#include "Randomize.hh" #include "GB03BOptnSplitOrKillOnBoundary.hh" +#include "Randomize.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB03BOptnSplitOrKillOnBoundary::GB03BOptnSplitOrKillOnBoundary(G4String name) -: G4VBiasingOperation(name), - fParticleChange(), - fParticleChangeForNothing() + : G4VBiasingOperation(name), fParticleChange(), fParticleChangeForNothing() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB03BOptnSplitOrKillOnBoundary::~GB03BOptnSplitOrKillOnBoundary() -{} +GB03BOptnSplitOrKillOnBoundary::~GB03BOptnSplitOrKillOnBoundary() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double GB03BOptnSplitOrKillOnBoundary:: -DistanceToApplyOperation( const G4Track*, - G4double, - G4ForceCondition* condition) +G4double GB03BOptnSplitOrKillOnBoundary::DistanceToApplyOperation(const G4Track*, G4double, + G4ForceCondition* condition) { // -- return "infinite" distance for interaction, but asks for GenerateBiasingFinalState // -- being called anyway at the end of the step, by returning the "Forced" condition @@ -59,112 +55,99 @@ DistanceToApplyOperation( const G4Track*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* -GB03BOptnSplitOrKillOnBoundary::GenerateBiasingFinalState( const G4Track* track, - const G4Step* step ) +G4VParticleChange* GB03BOptnSplitOrKillOnBoundary::GenerateBiasingFinalState(const G4Track* track, + const G4Step* step) { - // Check if step is limited by the geometry: as we attached the biasing operator // to the absorber layer, this volume boundary is the one of the absorber. // (check of current step # of track is inelegant, but is to fix a "feature" // that a cloned track can wrongly be seen in the wrong volume, because of numerical // precision issue. In this case it makes a tiny step, which should be disregarded). - if ( ( step->GetPostStepPoint()->GetStepStatus() == fGeomBoundary ) && - ( track->GetCurrentStepNumber() != 1 ) ) - { - - // -- Before deciding for killing or splitting, we make decision on applying - // -- the technique or not: - G4double trial = G4UniformRand(); // -- Note: G4UniformRand() is thread-safe - // -- engine for random numbers - if ( trial <= fApplyProbability ) - { - // -- Get z component of track, to see if it moves forward or backward: - G4double pz = track->GetMomentum().z(); - - if ( pz > 0.0 ) - { - // ------------------------------------------------- - // Here, we are moving "forward". We do "splitting": - // ------------------------------------------------- - - // Get track weight: - G4double initialWeight = track->GetWeight(); - // Define the tracks weight: - G4double weightOfTrack = initialWeight/fSplittingFactor; - - // The "particle change" is the object to be used to communicate to - // the tracking the update of the primary state and/or creation - // secondary tracks. - fParticleChange.Initialize(*track); - - // ask currect track weight to be changed to new value: - fParticleChange.ProposeParentWeight( weightOfTrack ); - - // Now make clones of this track (this is the actual splitting): - // we will then have the primary and N-1 clones of it, hence the - // splitting by a factor N: - fParticleChange.SetNumberOfSecondaries( fSplittingFactor-1 ); - for ( G4int iSplit = 1 ; iSplit < fSplittingFactor ; iSplit++ ) - { - G4Track* clone = new G4Track( *track ); - clone->SetWeight( weightOfTrack ); - fParticleChange.AddSecondary( clone ); - } - fParticleChange.SetSecondaryWeightByProcess(true); // -- tricky - // -- take it as is ;) [though not necessary here, put for safety] - - // this new final state is returned to the tracking; - return &fParticleChange; - - } - - else - - { - // -------------------------------------------------------------- - // Here, we are moving backward. We do killing, playing a russian - // roulette, killing 1/fSplittingFactor of the tracks in average: - // -------------------------------------------------------------- - - // Get track weight: - G4double initialWeight = track->GetWeight(); - - // The "particle change" is the object to be used to communicate to - // the tracking the update of the primary state and/or creation - // secondary tracks. - fParticleChange.Initialize(*track); - - // Shoot a random number (in ]0,1[ segment): - G4double random = G4UniformRand(); - - // Decide to kill, keeping 1/fSplittingFactor of tracks: - G4double survivingProbability = 1.0/fSplittingFactor; - if ( random > survivingProbability ) - { - // We ask for the the track to be killed: - fParticleChange.ProposeTrackStatus(fStopAndKill); - } - else - { - // In this case, the track survives. We change its weight - // to conserve weight among killed and survival tracks: - fParticleChange.ProposeParentWeight( initialWeight*fSplittingFactor ); - } - - // this new final state is returned to the tracking; - return &fParticleChange; - } - } // -- end of : if ( trial > probaForApplying ) - } // -- end of : if ( ( step->GetPostStepPoint()->GetStepStatus() == - // fGeomBoundary ) ... - + if ((step->GetPostStepPoint()->GetStepStatus() == fGeomBoundary) + && (track->GetCurrentStepNumber() != 1)) + { + // -- Before deciding for killing or splitting, we make decision on applying + // -- the technique or not: + G4double trial = G4UniformRand(); // -- Note: G4UniformRand() is thread-safe + // -- engine for random numbers + if (trial <= fApplyProbability) { + // -- Get z component of track, to see if it moves forward or backward: + G4double pz = track->GetMomentum().z(); + + if (pz > 0.0) { + // ------------------------------------------------- + // Here, we are moving "forward". We do "splitting": + // ------------------------------------------------- + + // Get track weight: + G4double initialWeight = track->GetWeight(); + // Define the tracks weight: + G4double weightOfTrack = initialWeight / fSplittingFactor; + + // The "particle change" is the object to be used to communicate to + // the tracking the update of the primary state and/or creation + // secondary tracks. + fParticleChange.Initialize(*track); + + // ask currect track weight to be changed to new value: + fParticleChange.ProposeParentWeight(weightOfTrack); + + // Now make clones of this track (this is the actual splitting): + // we will then have the primary and N-1 clones of it, hence the + // splitting by a factor N: + fParticleChange.SetNumberOfSecondaries(fSplittingFactor - 1); + for (G4int iSplit = 1; iSplit < fSplittingFactor; iSplit++) { + G4Track* clone = new G4Track(*track); + clone->SetWeight(weightOfTrack); + fParticleChange.AddSecondary(clone); + } + fParticleChange.SetSecondaryWeightByProcess(true); // -- tricky + // -- take it as is ;) [though not necessary here, put for safety] + + // this new final state is returned to the tracking; + return &fParticleChange; + } + + else { + // -------------------------------------------------------------- + // Here, we are moving backward. We do killing, playing a russian + // roulette, killing 1/fSplittingFactor of the tracks in average: + // -------------------------------------------------------------- + + // Get track weight: + G4double initialWeight = track->GetWeight(); + + // The "particle change" is the object to be used to communicate to + // the tracking the update of the primary state and/or creation + // secondary tracks. + fParticleChange.Initialize(*track); + + // Shoot a random number (in ]0,1[ segment): + G4double random = G4UniformRand(); + + // Decide to kill, keeping 1/fSplittingFactor of tracks: + G4double survivingProbability = 1.0 / fSplittingFactor; + if (random > survivingProbability) { + // We ask for the the track to be killed: + fParticleChange.ProposeTrackStatus(fStopAndKill); + } + else { + // In this case, the track survives. We change its weight + // to conserve weight among killed and survival tracks: + fParticleChange.ProposeParentWeight(initialWeight * fSplittingFactor); + } + + // this new final state is returned to the tracking; + return &fParticleChange; + } + } // -- end of : if ( trial > probaForApplying ) + } // -- end of : if ( ( step->GetPostStepPoint()->GetStepStatus() == + // fGeomBoundary ) ... // Here, the step was not limited by the geometry (but certainly by a physics // process). We do nothing: ie we make no change to the current track. fParticleChangeForNothing.Initialize(*track); return &fParticleChangeForNothing; - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB03/src/GB03BOptrGeometryBasedBiasing.cc b/examples/extended/biasing/GB03/src/GB03BOptrGeometryBasedBiasing.cc index e37a21dc144..5e8562d0b02 100644 --- a/examples/extended/biasing/GB03/src/GB03BOptrGeometryBasedBiasing.cc +++ b/examples/extended/biasing/GB03/src/GB03BOptrGeometryBasedBiasing.cc @@ -28,36 +28,31 @@ /// \brief Implementation of the GB03BOptrGeometryBasedBiasing class #include "GB03BOptrGeometryBasedBiasing.hh" -#include "G4Track.hh" -#include "G4SystemOfUnits.hh" + #include "G4GenericMessenger.hh" +#include "G4SystemOfUnits.hh" +#include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB03BOptrGeometryBasedBiasing::GB03BOptrGeometryBasedBiasing() -: G4VBiasingOperator("GB03BOptrGeometryBasedBiasing"), - fSplittingFactor(2), - fApplyProbability(1.0) + : G4VBiasingOperator("GB03BOptrGeometryBasedBiasing"), fSplittingFactor(2), fApplyProbability(1.0) { fSplitAndKillOperation = new GB03BOptnSplitOrKillOnBoundary("splitAndkill"); - + // -- Define messengers: - fSplittingFactorMessenger = - new G4GenericMessenger(this, "/GB03/biasing/","Biasing control" ); - - G4GenericMessenger::Command& splittingFactorCmd = - fSplittingFactorMessenger->DeclareProperty("setSplittingFactor", fSplittingFactor, - "Define the splitting factor." ); + fSplittingFactorMessenger = new G4GenericMessenger(this, "/GB03/biasing/", "Biasing control"); + + G4GenericMessenger::Command& splittingFactorCmd = fSplittingFactorMessenger->DeclareProperty( + "setSplittingFactor", fSplittingFactor, "Define the splitting factor."); splittingFactorCmd.SetStates(G4State_Idle); - - fApplyProbabilityMessenger = - new G4GenericMessenger(this, "/GB03/biasing/","Biasing control" ); - - G4GenericMessenger::Command& applyProbCmd = - fApplyProbabilityMessenger->DeclareProperty("setApplyProbability", fApplyProbability, - "Define the probability to apply the splitting/killing." ); - applyProbCmd.SetStates(G4State_Idle); + fApplyProbabilityMessenger = new G4GenericMessenger(this, "/GB03/biasing/", "Biasing control"); + + G4GenericMessenger::Command& applyProbCmd = fApplyProbabilityMessenger->DeclareProperty( + "setApplyProbability", fApplyProbability, + "Define the probability to apply the splitting/killing."); + applyProbCmd.SetStates(G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,19 +66,16 @@ GB03BOptrGeometryBasedBiasing::~GB03BOptrGeometryBasedBiasing() void GB03BOptrGeometryBasedBiasing::StartRun() { - fSplitAndKillOperation->SetSplittingFactor ( fSplittingFactor ); - fSplitAndKillOperation->SetApplyProbability( fApplyProbability ); + fSplitAndKillOperation->SetSplittingFactor(fSplittingFactor); + fSplitAndKillOperation->SetApplyProbability(fApplyProbability); G4cout << GetName() << " : starting run with splitting factor = " << fSplittingFactor - << ", and probability for applying the technique " << fApplyProbability - << " . " << G4endl; + << ", and probability for applying the technique " << fApplyProbability << " . " << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB03BOptrGeometryBasedBiasing:: -ProposeNonPhysicsBiasingOperation( const G4Track* /* track */, - const G4BiasingProcessInterface* /* callingProcess */ ) +G4VBiasingOperation* GB03BOptrGeometryBasedBiasing::ProposeNonPhysicsBiasingOperation( + const G4Track* /* track */, const G4BiasingProcessInterface* /* callingProcess */) { // Here, we always return the split and kill biasing operation: return fSplitAndKillOperation; diff --git a/examples/extended/biasing/GB03/src/GB03DetectorConstruction.cc b/examples/extended/biasing/GB03/src/GB03DetectorConstruction.cc index 2515c09b14d..ac326563903 100644 --- a/examples/extended/biasing/GB03/src/GB03DetectorConstruction.cc +++ b/examples/extended/biasing/GB03/src/GB03DetectorConstruction.cc @@ -29,31 +29,26 @@ #include "GB03DetectorConstruction.hh" -#include "G4RunManager.hh" +#include "GB03BOptrGeometryBasedBiasing.hh" +#include "GB03DetectorMessenger.hh" -#include "G4Material.hh" #include "G4Box.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4PVReplica.hh" - -#include "G4VisAttributes.hh" #include "G4Colour.hh" - -#include "G4SDManager.hh" +#include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4MultiFunctionalDetector.hh" #include "G4PSEnergyDeposit.hh" #include "G4PSFlatSurfaceFlux.hh" -#include "G4SDNeutralFilter.hh" -#include "G4SDChargedFilter.hh" -#include "G4ios.hh" - -#include "GB03DetectorMessenger.hh" - -#include "GB03BOptrGeometryBasedBiasing.hh" - +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" #include "G4PhysicalConstants.hh" +#include "G4RunManager.hh" +#include "G4SDChargedFilter.hh" +#include "G4SDManager.hh" +#include "G4SDNeutralFilter.hh" #include "G4SystemOfUnits.hh" +#include "G4VisAttributes.hh" +#include "G4ios.hh" G4int GB03DetectorConstruction::fNumberOfLayers = 40; G4ThreadLocal G4bool GB03DetectorConstruction::fConstructedSDandField = false; @@ -61,14 +56,25 @@ G4ThreadLocal G4bool GB03DetectorConstruction::fConstructedSDandField = false; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB03DetectorConstruction::GB03DetectorConstruction() -: G4VUserDetectorConstruction(), - fTotalThickness (2.0*m), fLayerThickness(0.), - fConstructed(false), - fWorldMaterial(0), fAbsorberMaterial(0), fGapMaterial(0), - fLayerSolid(0), fGapSolid(0), - fWorldLogical(0), fCalorLogical(0), fLayerLogical(0), fGapLogical(0), - fWorldPhysical(0), fCalorPhysical(0), fLayerPhysical(0), fGapPhysical(0), - fDetectorMessenger(0), fVerboseLevel(1) + : G4VUserDetectorConstruction(), + fTotalThickness(2.0 * m), + fLayerThickness(0.), + fConstructed(false), + fWorldMaterial(0), + fAbsorberMaterial(0), + fGapMaterial(0), + fLayerSolid(0), + fGapSolid(0), + fWorldLogical(0), + fCalorLogical(0), + fLayerLogical(0), + fGapLogical(0), + fWorldPhysical(0), + fCalorPhysical(0), + fLayerPhysical(0), + fGapPhysical(0), + fDetectorMessenger(0), + fVerboseLevel(1) { fLayerThickness = fTotalThickness / fNumberOfLayers; fCalName = "Calor"; @@ -78,20 +84,22 @@ GB03DetectorConstruction::GB03DetectorConstruction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB03DetectorConstruction::~GB03DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* GB03DetectorConstruction::Construct() { - if(!fConstructed) - { + if (!fConstructed) { fConstructed = true; DefineMaterials(); SetupGeometry(); } - if (GetVerboseLevel()>0) - { PrintCalorParameters(); } + if (GetVerboseLevel() > 0) { + PrintCalorParameters(); + } return fWorldPhysical; } @@ -100,8 +108,7 @@ G4VPhysicalVolume* GB03DetectorConstruction::Construct() void GB03DetectorConstruction::ConstructSDandField() { - if(!fConstructedSDandField) - { + if (!fConstructedSDandField) { fConstructedSDandField = true; SetupDetectors(); SetupBiasing(); @@ -111,11 +118,11 @@ void GB03DetectorConstruction::ConstructSDandField() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB03DetectorConstruction::DefineMaterials() -{ - G4String name, symbol; //a=mass of a mole; - G4double a, z, density; //z=mean number of protons; - G4int iz; //iz=number of protons in an isotope; - G4int n; // n=number of nucleons in an isotope; +{ + G4String name, symbol; // a=mass of a mole; + G4double a, z, density; // z=mean number of protons; + G4int iz; // iz=number of protons in an isotope; + G4int n; // n=number of nucleons in an isotope; G4int ncomponents, natoms; G4double abundance, fractionmass; @@ -125,138 +132,134 @@ void GB03DetectorConstruction::DefineMaterials() // define Elements // - a = 1.01*g/mole; - G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); + a = 1.01 * g / mole; + G4Element* H = new G4Element(name = "Hydrogen", symbol = "H", z = 1., a); - a = 12.01*g/mole; - G4Element* C = new G4Element(name="Carbon" ,symbol="C" , z= 6., a); + a = 12.01 * g / mole; + G4Element* C = new G4Element(name = "Carbon", symbol = "C", z = 6., a); - a = 14.01*g/mole; - G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a); + a = 14.01 * g / mole; + G4Element* N = new G4Element(name = "Nitrogen", symbol = "N", z = 7., a); - a = 16.00*g/mole; - G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); + a = 16.00 * g / mole; + G4Element* O = new G4Element(name = "Oxygen", symbol = "O", z = 8., a); // - // define an Element from isotopes, by relative abundance + // define an Element from isotopes, by relative abundance // - G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole); - G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole); + G4Isotope* U5 = new G4Isotope(name = "U235", iz = 92, n = 235, a = 235.01 * g / mole); + G4Isotope* U8 = new G4Isotope(name = "U238", iz = 92, n = 238, a = 238.03 * g / mole); - G4Element* U = new G4Element(name="enriched Uranium",symbol="U",ncomponents=2); - U->AddIsotope(U5, abundance= 90.*perCent); - U->AddIsotope(U8, abundance= 10.*perCent); + G4Element* U = new G4Element(name = "enriched Uranium", symbol = "U", ncomponents = 2); + U->AddIsotope(U5, abundance = 90. * perCent); + U->AddIsotope(U8, abundance = 10. * perCent); // // define simple materials // - new G4Material(name="Aluminium", z=13., a=26.98*g/mole, density=2.700*g/cm3); - new G4Material(name="Silicon", z=14., a= 28.09*g/mole, density= 2.33*g/cm3); - new G4Material(name="Iron", z=26., a=55.85*g/mole, density=7.87*g/cm3); - new G4Material(name="ArgonGas",z=18., a= 39.95*g/mole, density=1.782*mg/cm3); - new G4Material(name="He", z=2., a=4.0*g/mole, density=0.1786e-03*g/cm3); + new G4Material(name = "Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + new G4Material(name = "Silicon", z = 14., a = 28.09 * g / mole, density = 2.33 * g / cm3); + new G4Material(name = "Iron", z = 26., a = 55.85 * g / mole, density = 7.87 * g / cm3); + new G4Material(name = "ArgonGas", z = 18., a = 39.95 * g / mole, density = 1.782 * mg / cm3); + new G4Material(name = "He", z = 2., a = 4.0 * g / mole, density = 0.1786e-03 * g / cm3); - density = 1.390*g/cm3; - a = 39.95*g/mole; - new G4Material(name="liquidArgon", z=18., a, density); + density = 1.390 * g / cm3; + a = 39.95 * g / mole; + new G4Material(name = "liquidArgon", z = 18., a, density); - density = 11.35*g/cm3; - a = 207.19*g/mole; - G4Material* Pb = new G4Material(name="Lead" , z=82., a, density); + density = 11.35 * g / cm3; + a = 207.19 * g / mole; + G4Material* Pb = new G4Material(name = "Lead", z = 82., a, density); // // define a material from elements. case 1: chemical molecule // - - density = 1.000*g/cm3; - G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); - density = 1.032*g/cm3; - G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2); - Sci->AddElement(C, natoms=9); - Sci->AddElement(H, natoms=10); + density = 1.000 * g / cm3; + G4Material* H2O = new G4Material(name = "Water", density, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); + + density = 1.032 * g / cm3; + G4Material* Sci = new G4Material(name = "Scintillator", density, ncomponents = 2); + Sci->AddElement(C, natoms = 9); + Sci->AddElement(H, natoms = 10); // // define a material from elements. case 2: mixture by fractional mass // - density = 1.290*mg/cm3; - G4Material* Air = new G4Material(name="Air" , density, ncomponents=2); - Air->AddElement(N, fractionmass=0.7); - Air->AddElement(O, fractionmass=0.3); + density = 1.290 * mg / cm3; + G4Material* Air = new G4Material(name = "Air", density, ncomponents = 2); + Air->AddElement(N, fractionmass = 0.7); + Air->AddElement(O, fractionmass = 0.3); // // examples of vacuum // - density = universe_mean_density; - pressure = 3.e-18*pascal; - temperature = 2.73*kelvin; - G4Material* Vacuum = new G4Material(name="Galactic", z=1., a=1.01*g/mole, - density,kStateGas,temperature,pressure); + density = universe_mean_density; + pressure = 3.e-18 * pascal; + temperature = 2.73 * kelvin; + G4Material* Vacuum = new G4Material(name = "Galactic", z = 1., a = 1.01 * g / mole, density, + kStateGas, temperature, pressure); - if (GetVerboseLevel()>1) { + if (GetVerboseLevel() > 1) { G4cout << *(G4Material::GetMaterialTable()) << G4endl; } - //default materials of the calorimeter - fWorldMaterial = Vacuum; + // default materials of the calorimeter + fWorldMaterial = Vacuum; fAbsorberMaterial = Pb; - fGapMaterial = Sci; + fGapMaterial = Sci; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB03DetectorConstruction::SetupGeometry() { - // + // // World // - G4VSolid* worldSolid = new G4Box("World",2.*m,2.*m,fTotalThickness*2.); - fWorldLogical = new G4LogicalVolume(worldSolid,fWorldMaterial,"World"); - fWorldPhysical = new G4PVPlacement(0,G4ThreeVector(),fWorldLogical,"World", - 0,false,0); - - // + G4VSolid* worldSolid = new G4Box("World", 2. * m, 2. * m, fTotalThickness * 2.); + fWorldLogical = new G4LogicalVolume(worldSolid, fWorldMaterial, "World"); + fWorldPhysical = new G4PVPlacement(0, G4ThreeVector(), fWorldLogical, "World", 0, false, 0); + + // // Calorimeter - // - G4VSolid* calorSolid = new G4Box("Calor",0.5*m,0.5*m,fTotalThickness/2.); - fCalorLogical = new G4LogicalVolume(calorSolid,fAbsorberMaterial,fCalName); - fCalorPhysical = new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), - fCalorLogical,fCalName,fWorldLogical,false,0); - - // + // + G4VSolid* calorSolid = new G4Box("Calor", 0.5 * m, 0.5 * m, fTotalThickness / 2.); + fCalorLogical = new G4LogicalVolume(calorSolid, fAbsorberMaterial, fCalName); + fCalorPhysical = new G4PVPlacement(0, G4ThreeVector(0., 0., 0.), fCalorLogical, fCalName, + fWorldLogical, false, 0); + + // // Layers --- as absorbers // - fLayerSolid = new G4Box("Layer",0.5*m,0.5*m,fLayerThickness/2.); - fLayerLogical - = new G4LogicalVolume(fLayerSolid,fAbsorberMaterial,fCalName+"_LayerLog"); - fLayerPhysical - = new G4PVReplica(fCalName+"_Layer",fLayerLogical,fCalorLogical, - kZAxis,fNumberOfLayers,fLayerThickness); - + fLayerSolid = new G4Box("Layer", 0.5 * m, 0.5 * m, fLayerThickness / 2.); + fLayerLogical = new G4LogicalVolume(fLayerSolid, fAbsorberMaterial, fCalName + "_LayerLog"); + fLayerPhysical = new G4PVReplica(fCalName + "_Layer", fLayerLogical, fCalorLogical, kZAxis, + fNumberOfLayers, fLayerThickness); + // // Gap // - fGapSolid = new G4Box("Gap",0.5*m,0.5*m,fLayerThickness/4.); - fGapLogical = new G4LogicalVolume(fGapSolid,fGapMaterial,fCalName+"_Gap"); - fGapPhysical = new G4PVPlacement(0,G4ThreeVector(0.,0.,fLayerThickness/4.), - fGapLogical,fCalName+"_gap",fLayerLogical,false,0); + fGapSolid = new G4Box("Gap", 0.5 * m, 0.5 * m, fLayerThickness / 4.); + fGapLogical = new G4LogicalVolume(fGapSolid, fGapMaterial, fCalName + "_Gap"); + fGapPhysical = new G4PVPlacement(0, G4ThreeVector(0., 0., fLayerThickness / 4.), fGapLogical, + fCalName + "_gap", fLayerLogical, false, 0); - // + // // Visualization attributes // fWorldLogical->SetVisAttributes(G4VisAttributes::GetInvisible()); - G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + G4VisAttributes* simpleBoxVisAtt = new G4VisAttributes(G4Colour(1.0, 1.0, 1.0)); simpleBoxVisAtt->SetVisibility(true); fCalorLogical->SetVisAttributes(simpleBoxVisAtt); fLayerLogical->SetVisAttributes(simpleBoxVisAtt); fGapLogical->SetVisAttributes(simpleBoxVisAtt); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -266,44 +269,44 @@ void GB03DetectorConstruction::SetupDetectors() G4SDManager::GetSDMpointer()->SetVerboseLevel(1); G4String filterName; - G4SDNeutralFilter* neutralFilter - = new G4SDNeutralFilter(filterName="neutralFilter"); - G4SDChargedFilter* chargedFilter - = new G4SDChargedFilter(filterName="chargedFilter"); + G4SDNeutralFilter* neutralFilter = new G4SDNeutralFilter(filterName = "neutralFilter"); + G4SDChargedFilter* chargedFilter = new G4SDChargedFilter(filterName = "chargedFilter"); - for(G4int j=0;j<2;j++) - { + for (G4int j = 0; j < 2; j++) { // Loop counter j = 0 : absorber // = 1 : gap G4String detName = fCalName; - if(j==0) - { detName += "_abs"; } - else - { detName += "_gap"; } + if (j == 0) { + detName += "_abs"; + } + else { + detName += "_gap"; + } G4MultiFunctionalDetector* det = new G4MultiFunctionalDetector(detName); G4SDManager::GetSDMpointer()->AddNewDetector(det); - // The second argument in each primitive means the "level" of geometrical - // hierarchy, the copy number of that level is used as the key of the + // The second argument in each primitive means the "level" of geometrical + // hierarchy, the copy number of that level is used as the key of the // G4THitsMap. // For absorber (j = 0), the copy number of its own physical volume is used. - // For gap (j = 1), the copy number of its mother physical volume is used, - // since there is only one physical volume of gap is placed with respect + // For gap (j = 1), the copy number of its mother physical volume is used, + // since there is only one physical volume of gap is placed with respect // to its mother. G4VPrimitiveScorer* primitive; - primitive = new G4PSEnergyDeposit("eDep",j); + primitive = new G4PSEnergyDeposit("eDep", j); det->RegisterPrimitive(primitive); - primitive = new G4PSFlatSurfaceFlux("nNeutral",1,j); + primitive = new G4PSFlatSurfaceFlux("nNeutral", 1, j); primitive->SetFilter(neutralFilter); det->RegisterPrimitive(primitive); - primitive = new G4PSFlatSurfaceFlux("nCharged",1,j); + primitive = new G4PSFlatSurfaceFlux("nCharged", 1, j); primitive->SetFilter(chargedFilter); det->RegisterPrimitive(primitive); - if(j==0) - { SetSensitiveDetector(fLayerLogical, det); } - else - { SetSensitiveDetector(fGapLogical, det);} - + if (j == 0) { + SetSensitiveDetector(fLayerLogical, det); + } + else { + SetSensitiveDetector(fGapLogical, det); + } } G4SDManager::GetSDMpointer()->SetVerboseLevel(0); } @@ -320,91 +323,86 @@ void GB03DetectorConstruction::SetupBiasing() void GB03DetectorConstruction::PrintCalorParameters() const { - G4cout - << "--------------------------------------------------------" << G4endl; - G4cout - << " Absorber is made of " << fAbsorberMaterial->GetName() << G4endl - << " Gap is made of " << fGapMaterial->GetName() << G4endl - << "--------------------------------------------------------" << G4endl; + G4cout << "--------------------------------------------------------" << G4endl; + G4cout << " Absorber is made of " << fAbsorberMaterial->GetName() << G4endl << " Gap is made of " + << fGapMaterial->GetName() << G4endl + << "--------------------------------------------------------" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB03DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) { - // search the material by its name - G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); - if(pttoMaterial) - { + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) { fAbsorberMaterial = pttoMaterial; - if(fConstructed) - { + if (fConstructed) { fCalorLogical->SetMaterial(fAbsorberMaterial); fLayerLogical->SetMaterial(fAbsorberMaterial); } G4RunManager::GetRunManager()->GeometryHasBeenModified(); - if (GetVerboseLevel()>1) { + if (GetVerboseLevel() > 1) { PrintCalorParameters(); } } - else - { - G4cerr - << materialChoice << " is not defined. - Command is ignored." << G4endl; + else { + G4cerr << materialChoice << " is not defined. - Command is ignored." << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4String GB03DetectorConstruction::GetAbsorberMaterial() const -{ return fAbsorberMaterial->GetName(); } +{ + return fAbsorberMaterial->GetName(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB03DetectorConstruction::SetGapMaterial(G4String materialChoice) { - // search the material by its name - G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); - if(pttoMaterial) - { + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) { fGapMaterial = pttoMaterial; - if(fConstructed) - { fGapLogical->SetMaterial(fGapMaterial); } + if (fConstructed) { + fGapLogical->SetMaterial(fGapMaterial); + } G4RunManager::GetRunManager()->GeometryHasBeenModified(); - if (GetVerboseLevel()>1) { + if (GetVerboseLevel() > 1) { PrintCalorParameters(); } } - else - { - G4cerr - << materialChoice << " is not defined. - Command is ignored." << G4endl; + else { + G4cerr << materialChoice << " is not defined. - Command is ignored." << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4String GB03DetectorConstruction::GetGapMaterial() const -{ return fGapMaterial->GetName(); } +{ + return fGapMaterial->GetName(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB03DetectorConstruction::SetNumberOfLayers(G4int nl) { fNumberOfLayers = nl; - fLayerThickness = fTotalThickness/fNumberOfLayers; - if(!fConstructed) return; + fLayerThickness = fTotalThickness / fNumberOfLayers; + if (!fConstructed) return; - fLayerSolid->SetZHalfLength(fLayerThickness/2.); - fGapSolid->SetZHalfLength(fLayerThickness/4.); + fLayerSolid->SetZHalfLength(fLayerThickness / 2.); + fGapSolid->SetZHalfLength(fLayerThickness / 4.); fCalorLogical->RemoveDaughter(fLayerPhysical); delete fLayerPhysical; - fLayerPhysical - = new G4PVReplica(fCalName+"_Layer",fLayerLogical,fCalorLogical, - kZAxis,fNumberOfLayers,fLayerThickness); - fGapPhysical->SetTranslation(G4ThreeVector(0.,0.,fLayerThickness/4.)); - + fLayerPhysical = new G4PVReplica(fCalName + "_Layer", fLayerLogical, fCalorLogical, kZAxis, + fNumberOfLayers, fLayerThickness); + fGapPhysical->SetTranslation(G4ThreeVector(0., 0., fLayerThickness / 4.)); + G4RunManager::GetRunManager()->GeometryHasBeenModified(); } diff --git a/examples/extended/biasing/GB03/src/GB03DetectorMessenger.cc b/examples/extended/biasing/GB03/src/GB03DetectorMessenger.cc index 88eec88fc7f..41ff7d6b85b 100644 --- a/examples/extended/biasing/GB03/src/GB03DetectorMessenger.cc +++ b/examples/extended/biasing/GB03/src/GB03DetectorMessenger.cc @@ -30,51 +30,50 @@ #include "GB03DetectorMessenger.hh" #include "GB03DetectorConstruction.hh" -#include "G4UIdirectory.hh" + +#include "G4Material.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" -#include "G4Material.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB03DetectorMessenger::GB03DetectorMessenger(GB03DetectorConstruction* det) - : G4UImessenger(), fDetector(det) -{ + : G4UImessenger(), fDetector(det) +{ fDirectory = new G4UIdirectory("/GB03/"); fDirectory->SetGuidance("UI commands of this example"); - + G4String matList; const G4MaterialTable* matTbl = G4Material::GetMaterialTable(); - for(size_t i=0;iGetName(); matList += " "; } - fAbsMaterialCmd = new G4UIcmdWithAString("/GB03/setAbsMat",this); + fAbsMaterialCmd = new G4UIcmdWithAString("/GB03/setAbsMat", this); fAbsMaterialCmd->SetGuidance("Select Material of the Absorber."); - fAbsMaterialCmd->SetParameterName("choice",false); + fAbsMaterialCmd->SetParameterName("choice", false); fAbsMaterialCmd->AvailableForStates(G4State_Idle); fAbsMaterialCmd->SetCandidates(matList); - - fGapMaterialCmd = new G4UIcmdWithAString("/GB03/setGapMat",this); + + fGapMaterialCmd = new G4UIcmdWithAString("/GB03/setGapMat", this); fGapMaterialCmd->SetGuidance("Select Material of the Gap."); - fGapMaterialCmd->SetParameterName("choice",false); + fGapMaterialCmd->SetParameterName("choice", false); fGapMaterialCmd->AvailableForStates(G4State_Idle); fGapMaterialCmd->SetCandidates(matList); - fNumLayerCmd = new G4UIcmdWithAnInteger("/GB03/numberOfLayers",this); + fNumLayerCmd = new G4UIcmdWithAnInteger("/GB03/numberOfLayers", this); fNumLayerCmd->SetGuidance("Set number of layers."); - fNumLayerCmd->SetParameterName("nl",false); + fNumLayerCmd->SetParameterName("nl", false); fNumLayerCmd->AvailableForStates(G4State_Idle); fNumLayerCmd->SetRange("nl>0"); - - fVerboseCmd = new G4UIcmdWithAnInteger("/GB03/verbose",this); + + fVerboseCmd = new G4UIcmdWithAnInteger("/GB03/verbose", this); fVerboseCmd->SetGuidance("Set verbosity level"); - fVerboseCmd->SetParameterName("verbose",false); + fVerboseCmd->SetParameterName("verbose", false); fVerboseCmd->AvailableForStates(G4State_Idle); fVerboseCmd->SetRange("verbose>=0"); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -85,44 +84,43 @@ GB03DetectorMessenger::~GB03DetectorMessenger() delete fGapMaterialCmd; delete fNumLayerCmd; delete fVerboseCmd; - delete fDirectory; + delete fDirectory; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB03DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == fAbsMaterialCmd ) { +void GB03DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fAbsMaterialCmd) { fDetector->SetAbsorberMaterial(newValue); - - } else if( command == fGapMaterialCmd ){ + } + else if (command == fGapMaterialCmd) { fDetector->SetGapMaterial(newValue); - - } else if( command == fNumLayerCmd ) { + } + else if (command == fNumLayerCmd) { fDetector->SetNumberOfLayers(fNumLayerCmd->GetNewIntValue(newValue)); - - } else if( command == fVerboseCmd ) { + } + else if (command == fVerboseCmd) { fDetector->SetVerboseLevel(fVerboseCmd->GetNewIntValue(newValue)); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4String GB03DetectorMessenger::GetCurrentValue(G4UIcommand * command) +G4String GB03DetectorMessenger::GetCurrentValue(G4UIcommand* command) { G4String ans; - if( command == fAbsMaterialCmd ){ - ans=fDetector->GetAbsorberMaterial(); - - } else if( command == fGapMaterialCmd ){ - ans=fDetector->GetGapMaterial(); - - } else if( command == fNumLayerCmd ) { - ans=fNumLayerCmd->ConvertToString(GB03DetectorConstruction::GetNumberOfLayers()); - - } else if( command == fVerboseCmd ) { - ans=fVerboseCmd->ConvertToString(fDetector->GetVerboseLevel()); - + if (command == fAbsMaterialCmd) { + ans = fDetector->GetAbsorberMaterial(); + } + else if (command == fGapMaterialCmd) { + ans = fDetector->GetGapMaterial(); + } + else if (command == fNumLayerCmd) { + ans = fNumLayerCmd->ConvertToString(GB03DetectorConstruction::GetNumberOfLayers()); + } + else if (command == fVerboseCmd) { + ans = fVerboseCmd->ConvertToString(fDetector->GetVerboseLevel()); } return ans; } diff --git a/examples/extended/biasing/GB03/src/GB03PrimaryGeneratorAction.cc b/examples/extended/biasing/GB03/src/GB03PrimaryGeneratorAction.cc index 7886e336da5..0e9ddfbb4ff 100644 --- a/examples/extended/biasing/GB03/src/GB03PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/GB03/src/GB03PrimaryGeneratorAction.cc @@ -30,28 +30,26 @@ #include "GB03PrimaryGeneratorAction.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB03PrimaryGeneratorAction::GB03PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction() +GB03PrimaryGeneratorAction::GB03PrimaryGeneratorAction() : G4VUserPrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); - + fParticleGun = new G4ParticleGun(n_particle); + // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="neutron"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "neutron"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-3.5*m)); - fParticleGun->SetParticleEnergy(100.*MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -3.5 * m)); + fParticleGun->SetParticleEnergy(100. * MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB04/exampleGB04.cc b/examples/extended/biasing/GB04/exampleGB04.cc index 2638ddeb5ca..a21107e87ef 100644 --- a/examples/extended/biasing/GB04/exampleGB04.cc +++ b/examples/extended/biasing/GB04/exampleGB04.cc @@ -28,67 +28,64 @@ /// \brief Main program of the GB04 example // -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" +#include "FTFP_BERT.hh" #include "GB04ActionInitialization.hh" - -#include "G4UImanager.hh" - #include "GB04DetectorConstruction.hh" #include "GB04PrimaryGeneratorAction.hh" -#include "FTFP_BERT.hh" #include "G4GenericBiasingPhysics.hh" - -#include "G4VisExecutive.hh" +#include "G4RunManagerFactory.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " ./exampleGB04 [-m macro ] " - << " [-b biasing {'on','off'}]" - << "\n or\n ./exampleGB04 [macro.mac]" - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " ./exampleGB04 [-m macro ] " + << " [-b biasing {'on','off'}]" + << "\n or\n ./exampleGB04 [macro.mac]" << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 5 ) { + if (argc > 5) { PrintUsage(); return 1; } G4String macro(""); G4String onOffBiasing(""); - if ( argc == 2 ) macro = argv[1]; - else - { - for ( G4int i=1; i processToBias; - processToBias.push_back("eBrem"); - // -- Pass the list to the G4GenericBiasingPhysics, which will wrap the eBrem - // -- process of e- and e+ to activate the biasing of it: - biasingPhysics->PhysicsBias("e-", processToBias); - biasingPhysics->PhysicsBias("e+", processToBias); - physicsList->RegisterPhysics(biasingPhysics); - G4cout << " ********************************************************* " - << G4endl; - G4cout << " ********** processes are wrapped for biasing ************ " - << G4endl; - G4cout << " ********************************************************* " - << G4endl; - } - else - { - G4cout << " ************************************************* " << G4endl; - G4cout << " ********** processes are not wrapped ************ " << G4endl; - G4cout << " ************************************************* " << G4endl; - } + if (onOffBiasing == "on") { + // -- Create list of physics processes to be biased: only brem. in this case: + std::vector processToBias; + processToBias.push_back("eBrem"); + // -- Pass the list to the G4GenericBiasingPhysics, which will wrap the eBrem + // -- process of e- and e+ to activate the biasing of it: + biasingPhysics->PhysicsBias("e-", processToBias); + biasingPhysics->PhysicsBias("e+", processToBias); + physicsList->RegisterPhysics(biasingPhysics); + G4cout << " ********************************************************* " << G4endl; + G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; + G4cout << " ********************************************************* " << G4endl; + } + else { + G4cout << " ************************************************* " << G4endl; + G4cout << " ********** processes are not wrapped ************ " << G4endl; + G4cout << " ************************************************* " << G4endl; + } runManager->SetUserInitialization(physicsList); // -- Action initialization: runManager->SetUserInitialization(new GB04ActionInitialization); @@ -141,24 +133,22 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( !ui ) // batch mode - { - G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); - } - else - { // interactive mode : define UI session - // UImanager->ApplyCommand("/control/execute vis.mac"); - // if (ui->IsGUI()) - // UImanager->ApplyCommand("/control/execute gui.mac"); - ui->SessionStart(); - delete ui; - } + if (!ui) // batch mode + { + G4String command = "/control/execute "; + UImanager->ApplyCommand(command + macro); + } + else { // interactive mode : define UI session + // UImanager->ApplyCommand("/control/execute vis.mac"); + // if (ui->IsGUI()) + // UImanager->ApplyCommand("/control/execute gui.mac"); + ui->SessionStart(); + delete ui; + } delete visManager; delete runManager; - return 0; } diff --git a/examples/extended/biasing/GB04/exampleGB04.out b/examples/extended/biasing/GB04/exampleGB04.out index 5c4bee57109..46894f96007 100644 --- a/examples/extended/biasing/GB04/exampleGB04.out +++ b/examples/extended/biasing/GB04/exampleGB04.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -56,14 +56,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -231,7 +238,7 @@ eIoni: for e+ XStype:3 SubType=2 ===== EM models for the G4Region DefaultRegionForTheWorld ====== MollerBhabha : Emin= 0 eV Emax= 100 TeV -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -794,7 +801,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -1247,7 +1254,7 @@ 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.000000s Real=0.002714s Sys=0.000000s + User=0.000000s Real=0.003134s Sys=0.000000s Region -- -- appears in world volume This region is in the mass world. @@ -2333,7 +2340,7 @@ 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.010000s Real=0.010265s Sys=0.000000s + User=0.000000s Real=0.016908s Sys=0.000000s Region -- -- appears in world volume This region is in the mass world. @@ -3746,15 +3753,16 @@ 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.000000s Real=0.015940s Sys=0.000000s + User=0.010000s Real=0.009408s Sys=0.000000s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:2) +UserDetectorConstruction deleted 0x10d8280 +UserPhysicsList deleted 0x10d85e0 +UserActionInitialization deleted 0x1293b70 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/extended/biasing/GB04/include/GB04ActionInitialization.hh b/examples/extended/biasing/GB04/include/GB04ActionInitialization.hh index fb5c1c267dc..9afb83e831a 100644 --- a/examples/extended/biasing/GB04/include/GB04ActionInitialization.hh +++ b/examples/extended/biasing/GB04/include/GB04ActionInitialization.hh @@ -46,5 +46,3 @@ class GB04ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/biasing/GB04/include/GB04BOptnBremSplitting.hh b/examples/extended/biasing/GB04/include/GB04BOptnBremSplitting.hh index 523393815e2..106150feee0 100644 --- a/examples/extended/biasing/GB04/include/GB04BOptnBremSplitting.hh +++ b/examples/extended/biasing/GB04/include/GB04BOptnBremSplitting.hh @@ -33,7 +33,7 @@ // // Class Description: // A G4VBiasingOperation to change a process cross-section. -// +// // //--------------------------------------------------------------- // Initial version Nov. 2014 M. Verderi @@ -41,54 +41,53 @@ #ifndef GB04BOptnBremSplitting_hh #define GB04BOptnBremSplitting_hh 1 -#include "G4VBiasingOperation.hh" #include "G4ParticleChange.hh" +#include "G4VBiasingOperation.hh" + +class GB04BOptnBremSplitting : public G4VBiasingOperation +{ + public: + // -- Constructor : + GB04BOptnBremSplitting(G4String name); + // -- destructor: + virtual ~GB04BOptnBremSplitting(); + + public: + // ---------------------------------------------- + // -- Methods from G4VBiasingOperation interface: + // ---------------------------------------------- + // -- Unused: + virtual const G4VBiasingInteractionLaw* + ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface*, G4ForceCondition&) + { + return 0; + } + + // --Used: + virtual G4VParticleChange* ApplyFinalStateBiasing(const G4BiasingProcessInterface*, + const G4Track*, const G4Step*, G4bool&); + + // -- Unsued: + virtual G4double DistanceToApplyOperation(const G4Track*, G4double, G4ForceCondition*) + { + return DBL_MAX; + } + virtual G4VParticleChange* GenerateBiasingFinalState(const G4Track*, const G4Step*) + { + return 0; + } + + public: + // ---------------------------------------------- + // -- Additional methods, specific to this class: + // ---------------------------------------------- + // -- Splitting factor: + void SetSplittingFactor(G4int splittingFactor) { fSplittingFactor = splittingFactor; } + G4int GetSplittingFactor() const { return fSplittingFactor; } -class GB04BOptnBremSplitting : public G4VBiasingOperation { -public: - // -- Constructor : - GB04BOptnBremSplitting(G4String name); - // -- destructor: - virtual ~GB04BOptnBremSplitting(); - -public: - // ---------------------------------------------- - // -- Methods from G4VBiasingOperation interface: - // ---------------------------------------------- - // -- Unused: - virtual const G4VBiasingInteractionLaw* - ProvideOccurenceBiasingInteractionLaw( const G4BiasingProcessInterface*, - G4ForceCondition& ) - { return 0; } - - // --Used: - virtual G4VParticleChange* ApplyFinalStateBiasing( const G4BiasingProcessInterface*, - const G4Track*, - const G4Step*, - G4bool& ); - - // -- Unsued: - virtual G4double DistanceToApplyOperation( const G4Track*, - G4double, - G4ForceCondition*) - {return DBL_MAX;} - virtual G4VParticleChange* GenerateBiasingFinalState( const G4Track*, - const G4Step* ) - {return 0;} - - -public: - // ---------------------------------------------- - // -- Additional methods, specific to this class: - // ---------------------------------------------- - // -- Splitting factor: - void SetSplittingFactor(G4int splittingFactor) - { fSplittingFactor = splittingFactor; } - G4int GetSplittingFactor() const { return fSplittingFactor; } - -private: - G4int fSplittingFactor; - G4ParticleChange fParticleChange; + private: + G4int fSplittingFactor; + G4ParticleChange fParticleChange; }; #endif diff --git a/examples/extended/biasing/GB04/include/GB04BOptrBremSplitting.hh b/examples/extended/biasing/GB04/include/GB04BOptrBremSplitting.hh index f6f6b518306..4b806467e45 100644 --- a/examples/extended/biasing/GB04/include/GB04BOptrBremSplitting.hh +++ b/examples/extended/biasing/GB04/include/GB04BOptrBremSplitting.hh @@ -33,56 +33,58 @@ class GB04BOptnBremSplitting; class G4GenericMessenger; -class GB04BOptrBremSplitting : public G4VBiasingOperator { -public: - GB04BOptrBremSplitting(); - virtual ~GB04BOptrBremSplitting() {} - -public: - // ------------------------- - // Optional from base class: - // ------------------------- - // -- Call at run start: - virtual void StartRun(); - // -- Call at each track starting: - virtual void StartTracking( const G4Track* track ); +class GB04BOptrBremSplitting : public G4VBiasingOperator +{ + public: + GB04BOptrBremSplitting(); + virtual ~GB04BOptrBremSplitting() {} -private: - // ----------------------------- - // -- Mandatory from base class: - // ----------------------------- - // -- Unused: - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation(const G4Track* /* track */, - const G4BiasingProcessInterface* /* callingProcess */) - { return 0; } - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation (const G4Track* /* track */, - const G4BiasingProcessInterface* /* callingProcess */) - { return 0; } - // -- Used: - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess); - -private: - // -- Avoid compiler complaining for (wrong) method shadowing, - // -- this is because other virtual method with same name exists. - using G4VBiasingOperator::OperationApplied; + public: + // ------------------------- + // Optional from base class: + // ------------------------- + // -- Call at run start: + virtual void StartRun(); + // -- Call at each track starting: + virtual void StartTracking(const G4Track* track); -private: - GB04BOptnBremSplitting* fBremSplittingOperation; - G4int fSplittingFactor; - G4bool fBiasPrimaryOnly; - G4bool fBiasOnlyOnce; - G4int fNInteractions; - // Messengers to change the - G4GenericMessenger* fSplittingFactorMessenger; - G4GenericMessenger* fBiasPrimaryOnlyMessenger; - G4GenericMessenger* fBiasOnlyOnceMessenger; - - - + private: + // ----------------------------- + // -- Mandatory from base class: + // ----------------------------- + // -- Unused: + virtual G4VBiasingOperation* + ProposeNonPhysicsBiasingOperation(const G4Track* /* track */, + const G4BiasingProcessInterface* /* callingProcess */) + { + return 0; + } + virtual G4VBiasingOperation* + ProposeOccurenceBiasingOperation(const G4Track* /* track */, + const G4BiasingProcessInterface* /* callingProcess */) + { + return 0; + } + // -- Used: + virtual G4VBiasingOperation* + ProposeFinalStateBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess); + + private: + // -- Avoid compiler complaining for (wrong) method shadowing, + // -- this is because other virtual method with same name exists. + using G4VBiasingOperator::OperationApplied; + + private: + GB04BOptnBremSplitting* fBremSplittingOperation; + G4int fSplittingFactor; + G4bool fBiasPrimaryOnly; + G4bool fBiasOnlyOnce; + G4int fNInteractions; + // Messengers to change the + G4GenericMessenger* fSplittingFactorMessenger; + G4GenericMessenger* fBiasPrimaryOnlyMessenger; + G4GenericMessenger* fBiasOnlyOnceMessenger; }; #endif diff --git a/examples/extended/biasing/GB04/include/GB04DetectorConstruction.hh b/examples/extended/biasing/GB04/include/GB04DetectorConstruction.hh index 52097995fb7..cad91cfd9bd 100644 --- a/examples/extended/biasing/GB04/include/GB04DetectorConstruction.hh +++ b/examples/extended/biasing/GB04/include/GB04DetectorConstruction.hh @@ -37,17 +37,13 @@ class GB04DetectorConstruction : public G4VUserDetectorConstruction { -public: - - GB04DetectorConstruction(); - ~GB04DetectorConstruction(); - -public: - - virtual G4VPhysicalVolume* Construct(); - virtual void ConstructSDandField(); - + public: + GB04DetectorConstruction(); + ~GB04DetectorConstruction(); + + public: + virtual G4VPhysicalVolume* Construct(); + virtual void ConstructSDandField(); }; #endif - diff --git a/examples/extended/biasing/GB04/include/GB04PrimaryGeneratorAction.hh b/examples/extended/biasing/GB04/include/GB04PrimaryGeneratorAction.hh index 0db1cb10231..5b0ba296b74 100644 --- a/examples/extended/biasing/GB04/include/GB04PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/GB04/include/GB04PrimaryGeneratorAction.hh @@ -39,17 +39,16 @@ class G4ParticleGun; class GB04PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - GB04PrimaryGeneratorAction(); - virtual ~GB04PrimaryGeneratorAction(); + public: + GB04PrimaryGeneratorAction(); + virtual ~GB04PrimaryGeneratorAction(); - virtual void GeneratePrimaries(G4Event*); + virtual void GeneratePrimaries(G4Event*); -private: - G4ParticleGun* fParticleGun; //pointer a to G4 class + private: + G4ParticleGun* fParticleGun; // pointer a to G4 class }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/GB04/src/GB04ActionInitialization.cc b/examples/extended/biasing/GB04/src/GB04ActionInitialization.cc index 829f14002e2..6cd8b987648 100644 --- a/examples/extended/biasing/GB04/src/GB04ActionInitialization.cc +++ b/examples/extended/biasing/GB04/src/GB04ActionInitialization.cc @@ -28,30 +28,29 @@ /// \brief Implementation of the GB04ActionInitialization class #include "GB04ActionInitialization.hh" + #include "GB04PrimaryGeneratorAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB04ActionInitialization::GB04ActionInitialization() - : G4VUserActionInitialization() -{} +GB04ActionInitialization::GB04ActionInitialization() : G4VUserActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB04ActionInitialization::~GB04ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB04ActionInitialization::BuildForMaster() const -{ -} +void GB04ActionInitialization::BuildForMaster() const {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB04ActionInitialization::Build() const { SetUserAction(new GB04PrimaryGeneratorAction); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB04/src/GB04BOptnBremSplitting.cc b/examples/extended/biasing/GB04/src/GB04BOptnBremSplitting.cc index 57b45004190..0573369573b 100644 --- a/examples/extended/biasing/GB04/src/GB04BOptnBremSplitting.cc +++ b/examples/extended/biasing/GB04/src/GB04BOptnBremSplitting.cc @@ -28,47 +28,38 @@ /// \brief Implementation of the GB04BOptnBremSplitting class #include "GB04BOptnBremSplitting.hh" -#include "G4BiasingProcessInterface.hh" +#include "G4BiasingProcessInterface.hh" #include "G4ParticleChangeForLoss.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB04BOptnBremSplitting::GB04BOptnBremSplitting(G4String name) -: G4VBiasingOperation(name), - fSplittingFactor(1), - fParticleChange() -{ -} + : G4VBiasingOperation(name), fSplittingFactor(1), fParticleChange() +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB04BOptnBremSplitting::~GB04BOptnBremSplitting() -{ -} +GB04BOptnBremSplitting::~GB04BOptnBremSplitting() {} -G4VParticleChange* -GB04BOptnBremSplitting:: -ApplyFinalStateBiasing( const G4BiasingProcessInterface* callingProcess, - const G4Track* track, - const G4Step* step, - G4bool& ) +G4VParticleChange* +GB04BOptnBremSplitting::ApplyFinalStateBiasing(const G4BiasingProcessInterface* callingProcess, + const G4Track* track, const G4Step* step, G4bool&) { - // -- Collect brem. process (wrapped process) final state: G4VParticleChange* processFinalState = callingProcess->GetWrappedProcess()->PostStepDoIt(*track, *step); // -- if no splitting requested, let the brem. process to return directly its // -- generated final state: - if ( fSplittingFactor == 1 ) return processFinalState; + if (fSplittingFactor == 1) return processFinalState; // -- a special case here: the brem. process corrects for cross-section change // -- over the step due to energy loss by sometimes "abandoning" the interaction, // -- returning an unchanged incoming electron/positron. // -- We respect this correction, and if no secondary is produced, its means this // -- case is happening: - if ( processFinalState->GetNumberOfSecondaries() == 0 ) return processFinalState; + if (processFinalState->GetNumberOfSecondaries() == 0) return processFinalState; // -- Now start the biasing: // -- - the electron state will be taken as the first one produced by the brem. @@ -82,25 +73,21 @@ ApplyFinalStateBiasing( const G4BiasingProcessInterface* callingProcess, // -- We called the brem. process above. Its concrete particle change is indeed // -- a "G4ParticleChangeForLoss" object. We cast this particle change to access // -- methods of the concrete G4ParticleChangeForLoss type: - G4ParticleChangeForLoss* actualParticleChange = - ( G4ParticleChangeForLoss* ) processFinalState ; - + G4ParticleChangeForLoss* actualParticleChange = (G4ParticleChangeForLoss*)processFinalState; + fParticleChange.Initialize(*track); // -- Store electron final state: - fParticleChange. - ProposeTrackStatus ( actualParticleChange->GetTrackStatus() ); - fParticleChange. - ProposeEnergy ( actualParticleChange->GetProposedKineticEnergy() ); - fParticleChange. - ProposeMomentumDirection( actualParticleChange->GetProposedMomentumDirection() ); + fParticleChange.ProposeTrackStatus(actualParticleChange->GetTrackStatus()); + fParticleChange.ProposeEnergy(actualParticleChange->GetProposedKineticEnergy()); + fParticleChange.ProposeMomentumDirection(actualParticleChange->GetProposedMomentumDirection()); // -- Now deal with the gamma's: // -- their common weight: G4double gammaWeight = track->GetWeight() / fSplittingFactor; - + // -- inform we will have fSplittingFactor gamma's: - fParticleChange.SetNumberOfSecondaries( fSplittingFactor ); + fParticleChange.SetNumberOfSecondaries(fSplittingFactor); // -- inform we take care of secondaries weight (otherwise these // -- secondaries are by default given the primary weight). @@ -108,34 +95,31 @@ ApplyFinalStateBiasing( const G4BiasingProcessInterface* callingProcess, // -- Store first gamma: G4Track* gammaTrack = actualParticleChange->GetSecondary(0); - gammaTrack->SetWeight( gammaWeight ); - fParticleChange.AddSecondary( gammaTrack ); + gammaTrack->SetWeight(gammaWeight); + fParticleChange.AddSecondary(gammaTrack); // -- and clean-up the brem. process particle change: actualParticleChange->Clear(); // -- now start the fSplittingFactor-1 calls to the brem. process to store each // -- related gamma: G4int nCalls = 1; - while ( nCalls < fSplittingFactor ) - { - // ( note: we don't need to cast to actual type here, as methods for accessing - // secondary particles are from base class G4VParticleChange ) - processFinalState = callingProcess->GetWrappedProcess()->PostStepDoIt(*track, *step); - if ( processFinalState->GetNumberOfSecondaries() == 1 ) - { - gammaTrack = processFinalState->GetSecondary(0); - gammaTrack->SetWeight( gammaWeight ); - fParticleChange.AddSecondary( gammaTrack ); - nCalls++; - } - // -- very rare special case: we ignore for now. - else if ( processFinalState->GetNumberOfSecondaries() > 1 ) - { - for ( G4int i = 0 ; i < processFinalState->GetNumberOfSecondaries() ; i++) - delete processFinalState->GetSecondary(i); - } - processFinalState->Clear(); + while (nCalls < fSplittingFactor) { + // ( note: we don't need to cast to actual type here, as methods for accessing + // secondary particles are from base class G4VParticleChange ) + processFinalState = callingProcess->GetWrappedProcess()->PostStepDoIt(*track, *step); + if (processFinalState->GetNumberOfSecondaries() == 1) { + gammaTrack = processFinalState->GetSecondary(0); + gammaTrack->SetWeight(gammaWeight); + fParticleChange.AddSecondary(gammaTrack); + nCalls++; + } + // -- very rare special case: we ignore for now. + else if (processFinalState->GetNumberOfSecondaries() > 1) { + for (G4int i = 0; i < processFinalState->GetNumberOfSecondaries(); i++) + delete processFinalState->GetSecondary(i); } + processFinalState->Clear(); + } // -- we are done: return &fParticleChange; diff --git a/examples/extended/biasing/GB04/src/GB04BOptrBremSplitting.cc b/examples/extended/biasing/GB04/src/GB04BOptrBremSplitting.cc index 17e328ec232..9411b2711c5 100644 --- a/examples/extended/biasing/GB04/src/GB04BOptrBremSplitting.cc +++ b/examples/extended/biasing/GB04/src/GB04BOptrBremSplitting.cc @@ -28,6 +28,7 @@ /// \brief Implementation of the GB04BOptrBremSplitting class #include "GB04BOptrBremSplitting.hh" + #include "GB04BOptnBremSplitting.hh" #include "G4BiasingProcessInterface.hh" @@ -36,55 +37,52 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB04BOptrBremSplitting::GB04BOptrBremSplitting() -: G4VBiasingOperator("BremSplittingOperator"), - fSplittingFactor(1), - fBiasPrimaryOnly(true), - fBiasOnlyOnce(true) + : G4VBiasingOperator("BremSplittingOperator"), + fSplittingFactor(1), + fBiasPrimaryOnly(true), + fBiasOnlyOnce(true) { fBremSplittingOperation = new GB04BOptnBremSplitting("BremSplittingOperation"); - + // -- Define messengers: // -- Splitting factor: - fSplittingFactorMessenger = - new G4GenericMessenger(this, "/GB04/biasing/","Biasing control" ); - G4GenericMessenger::Command& splittingFactorCmd = - fSplittingFactorMessenger->DeclareProperty("setSplittingFactor", fSplittingFactor, - "Define the brem. splitting factor." ); + fSplittingFactorMessenger = new G4GenericMessenger(this, "/GB04/biasing/", "Biasing control"); + G4GenericMessenger::Command& splittingFactorCmd = fSplittingFactorMessenger->DeclareProperty( + "setSplittingFactor", fSplittingFactor, "Define the brem. splitting factor."); splittingFactorCmd.SetStates(G4State_Idle); // -- Bias ony primary particle: - fBiasPrimaryOnlyMessenger = - new G4GenericMessenger(this, "/GB04/biasing/","Biasing control" ); - G4GenericMessenger::Command& biasPrimaryCmd = - fBiasPrimaryOnlyMessenger->DeclareProperty("biasPrimaryOnly", fBiasPrimaryOnly, - "Chose if brem. splitting applies to primary particles only." ); + fBiasPrimaryOnlyMessenger = new G4GenericMessenger(this, "/GB04/biasing/", "Biasing control"); + G4GenericMessenger::Command& biasPrimaryCmd = fBiasPrimaryOnlyMessenger->DeclareProperty( + "biasPrimaryOnly", fBiasPrimaryOnly, + "Chose if brem. splitting applies to primary particles only."); biasPrimaryCmd.SetStates(G4State_Idle); // -- Bias ony primary particle: - fBiasOnlyOnceMessenger = - new G4GenericMessenger(this, "/GB04/biasing/","Biasing control" ); - G4GenericMessenger::Command& biasOnlyOnceCmd = - fBiasPrimaryOnlyMessenger->DeclareProperty("biasOnlyOnce", fBiasOnlyOnce, - "Chose if apply the brem. splitting only once for the track." ); + fBiasOnlyOnceMessenger = new G4GenericMessenger(this, "/GB04/biasing/", "Biasing control"); + G4GenericMessenger::Command& biasOnlyOnceCmd = fBiasPrimaryOnlyMessenger->DeclareProperty( + "biasOnlyOnce", fBiasOnlyOnce, "Chose if apply the brem. splitting only once for the track."); biasOnlyOnceCmd.SetStates(G4State_Idle); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB04BOptrBremSplitting::StartRun() { - fBremSplittingOperation->SetSplittingFactor ( fSplittingFactor ); - G4cout << GetName() << " : starting run with brem. splitting factor = " - << fSplittingFactor; - if ( fBiasPrimaryOnly ) G4cout << ", biasing only primaries "; - else G4cout << ", biasing primary and secondary tracks "; - if ( fBiasOnlyOnce ) G4cout << ", biasing only once per track "; - else G4cout << ", biasing several times per track "; + fBremSplittingOperation->SetSplittingFactor(fSplittingFactor); + G4cout << GetName() << " : starting run with brem. splitting factor = " << fSplittingFactor; + if (fBiasPrimaryOnly) + G4cout << ", biasing only primaries "; + else + G4cout << ", biasing primary and secondary tracks "; + if (fBiasOnlyOnce) + G4cout << ", biasing only once per track "; + else + G4cout << ", biasing several times per track "; G4cout << " . " << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB04BOptrBremSplitting::StartTracking( const G4Track* /* track */ ) +void GB04BOptrBremSplitting::StartTracking(const G4Track* /* track */) { // -- reset the number of times the brem. splitting was applied: fNInteractions = 0; @@ -92,18 +90,16 @@ void GB04BOptrBremSplitting::StartTracking( const G4Track* /* track */ ) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB04BOptrBremSplitting:: -ProposeFinalStateBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* /* callingProcess */) +G4VBiasingOperation* GB04BOptrBremSplitting::ProposeFinalStateBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* /* callingProcess */) { // -- Check if biasing of primary particle only is requested. If so, and // -- if particle is not a primary one, don't ask for biasing: - if ( fBiasPrimaryOnly && ( track->GetParentID() !=0 ) ) return 0; + if (fBiasPrimaryOnly && (track->GetParentID() != 0)) return 0; // -- Check if brem. splitting should be applied only once to the track, // -- and if so, and if brem. splitting already occured, don't ask for biasing: - if ( fBiasOnlyOnce && ( fNInteractions > 0 ) ) return 0; - + if (fBiasOnlyOnce && (fNInteractions > 0)) return 0; + // -- Count the number of times the brem. splitting is applied: fNInteractions++; // -- Return the brem. splitting operation: diff --git a/examples/extended/biasing/GB04/src/GB04DetectorConstruction.cc b/examples/extended/biasing/GB04/src/GB04DetectorConstruction.cc index 5f94227c9e0..87bf090b446 100644 --- a/examples/extended/biasing/GB04/src/GB04DetectorConstruction.cc +++ b/examples/extended/biasing/GB04/src/GB04DetectorConstruction.cc @@ -28,74 +28,67 @@ /// \brief Implementation of the GB04DetectorConstruction class #include "GB04DetectorConstruction.hh" -#include "G4SystemOfUnits.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "GB04BOptrBremSplitting.hh" #include "G4Box.hh" +#include "G4Colour.hh" #include "G4LogicalVolume.hh" #include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" +#include "G4SystemOfUnits.hh" #include "G4UniformMagField.hh" - #include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4NistManager.hh" - -#include "GB04BOptrBremSplitting.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB04DetectorConstruction::GB04DetectorConstruction() -{} +GB04DetectorConstruction::GB04DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB04DetectorConstruction::~GB04DetectorConstruction() -{} +GB04DetectorConstruction::~GB04DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* GB04DetectorConstruction::Construct() { - G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); G4Material* defaultMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Al"); - G4VSolid* solidWorld = new G4Box("World", 10*m, 10*m, 10*m ); - - G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, //its solid - worldMaterial, //its material - "World"); //its name - - G4PVPlacement* 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 - + G4VSolid* solidWorld = new G4Box("World", 10 * m, 10 * m, 10 * m); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid + worldMaterial, // its material + "World"); // its name + + G4PVPlacement* 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 + // ----------------------------------- // -- volume where biasing is applied: // ----------------------------------- - G4double halfZ = 5*mm; - G4VSolid* solidTest = new G4Box("test.solid", 1*m, 1*m, halfZ ); - - G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, //its solid - defaultMaterial, //its material - "test.logical"); //its name - - new G4PVPlacement(0, // no rotation - G4ThreeVector(0,0, halfZ), // volume entrance at (0,0,0) - logicTest, // its logical volume - "test.phys", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - - + G4double halfZ = 5 * mm; + G4VSolid* solidTest = new G4Box("test.solid", 1 * m, 1 * m, halfZ); + + G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, // its solid + defaultMaterial, // its material + "test.logical"); // its name + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0, 0, halfZ), // volume entrance at (0,0,0) + logicTest, // its logical volume + "test.phys", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + return physiWorld; } @@ -104,17 +97,15 @@ G4VPhysicalVolume* GB04DetectorConstruction::Construct() void GB04DetectorConstruction::ConstructSDandField() { // -- Fetch volume for biasing: - G4LogicalVolume* logicTest = - G4LogicalVolumeStore::GetInstance()->GetVolume("test.logical"); - + G4LogicalVolume* logicTest = G4LogicalVolumeStore::GetInstance()->GetVolume("test.logical"); + // ---------------------------------------------- // -- operator creation and attachment to volume: // ---------------------------------------------- - GB04BOptrBremSplitting* bremSplittingOperator = new GB04BOptrBremSplitting(); + GB04BOptrBremSplitting* bremSplittingOperator = new GB04BOptrBremSplitting(); bremSplittingOperator->AttachTo(logicTest); G4cout << " Attaching biasing operator " << bremSplittingOperator->GetName() - << " to logical volume " << logicTest->GetName() - << G4endl; + << " to logical volume " << logicTest->GetName() << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB04/src/GB04PrimaryGeneratorAction.cc b/examples/extended/biasing/GB04/src/GB04PrimaryGeneratorAction.cc index 31fa9d90a84..43df0e0e6ea 100644 --- a/examples/extended/biasing/GB04/src/GB04PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/GB04/src/GB04PrimaryGeneratorAction.cc @@ -28,31 +28,30 @@ /// \brief Implementation of the GB04PrimaryGeneratorAction class #include "GB04PrimaryGeneratorAction.hh" -#include "G4SystemOfUnits.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" +#include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB04PrimaryGeneratorAction::GB04PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction(), - fParticleGun(0) + : G4VUserPrimaryGeneratorAction(), fParticleGun(0) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="e-"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(100.*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-100*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(100. * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -100 * cm)); } GB04PrimaryGeneratorAction::~GB04PrimaryGeneratorAction() @@ -68,4 +67,3 @@ void GB04PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/biasing/GB05/exampleGB05.cc b/examples/extended/biasing/GB05/exampleGB05.cc index 39aeda28aca..32913782507 100644 --- a/examples/extended/biasing/GB05/exampleGB05.cc +++ b/examples/extended/biasing/GB05/exampleGB05.cc @@ -27,69 +27,64 @@ /// \file exampleGB05.cc /// \brief Main program of example GB05 -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" +#include "FTFP_BERT.hh" #include "GB05ActionInitialization.hh" - -#include "G4UImanager.hh" - #include "GB05DetectorConstruction.hh" #include "GB05PrimaryGeneratorAction.hh" -#include "FTFP_BERT.hh" #include "G4GenericBiasingPhysics.hh" - -#include "G4VisExecutive.hh" +#include "G4RunManagerFactory.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" - +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " ./exampleGB05 [-m macro ] " - << " [-b biasing {'on','off'}]" - << "\n or\n ./exampleGB05 [macro.mac]" - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " ./exampleGB05 [-m macro ] " + << " [-b biasing {'on','off'}]" + << "\n or\n ./exampleGB05 [macro.mac]" << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 5 ) { + if (argc > 5) { PrintUsage(); return 1; } G4String macro(""); G4String onOffBiasing(""); - if ( argc == 2 ) macro = argv[1]; - else - { - for ( G4int i=1; iBeVerbose(); - if ( onOffBiasing == "on" ) - { - biasingPhysics->Bias("neutron"); - physicsList->RegisterPhysics(biasingPhysics); - G4cout << " ********************************************************* " - << G4endl; - G4cout << " ********** processes are wrapped for biasing ************ " - << G4endl; - G4cout << " ********************************************************* " - << G4endl; - } - else - { - G4cout << " ************************************************* " << G4endl; - G4cout << " ********** processes are not wrapped ************ " << G4endl; - G4cout << " ************************************************* " << G4endl; - } + if (onOffBiasing == "on") { + biasingPhysics->Bias("neutron"); + physicsList->RegisterPhysics(biasingPhysics); + G4cout << " ********************************************************* " << G4endl; + G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; + G4cout << " ********************************************************* " << G4endl; + } + else { + G4cout << " ************************************************* " << G4endl; + G4cout << " ********** processes are not wrapped ************ " << G4endl; + G4cout << " ************************************************* " << G4endl; + } runManager->SetUserInitialization(physicsList); // -- Action initialization: runManager->SetUserInitialization(new GB05ActionInitialization); @@ -137,19 +127,18 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( !ui ) // batch mode - { - G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); - } - else - { // interactive mode : define UI session - UImanager->ApplyCommand("/control/execute vis.mac"); - // if (ui->IsGUI()) - // UImanager->ApplyCommand("/control/execute gui.mac"); - ui->SessionStart(); - delete ui; - } + if (!ui) // batch mode + { + G4String command = "/control/execute "; + UImanager->ApplyCommand(command + macro); + } + else { // interactive mode : define UI session + UImanager->ApplyCommand("/control/execute vis.mac"); + // if (ui->IsGUI()) + // UImanager->ApplyCommand("/control/execute gui.mac"); + ui->SessionStart(); + delete ui; + } delete visManager; delete runManager; diff --git a/examples/extended/biasing/GB05/exampleGB05.out b/examples/extended/biasing/GB05/exampleGB05.out index fd04eb1450c..c4685d9fb90 100644 --- a/examples/extended/biasing/GB05/exampleGB05.out +++ b/examples/extended/biasing/GB05/exampleGB05.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -58,14 +58,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -241,7 +248,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -796,7 +803,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -806,1362 +813,1213 @@ Max 2J for sampling of angular correlations 10 ======================================================================= G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model. See commands in /vis/modeling/trajectories/ for other options. - gamma, kinetic energy (MeV) = 5.38108, position (cm) = (-94.3206,49.642,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 3.53495, position (cm) = (-128.042,51.594,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 5.59702, position (cm) = (-100.118,125.41,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.176601, position (cm) = (-99.0989,87.5723,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 44.6335, position (cm) = (-130.579,81.9776,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 44.8746, position (cm) = (-129.631,81.7306,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 44.8746, position (cm) = (-129.631,81.7306,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 98.0573, position (cm) = (-80.1747,92.6703,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 4.35484, position (cm) = (-81.8058,91.9268,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 6.92983, position (cm) = (-80.9982,89.0008,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 22.3824, position (cm) = (-80.6009,90.1108,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 0.771263, position (cm) = (-77.141,81.4327,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 2.4179, position (cm) = (-87.1297,78.689,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 1.88057, position (cm) = (-84.6944,86.9951,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 4.02041, position (cm) = (-79.1303,95.6976,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 97.6135, position (cm) = (-71.9716,79.1867,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 97.6773, position (cm) = (-71.9912,79.1083,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 67.3433, position (cm) = (-72.6364,81.3583,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 44.6638, position (cm) = (-68.8483,76.6158,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 97.6773, position (cm) = (-71.9912,79.1083,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 97.0494, position (cm) = (-70.273,81.7345,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 97.359, position (cm) = (-71.3061,80.7564,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.518967, position (cm) = (-64.7318,66.9336,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 87.6065, position (cm) = (-66.5258,78.9045,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 2.15878, position (cm) = (-5.69249,-57.5241,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 6.43305e-05, position (cm) = (24.2439,-27.2347,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 2.88223, position (cm) = (2.57428,-53.9597,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 2.63174, position (cm) = (-13.3538,-78.6602,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 0.0777081, position (cm) = (18.3578,-70.9821,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.0817348, position (cm) = (6.63677,-62.0452,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.173391, position (cm) = (44.5491,-33.1773,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 3.27425, position (cm) = (36.2342,-24.0901,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 14.1132, position (cm) = (65.9795,-62.4429,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 3.65555, position (cm) = (56.5305,-42.811,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 27.9374, position (cm) = (61.4865,-45.9153,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 38.5661, position (cm) = (37.8591,-17.6853,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 38.5298, position (cm) = (38.967,-18.3147,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.862277, position (cm) = (61.3738,-20.9661,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.110672, position (cm) = (55.7288,-57.5414,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.70207, position (cm) = (58.6722,-18.7482,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 2.70207, position (cm) = (58.6722,-18.7482,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 2.70207, position (cm) = (58.6722,-18.7482,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 5.36878, position (cm) = (59.4275,-22.7151,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.0639197, position (cm) = (49.9688,-27.2468,200), weight = 6.10352e-05 - e+, kinetic energy (MeV) = 7.04457, position (cm) = (36.916,-24.557,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 16.6471, position (cm) = (29.2702,-20.1451,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 1.67191, position (cm) = (73.1696,-21.876,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 0.122285, position (cm) = (55.1046,-107.016,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 0.753003, position (cm) = (54.5324,-98.0497,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 0.0199019, position (cm) = (96.6157,-110.37,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 0.140487, position (cm) = (96.4334,-106.302,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 0.152612, position (cm) = (102.165,-82.5742,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.461892, position (cm) = (100.123,-85.0372,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 3.97827, position (cm) = (83.8309,-104.421,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 4.94634e-07, position (cm) = (78.647,-94.2859,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 0.085708, position (cm) = (120.492,-68.2728,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 1.07431, position (cm) = (56.118,-44.357,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.32613, position (cm) = (92.7743,-115.051,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.279608, position (cm) = (95.0545,-106.927,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.0813375, position (cm) = (155.441,-111.661,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 17.1308, position (cm) = (88.2042,-96.8349,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 17.0246, position (cm) = (87.8413,-98.843,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.118927, position (cm) = (92.1033,-107.535,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 0.0949085, position (cm) = (95.54,-104.453,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 1.03528, position (cm) = (133.189,-94.4174,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 10.6565, position (cm) = (89.6032,-111.691,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 32.2048, position (cm) = (93.6543,-112.441,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 31.7378, position (cm) = (88.4721,-113.485,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 32.0725, position (cm) = (86.8902,-111.304,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 0.224913, position (cm) = (80.8475,-115.899,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 2.77711, position (cm) = (90.3375,-122.683,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 4.33832, position (cm) = (89.8043,-113.128,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 14.9048, position (cm) = (72.1804,-88.1767,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 15.1137, position (cm) = (74.3283,-84.8309,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 0.327317, position (cm) = (72.2864,-96.7013,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 5.84998, position (cm) = (102.58,-74.3185,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 0.186387, position (cm) = (97.2749,-82.7327,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 0.192982, position (cm) = (100.148,-87.6485,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 0.971066, position (cm) = (83.8513,-47.4543,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 0.199029, position (cm) = (4.7997,-30.7002,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 51.7665, position (cm) = (56.8907,-48.8076,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.141088, position (cm) = (65.6739,-63.4084,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 2.32892, position (cm) = (57.7014,-36.6766,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 2.84154, position (cm) = (52.7344,-42.7755,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 51.8203, position (cm) = (62.295,-44.4713,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.000388909, position (cm) = (-7.75934,-37.358,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.224163, position (cm) = (-18.2321,-47.6131,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 25.3306, position (cm) = (18.2523,-34.1866,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 25.3306, position (cm) = (18.2523,-34.1866,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.0997492, position (cm) = (65.7977,18.1617,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 7.20641, position (cm) = (46.232,-10.4828,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 1.48075, position (cm) = (31.5374,-5.2429,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 2.63599, position (cm) = (36.8278,-15.2175,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.204594, position (cm) = (47.0667,-2.75792,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 97.0632, position (cm) = (35.4673,-0.419114,200), weight = 0.03125 - neutron, kinetic energy (MeV) = 63.3821, position (cm) = (28.2135,-10.4842,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 62.2413, position (cm) = (32.7925,-6.01885,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 63.3821, position (cm) = (28.2135,-10.4842,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 6.28123, position (cm) = (41.3389,-3.79079,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 0.0750997, position (cm) = (34.1608,-1.8457,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 1.45644, position (cm) = (25.5567,-7.57826,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 4.953, position (cm) = (30.1597,-6.30214,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 23.4526, position (cm) = (17.4504,52.4697,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 24.0601, position (cm) = (59.5652,73.8312,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 12.0284, position (cm) = (57.6908,74.9166,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 24.1261, position (cm) = (51.6928,71.1491,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 24.2801, position (cm) = (48.0347,75.0489,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 2.86065, position (cm) = (41.1194,73.5176,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 24.0872, position (cm) = (47.333,75.8772,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 24.0872, position (cm) = (47.333,75.8772,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 24.2801, position (cm) = (48.0347,75.0489,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 24.1742, position (cm) = (46.042,76.6302,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 7.81871, position (cm) = (-42.7576,-18.1063,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 27.2595, position (cm) = (-59.9588,-47.6376,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 99.366, position (cm) = (-33.2492,-31.9623,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 99.4103, position (cm) = (-31.3639,-30.6644,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 2.65673, position (cm) = (-29.0168,-30.5364,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 4.71121, position (cm) = (-35.0734,-31.8438,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 97.7289, position (cm) = (-42.0738,-38.3422,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 98.7698, position (cm) = (-31.9104,-39.2097,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.161901, position (cm) = (-28.6911,-37.5648,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 5.1986, position (cm) = (-29.3997,-35.1548,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 8.85505, position (cm) = (-29.7473,-39.5915,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.248333, position (cm) = (-27.8388,-29.5064,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 2.03051, position (cm) = (-27.9998,-41.4256,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 2.63933, position (cm) = (-33.4392,-39.5231,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 1.02409, position (cm) = (-28.2602,-32.8755,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 98.7698, position (cm) = (-31.9104,-39.2097,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.202094, position (cm) = (-63.9062,-23.5759,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.00145974, position (cm) = (-58.45,-19.6527,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.02465, position (cm) = (-38.7983,-4.0941,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.667108, position (cm) = (-43.125,-11.6062,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.538333, position (cm) = (-43.0948,-120.693,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.7908, position (cm) = (-28.453,-124.41,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.865397, position (cm) = (-26.638,-145.095,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.162629, position (cm) = (-26.4488,-159.49,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 1.09746, position (cm) = (-25.9855,-128.748,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 30.5578, position (cm) = (-11.1469,-173.423,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.1318, position (cm) = (-17.5427,-166.347,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.092214, position (cm) = (-23.0895,-178.914,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.387731, position (cm) = (-6.71362,-174.708,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 0.016287, position (cm) = (9.04221,-210.406,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 3.057, position (cm) = (10.707,-185.016,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.888687, position (cm) = (-3.62032,-205.761,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 2.17774, position (cm) = (18.6583,-200.276,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 4.91248, position (cm) = (-1.53475,-197.631,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.135537, position (cm) = (-9.03608,-171.577,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 1.89258e-06, position (cm) = (28.9567,-67.8382,200), weight = 0.0625 - neutron, kinetic energy (MeV) = 22.0879, position (cm) = (-71.9628,23.9382,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 1.07557, position (cm) = (-29.114,49.414,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-39.7053,48.7206,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.677037, position (cm) = (-39.7391,48.673,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 1.99431, position (cm) = (-35.1028,39.209,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 9.50806, position (cm) = (-39.7743,43.5038,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.192127, position (cm) = (-27.7632,41.3421,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 16.9392, position (cm) = (-43.6264,20.4666,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 7.80814, position (cm) = (-41.2006,20.2237,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 7.80814, position (cm) = (-41.2006,20.2237,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 5.27382e-06, position (cm) = (-19.6022,-29.086,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 4.42265, position (cm) = (-23.8946,-39.6234,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.00882928, position (cm) = (-22.212,-33.3116,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 21.7874, position (cm) = (-25.5163,-15.9518,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 21.7874, position (cm) = (-25.5163,-15.9518,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.989285, position (cm) = (-32.467,-17.9494,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.271945, position (cm) = (-13.196,-46.6023,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 7.4195, position (cm) = (-10.5344,-44.2717,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.218292, position (cm) = (-13.9468,-48.9421,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 2.20002, position (cm) = (-14.0152,-47.0312,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.351814, position (cm) = (-42.9024,-85.9757,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.308868, position (cm) = (-13.9674,-56.8047,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 2.23823, position (cm) = (-15.8937,-59.8208,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 2.69506, position (cm) = (-15.9252,-53.0216,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 9.09547, position (cm) = (-12.9518,-46.7695,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 79.3195, position (cm) = (-14.7309,-48.3529,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.133466, position (cm) = (-21.6292,-20.107,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 0.00393097, position (cm) = (-22.9301,-14.2776,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.282992, position (cm) = (-23.7519,1.64783,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.62909, position (cm) = (-54.5151,29.2212,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 15.9554, position (cm) = (-31.4115,23.0383,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 15.9554, position (cm) = (-31.4115,23.0383,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 15.9554, position (cm) = (-31.4115,23.0383,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.37885, position (cm) = (31.9378,86.3592,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 0.873889, position (cm) = (-122.572,-102.628,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 13.7915, position (cm) = (-73.5105,-55.5527,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 4.30037, position (cm) = (-30.8736,-63.9237,200), weight = 1.49012e-08 - neutron, kinetic energy (MeV) = 4.49619, position (cm) = (-32.8658,-65.8881,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 4.35973, position (cm) = (-34.5008,-65.4984,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 0.13055, position (cm) = (-44.8465,-61.0505,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 0.000440512, position (cm) = (-53.7095,-74.1452,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 1.20402, position (cm) = (-50.931,-68.1594,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 1.84678, position (cm) = (-51.7308,-64.6081,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 0.109766, position (cm) = (-25.278,-57.4335,200), weight = 3.72529e-09 - neutron, kinetic energy (MeV) = 2.50022, position (cm) = (-59.6926,-69.2874,200), weight = 3.72529e-09 - neutron, kinetic energy (MeV) = 2.95014e-07, position (cm) = (-68.3473,-60.9324,200), weight = 3.72529e-09 - gamma, kinetic energy (MeV) = 2.12423, position (cm) = (-69.5544,-73.4616,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 0.000473465, position (cm) = (-58.1561,-52.7965,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 0.676309, position (cm) = (-43.8922,-66.3275,200), weight = 1.86265e-09 - gamma, kinetic energy (MeV) = 3.91184, position (cm) = (-46.1004,-72.988,200), weight = 1.86265e-09 - neutron, kinetic energy (MeV) = 1.91845e-05, position (cm) = (-35.5201,-50.9148,200), weight = 1.86265e-09 - gamma, kinetic energy (MeV) = 0.102256, position (cm) = (-33.7265,-52.6996,200), weight = 1.86265e-09 - neutron, kinetic energy (MeV) = 14.2337, position (cm) = (-46.5945,-68.2735,200), weight = 3.72529e-09 - gamma, kinetic energy (MeV) = 0.410193, position (cm) = (-79.5829,-27.4428,200), weight = 1.49012e-08 - neutron, kinetic energy (MeV) = 2.42249, position (cm) = (-72.3337,10.3091,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 4.32247, position (cm) = (-80.4376,-13.7202,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 0.283521, position (cm) = (-65.6175,-12.7776,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 2.28924, position (cm) = (-91.7918,-62.2775,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 0.135182, position (cm) = (-105.745,-49.2747,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 9.90074e-06, position (cm) = (-126.225,-63.5225,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 10.4437, position (cm) = (-100.002,-64.2039,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 0.0806888, position (cm) = (-111.977,-69.0184,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 2.54836, position (cm) = (-129.218,-55.6862,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 2.02618, position (cm) = (-144.54,-41.4892,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 1.81502, position (cm) = (-119.308,-51.767,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 16.9794, position (cm) = (-134.897,-60.4969,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 17.1271, position (cm) = (-111.932,-55.4057,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 0.381865, position (cm) = (-108.36,-55.1027,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 1.74716, position (cm) = (-108.281,-55.0621,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 1.93095, position (cm) = (-108.13,-55.758,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 7.89215, position (cm) = (-91.6031,-62.7275,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.0988322, position (cm) = (-104.985,-33.123,200), weight = 1.49012e-08 - neutron, kinetic energy (MeV) = 0.654603, position (cm) = (-99.5088,-39.513,200), weight = 1.49012e-08 - neutron, kinetic energy (MeV) = 0.13895, position (cm) = (-35.8952,-53.532,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 0.133269, position (cm) = (-98.7812,-150.627,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 5.2744, position (cm) = (-107.538,-117.516,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 5.17583, position (cm) = (-102.576,-114.279,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 5.17583, position (cm) = (-102.576,-114.279,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 0.0921805, position (cm) = (-97.9234,-99.7074,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 2.50671, position (cm) = (95.7387,-13.2028,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 1.90872, position (cm) = (91.9708,-34.8578,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 6.87277, position (cm) = (89.4003,-37.2862,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 30.4081, position (cm) = (80.9019,-40.6854,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 30.4081, position (cm) = (80.9019,-40.6854,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.0522586, position (cm) = (79.9001,-27.8683,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 2.84451, position (cm) = (82.4118,-26.2566,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 25.0252, position (cm) = (92.4828,-50.3434,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 25.0252, position (cm) = (92.4828,-50.3434,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.0849799, position (cm) = (56.781,-40.632,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 4.05935, position (cm) = (98.1828,-44.1671,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 56.0404, position (cm) = (97.4534,-12.9082,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 55.6245, position (cm) = (101.966,-8.3165,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 55.6245, position (cm) = (101.966,-8.3165,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 7.96993e-06, position (cm) = (40.9873,86.1807,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 3.1187, position (cm) = (24.5373,95.2811,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.604474, position (cm) = (51.7323,64.3621,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.0895798, position (cm) = (43.2722,153.167,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.751331, position (cm) = (36.4878,163.337,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.615304, position (cm) = (15.2053,88.3743,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.103704, position (cm) = (72.5577,164.646,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.307199, position (cm) = (72.3556,160.117,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.49991, position (cm) = (64.9935,161.823,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 8.07421, position (cm) = (69.0299,160.441,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.0608272, position (cm) = (4.60876,-30.0129,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.753784, position (cm) = (-13.2013,-29.49,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.12428, position (cm) = (-14.1917,-25.6835,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 2.93651, position (cm) = (-10.0374,-37.5837,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 71.2174, position (cm) = (-19.8775,-26.3543,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 4.90032, position (cm) = (-25.6418,4.46971,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.255477, position (cm) = (-28.6435,-31.0035,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.924932, position (cm) = (-27.5524,-18.5943,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.767899, position (cm) = (-28.9527,-23.6365,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.39766, position (cm) = (-31.0211,-6.78481,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 2.39766, position (cm) = (-31.0211,-6.78481,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 5.01483, position (cm) = (-7.74708,-6.21175,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 28.7341, position (cm) = (11.3142,-57.7807,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 70.9667, position (cm) = (-24.2622,-31.7346,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 71.1497, position (cm) = (-16.4593,-10.6754,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 93.6746, position (cm) = (-0.8264,22.0417,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 92.5478, position (cm) = (-0.736899,21.7466,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 76.6805, position (cm) = (-0.814849,19.6489,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.420668, position (cm) = (6.71893,16.0968,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 2.17514, position (cm) = (8.32541,28.9784,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 2.33868e-05, position (cm) = (9.45118,15.6877,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 4.30963, position (cm) = (7.98182,17.761,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 2.1295, position (cm) = (-0.534698,20.373,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 98.2471, position (cm) = (-1.37637,12.983,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 98.2471, position (cm) = (-1.37637,12.983,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 98.5509, position (cm) = (-2.30981,13.5444,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 98.5509, position (cm) = (-2.30981,13.5444,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 98.5509, position (cm) = (-2.30981,13.5444,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 98.5509, position (cm) = (-2.30981,13.5444,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.507993, position (cm) = (7.69812,-9.80502,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 65.7383, position (cm) = (11.7762,-10.5042,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 19.1087, position (cm) = (6.45142,-9.52409,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 43.1963, position (cm) = (5.84233,-9.39677,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 50.449, position (cm) = (0.029008,-7.62046,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 50.449, position (cm) = (0.029008,-7.62046,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 99.4502, position (cm) = (-15.2906,-15.0158,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 99.4502, position (cm) = (-15.2906,-15.0158,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 99.4502, position (cm) = (-15.2906,-15.0158,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.195321, position (cm) = (-4.1282,-4.76931,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 0.0225925, position (cm) = (20.2163,-24.7273,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 0.00981694, position (cm) = (42.98,-54.5029,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.0674488, position (cm) = (-45.2348,-32.5437,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.0572325, position (cm) = (-25.06,-0.956533,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 37.2321, position (cm) = (-29.4721,2.80044,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 53.6584, position (cm) = (-33.0052,6.02464,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.256481, position (cm) = (-31.3702,-17.013,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.752963, position (cm) = (-31.3137,-17.4903,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 52.8213, position (cm) = (-31.8301,6.40568,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.120997, position (cm) = (-18.9804,-4.38725,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 3.99805, position (cm) = (-22.6817,7.92137,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 0.9512, position (cm) = (-38.347,42.2679,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 2.17129, position (cm) = (-72.7209,10.1125,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.0821679, position (cm) = (-35.5866,27.9787,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 3.39997, position (cm) = (-35.8075,27.7252,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.66793, position (cm) = (-41.1368,28.8757,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.186157, position (cm) = (-66.7444,8.9724,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.138639, position (cm) = (-63.2137,-4.40678,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 7.18044, position (cm) = (40.7426,-18.1984,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.191318, position (cm) = (53.8223,-23.8321,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 1.83768, position (cm) = (41.8068,-22.7128,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 1.24709, position (cm) = (41.8617,-31.5636,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 7.18044, position (cm) = (40.7426,-18.1984,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.311473, position (cm) = (61.8684,-28.9101,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.350966, position (cm) = (62.1848,-35.5932,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.0672424, position (cm) = (27.7682,-40.7842,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.0828192, position (cm) = (39.2365,-44.5125,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 5.33746, position (cm) = (30.5164,-43.1807,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.679982, position (cm) = (-68.4475,-54.1511,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 10.5919, position (cm) = (-39.286,-65.8771,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 10.5919, position (cm) = (-39.286,-65.8771,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 10.7902, position (cm) = (-44.3397,-52.9456,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 10.252, position (cm) = (-29.3893,-75.5634,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.293968, position (cm) = (-69.8983,-82.2528,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 4.66365, position (cm) = (-51.4806,-61.2499,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.702168, position (cm) = (-52.1414,-68.635,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.169568, position (cm) = (-82.2262,38.7731,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.156035, position (cm) = (-73.7877,30.5517,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 9.10612, position (cm) = (-76.2875,35.896,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 8.82654, position (cm) = (-78.2936,37.0283,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.515361, position (cm) = (-40.7097,-20.325,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.260881, position (cm) = (-80.1025,52.7058,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 22.0773, position (cm) = (-201.902,-93.7051,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 8.90145, position (cm) = (-180.155,-54.0476,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 7.37893, position (cm) = (-95.071,-117.152,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 9.1784, position (cm) = (-94.8223,-107.341,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 1.64824, position (cm) = (-103.755,-110.371,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.436964, position (cm) = (-100.475,-108.37,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 3.78272, position (cm) = (-114.994,-111.126,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 0.07867, position (cm) = (-67.8367,-68.6426,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.103992, position (cm) = (-35.8228,-37.1166,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.579623, position (cm) = (-34.1744,-60.8686,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.170856, position (cm) = (-60.5243,-83.6646,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 9.74877, position (cm) = (-35.1972,-53.67,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 0.160802, position (cm) = (-39.1288,-50.7039,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.267884, position (cm) = (-58.6546,-96.3817,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 8.11338, position (cm) = (-55.5005,-101.048,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 21.0999, position (cm) = (-66.3538,-99.8439,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 2.74806, position (cm) = (-81.0207,-55.4159,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.872816, position (cm) = (-24.7,-51.8265,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 7.01945, position (cm) = (-45.3705,-14.8222,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 74.4174, position (cm) = (-83.6845,-64.4894,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 2.79354, position (cm) = (-68.5976,-59.4114,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 0.0136483, position (cm) = (-72.2485,-60.7548,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.979154, position (cm) = (-76.5789,-48.3939,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.0885649, position (cm) = (-79.0841,-65.5018,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 10.9754, position (cm) = (-66.3398,-50.4393,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 75.1502, position (cm) = (-78.2848,-61.9771,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 75.1502, position (cm) = (-78.2848,-61.9771,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 75.1502, position (cm) = (-78.2848,-61.9771,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 2.22583e-06, position (cm) = (-97.3989,-42.9512,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 4.8906, position (cm) = (-77.9015,-47.4214,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.640018, position (cm) = (-71.6426,-51.0893,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 4.29826, position (cm) = (-82.1103,-50.2708,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 8.04024, position (cm) = (-88.1558,-76.6525,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 17.7524, position (cm) = (-83.8359,-77.6115,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.222902, position (cm) = (-107.118,-50.0685,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.988177, position (cm) = (-88.9908,-64.871,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.813839, position (cm) = (-89.2165,-55.7266,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 74.0603, position (cm) = (-84.6646,-57.5306,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 74.0603, position (cm) = (-84.6646,-57.5306,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 15.8303, position (cm) = (-71.8981,-69.2199,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 1.18897, position (cm) = (-69.2332,-70.52,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 14.6621, position (cm) = (-72.2014,-68.7087,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.0704733, position (cm) = (-127.847,-26.4765,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.214508, position (cm) = (-130.805,-27.1247,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 45.5783, position (cm) = (-128.519,-25.2407,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.13135, position (cm) = (-113.521,-27.2846,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 1.19041, position (cm) = (-140.738,-15.17,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 31.1409, position (cm) = (-129.821,-28.1009,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 2.88201, position (cm) = (-124.814,-34.4691,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 2.64539, position (cm) = (-125.082,-27.8295,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.078203, position (cm) = (-134.956,-37.2886,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.23113, position (cm) = (-87.418,-54.2638,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 3.70672e-05, position (cm) = (-84.2903,-45.836,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 40.4171, position (cm) = (-50.4128,-53.0879,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 1.06834, position (cm) = (-32.0608,-54.367,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 9.75215, position (cm) = (-51.8469,-49.6696,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 60.2221, position (cm) = (-29.4711,-48.7787,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 59.9629, position (cm) = (-30.1331,-54.8848,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 59.9118, position (cm) = (-14.3394,-40.1572,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 60.3255, position (cm) = (-15.7817,-39.3701,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 60.3255, position (cm) = (-15.7817,-39.3701,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 71.5632, position (cm) = (-130.365,-79.6959,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 1.57076e-06, position (cm) = (-83.1987,-65.4532,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 1.65935, position (cm) = (-105.428,-74.0256,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 6.10372, position (cm) = (-91.2964,-72.9937,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.261193, position (cm) = (-95.3503,-64.5749,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.221866, position (cm) = (-34.3444,45.6054,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.332845, position (cm) = (-29.3519,72.6431,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 2.594, position (cm) = (-26.5967,32.3157,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 55.5818, position (cm) = (-37.3543,46.1493,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 55.5818, position (cm) = (-37.3543,46.1493,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 1.84972, position (cm) = (-4.36683,57.8769,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 43.3014, position (cm) = (2.45714,70.2652,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 44.1329, position (cm) = (-1.56414,71.9487,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 44.1329, position (cm) = (-1.56414,71.9487,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 33.93, position (cm) = (-0.752551,72.2197,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.57881, position (cm) = (-43.0991,45.8221,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 5.5053, position (cm) = (-46.8812,44.5416,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 36.6179, position (cm) = (-45.7507,69.3455,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 36.5756, position (cm) = (-45.8634,67.7996,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 36.8641, position (cm) = (-44.0211,59.0212,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 2.74379, position (cm) = (-57.3867,49.1757,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 10.2421, position (cm) = (-62.6313,53.3983,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 10.2421, position (cm) = (-62.6313,53.3983,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 10.2421, position (cm) = (-62.6313,53.3983,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 3.97262e-06, position (cm) = (-32.6021,56.4858,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 55.172, position (cm) = (-35.611,40.9355,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.01616, position (cm) = (-37.6401,26.8885,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.607717, position (cm) = (-36.6646,30.0476,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 2.41342, position (cm) = (-31.0202,46.5284,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 2.38207, position (cm) = (-31.0106,46.4669,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 1.69837, position (cm) = (-23.1624,78.6744,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 0.734325, position (cm) = (-53.7628,34.1015,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.57094, position (cm) = (-52.189,32.6471,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 7.41817, position (cm) = (-27.3398,20.6749,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 22.4321, position (cm) = (-29.6626,13.2938,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 22.4321, position (cm) = (-29.6626,13.2938,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.216166, position (cm) = (-3.27636,27.1295,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 1.34042, position (cm) = (-18.976,17.1722,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 1.19088, position (cm) = (-42.885,25.4216,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 8.33304e-07, position (cm) = (-29.1611,-2.60452,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.000773104, position (cm) = (-61.9847,3.38509,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 6.45367e-06, position (cm) = (-59.1698,23.9333,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.113149, position (cm) = (-60.3772,43.81,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 41.391, position (cm) = (-33.4916,46.5447,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 41.7227, position (cm) = (-25.1557,27.6633,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 2.16016, position (cm) = (-58.6983,55.2292,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 1.35026, position (cm) = (-45.0385,42.2606,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.41795, position (cm) = (-69.6472,74.1233,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.0795971, position (cm) = (-72.4561,80.2887,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 55.7156, position (cm) = (-38.864,54.0916,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 55.7156, position (cm) = (-38.864,54.0916,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 55.5743, position (cm) = (-37.4977,50.7932,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 1.49783, position (cm) = (44.4247,32.3353,200), weight = 0.0625 - neutron, kinetic energy (MeV) = 2.00912, position (cm) = (39.0981,14.8128,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.0957041, position (cm) = (6.67542,-8.79931,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 3.23956e-07, position (cm) = (46.8689,-11.4379,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 2.90564, position (cm) = (41.5657,-6.2893,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 4.58984, position (cm) = (43.0647,-4.712,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 0.162743, position (cm) = (22.2556,-2.60161,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 11.887, position (cm) = (59.5332,-4.6327,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 11.7363, position (cm) = (59.8594,-5.96003,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.774058, position (cm) = (39.4556,3.89627,200), weight = 0.03125 - gamma, kinetic energy (MeV) = 0.145892, position (cm) = (38.7759,2.6136,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 6.23465, position (cm) = (38.2473,29.0142,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 7.16127, position (cm) = (57.0238,21.0235,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 7.16127, position (cm) = (57.0238,21.0235,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 7.16127, position (cm) = (57.0238,21.0235,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 6.55638, position (cm) = (37.1831,31.0151,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 33.6224, position (cm) = (35.9135,24.2513,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 34.1433, position (cm) = (46.7612,20.0067,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 3.27175e-07, position (cm) = (73.6432,21.361,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 33.6744, position (cm) = (34.547,53.5468,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 33.3814, position (cm) = (47.0138,48.9428,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 33.3814, position (cm) = (47.0138,48.9428,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 33.3814, position (cm) = (47.0138,48.9428,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 33.9626, position (cm) = (41.2348,42.7586,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 33.9626, position (cm) = (41.2348,42.7586,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.496344, position (cm) = (40.1734,36.8302,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.468016, position (cm) = (14.842,12.2249,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 3.24798, position (cm) = (14.3754,9.52293,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.492593, position (cm) = (13.1261,13.8471,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 1.59487, position (cm) = (31.2541,7.34697,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 1.01785, position (cm) = (7.91274,-21.6709,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 9.68247, position (cm) = (-7.6979,-1.53727,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 63.6601, position (cm) = (-11.7774,55.0519,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 63.6601, position (cm) = (-11.7774,55.0519,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 63.5387, position (cm) = (-13.2568,54.2511,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.381299, position (cm) = (0.482229,35.4381,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 62.3479, position (cm) = (-7.20213,39.0844,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 2.99129, position (cm) = (-10.5521,65.3286,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 0.367438, position (cm) = (3.03778,49.7943,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 24.5278, position (cm) = (-27.269,60.5767,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.103915, position (cm) = (-24.0987,60.1481,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 7.24286, position (cm) = (-26.2997,60.831,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 13.7159, position (cm) = (-25.6411,60.709,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 24.1779, position (cm) = (-26.0033,58.1627,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 2.47399, position (cm) = (-28.7757,76.8281,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.50756, position (cm) = (-10.794,69.3608,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.164697, position (cm) = (4.07205,69.9234,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 11.3183, position (cm) = (-8.98064,64.2327,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 11.5648, position (cm) = (-8.88523,64.2695,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 11.5648, position (cm) = (-8.88523,64.2695,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 8.08624, position (cm) = (-22.1453,47.5697,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.293822, position (cm) = (24.4063,55.6409,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 27.5236, position (cm) = (33.6051,66.1577,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 34.7447, position (cm) = (32.2033,65.3285,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.43577, position (cm) = (32.724,58.5406,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.312546, position (cm) = (42.956,62.9561,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 6.37658, position (cm) = (40.0423,58.9591,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 1.09396, position (cm) = (58.4453,35.0718,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 33.7703, position (cm) = (25.3567,40.1904,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.67893, position (cm) = (23.0998,32.5549,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 33.7962, position (cm) = (32.3785,43.4523,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 34.8372, position (cm) = (24.6492,53.2927,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 34.5507, position (cm) = (29.9397,54.7052,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.853981, position (cm) = (-5.93843,-49.424,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.155995, position (cm) = (-5.39513,-40.6163,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.125051, position (cm) = (-5.24669,-45.051,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.072779, position (cm) = (-13.0541,29.7847,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.091963, position (cm) = (-46.4264,13.6992,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.79681, position (cm) = (-27.4211,12.9978,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 1.3017, position (cm) = (-39.223,27.5928,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 0.538258, position (cm) = (-44.8915,29.0931,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 22.5323, position (cm) = (-7.52584,-58.4118,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.137339, position (cm) = (-55.7935,8.55365,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 3.39906, position (cm) = (-43.2319,-9.31737,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.476465, position (cm) = (-55.8485,9.89793,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.115011, position (cm) = (-57.996,12.7108,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 0.000616528, position (cm) = (-63.9263,4.78252,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 22.4293, position (cm) = (-53.9609,11.235,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 47.8449, position (cm) = (-56.199,11.0524,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 47.8449, position (cm) = (-56.199,11.0524,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 47.8449, position (cm) = (-56.199,11.0524,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 47.8449, position (cm) = (-56.199,11.0524,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 53.9484, position (cm) = (-56.7157,10.9326,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.0747504, position (cm) = (-50.9788,20.7797,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 1.4248, position (cm) = (-59.9918,6.52852,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.188175, position (cm) = (-62.4758,-3.55377,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 3.11785, position (cm) = (-55.7895,30.9742,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 1.19405e-05, position (cm) = (-48.1178,18.6925,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.326773, position (cm) = (-51.6975,-7.67595,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 27.9738, position (cm) = (-60.3188,7.81859,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 53.4772, position (cm) = (-61.1179,7.99456,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 53.4772, position (cm) = (-61.1179,7.99456,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.0694152, position (cm) = (21.8735,36.6714,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 90.7475, position (cm) = (-46.9576,-3.13368,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 91.693, position (cm) = (-32.4864,-12.4807,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 0.278299, position (cm) = (-18.3089,-4.06028,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 0.961433, position (cm) = (-21.3322,-3.54784,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 13.0181, position (cm) = (-23.6015,-4.37359,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 49.3212, position (cm) = (-23.8162,-0.337218,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 4.21578, position (cm) = (-30.5346,-0.839352,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.798376, position (cm) = (-32.8718,-2.11166,200), weight = 0.00390625 - e-, kinetic energy (MeV) = 2.90165, position (cm) = (-32.8705,-2.11223,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 0.816643, position (cm) = (-47.1112,-10.3113,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 42.1859, position (cm) = (-43.2241,-1.1739,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 42.1859, position (cm) = (-43.2241,-1.1739,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 42.1859, position (cm) = (-43.2241,-1.1739,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 90.3958, position (cm) = (-34.068,-0.719767,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 62.6833, position (cm) = (-24.6899,-11.5912,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 1.08123, position (cm) = (-10.5868,21.0347,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 1.39236, position (cm) = (4.4264,17.5585,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 0.735675, position (cm) = (-3.41278,2.81842,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.280976, position (cm) = (-13.6019,18.3124,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-10.7275,38.0751,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 1.56555, position (cm) = (-10.0948,0.655407,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 19.6746, position (cm) = (-6.90717,3.56592,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 19.6746, position (cm) = (-6.90717,3.56592,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 1.03322, position (cm) = (-3.11826,-3.77936,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 3.98398, position (cm) = (22.7586,28.0286,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 40.3013, position (cm) = (56.0254,-109.342,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 40.3013, position (cm) = (56.0254,-109.342,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 1.18241, position (cm) = (53.6812,-95.0323,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.06189, position (cm) = (48.3555,-97.4537,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 1.24982, position (cm) = (41.7011,-95.8528,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 41.1379, position (cm) = (86.582,-123.316,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 41.1379, position (cm) = (86.582,-123.316,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.131644, position (cm) = (86.4978,-120.704,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.0678483, position (cm) = (89.3925,-124.204,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.146972, position (cm) = (85.4085,-124.135,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.209663, position (cm) = (88.2144,-126.817,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 18.4065, position (cm) = (87.7916,-127.572,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 2.30053, position (cm) = (100.015,-123.012,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.524513, position (cm) = (60.7372,-121.903,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 4.78955e-06, position (cm) = (95.4967,-128.988,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.05672e-05, position (cm) = (69.7114,-90.6707,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 39.549, position (cm) = (74.6887,-109.278,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 39.549, position (cm) = (74.6887,-109.278,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.437656, position (cm) = (66.316,-102.294,200), weight = 6.10352e-05 - e-, kinetic energy (MeV) = 0.759694, position (cm) = (68.9842,-106.271,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 1.96472, position (cm) = (76.5854,-101.873,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 10.4653, position (cm) = (76.4407,-101.673,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.0772932, position (cm) = (79.987,-107.1,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 1.96325, position (cm) = (75.3908,-101.785,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 10.0788, position (cm) = (76.4284,-101.843,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 2.20961, position (cm) = (81.1242,-126.544,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.211903, position (cm) = (99.2285,-136.294,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 11.6424, position (cm) = (115.755,-116.887,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 11.4082, position (cm) = (89.4928,-117.333,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 11.4082, position (cm) = (89.4928,-117.333,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.11637, position (cm) = (81.5629,-109.039,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.0846281, position (cm) = (73.2821,-114.924,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 2.32761, position (cm) = (90.2123,-116.351,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 8.13864, position (cm) = (89.6864,-117.864,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 97.5337, position (cm) = (-10.4967,78.8758,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 1.92893, position (cm) = (-8.1322,63.4177,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 1.92893, position (cm) = (-8.1322,63.4177,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 3.50944e-06, position (cm) = (-22.296,55.2411,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 20.6069, position (cm) = (-4.71853,67.9746,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 0.70415, position (cm) = (9.9862,-34.7479,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 4.38136, position (cm) = (-90.2409,3.53658,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.134648, position (cm) = (-76.0744,9.86439,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.66333, position (cm) = (-78.9525,8.84057,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.1067, position (cm) = (-78.9782,8.86136,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 6.01138, position (cm) = (-78.9596,8.8446,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 99.1817, position (cm) = (6.04217,44.7605,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 99.1049, position (cm) = (5.74899,44.1569,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.218901, position (cm) = (4.62076,52.521,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 9.14255, position (cm) = (-8.50677,44.5245,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 51.9604, position (cm) = (-6.80383,111.766,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 51.9604, position (cm) = (-6.80383,111.766,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.399329, position (cm) = (14.1249,81.5503,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 0.0687358, position (cm) = (-2.78778,78.6997,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 0.161768, position (cm) = (-5.13495,74.7918,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 0.275421, position (cm) = (-4.99051,77.1187,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 2.49676, position (cm) = (-11.2563,85.4064,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 42.9986, position (cm) = (-7.04187,77.8233,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 42.9986, position (cm) = (-7.04187,77.8233,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 1.17301, position (cm) = (-29.3353,-105.539,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.0693081, position (cm) = (-21.2609,-106.654,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 29.6423, position (cm) = (6.4309,-107.024,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 1.22635, position (cm) = (-2.52445,-105.33,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 2.99679, position (cm) = (14.2695,-96.4058,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 4.34368, position (cm) = (45.05,-102.193,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 30.2269, position (cm) = (4.85881,-99.3281,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 14.2927, position (cm) = (4.86964,-98.8273,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 39.4116, position (cm) = (24.5484,-100.073,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 39.4116, position (cm) = (24.5484,-100.073,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 40.4352, position (cm) = (1.816,-131.677,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 2.8369, position (cm) = (-7.98731,-122.08,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 0.0318065, position (cm) = (-3.28548,-134.337,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 1.15898, position (cm) = (1.04819,-131.713,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 0.091653, position (cm) = (-9.8773,-130.626,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 2.20339, position (cm) = (-10.0317,-101.674,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.33973, position (cm) = (-19.1646,-118.981,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.46735, position (cm) = (-18.0823,-103.304,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.14071, position (cm) = (-45.2977,-122.574,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.96216, position (cm) = (10.623,-112.499,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 5.09028, position (cm) = (-10.749,-94.2523,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 7.9807, position (cm) = (-15.6014,-114.884,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 14.5178, position (cm) = (-16.9864,-115.971,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 39.7351, position (cm) = (-19.9658,-118.508,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 32.6704, position (cm) = (16.1702,-78.275,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 36.4845, position (cm) = (33.7417,-29.7804,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.109019, position (cm) = (34.2015,-32.9119,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.78516, position (cm) = (33.7857,-30.9077,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 2.42653, position (cm) = (33.7981,-31.3647,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 2.66141, position (cm) = (40.1354,-31.0795,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 5.75105, position (cm) = (42.3539,-28.6796,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.47208, position (cm) = (22.1111,-95.1098,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 3.31492, position (cm) = (32.5396,-91.2351,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 4.65765, position (cm) = (32.1141,-85.3646,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 1.08346, position (cm) = (36.1077,-87.3727,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 1.80524, position (cm) = (36.4481,-87.4131,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.203279, position (cm) = (68.469,-83.1585,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.226721, position (cm) = (30.965,-63.7709,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 1.10076, position (cm) = (24.669,-80.6306,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.55282, position (cm) = (21.5717,-76.7069,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.77844, position (cm) = (20.9649,-82.0505,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 39.0823, position (cm) = (24.7659,-79.6077,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 40.061, position (cm) = (25.506,-83.1532,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 40.1548, position (cm) = (9.42347,-74.0245,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 40.8864, position (cm) = (9.03806,-73.6245,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 40.8864, position (cm) = (9.03806,-73.6245,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 40.8864, position (cm) = (9.03806,-73.6245,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 40.8864, position (cm) = (9.03806,-73.6245,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 40.8864, position (cm) = (9.03806,-73.6245,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 41.1938, position (cm) = (13.6514,-75.1977,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 41.2659, position (cm) = (11.2409,-79.4675,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 41.4648, position (cm) = (9.74446,-85.0265,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 41.1814, position (cm) = (11.3496,-83.0377,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.881032, position (cm) = (22.0728,-94.7621,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 2.19116, position (cm) = (23.6203,-95.517,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 1.79986, position (cm) = (9.073,-98.2018,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 7.38603, position (cm) = (-13.9672,-83.7547,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.42452, position (cm) = (-1.41864,-60.7049,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 98.7218, position (cm) = (-20.3759,43.5336,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 99.2069, position (cm) = (-22.5175,44.2314,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 20.0615, position (cm) = (-54.8074,-5.22845,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.132613, position (cm) = (-85.4151,-15.6402,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 3.36176, position (cm) = (-75.0335,-33.5789,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.862726, position (cm) = (-107.013,-35.4151,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 4.78751, position (cm) = (-110.641,-30.4997,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 7.10763, position (cm) = (-76.4261,-21.2274,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 2.41017, position (cm) = (-36.8173,9.54888,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 2.15654e-05, position (cm) = (-29.827,17.6854,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 20.5204, position (cm) = (-53.608,4.43517,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 20.5204, position (cm) = (-53.608,4.43517,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 18.6669, position (cm) = (-35.9713,-12.9137,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 47.455, position (cm) = (-26.4682,31.4499,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 47.4123, position (cm) = (-25.7333,31.0813,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 1.4299, position (cm) = (-41.7053,36.8623,200), weight = 0.03125 - neutron, kinetic energy (MeV) = 97.4944, position (cm) = (-41.7254,26.5138,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 4.35619, position (cm) = (-39.7275,29.7085,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 73.2584, position (cm) = (-38.351,25.3944,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 97.8257, position (cm) = (-15.5238,94.443,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 1.33067, position (cm) = (-8.82299,63.257,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 68.3081, position (cm) = (-17.2297,69.9911,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 99.0723, position (cm) = (-13.4169,73.1985,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.101499, position (cm) = (-9.44711,74.0169,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 4.9557, position (cm) = (-18.4038,72.8627,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 11.8493, position (cm) = (-13.2902,71.5085,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 53.4726, position (cm) = (-15.2467,77.2529,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 79.0959, position (cm) = (-31.1341,29.7378,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 98.5099, position (cm) = (-37.9008,32.3831,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 99.1129, position (cm) = (-26.2056,37.1145,200), weight = 0.03125 - neutron, kinetic energy (MeV) = 8.88014, position (cm) = (-74.231,12.5646,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 8.88014, position (cm) = (-74.231,12.5646,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 8.88014, position (cm) = (-74.231,12.5646,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 3.92164, position (cm) = (-75.7656,25.5977,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 5.38185, position (cm) = (-86.6103,-17.5102,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 4.25653, position (cm) = (-68.1483,-29.09,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 4.44267, position (cm) = (-66.2989,-26.1002,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.0815882, position (cm) = (-63.8724,9.38482,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 2.22305, position (cm) = (-39.9395,37.5529,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 77.0912, position (cm) = (-8.97052,57.3525,200), weight = 0.03125 - neutron, kinetic energy (MeV) = 98.9252, position (cm) = (-21.1734,55.6633,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 98.9252, position (cm) = (-21.1734,55.6633,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 98.8348, position (cm) = (-21.3367,56.8318,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 98.9216, position (cm) = (-21.1882,55.5729,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.0714428, position (cm) = (-19.7216,50.9012,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.492887, position (cm) = (-23.1705,65.9568,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.517837, position (cm) = (-85.1233,37.0598,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.287193, position (cm) = (-83.7219,44.4851,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 1.35483, position (cm) = (-77.731,44.2798,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 5.27421, position (cm) = (-37.8472,57.5707,200), weight = 0.03125 - gamma, kinetic energy (MeV) = 0.113993, position (cm) = (-137.396,51.8212,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 25.4047, position (cm) = (-132.287,-13.9224,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.131009, position (cm) = (-0.940871,-35.3068,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 2.88278, position (cm) = (-140.64,-171.66,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.37391, position (cm) = (-133.013,-172.026,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 1.45946, position (cm) = (-77.9952,-112.627,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.19448, position (cm) = (-113.348,-124.19,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 2.20211, position (cm) = (-91.7349,-130.814,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 1.33524, position (cm) = (-131.824,-133.32,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 1.32814, position (cm) = (-107.143,-136.264,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.000529304, position (cm) = (-111.763,-138.461,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.343957, position (cm) = (-103.414,-124.966,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 4.01799, position (cm) = (-102.266,-130.251,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.55133, position (cm) = (-91.44,-123.142,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.135784, position (cm) = (-90.3337,-129.998,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.15272, position (cm) = (-135.371,-144.182,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 0.000231753, position (cm) = (-126.933,-163.375,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.19027, position (cm) = (-145.814,-137.007,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 16.0979, position (cm) = (-155.695,-144.557,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0814131, position (cm) = (-157.881,-138.856,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.0527571, position (cm) = (-150.201,-136.882,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.215761, position (cm) = (-181.745,-149.971,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.150325, position (cm) = (-199.742,-128.549,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 8.0654e-07, position (cm) = (-140.037,-145.458,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 5.67291e-07, position (cm) = (-147.427,-116.705,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 0.156006, position (cm) = (-139.764,-112.111,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.00892996, position (cm) = (-137.719,-112.049,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.138715, position (cm) = (-90.6692,-138.683,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 3.43261, position (cm) = (-89.9576,-142.94,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.184815, position (cm) = (-69.0375,-158.699,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 3.46133, position (cm) = (-89.497,-143.203,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 47.7355, position (cm) = (-89.6816,-144.346,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 60.448, position (cm) = (-56.5765,-155.776,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 0.0372081, position (cm) = (-55.2474,-157.667,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 60.9397, position (cm) = (-57.5389,-152.406,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 64.7754, position (cm) = (-69.2368,-197.81,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 64.7754, position (cm) = (-69.2368,-197.81,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 64.7754, position (cm) = (-69.2368,-197.81,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 1.62688, position (cm) = (-94.9724,-122.118,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.352075, position (cm) = (-79.4295,-94.7766,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 19.3696, position (cm) = (16.3186,-76.9849,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 19.3696, position (cm) = (16.3186,-76.9849,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 0.240375, position (cm) = (14.4931,-86.6954,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.117776, position (cm) = (-7.93328,-71.7106,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 4.95286, position (cm) = (-12.1215,-73.3364,200), weight = 5.96046e-08 - gamma, kinetic energy (MeV) = 0.159724, position (cm) = (-10.4459,-64.4239,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 0.00767466, position (cm) = (-2.99698,-72.3902,200), weight = 5.96046e-08 - gamma, kinetic energy (MeV) = 6.09311, position (cm) = (-20.9338,-66.0614,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 2.20594, position (cm) = (-8.54684,-65.678,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 8.32403, position (cm) = (37.2066,-88.0425,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.153211, position (cm) = (41.266,-100.708,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.231059, position (cm) = (35.8866,-88.5692,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 0.927757, position (cm) = (39.2758,-94.0932,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 2.43119, position (cm) = (47.6213,-82.3059,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.186787, position (cm) = (39.7333,-71.79,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.65003, position (cm) = (42.3639,-73.2289,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 6.75879, position (cm) = (61.0435,-80.1684,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 7.02334, position (cm) = (61.124,-80.1739,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 26.967, position (cm) = (41.1523,-71.4244,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 63.6832, position (cm) = (-103.82,-129.121,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 63.6832, position (cm) = (-103.82,-129.121,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 63.4634, position (cm) = (-100.062,-129,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 63.134, position (cm) = (-100.49,-128.951,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.262868, position (cm) = (-100.299,-120.204,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.612942, position (cm) = (-103.522,-127.252,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 0.0353567, position (cm) = (-76.6432,-137.263,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 4.48073, position (cm) = (-78.1092,-129.111,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.56964, position (cm) = (-60.5016,-134.619,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-72.7585,-133.287,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 9.07401, position (cm) = (-83.8724,-129.096,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 9.07401, position (cm) = (-83.8724,-129.096,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 63.6915, position (cm) = (-103.962,-130.148,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 46.1115, position (cm) = (-96.6868,-99.4537,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 1.63583, position (cm) = (-97.622,-95.9902,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 45.9837, position (cm) = (-97.5979,-92.477,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 46.2041, position (cm) = (-103.564,-95.2378,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 1.64273, position (cm) = (-104.198,-104.84,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 2.20875, position (cm) = (-97.1235,-102.39,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.28623, position (cm) = (-95.3821,-101.363,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 63.7512, position (cm) = (-72.8992,-89.0813,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 63.7512, position (cm) = (-72.8992,-89.0813,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 63.7512, position (cm) = (-72.8992,-89.0813,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 63.5274, position (cm) = (-75.1669,-88.7858,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 63.2859, position (cm) = (-75.1306,-88.7493,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 62.9923, position (cm) = (-70.5853,-87.9184,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 62.9923, position (cm) = (-70.5853,-87.9184,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 20.2636, position (cm) = (-82.7123,-87.2313,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 20.1645, position (cm) = (-79.6359,-86.2439,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 15.8416, position (cm) = (-58.0803,-67.2002,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 5.21439, position (cm) = (-55.5955,-74.8951,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 66.262, position (cm) = (-55.2748,-86.0562,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.39132, position (cm) = (-93.6515,-54.5629,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 13.7937, position (cm) = (-125.479,-46.8989,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.56492, position (cm) = (-125.974,-48.8344,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 3.22063, position (cm) = (-123.271,-49.3709,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 5.999, position (cm) = (-128.824,-44.845,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 26.9691, position (cm) = (-123.995,-46.0331,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 26.9691, position (cm) = (-123.995,-46.0331,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 27.8009, position (cm) = (-121.52,-51.0272,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 1.26901, position (cm) = (-122.176,-30.5835,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.0969647, position (cm) = (-125.832,-35.5149,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 5.29624, position (cm) = (-128.027,-54.1819,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 5.29624, position (cm) = (-128.027,-54.1819,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.165386, position (cm) = (-102.03,-61.6031,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 24.4831, position (cm) = (-104.827,-22.8324,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.0834225, position (cm) = (-96.5757,-26.6855,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 1.86005, position (cm) = (-93.7019,-41.3212,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 24.2337, position (cm) = (-96.2564,-30.1165,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 24.2337, position (cm) = (-96.2564,-30.1165,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 24.2337, position (cm) = (-96.2564,-30.1165,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 24.2337, position (cm) = (-96.2564,-30.1165,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.0818581, position (cm) = (-114.724,-40.4382,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.799278, position (cm) = (-122.343,-63.2183,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 56.6272, position (cm) = (2.05361,-55.3684,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 3.2968, position (cm) = (11.6161,-69.7853,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.207585, position (cm) = (16.0921,-64.9185,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 11.5832, position (cm) = (23.1587,-75.9533,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 58.1245, position (cm) = (15.1166,-79.8418,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 58.1245, position (cm) = (15.1166,-79.8418,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 1.2744, position (cm) = (22.8075,-75.712,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 40.4381, position (cm) = (8.39523,-78.5516,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 58.5322, position (cm) = (12.129,-67.9621,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.0853217, position (cm) = (-2.33449,-66.9246,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.809955, position (cm) = (2.7812,-70.9151,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.324103, position (cm) = (-3.10916,-62.8629,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 4.1039, position (cm) = (4.31031,-70.4469,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 5.02368, position (cm) = (-1.04691,-72.2789,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.125132, position (cm) = (2.06492,-64.7557,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 41.9228, position (cm) = (1.55412,-64.1397,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.413051, position (cm) = (-7.18079,-28.5505,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.486277, position (cm) = (-27.6233,-10.2525,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 4.52064, position (cm) = (-31.8955,-12.433,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.257836, position (cm) = (-24.3317,-12.4636,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.741962, position (cm) = (-18.3727,-16.164,200), weight = 0.000244141 - e-, kinetic energy (MeV) = 2.06012, position (cm) = (-18.2745,-16.5455,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 5.80485, position (cm) = (-10.3503,-8.65942,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 33.9445, position (cm) = (-41.2806,-8.71296,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.055776, position (cm) = (-33.8266,-12.898,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.586463, position (cm) = (-35.0457,-16.478,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.119169, position (cm) = (-29.5243,-15.5897,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 2.10399, position (cm) = (-23.9364,-17.7081,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 10.8028, position (cm) = (-26.6886,-20.77,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.928649, position (cm) = (-6.40014,-34.4688,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 1.4091, position (cm) = (-12.9788,-47.9179,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 1.59153, position (cm) = (-16.3597,-43.905,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 3.15878, position (cm) = (-31.7094,-20.8751,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.414834, position (cm) = (-55.717,-22.4099,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.115179, position (cm) = (-28.7076,9.14728,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 4.4086, position (cm) = (-41.0085,12.637,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.416323, position (cm) = (-41.9067,5.07716,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 0.534042, position (cm) = (-37.331,10.8778,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.229896, position (cm) = (-48.4742,12.7453,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 34.0372, position (cm) = (-41.931,15.4954,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 34.0372, position (cm) = (-41.931,15.4954,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 33.825, position (cm) = (-40.6454,13.9949,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 34.0372, position (cm) = (-41.931,15.4954,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 24.4799, position (cm) = (-30.8197,3.14454,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 33.8016, position (cm) = (-45.0885,13.7598,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 18.3432, position (cm) = (-51.6964,17.7218,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 1.55587, position (cm) = (-16.6367,-9.23125,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.000144363, position (cm) = (98.8102,-10.1037,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 1.64291, position (cm) = (-71.182,-49.1735,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 27.401, position (cm) = (-62.7425,-38.5113,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 65.6425, position (cm) = (-60.2616,-54.0365,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 65.5869, position (cm) = (-60.9971,-54.5133,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.234113, position (cm) = (-63.731,-55.6009,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 3.73174e-05, position (cm) = (-51.6472,-74.8762,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 4.53777, position (cm) = (-57.577,-49.0291,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 13.1313, position (cm) = (-55.8432,-48.0749,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 0.366418, position (cm) = (-58.8705,-44.2488,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 0.110842, position (cm) = (-67.3749,-45.2472,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 56.7347, position (cm) = (-67.7467,-47.282,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 0.000246431, position (cm) = (54.8369,16.9401,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 97.3219, position (cm) = (63.6284,26.4046,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.28065, position (cm) = (61.9729,25.6454,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 69.9018, position (cm) = (63.2645,25.2001,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 97.5915, position (cm) = (63.9711,26.2143,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 97.5915, position (cm) = (63.9711,26.2143,200), weight = 0.000488281 - e+, kinetic energy (MeV) = 0.930595, position (cm) = (59.1284,30.5551,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (59.2686,30.5077,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.0841203, position (cm) = (62.481,28.1697,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 9.24393, position (cm) = (55.1417,25.4907,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 12.7522, position (cm) = (49.4958,23.7759,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 97.5915, position (cm) = (63.9711,26.2143,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 98.1664, position (cm) = (63.8102,33.2772,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.475839, position (cm) = (31.9558,17.5581,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 1.92243, position (cm) = (38.009,12.9378,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 31.1348, position (cm) = (36.799,24.8738,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 31.1348, position (cm) = (36.799,24.8738,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 31.4006, position (cm) = (33.0967,28.4658,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 31.4006, position (cm) = (33.0967,28.4658,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.804288, position (cm) = (32.8383,24.605,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.128432, position (cm) = (36.7651,45.4243,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 45.8869, position (cm) = (32.6323,29.1332,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.934829, position (cm) = (80.6548,44.1828,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.234382, position (cm) = (32.882,10.8452,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.328316, position (cm) = (26.1137,14.3724,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 1.07642, position (cm) = (16.4724,64.3723,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 60.5794, position (cm) = (28.5612,41.2796,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.225007, position (cm) = (30.4607,39.509,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.528388, position (cm) = (38.2402,30.8192,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 2.58024, position (cm) = (36.6498,44.5791,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.164398, position (cm) = (37.6591,-13.5118,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 9.18503, position (cm) = (30.2182,-12.4015,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 28.6406, position (cm) = (29.7167,-12.8422,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 51.1152, position (cm) = (24.1077,-24.5499,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 51.1152, position (cm) = (24.1077,-24.5499,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.191986, position (cm) = (24.678,-23.4282,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.547864, position (cm) = (25.6346,-25.941,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 3.58678, position (cm) = (24.6931,-23.5876,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 34.99, position (cm) = (24.8528,-23.9491,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 50.5979, position (cm) = (30.3468,-28.5908,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.72738, position (cm) = (26.5887,-2.55774,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.29176, position (cm) = (24.4124,7.32777,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.0991205, position (cm) = (42.453,49.0858,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.149837, position (cm) = (32.2256,43.868,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.606128, position (cm) = (35.7295,36.6382,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 1.56523, position (cm) = (53.9429,30.7229,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.081798, position (cm) = (30.24,39.1024,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 10.8476, position (cm) = (28.8837,38.2822,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 13.4889, position (cm) = (28.8046,38.0487,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 59.4369, position (cm) = (27.4134,46.1618,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 60.36, position (cm) = (30.3891,41.2192,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 44.2244, position (cm) = (33.0637,40.3691,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.25132, position (cm) = (34.8438,43.2251,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.234389, position (cm) = (23.4191,53.2692,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.545953, position (cm) = (35.2416,35.652,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.375566, position (cm) = (20.8511,38.9744,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 1.38544, position (cm) = (20.9956,39.2102,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 59.9585, position (cm) = (34.1673,44.3691,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 59.4326, position (cm) = (33.9626,44.1021,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.363202, position (cm) = (-12.0135,30.5764,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 0.462835, position (cm) = (24.3171,38.0973,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 1.747, position (cm) = (23.9567,29.1426,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 2.47846, position (cm) = (24.4486,25.8887,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 1.82634, position (cm) = (11.3062,28.54,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 0.286765, position (cm) = (51.625,25.817,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 22.0408, position (cm) = (49.1558,3.44994,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 21.5187, position (cm) = (55.7058,5.11835,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.99119, position (cm) = (31.9167,-11.8086,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 11.1873, position (cm) = (45.4813,6.89117,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 11.1873, position (cm) = (45.4813,6.89117,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.975664, position (cm) = (51.1446,-2.36348,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 5.15861, position (cm) = (89.2755,34.1791,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 24.1121, position (cm) = (80.4748,16.4782,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 25.936, position (cm) = (-49.7159,91.1853,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 25.8201, position (cm) = (-50.4691,91.1359,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 24.5244, position (cm) = (-47.8192,88.9116,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 25.174, position (cm) = (-47.7707,89.4448,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 2.30607, position (cm) = (-28.9267,94.1305,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.18704, position (cm) = (-29.2811,85.7103,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 2.40228e-06, position (cm) = (-18.4469,61.6517,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 19.7123, position (cm) = (11.9641,45.2784,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.140042, position (cm) = (16.1021,45.827,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 20.5977, position (cm) = (10.9264,38.027,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 20.5977, position (cm) = (10.9264,38.027,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.308745, position (cm) = (-39.2935,41.5729,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.566364, position (cm) = (-55.0539,40.7689,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-16.3807,63.7799,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 7.43114, position (cm) = (-15.3271,56.7742,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.06458, position (cm) = (-22.3286,64.953,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 19.5934, position (cm) = (-11.1791,59.5064,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.0964787, position (cm) = (-21.6611,57.3266,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.428982, position (cm) = (-17.0217,65.2116,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 1.16256, position (cm) = (-45.8729,29.6745,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.112232, position (cm) = (-17.0574,61.3136,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.27239, position (cm) = (-21.0532,69.0906,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 20.9757, position (cm) = (-15.8482,65.3299,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 5.62885, position (cm) = (-13.1404,57.2738,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.251057, position (cm) = (-20.3519,54.3323,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 5.85957, position (cm) = (-21.0088,55.6882,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.467722, position (cm) = (-20.3757,35.5134,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.778591, position (cm) = (-30.1334,35.2,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.377712, position (cm) = (-35.6913,33.853,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 37.4207, position (cm) = (8.08334,-43.238,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 37.2863, position (cm) = (6.9832,-39.0465,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 37.2054, position (cm) = (7.11559,-39.8752,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 37.2863, position (cm) = (6.9832,-39.0465,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 1.13216, position (cm) = (4.89625,-39.8084,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.185587, position (cm) = (10.1082,-48.2564,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 1.31285, position (cm) = (9.6194,-40.5958,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.07875, position (cm) = (-17.8648,-7.39717,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.983482, position (cm) = (59.1309,-9.5972,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 9.07287, position (cm) = (8.00752,-38.2533,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 17.934, position (cm) = (17.5974,-58.8089,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.00626094, position (cm) = (20.2412,-38.1143,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.0931764, position (cm) = (1.73495,-34.3223,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 33.6404, position (cm) = (17.1926,-61.8373,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 1.57995, position (cm) = (19.9831,-41.2585,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.197161, position (cm) = (41.6904,2.70909,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 1.4046, position (cm) = (37.6536,9.02616,200), weight = 0.00390625 - proton, kinetic energy (MeV) = 65.8649, position (cm) = (37.7608,8.24997,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.514741, position (cm) = (35.6053,8.17382,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 25.9321, position (cm) = (35.7286,4.52888,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.246802, position (cm) = (41.4595,4.43055,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.00203261, position (cm) = (33.5965,1.78887,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 4.65589, position (cm) = (37.0653,5.43671,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 99.2505, position (cm) = (34.6347,2.00014,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 59.5812, position (cm) = (33.9853,4.80107,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 99.4072, position (cm) = (39.1898,3.90729,200), weight = 0.015625 - neutron, kinetic energy (MeV) = 75.5773, position (cm) = (-19.5588,-24.9295,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 0.164905, position (cm) = (-20.2693,-42.4003,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 1.59269, position (cm) = (-7.73859,-18.6463,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 76.1396, position (cm) = (-18.8495,-36.1972,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 75.7016, position (cm) = (-25.9859,-43.3703,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 75.9075, position (cm) = (-28.0252,-37.505,200), weight = 0.03125 - neutron, kinetic energy (MeV) = 64.713, position (cm) = (-23.0914,-56.4185,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 2.27769, position (cm) = (19.4554,-49.2553,200), weight = 0.03125 - neutron, kinetic energy (MeV) = 7.34662, position (cm) = (78.2107,7.47598,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 7.34662, position (cm) = (78.2107,7.47598,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 7.18866, position (cm) = (76.6516,10.1895,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 37.1364, position (cm) = (71.3374,-9.66282,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.0884489, position (cm) = (78.8127,47.1435,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 36.3496, position (cm) = (48.6789,60.7914,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 36.3496, position (cm) = (48.6789,60.7914,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 6.24847, position (cm) = (37.3061,113.963,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 0.122558, position (cm) = (26.5796,127.493,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 6.93586e-06, position (cm) = (18.4565,70.9049,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 36.3621, position (cm) = (20.3298,85.0341,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.421267, position (cm) = (9.1627,90.5386,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 1.74982, position (cm) = (27.8697,74.6888,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 0.00482491, position (cm) = (36.3012,102.345,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.124627, position (cm) = (21.4445,80.2879,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 36.2163, position (cm) = (18.8663,82.4039,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 36.3621, position (cm) = (20.3298,85.0341,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.388551, position (cm) = (18.5726,78.2942,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 2.45719, position (cm) = (21.7906,81.2939,200), weight = 1.49012e-08 - neutron, kinetic energy (MeV) = 36.095, position (cm) = (22.0305,82.2964,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 2.77082, position (cm) = (15.4003,81.0706,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 0.0090065, position (cm) = (12.4208,81.3046,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 0.127355, position (cm) = (-2.86279,99.414,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 0.485411, position (cm) = (4.66336,90.7116,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 1.444, position (cm) = (45.4707,64.1927,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 6.06725, position (cm) = (14.8036,71.6545,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.469505, position (cm) = (30.7272,70.4193,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 0.089345, position (cm) = (16.8303,68.0277,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 2.19913, position (cm) = (22.3654,77.9571,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 5.85632, position (cm) = (15.7796,71.4629,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 6.37641, position (cm) = (30.9954,64.2127,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.97503, position (cm) = (38.6411,65.6085,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 11.9457, position (cm) = (42.1547,70.3315,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.459169, position (cm) = (26.1162,85.5398,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.753659, position (cm) = (32.1197,85.043,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.816221, position (cm) = (25.8704,83.3601,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.23013, position (cm) = (22.3439,85.5362,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 12.0966, position (cm) = (66.623,96.2823,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 12.0966, position (cm) = (66.623,96.2823,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 12.0966, position (cm) = (66.623,96.2823,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 1.12382, position (cm) = (57.2836,72.4137,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 0.208888, position (cm) = (51.1374,91.3898,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 0.166977, position (cm) = (41.2507,108.997,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 0.350946, position (cm) = (41.8556,107.169,200), weight = 5.96046e-08 - gamma, kinetic energy (MeV) = 0.46002, position (cm) = (51.9399,117.07,200), weight = 5.96046e-08 - gamma, kinetic energy (MeV) = 4.64757, position (cm) = (40.3969,105.642,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 8.94927, position (cm) = (38.8138,110.377,200), weight = 5.96046e-08 - neutron, kinetic energy (MeV) = 2.83825, position (cm) = (105.931,100.627,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 0.0161834, position (cm) = (80.9913,110.312,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 11.219, position (cm) = (85.6366,106.616,200), weight = 1.86265e-09 - neutron, kinetic energy (MeV) = 11.219, position (cm) = (85.6366,106.616,200), weight = 1.86265e-09 - gamma, kinetic energy (MeV) = 0.199856, position (cm) = (83.559,114.932,200), weight = 3.72529e-09 - neutron, kinetic energy (MeV) = 0.00480071, position (cm) = (88.0509,114.95,200), weight = 3.72529e-09 - neutron, kinetic energy (MeV) = 9.02213, position (cm) = (81.6913,99.2819,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.124882, position (cm) = (92.5857,110.011,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 1.83539, position (cm) = (95.5305,114.947,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 0.909071, position (cm) = (89.292,116.159,200), weight = 1.49012e-08 - neutron, kinetic energy (MeV) = 4.21136, position (cm) = (83.989,123.938,200), weight = 7.45058e-09 - neutron, kinetic energy (MeV) = 3.33318e-06, position (cm) = (93.3618,76.8849,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 10.8404, position (cm) = (89.5056,111.486,200), weight = 2.98023e-08 - neutron, kinetic energy (MeV) = 12.5742, position (cm) = (78.407,98.4478,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 0.720234, position (cm) = (76.6417,98.2379,200), weight = 1.19209e-07 - e-, kinetic energy (MeV) = 0.413865, position (cm) = (76.5689,98.3453,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 0.000246301, position (cm) = (66.702,71.0619,200), weight = 1.19209e-07 - neutron, kinetic energy (MeV) = 0.964559, position (cm) = (219.372,-95.2579,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.0694199, position (cm) = (193.354,-72.1824,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.147879, position (cm) = (197.375,-64.6685,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.0972834, position (cm) = (204.151,-78.4853,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.24238, position (cm) = (194.441,-91.1205,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 1.08993, position (cm) = (198.87,-81.2045,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.299844, position (cm) = (203.241,-28.7036,200), weight = 3.72529e-09 - gamma, kinetic energy (MeV) = 0.915274, position (cm) = (190.397,-26.5646,200), weight = 7.45058e-09 - gamma, kinetic energy (MeV) = 0.858681, position (cm) = (128.51,-44.7523,200), weight = 9.31323e-10 - gamma, kinetic energy (MeV) = 1.32378, position (cm) = (182.199,2.31738,200), weight = 2.32831e-10 - neutron, kinetic energy (MeV) = 13.6211, position (cm) = (181.247,-7.37709,200), weight = 1.16415e-10 - neutron, kinetic energy (MeV) = 13.6211, position (cm) = (181.247,-7.37709,200), weight = 5.82077e-11 - neutron, kinetic energy (MeV) = 13.3894, position (cm) = (182.908,-7.39918,200), weight = 1.45519e-11 - neutron, kinetic energy (MeV) = 13.3894, position (cm) = (182.908,-7.39918,200), weight = 7.27596e-12 - neutron, kinetic energy (MeV) = 13.3894, position (cm) = (182.908,-7.39918,200), weight = 7.27596e-12 - neutron, kinetic energy (MeV) = 1.21229, position (cm) = (185.296,-3.12005,200), weight = 2.91038e-11 - gamma, kinetic energy (MeV) = 0.0997938, position (cm) = (166.52,39.4183,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 6.34742, position (cm) = (215.723,83.1712,200), weight = 5.68434e-14 - gamma, kinetic energy (MeV) = 0.392576, position (cm) = (205.944,120.664,200), weight = 1.13687e-13 - gamma, kinetic energy (MeV) = 1.94363, position (cm) = (203.337,124.216,200), weight = 1.13687e-13 - gamma, kinetic energy (MeV) = 4.99116, position (cm) = (220.765,116.316,200), weight = 4.54747e-13 - gamma, kinetic energy (MeV) = 0.659716, position (cm) = (180.211,120.371,200), weight = 3.63798e-12 - gamma, kinetic energy (MeV) = 0.105929, position (cm) = (167.287,80.8696,200), weight = 7.27596e-12 - neutron, kinetic energy (MeV) = 0.0168115, position (cm) = (-12.5403,-54.9703,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 99.2271, position (cm) = (0.72191,-50.2309,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 99.2271, position (cm) = (0.72191,-50.2309,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 1.45907, position (cm) = (48.4983,-30.0407,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 38.6181, position (cm) = (2.68811,-41.7461,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 52.6528, position (cm) = (5.04039,-27.6577,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 1.31988, position (cm) = (8.4312,-14.0824,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.286645, position (cm) = (9.23683,-16.0091,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 26.8406, position (cm) = (7.96618,-13.8457,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.963124, position (cm) = (-5.65313,-63.6951,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.656108, position (cm) = (-8.95748,-63.4373,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 2.24972, position (cm) = (-12.3382,-66.4358,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 35.6448, position (cm) = (-14.2674,-71.1732,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 84.1286, position (cm) = (-10.4509,-74.3823,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 85.3607, position (cm) = (-17.2177,-40.6008,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 85.2854, position (cm) = (-17.6956,-40.458,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 54.3719, position (cm) = (20.2616,-64.3373,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 4.76735, position (cm) = (21.3318,-69.3296,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 4.63009, position (cm) = (20.4149,-67.8913,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 10.2509, position (cm) = (30.0229,-59.6839,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.154855, position (cm) = (18.8129,-65.0523,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 6.61227, position (cm) = (27.0384,-50.2328,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 4.78557, position (cm) = (26.2213,-58.436,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 53.0784, position (cm) = (17.8099,-66.0149,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 54.7673, position (cm) = (14.836,-59.4853,200), weight = 0.0078125 - gamma, kinetic energy (MeV) = 0.671461, position (cm) = (3.37157,-63.1795,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 1.93629, position (cm) = (6.66907,32.1655,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 5.27999, position (cm) = (13.725,22.928,200), weight = 0.015625 - gamma, kinetic energy (MeV) = 2.53312, position (cm) = (32.3066,36.9675,200), weight = 0.03125 - neutron, kinetic energy (MeV) = 7.94923, position (cm) = (26.0485,41.6124,200), weight = 0.125 - neutron, kinetic energy (MeV) = 72.5217, position (cm) = (-10.807,-50.3117,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 72.4108, position (cm) = (-10.4919,-50.1167,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 51.5082, position (cm) = (-12.4402,-45.9727,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 72.578, position (cm) = (-12.9655,-48.3226,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 72.6645, position (cm) = (-13.0292,-48.2711,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 3.09928, position (cm) = (-14.2804,-37.6283,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 48.5176, position (cm) = (-14.3508,-49.6694,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 71.7976, position (cm) = (-17.0004,-46.8922,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 2.76895, position (cm) = (-18.0926,-50.2224,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 4.83134, position (cm) = (-20.159,-53.4179,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 37.3485, position (cm) = (-22.3046,-55.3674,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 69.9698, position (cm) = (-15.9071,-54.1073,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.243418, position (cm) = (-18.6214,-54.6183,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 0.8621, position (cm) = (-18.1632,-55.6765,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 1.88755, position (cm) = (-17.1779,-54.4771,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 4.56121, position (cm) = (-18.4681,-56.7908,200), weight = 0.000976562 - gamma, kinetic energy (MeV) = 7.53984, position (cm) = (-17.0818,-54.5245,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 0.242437, position (cm) = (-7.09231,-43.0506,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 5.83868, position (cm) = (10.3082,67.5513,200), weight = 0.00195312 - neutron, kinetic energy (MeV) = 0.336846, position (cm) = (2.51434,80.2026,200), weight = 0.00195312 - gamma, kinetic energy (MeV) = 0.853476, position (cm) = (2.55651,103.317,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 97.6309, position (cm) = (-1.47379,97.2479,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.302152, position (cm) = (-23.889,94.546,200), weight = 0.0078125 - neutron, kinetic energy (MeV) = 95.7308, position (cm) = (-16.4691,102.998,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.0822589, position (cm) = (-10.4386,99.4725,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-18.3744,101.438,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 84.1113, position (cm) = (-16.9202,105.238,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.428567, position (cm) = (29.9746,80.4877,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 32.7501, position (cm) = (16.4907,83.7606,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 2.05306, position (cm) = (-7.1637,85.2854,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 6.47496, position (cm) = (0.77115,85.2956,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 6.8165, position (cm) = (6.45238,100.086,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.327983, position (cm) = (13.8235,97.7776,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 0.0850507, position (cm) = (3.7748,69.615,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 90.0725, position (cm) = (9.32136,105.953,200), weight = 0.000976562 - neutron, kinetic energy (MeV) = 45.2425, position (cm) = (10.4366,97.3701,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.0908734, position (cm) = (14.3287,98.099,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 72.1261, position (cm) = (34.376,125.515,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 72.1261, position (cm) = (34.376,125.515,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (31.2053,127.389,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.396812, position (cm) = (15.4832,116.755,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 63.4047, position (cm) = (31.4456,123.005,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 8.78611e-06, position (cm) = (-5.45006,99.176,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.274382, position (cm) = (-4.33428,103.833,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 4.78609e-06, position (cm) = (24.6774,93.1013,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 46.4905, position (cm) = (15.0048,106.63,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 47.0542, position (cm) = (12.09,108.245,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 89.0413, position (cm) = (9.54296,108.013,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 90.1152, position (cm) = (8.84483,111.816,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 10.5576, position (cm) = (10.3467,-13.9447,200), weight = 0.0625 - neutron, kinetic energy (MeV) = 1.61745, position (cm) = (2.95344,-9.86434,200), weight = 0.0625 - neutron, kinetic energy (MeV) = 2.05727, position (cm) = (-42.1589,-67.1083,200), weight = 0.00390625 - gamma, kinetic energy (MeV) = 0.162405, position (cm) = (-30.4777,-20.3191,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.137068, position (cm) = (-36.751,-42.9094,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 4.99455, position (cm) = (-49.0748,-49.3809,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.292825, position (cm) = (-39.8173,-37.455,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.1107, position (cm) = (-18.9182,-19.4731,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.616718, position (cm) = (-46.1909,-25.3811,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 3.5201, position (cm) = (-46.6835,45.4344,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 6.6984, position (cm) = (-43.3351,48.9654,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.715305, position (cm) = (-89.0521,73.2931,200), weight = 0.00390625 - neutron, kinetic energy (MeV) = 1.386, position (cm) = (-5.65517,138.629,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 0.0825499, position (cm) = (-21.1312,144.512,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.873153, position (cm) = (4.20949,134.531,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 9.84306, position (cm) = (1.46032,134.61,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.0197921, position (cm) = (-56.3808,84.6411,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.313048, position (cm) = (-58.154,115.716,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 38.6992, position (cm) = (-61.1388,115.507,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 33.0398, position (cm) = (-63.7726,103.099,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 33.2867, position (cm) = (-67.9965,109.432,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 3.86103, position (cm) = (-59.537,99.5373,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 0.735578, position (cm) = (-54.5883,30.2946,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.0835886, position (cm) = (87.9937,-8.14491,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 3.52103e-05, position (cm) = (106.398,-6.65987,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.000142307, position (cm) = (93.0636,8.82446,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.921756, position (cm) = (87.363,-0.651083,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.6841e-05, position (cm) = (69.9519,-30.0219,200), weight = 5.96046e-08 - gamma, kinetic energy (MeV) = 0.265171, position (cm) = (81.3073,-35.5867,200), weight = 5.96046e-08 - gamma, kinetic energy (MeV) = 0.605275, position (cm) = (145.006,23.6628,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 4.68128, position (cm) = (181.972,14.8395,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.505482, position (cm) = (147.562,27.5233,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 0.0648487, position (cm) = (142.746,62.7804,200), weight = 1.49012e-08 - neutron, kinetic energy (MeV) = 13.449, position (cm) = (128.668,55.7673,200), weight = 1.49012e-08 - gamma, kinetic energy (MeV) = 0.355916, position (cm) = (152.611,48.4919,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.387534, position (cm) = (133.917,44.2913,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 0.0860206, position (cm) = (134.916,32.8877,200), weight = 2.98023e-08 - gamma, kinetic energy (MeV) = 5.03228, position (cm) = (188.651,44.2398,200), weight = 1.19209e-07 - gamma, kinetic energy (MeV) = 1.59985, position (cm) = (155.827,2.3591,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 1.00947, position (cm) = (204.439,7.13901,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.354169, position (cm) = (151.362,-5.12231,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 2.48692, position (cm) = (151.384,-8.7526,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.288243, position (cm) = (-9.82567,-23.8351,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.0903799, position (cm) = (-12.8926,26.6524,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.610865, position (cm) = (-20.4702,18.3697,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 79.8873, position (cm) = (-31.191,7.70343,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 79.1465, position (cm) = (-30.6192,8.17068,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 98.5301, position (cm) = (-24.445,18.5565,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 46.4282, position (cm) = (-11.1307,16.2126,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.436232, position (cm) = (-20.3983,26.4553,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 54.9167, position (cm) = (-25.6159,-26.4583,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 54.9167, position (cm) = (-25.6159,-26.4583,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 67.545, position (cm) = (-22.1904,-2.32667,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 67.2705, position (cm) = (-21.7695,-3.96359,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 16.3826, position (cm) = (-45.4979,-42.846,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 15.9925, position (cm) = (-45.9655,-42.0409,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 15.9925, position (cm) = (-45.9655,-42.0409,200), weight = 2.38419e-07 - neutron, kinetic energy (MeV) = 15.9925, position (cm) = (-45.9655,-42.0409,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 2.86392, position (cm) = (-51.1015,-50.2415,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 3.22285, position (cm) = (-75.6956,-17.9764,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 1.1854, position (cm) = (19.8831,81.8425,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 0.000160308, position (cm) = (58.6645,111.369,200), weight = 0.000488281 - gamma, kinetic energy (MeV) = 0.0549867, position (cm) = (33.8902,-6.93297,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.502859, position (cm) = (44.1031,-6.92818,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 1.70236, position (cm) = (41.4849,9.9067,200), weight = 0.000244141 - neutron, kinetic energy (MeV) = 58.4543, position (cm) = (59.1261,-2.52135,200), weight = 0.000244141 - gamma, kinetic energy (MeV) = 0.402373, position (cm) = (104.056,57.8611,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.872346, position (cm) = (68.9464,43.4427,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 44.6783, position (cm) = (64.6606,80.67,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 0.00206584, position (cm) = (67.4771,25.113,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 7.56943, position (cm) = (83.746,31.9978,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 2.47649, position (cm) = (94.7587,60.0385,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.04211, position (cm) = (104.012,69.8322,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 38.438, position (cm) = (100.412,59.7327,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0643013, position (cm) = (50.0512,-13.1668,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 2.13431, position (cm) = (62.6125,53.7876,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 28.0825, position (cm) = (77.6951,37.2621,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 29.3959, position (cm) = (77.9874,35.7708,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 56.4178, position (cm) = (98.2528,51.9546,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 55.8725, position (cm) = (96.8906,46.8967,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 57.0901, position (cm) = (96.5249,50.6147,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 3.16323, position (cm) = (88.0167,41.2127,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 56.466, position (cm) = (99.7775,53.9604,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.0279499, position (cm) = (106.481,85.0091,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 1.13262, position (cm) = (102.456,87.0859,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 9.40367, position (cm) = (107.95,87.3426,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 6.66546, position (cm) = (111.018,94.6132,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 18.9517, position (cm) = (109.008,80.3792,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 42.7199, position (cm) = (35.0268,13.0378,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 2.85094, position (cm) = (55.5918,2.0565,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 6.06399, position (cm) = (54.4194,46.2018,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 2.54218, position (cm) = (23.8316,57.9223,200), weight = 2.38419e-07 - gamma, kinetic energy (MeV) = 0.0974797, position (cm) = (14.3712,93.9857,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 8.32998, position (cm) = (50.3779,33.2156,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.0844197, position (cm) = (46.7759,24.1328,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 3.90014, position (cm) = (52.8241,-10.3218,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 5.77668, position (cm) = (77.087,8.92201,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.0613369, position (cm) = (131.475,-33.1165,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 1.068, position (cm) = (135.232,-32.3006,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.565164, position (cm) = (110.084,-9.10855,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 6.58687e-07, position (cm) = (61.2824,-6.20506,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 10.6111, position (cm) = (70.2275,-22.0975,200), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.113797, position (cm) = (69.201,-19.2523,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.294405, position (cm) = (88.9837,-9.89835,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 1.44725, position (cm) = (73.8472,-16.8224,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 22.7826, position (cm) = (61.7309,-11.7186,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 0.171874, position (cm) = (107.872,24.7591,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 1.99946, position (cm) = (107.692,26.0295,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 0.037177, position (cm) = (114.557,31.6269,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 6.14857, position (cm) = (107.795,25.1059,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 1.45459, position (cm) = (104.695,27.3682,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 0.0227005, position (cm) = (101.727,51.4573,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.195742, position (cm) = (49.2564,28.5977,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 0.192442, position (cm) = (52.285,28.8649,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 0.74044, position (cm) = (47.9067,29.9507,200), weight = 6.10352e-05 - gamma, kinetic energy (MeV) = 2.53566, position (cm) = (43.8012,25.4024,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 56.272, position (cm) = (49.6921,26.9934,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 2.67821, position (cm) = (53.7299,7.67881,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 0.18175, position (cm) = (54.5489,5.64671,200), weight = 0.00012207 - neutron, kinetic energy (MeV) = 14.4742, position (cm) = (47.5738,24.7385,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 3.11618, position (cm) = (-57.6644,2.08848,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 43.891, position (cm) = (-24.8634,-2.95369,200), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 0.226804, position (cm) = (-35.2603,-6.12196,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 1.64293, position (cm) = (-44.0057,-3.93401,200), weight = 9.53674e-07 - gamma, kinetic energy (MeV) = 0.120159, position (cm) = (-81.4585,-23.9845,200), weight = 9.53674e-07 - neutron, kinetic energy (MeV) = 0.301329, position (cm) = (-55.3959,-6.06319,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 3.1261, position (cm) = (-48.3391,-13.1946,200), weight = 4.76837e-07 - gamma, kinetic energy (MeV) = 6.75427, position (cm) = (-43.1841,-13.2843,200), weight = 4.76837e-07 - neutron, kinetic energy (MeV) = 42.2666, position (cm) = (-37.4966,-4.87498,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 12.9637, position (cm) = (-24.8879,24.5827,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 29.9096, position (cm) = (-30.7124,43.0062,200), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.00106116, position (cm) = (-14.9938,47.0515,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 1.66095, position (cm) = (-12.4142,38.9973,200), weight = 1.52588e-05 - gamma, kinetic energy (MeV) = 0.0692229, position (cm) = (20.8465,-21.4751,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 4.38819, position (cm) = (0.58667,1.10246,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 3.4328, position (cm) = (7.03223,-18.5625,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 1.78154e-06, position (cm) = (-49.2262,28.8259,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-68.8287,-7.18244,200), weight = 3.05176e-05 - gamma, kinetic energy (MeV) = 8.09277, position (cm) = (-22.9337,17.514,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 2.60022, position (cm) = (-26.5194,37.5482,200), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 3.64776e-06, position (cm) = (-23.2942,-4.70349,200), weight = 3.05176e-05 - neutron, kinetic energy (MeV) = 1.02543, position (cm) = (-32.7444,-4.24414,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 1.3114, position (cm) = (-33.2879,-3.04212,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 18.4921, position (cm) = (-33.7944,-5.43671,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 0.169759, position (cm) = (66.707,24.0008,200), weight = 0.00012207 - gamma, kinetic energy (MeV) = 2.86086, position (cm) = (86.3353,-0.202529,200), weight = 6.10352e-05 - neutron, kinetic energy (MeV) = 43.0155, position (cm) = (63.626,-4.02456,200), weight = 7.62939e-06 - gamma, kinetic energy (MeV) = 0.231317, position (cm) = (61.8534,-1.88673,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 19.2564, position (cm) = (61.7496,-1.49112,200), weight = 7.62939e-06 - neutron, kinetic energy (MeV) = 25.431, position (cm) = (71.0973,-13.1992,200), weight = 1.52588e-05 - neutron, kinetic energy (MeV) = 26.3206, position (cm) = (-8.30738,41.2935,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 50.646, position (cm) = (5.16955,18.7122,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 50.9547, position (cm) = (5.41869,19.1568,200), weight = 0.000488281 - neutron, kinetic energy (MeV) = 98.0451, position (cm) = (-11.8635,-41.3396,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 0.158024, position (cm) = (-91.9317,63.6565,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 35.7446, position (cm) = (-80.7648,72.1643,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 35.7446, position (cm) = (-80.7648,72.1643,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 43.3066, position (cm) = (-56.0092,66.3208,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 43.2467, position (cm) = (-56.7492,66.0481,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 28.5952, position (cm) = (-80.6305,93.4548,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 28.5952, position (cm) = (-80.6305,93.4548,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.106646, position (cm) = (-64.0213,74.5672,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 0.910066, position (cm) = (-53.3112,96.9709,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 3.56183, position (cm) = (-63.5079,82.2508,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 1.43812, position (cm) = (-78.1436,-7.05811,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 52.5039, position (cm) = (-84.4543,-21.8637,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 53.3557, position (cm) = (-95.8262,-6.44084,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.677564, position (cm) = (-96.3624,24.879,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 53.2258, position (cm) = (-103.874,4.4872,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 0.331004, position (cm) = (-95.6249,17.7761,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.384884, position (cm) = (-101.641,6.32298,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 1.31106, position (cm) = (-87.5717,11.855,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 0.282717, position (cm) = (-84.5819,18.6125,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 1.11652, position (cm) = (-126.629,39.8096,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 0.327908, position (cm) = (-133.534,43.6553,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-149.793,61.8933,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 0.1185, position (cm) = (-132.473,51.0993,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 0.0199833, position (cm) = (-130.003,61.1773,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 2.92357, position (cm) = (-153.424,49.4274,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 1.45902e-06, position (cm) = (-118.714,-5.44267,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 13.2472, position (cm) = (-113.093,8.46028,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 1.39263, position (cm) = (-65.7411,42.405,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.454919, position (cm) = (-46.1097,26.5061,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 3.47949, position (cm) = (-56.7327,26.0892,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 8.35249, position (cm) = (-36.156,43.1069,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 1.38281, position (cm) = (-30.9026,2.76628,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 5.76211, position (cm) = (-100.638,38.7017,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 1.08243, position (cm) = (-57.4552,44.6679,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 4.7494, position (cm) = (-73.4308,24.0944,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 1.03339e-08, position (cm) = (-65.1202,37.4288,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.100438, position (cm) = (-87.0971,31.367,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.352922, position (cm) = (-24.6834,58.3264,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.010494, position (cm) = (-64.3811,29.1491,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 1.25455, position (cm) = (-112.371,34.4128,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 6.57275, position (cm) = (-80.3128,44.8267,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.3147, position (cm) = (-73.9885,44.7905,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 2.3147, position (cm) = (-73.9885,44.7905,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 6.57275, position (cm) = (-80.3128,44.8267,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.154518, position (cm) = (-75.6559,40.4717,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.683484, position (cm) = (-76.5274,43.7984,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 16.1943, position (cm) = (-75.7733,42.9752,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.113201, position (cm) = (-70.309,38.8411,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 1.64067, position (cm) = (-67.9742,35.4041,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 6.26397, position (cm) = (-75.4293,38.4112,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 3.78824, position (cm) = (-78.1511,46.0381,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 9.48665, position (cm) = (159.33,96.9509,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.762576, position (cm) = (164.224,100.688,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 1.17801, position (cm) = (164.089,110.091,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 4.3411, position (cm) = (169.056,108.123,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 24.5097, position (cm) = (171.015,106.642,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 24.2136, position (cm) = (175.001,107.56,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 24.4387, position (cm) = (171.318,106.507,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 3.37957, position (cm) = (98.3159,50.4841,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 99.1341, position (cm) = (32.1233,28.8536,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 0.0762278, position (cm) = (25.576,31.9828,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 87.8233, position (cm) = (36.4073,38.2165,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 87.7322, position (cm) = (36.6995,37.7385,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 1.88276, position (cm) = (27.2361,38.6178,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 5.18455, position (cm) = (35.6772,34.6692,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.305258, position (cm) = (16.0726,0.447997,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 13.0924, position (cm) = (-51.23,-41.6526,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.27269, position (cm) = (26.2599,37.0272,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.13433, position (cm) = (21.5139,49.1826,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 1.0974, position (cm) = (24.8055,37.4775,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 2.24431, position (cm) = (21.4196,39.3214,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.122589, position (cm) = (32.4879,33.4835,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 5.21369, position (cm) = (40.7799,40.2256,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 1.04974, position (cm) = (34.655,30.0722,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 0.0141721, position (cm) = (56.2333,22.5777,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.547137, position (cm) = (62.5366,52.4257,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 3.12252, position (cm) = (45.3712,40.7246,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 46.6328, position (cm) = (44.6929,45.9592,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 99.2878, position (cm) = (45.4861,35.1669,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 99.2878, position (cm) = (45.4861,35.1669,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 2.17233, position (cm) = (69.1989,39.8934,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.142942, position (cm) = (74.3083,43.578,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.0392014, position (cm) = (75.9413,42.1959,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 2.14884, position (cm) = (77.952,13.8377,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 2.38994, position (cm) = (42.7227,7.71416,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 25.1415, position (cm) = (45.5168,-11.5124,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 25.1415, position (cm) = (45.5168,-11.5124,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 1.10269, position (cm) = (38.3097,-12.7375,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 24.6807, position (cm) = (48.931,-12.3204,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.236141, position (cm) = (33.8192,-9.12535,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 24.0462, position (cm) = (34.2081,5.07054,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.615398, position (cm) = (36.8658,4.36621,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.94104, position (cm) = (36.6416,4.10617,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 3.17819, position (cm) = (55.093,3.04934,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 22.9366, position (cm) = (70.0761,10.1629,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 2.43195, position (cm) = (76.0124,7.6099,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 8.31969, position (cm) = (30.4724,-34.4271,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 1.11569, position (cm) = (50.7047,-3.68465,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.16173, position (cm) = (25.7487,-24.6818,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.105903, position (cm) = (29.0028,-3.34376,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.458438, position (cm) = (-101.776,138.424,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 46.2562, position (cm) = (-56.8504,146.754,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 46.1306, position (cm) = (-53.1526,148.69,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 45.5847, position (cm) = (-51.7231,148.842,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 43.3524, position (cm) = (-66.8815,95.3853,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 43.2004, position (cm) = (-66.9013,95.4257,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 42.6845, position (cm) = (-66.6217,95.0088,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 43.2107, position (cm) = (-65.9765,95.8276,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 1.47654e-05, position (cm) = (-52.6753,92.3522,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 1.99488, position (cm) = (-34.9373,124.523,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 1.05291, position (cm) = (-58.533,94.9176,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 1.01572, position (cm) = (-52.2808,56.1605,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.642098, position (cm) = (-38.8672,45.6883,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 53.2332, position (cm) = (-113.236,170.266,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.511686, position (cm) = (-121.156,182.862,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.275323, position (cm) = (-107.981,167.121,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.688229, position (cm) = (-114.427,223.554,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.108056, position (cm) = (-121.068,213.717,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 51.1076, position (cm) = (-127.272,225.982,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.715919, position (cm) = (-135.708,319.498,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 0.0421277, position (cm) = (-121.285,210.43,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.191522, position (cm) = (-132.564,215.502,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.822422, position (cm) = (-127.366,219.247,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 0.523852, position (cm) = (-138.571,222.975,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.656315, position (cm) = (-135.655,168.387,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-139.645,158.996,200), weight = 2.38419e-07 + e-, kinetic energy (MeV) = 0.57865, position (cm) = (-139.741,158.909,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 27.2637, position (cm) = (-136.211,168.924,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.206711, position (cm) = (-114.107,145.54,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 5.97547, position (cm) = (-126.479,133.142,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 54.1547, position (cm) = (-98.2339,148.068,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 54.0574, position (cm) = (-98.7896,148.505,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 5.65593, position (cm) = (-96.085,144.811,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 5.01144, position (cm) = (-87.2154,153.598,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 14.2001, position (cm) = (-90.1004,150.866,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 53.1667, position (cm) = (-89.443,159.153,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 51.6336, position (cm) = (-89.9566,170.174,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.0927281, position (cm) = (-90.779,167.546,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 2.87905, position (cm) = (-88.6899,168.877,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 42.8377, position (cm) = (-89.9147,171.454,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 52.228, position (cm) = (-85.0917,183.715,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 52.228, position (cm) = (-85.0917,183.715,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 53.0134, position (cm) = (-92.0196,160.1,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.0777056, position (cm) = (-97.7516,143.44,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 52.9588, position (cm) = (-83.7199,159.455,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.208147, position (cm) = (-80.8906,141.068,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 24.8296, position (cm) = (30.7951,31.98,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 0.0312786, position (cm) = (24.7533,46.2441,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.14747, position (cm) = (28.3569,49.1744,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.293095, position (cm) = (9.17714,23.3564,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.0651431, position (cm) = (31.4087,21.0553,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 1.1794, position (cm) = (35.2527,17.1585,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.213549, position (cm) = (26.9733,23.4808,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 3.58032, position (cm) = (26.1923,22.4519,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.816104, position (cm) = (51.7833,37.6146,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 24.9665, position (cm) = (28.7878,23.3413,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 47.9453, position (cm) = (59.0471,16.7449,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 47.3982, position (cm) = (59.0618,15.5218,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 0.928897, position (cm) = (67.9475,32.7142,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 7.11622e-07, position (cm) = (-3.83169,1.38737,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.694472, position (cm) = (35.6899,-6.80157,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 4.73468, position (cm) = (7.83327,1.67215,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 1.61537, position (cm) = (-9.71228,49.041,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 1.11103, position (cm) = (0.0416981,26.2969,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 0.305002, position (cm) = (-3.08695,28.9648,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.363462, position (cm) = (-0.874845,25.761,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.674824, position (cm) = (3.926,11.6491,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 3.09901, position (cm) = (-2.53799,10.83,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 0.000205714, position (cm) = (24.7017,6.18527,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.128933, position (cm) = (35.5406,35.3118,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 1.22328, position (cm) = (55.992,15.2389,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 3.31744, position (cm) = (54.8388,43.5552,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.00206935, position (cm) = (53.2587,12.1175,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.108398, position (cm) = (35.794,-10.8603,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 3.49946, position (cm) = (94.0292,113.054,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 6.64995, position (cm) = (-39.5816,-10.5865,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 1.43945, position (cm) = (37.6859,62.4546,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 4.98621, position (cm) = (30.1135,56.2339,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 63.7565, position (cm) = (37.849,77.7928,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 5.01511, position (cm) = (64.021,32.8568,200), weight = 0.0625 + neutron, kinetic energy (MeV) = 0.151199, position (cm) = (70.4515,21.6407,200), weight = 0.0625 + gamma, kinetic energy (MeV) = 0.574737, position (cm) = (65.5234,24.6265,200), weight = 0.0625 + neutron, kinetic energy (MeV) = 95.9219, position (cm) = (21.3724,25.9674,200), weight = 0.125 + gamma, kinetic energy (MeV) = 0.775258, position (cm) = (-15.1699,0.764476,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.124619, position (cm) = (0.952882,-32.4952,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.35219, position (cm) = (1.4622,-32.3807,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 5.79524, position (cm) = (-14.939,5.66869,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 23.7644, position (cm) = (-22.2245,-5.39983,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 24.6748, position (cm) = (-24.6762,-0.275533,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 24.6748, position (cm) = (-24.6762,-0.275533,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 4.22308, position (cm) = (-24.1582,-0.571519,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.0822322, position (cm) = (-18.4269,-10.7398,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 0.000480407, position (cm) = (-41.2315,-23.7699,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 0.143189, position (cm) = (-26.0532,-11.0205,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 2.37771, position (cm) = (-29.5356,-5.92868,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 5.56722, position (cm) = (-28.8328,-10.9599,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.0714531, position (cm) = (-7.53068,-13.4368,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 1.96355, position (cm) = (14.5125,-22.2164,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.182237, position (cm) = (4.0078,-40.2381,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.445508, position (cm) = (-10.5397,-4.34088,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.254156, position (cm) = (2.43034,-29.5206,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 5.00908, position (cm) = (14.6044,-2.98819,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 0.0124817, position (cm) = (-6.608,-13.0888,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.412756, position (cm) = (-11.5927,-16.6899,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 2.38588, position (cm) = (12.1942,-7.9443,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.40668, position (cm) = (3.18991,-8.77623,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 1.94416, position (cm) = (39.788,-40.0185,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 0.0364771, position (cm) = (19.1078,-14.9545,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.251894, position (cm) = (52.3053,-33.8384,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 0.584669, position (cm) = (43.2628,5.12713,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.078525, position (cm) = (37.9327,12.4413,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 1.40695, position (cm) = (25.6764,7.02418,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 0.863716, position (cm) = (88.0291,0.605682,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 1.88336, position (cm) = (97.1867,1.18599,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.437311, position (cm) = (155.808,17.006,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 31.535, position (cm) = (155.642,25.7397,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 31.535, position (cm) = (155.642,25.7397,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 31.535, position (cm) = (155.642,25.7397,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.0966978, position (cm) = (76.7643,-21.8146,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.115749, position (cm) = (55.7121,-47.8638,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.255228, position (cm) = (29.9965,-40.3083,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (43.0929,-57.2888,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 35.8567, position (cm) = (51.6926,-58.9062,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 48.7583, position (cm) = (51.7769,-52.7537,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.235638, position (cm) = (98.8388,-47.5913,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.410885, position (cm) = (102.015,-41.61,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 2.5539, position (cm) = (105.939,-33.5131,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 23.7535, position (cm) = (71.3157,-35.6108,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 23.7535, position (cm) = (71.3157,-35.6108,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.159197, position (cm) = (72.2475,-34.173,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.0844407, position (cm) = (57.4981,-18.5587,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.231025, position (cm) = (57.2537,-19.5737,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.34982, position (cm) = (-49.3102,-21.1568,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 3.63774, position (cm) = (-44.8566,-8.04008,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.0843985, position (cm) = (-95.4239,7.35895,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.97976, position (cm) = (-65.9789,71.7097,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.781212, position (cm) = (-178.614,26.9742,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 1.98534, position (cm) = (-185.518,41.6567,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 7.16768, position (cm) = (-170.996,33.8289,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 0.35392, position (cm) = (-186.793,26.1158,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.855396, position (cm) = (-186.79,22.7251,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 86.0745, position (cm) = (-192.216,26.0666,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.25838, position (cm) = (-174.268,22.8763,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 3.52003, position (cm) = (-193.319,25.7054,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 3.63504, position (cm) = (-191.419,26.1439,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 52.6249, position (cm) = (-193.025,23.5232,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 52.6249, position (cm) = (-193.025,23.5232,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.487572, position (cm) = (-177.35,15.096,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 3.1441, position (cm) = (-184.632,-26.9214,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.319481, position (cm) = (-192.141,-25.3244,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.385948, position (cm) = (-197.702,-32.4336,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 4.2916, position (cm) = (-195.092,-32.9676,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.260682, position (cm) = (-196.103,-45.5792,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.0487668, position (cm) = (-198.248,-42.4095,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 2.47305, position (cm) = (-197.228,-46.9187,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 5.14672, position (cm) = (-197.805,-43.8972,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 57.9695, position (cm) = (-188.968,-26.6086,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 57.9695, position (cm) = (-188.968,-26.6086,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 57.9695, position (cm) = (-188.968,-26.6086,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 57.8088, position (cm) = (-189.678,-27.3977,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 57.9695, position (cm) = (-188.968,-26.6086,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 42.8867, position (cm) = (-122.244,-68.8494,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 2.92448, position (cm) = (-62.0225,61.2365,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.542674, position (cm) = (-62.2138,68.086,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 34.5698, position (cm) = (-52.6219,66.3417,200), weight = 4.76837e-07 + gamma, kinetic energy (MeV) = 2.87995, position (cm) = (-53.0017,66.4324,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 6.61963, position (cm) = (-50.8649,67.5584,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 7.86453, position (cm) = (-51.383,66.926,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 34.5268, position (cm) = (-58.3241,63.5373,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 34.3728, position (cm) = (-60.1864,63.4992,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 34.3728, position (cm) = (-60.1864,63.4992,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 28.2977, position (cm) = (-57.5543,72.379,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.115259, position (cm) = (-122.685,58.5609,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 1.5516e-06, position (cm) = (-89.1919,52.5506,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.106571, position (cm) = (-79.5984,101.588,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.0499559, position (cm) = (-80.9862,104.816,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 2.31102, position (cm) = (-81.0175,101.739,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 1.03121e-06, position (cm) = (-70.289,90.4673,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.471507, position (cm) = (-89.064,90.6222,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 8.79657, position (cm) = (-90.6454,96.3542,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 24.4498, position (cm) = (-84.1224,98.7954,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 33.8667, position (cm) = (-83.5957,99.6051,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 34.3603, position (cm) = (-83.7573,94.5366,200), weight = 4.76837e-07 + gamma, kinetic energy (MeV) = 0.191411, position (cm) = (-84.5147,95.3565,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 7.34015, position (cm) = (-85.6203,97.4868,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 34.8961, position (cm) = (-85.7198,96.8282,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 35.3023, position (cm) = (-85.7105,98.8056,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 0.00172508, position (cm) = (-74.603,79.2951,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 1.88359, position (cm) = (-91.9598,78.7919,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 14.4314, position (cm) = (-144.943,11.7038,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 6.12565e-05, position (cm) = (-144.019,54.4867,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 2.56127, position (cm) = (-155.982,38.1709,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 3.2814e-07, position (cm) = (-128.171,25.0281,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.309027, position (cm) = (-176.96,46.2555,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.0937119, position (cm) = (-211.567,15.502,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 2.22243, position (cm) = (-172.256,11.8967,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 75.7236, position (cm) = (-279.063,18.8357,200), weight = 4.76837e-07 + gamma, kinetic energy (MeV) = 0.257485, position (cm) = (-266.035,23.8651,200), weight = 4.76837e-07 + gamma, kinetic energy (MeV) = 0.818092, position (cm) = (-280.208,22.8267,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 34.0665, position (cm) = (-292.455,15.7798,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.0979223, position (cm) = (-318.208,2.86431,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 6.79364, position (cm) = (-318.279,2.07293,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 75.2039, position (cm) = (-314.194,6.57688,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 75.2039, position (cm) = (-314.194,6.57688,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 74.0898, position (cm) = (-276.807,26.8967,200), weight = 4.76837e-07 + gamma, kinetic energy (MeV) = 0.124632, position (cm) = (-278.02,21.6837,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 5.80112e-07, position (cm) = (-281.35,22.1681,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 8.41964, position (cm) = (-273.29,21.2884,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 8.41964, position (cm) = (-273.29,21.2884,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 75.4051, position (cm) = (-304.365,25.3812,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 1.64304, position (cm) = (-228.574,54.1835,200), weight = 3.72529e-09 + gamma, kinetic energy (MeV) = 0.0851757, position (cm) = (-225.354,50.3471,200), weight = 3.72529e-09 + gamma, kinetic energy (MeV) = 0.434466, position (cm) = (-252.952,30.9245,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 0.00130763, position (cm) = (-258.343,59.8002,200), weight = 3.72529e-09 + gamma, kinetic energy (MeV) = 3.32434, position (cm) = (-252.931,28.9702,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 7.30338, position (cm) = (-262.668,30.9368,200), weight = 1.86265e-09 + neutron, kinetic energy (MeV) = 7.30338, position (cm) = (-262.668,30.9368,200), weight = 9.31323e-10 + neutron, kinetic energy (MeV) = 7.30338, position (cm) = (-262.668,30.9368,200), weight = 9.31323e-10 + neutron, kinetic energy (MeV) = 1.15293, position (cm) = (-245.218,30.5448,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 1.59468, position (cm) = (-284.541,25.3095,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 2.31043, position (cm) = (-274.772,24.5687,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 0.348998, position (cm) = (-275.527,28.5967,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 66.173, position (cm) = (-285.781,33.2208,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 66.173, position (cm) = (-285.781,33.2208,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 66.173, position (cm) = (-285.781,33.2208,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 1.45246, position (cm) = (-272.77,36.6284,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 4.9036, position (cm) = (-262.363,40.8283,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 0.204301, position (cm) = (-249.023,44.3193,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.539634, position (cm) = (-252.908,36.6979,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 1.16358, position (cm) = (-208.703,29.1282,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.342294, position (cm) = (-271.413,-28.955,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 1.74926, position (cm) = (-217.52,27.6045,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 34.7849, position (cm) = (-199.016,20.4583,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 34.7849, position (cm) = (-199.016,20.4583,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.108747, position (cm) = (-176.36,-18.8331,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 0.729218, position (cm) = (-221.149,-21.8085,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-215.17,-10.6649,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.419061, position (cm) = (-227.077,-2.28607,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.113404, position (cm) = (-202.85,-22.2435,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 7.40928, position (cm) = (-222.661,-26.5235,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 1.66366, position (cm) = (-246.005,-18.2247,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.164901, position (cm) = (-285.385,-43.6295,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 3.43594, position (cm) = (-259.323,-42.0428,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 0.00146246, position (cm) = (-267.302,-26.102,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 34.351, position (cm) = (-264.177,-59.1626,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 5.76319, position (cm) = (-254.257,-45.6226,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 34.2349, position (cm) = (-252.685,-18.6323,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 1.12421, position (cm) = (-243.335,-16.538,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 23.5461, position (cm) = (-201.084,-22.4007,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.153063, position (cm) = (-195.99,-15.8545,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 1.32119, position (cm) = (-204.614,-14.3897,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.0908602, position (cm) = (-207.781,-12.609,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 35.8492, position (cm) = (-204.461,-30.0909,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 35.9936, position (cm) = (-200.857,-31.2716,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 35.5696, position (cm) = (-200.506,-33.5305,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 35.4147, position (cm) = (-229.056,-35.7535,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 35.2124, position (cm) = (-227.833,-31.2113,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.219022, position (cm) = (-239.978,-10.0209,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.113883, position (cm) = (-239.583,-14.6618,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 4.37158, position (cm) = (-246.382,-7.81702,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 1.68429, position (cm) = (-201.983,-16.1618,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 0.982177, position (cm) = (-203.511,-13.2973,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.499959, position (cm) = (-247.595,5.73552,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 4.0769e-05, position (cm) = (-200.41,-41.9642,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.0791992, position (cm) = (-6.6171,130.612,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.234616, position (cm) = (2.45821,105.919,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 5.11225, position (cm) = (16.015,106.009,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.149237, position (cm) = (-4.79027,93.0697,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.02713, position (cm) = (4.78632,101.314,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 8.43421, position (cm) = (-15.7011,92.3633,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.624614, position (cm) = (0.167186,102.483,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.147269, position (cm) = (-3.93233,107.433,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 2.85884, position (cm) = (-0.0247577,101.018,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 4.52914, position (cm) = (7.4126,85.1536,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 0.196068, position (cm) = (-0.00356181,106.695,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 14.7047, position (cm) = (-0.933163,96.2405,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 14.7047, position (cm) = (-0.933163,96.2405,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 15.8755, position (cm) = (-2.7185,95.696,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 17.8669, position (cm) = (-2.80535,95.5846,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 1.12925, position (cm) = (2.72155,97.7829,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.000230289, position (cm) = (6.27648,108.286,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 1.36682, position (cm) = (31.8262,80.6928,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 8.39279, position (cm) = (27.2606,75.3712,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.660244, position (cm) = (20.4045,91.3999,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 3.81514, position (cm) = (13.9032,94.9131,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 5.17489, position (cm) = (20.2718,87.8623,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.605616, position (cm) = (19.3591,89.2145,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 5.71079, position (cm) = (16.0348,92.1421,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 16.169, position (cm) = (16.8216,89.5781,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 16.169, position (cm) = (16.8216,89.5781,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 42.762, position (cm) = (70.6914,131.983,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.0647202, position (cm) = (30.83,109.933,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.857513, position (cm) = (109.012,125.852,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 34.8782, position (cm) = (110.717,116.717,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.151911, position (cm) = (112.397,113.781,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 5.67373, position (cm) = (114.959,119.72,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.251041, position (cm) = (112.504,136.545,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 35.2192, position (cm) = (117.114,116.008,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.00224917, position (cm) = (106.424,125.139,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.756014, position (cm) = (89.8318,120.442,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 4.13731, position (cm) = (89.8537,112.727,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.18705, position (cm) = (-5.06262,92.0918,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 21.9119, position (cm) = (-37.0042,101.462,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 12.1429, position (cm) = (-27.0522,104.709,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 12.8714, position (cm) = (-34.0469,94.6345,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.49088, position (cm) = (-28.1714,96.4415,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.156233, position (cm) = (-37.0692,93.1972,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 9.53715, position (cm) = (-34.8283,94.8484,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 37.9316, position (cm) = (0.637725,105.2,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.250385, position (cm) = (1.65584,101.662,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.511442, position (cm) = (-2.63625,102.307,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 24.661, position (cm) = (0.274723,107.287,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 38.0717, position (cm) = (-0.83608,105.64,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 38.0717, position (cm) = (-0.83608,105.64,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 38.2231, position (cm) = (6.93189,107.845,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 33.5835, position (cm) = (3.85351,108.006,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 3.18802, position (cm) = (-10.2446,98.4543,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 5.30839e-06, position (cm) = (-19.6632,109.754,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 6.62547e-07, position (cm) = (-43.5378,167.238,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.112419, position (cm) = (-33.4388,152.524,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.124834, position (cm) = (-55.0711,167.151,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.296394, position (cm) = (-17.5188,165.394,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.403019, position (cm) = (-30.8055,144.627,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 3.71277, position (cm) = (-47.1364,172.388,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.483214, position (cm) = (-32.2148,164.659,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.290051, position (cm) = (-17.1577,139.289,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.431629, position (cm) = (-26.1275,199.047,200), weight = 1.90735e-06 + e-, kinetic energy (MeV) = 2.00565, position (cm) = (-34.2971,201.291,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.431226, position (cm) = (-48.9464,194.035,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.156494, position (cm) = (-64.0879,133.577,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.425984, position (cm) = (-63.0008,141.011,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 5.96365, position (cm) = (-38.5305,123.925,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 4.56735, position (cm) = (-13.9595,107.633,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 2.71902, position (cm) = (-36.9046,162.265,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 30.2112, position (cm) = (-36.2773,159.771,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 1.0342, position (cm) = (-64.8833,149.756,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.117372, position (cm) = (-58.1863,163.044,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 1.30079, position (cm) = (-80.3419,159.458,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 0.0473238, position (cm) = (-69.8332,156.545,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 0.374416, position (cm) = (-62.6861,164.224,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.767864, position (cm) = (-57.93,170.491,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.0717542, position (cm) = (-79.7911,173.263,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 30.5426, position (cm) = (-39.8154,240.436,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 30.5426, position (cm) = (-39.8154,240.436,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 29.6347, position (cm) = (-41.8915,237.196,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.27487, position (cm) = (-47.066,169.678,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 2.26767, position (cm) = (-51.8758,186.119,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 1.09039, position (cm) = (-48.4934,187.319,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 2.26767, position (cm) = (-51.8758,186.119,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.155629, position (cm) = (-64.3713,179.628,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 8.875, position (cm) = (-63.1647,179.452,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 8.01481, position (cm) = (-64.9584,171.587,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 1.60309, position (cm) = (-64.4103,176.829,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 3.70132, position (cm) = (-82.4919,209.776,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.0157821, position (cm) = (-57.6993,178.401,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 6.64265, position (cm) = (-25.6872,148.06,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.274931, position (cm) = (28.8039,104.36,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 2.122, position (cm) = (66.2464,77.3935,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 3.8923, position (cm) = (62.239,76.0253,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 7.13419, position (cm) = (75.2315,65.1811,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 12.1932, position (cm) = (72.0527,80.5759,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 12.1932, position (cm) = (72.0527,80.5759,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 12.1932, position (cm) = (72.0527,80.5759,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.0999603, position (cm) = (71.4232,80.1859,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 0.00480339, position (cm) = (78.0926,78.1322,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.250052, position (cm) = (65.992,79.8563,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 8.3984, position (cm) = (71.0312,78.4753,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.171769, position (cm) = (54.4577,81.9435,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.172947, position (cm) = (48.0879,86.9546,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 2.81818, position (cm) = (69.2957,77.2489,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.120231, position (cm) = (64.8002,79.4969,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 2.36304, position (cm) = (65.5986,80.3863,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 3.68171, position (cm) = (76.3622,80.3222,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 11.9068, position (cm) = (67.5478,50.2531,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.525565, position (cm) = (66.1337,70.9952,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.898894, position (cm) = (65.9672,63.4402,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 3.33572, position (cm) = (66.8023,63.1236,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.162277, position (cm) = (62.5238,76.8727,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 0.00377837, position (cm) = (41.5376,123.955,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 21.9705, position (cm) = (69.8771,86.0263,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 21.9705, position (cm) = (69.8771,86.0263,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 21.4703, position (cm) = (70.1761,83.7227,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 5.01927e-07, position (cm) = (4.01815,62.3888,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.0794496, position (cm) = (-6.59822,43.0624,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (3.75386,32.7393,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 21.6591, position (cm) = (6.89333,37.7901,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 1.27628, position (cm) = (25.761,46.2786,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 12.3503, position (cm) = (18.7709,16.5038,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 12.3503, position (cm) = (18.7709,16.5038,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.0473666, position (cm) = (21.9059,16.8405,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.49389, position (cm) = (22.8182,18.0627,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.712598, position (cm) = (22.5404,17.9481,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.160589, position (cm) = (28.6956,8.29557,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.127963, position (cm) = (16.3128,22.8082,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 6.01928e-05, position (cm) = (17.3595,39.6898,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 4.24775, position (cm) = (47.5689,14.9818,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 1.30452, position (cm) = (54.2038,7.22267,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 5.3123, position (cm) = (56.7907,5.02186,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.421247, position (cm) = (41.8649,-2.82022,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.444791, position (cm) = (61.4706,10.9339,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 2.65434, position (cm) = (65.4145,6.91395,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.119958, position (cm) = (65.0479,6.85868,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 4.1198, position (cm) = (54.909,2.75044,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 7.28104, position (cm) = (-22.9871,28.9346,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 46.2297, position (cm) = (9.86781,21.9739,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 45.3667, position (cm) = (21.6821,24.6865,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 44.9712, position (cm) = (18.0138,23.3828,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 46.2297, position (cm) = (9.86781,21.9739,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 46.1759, position (cm) = (9.69891,21.3228,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 46.1187, position (cm) = (10.2922,20.9633,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.898318, position (cm) = (-2.1028,50.7077,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 2.22305, position (cm) = (2.70149,36.0439,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 15.7438, position (cm) = (-46.2922,54.3683,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.150683, position (cm) = (-57.5964,54.8795,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.121972, position (cm) = (-45.8145,28.8295,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.130141, position (cm) = (-66.8222,63.4474,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 1.5874, position (cm) = (-41.5177,49.4454,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.211778, position (cm) = (-58.5878,53.1046,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 46.9541, position (cm) = (-62.4256,54.6205,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 56.6598, position (cm) = (52.4809,41.7834,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 0.667875, position (cm) = (52.9094,34.052,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 0.31736, position (cm) = (73.7584,32.2371,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 42.2755, position (cm) = (74.1242,32.032,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 61.0391, position (cm) = (74.248,31.999,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 61.0391, position (cm) = (74.248,31.999,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 2.17772, position (cm) = (74.8583,50.354,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 3.22962, position (cm) = (74.5561,47.6807,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 5.87435, position (cm) = (74.4173,47.6408,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 39.7317, position (cm) = (73.9243,47.3512,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 33.0071, position (cm) = (53.1597,48.5952,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 2.6347, position (cm) = (302.184,26.746,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 6.17665, position (cm) = (283.099,41.7843,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 39.2615, position (cm) = (283.678,41.8539,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 0.0257385, position (cm) = (282.78,28.8328,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 46.5533, position (cm) = (326.706,23.4739,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 46.5533, position (cm) = (326.706,23.4739,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.103054, position (cm) = (326.099,25.4092,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.246414, position (cm) = (323.98,17.8714,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 2.82919, position (cm) = (323.001,24.6506,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 7.40186, position (cm) = (326.803,24.177,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.0971582, position (cm) = (332.352,29.9313,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 1.40534, position (cm) = (331.154,16.931,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 1.89647, position (cm) = (329.242,13.7642,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.107452, position (cm) = (328.403,11.8566,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (170.44,-53.5183,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 4.84683e-06, position (cm) = (222,-40.4404,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.290391, position (cm) = (121.346,-45.2886,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.124737, position (cm) = (143.693,-31.2047,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.201383, position (cm) = (10.7154,24.4242,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 4.1383, position (cm) = (2.58974,-47.9242,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 1.38811, position (cm) = (-4.18249,-37.8991,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.445011, position (cm) = (-14.7868,-22.346,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.137054, position (cm) = (-17.5975,-22.6008,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 0.0986776, position (cm) = (-27.1385,-25.9273,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 2.78207, position (cm) = (12.8273,44.6854,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 61.5373, position (cm) = (7.35612,53.6757,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.516105, position (cm) = (26.3804,40.7853,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 2.40606, position (cm) = (46.3455,35.9354,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 22.9732, position (cm) = (31.5705,52.713,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 0.0608088, position (cm) = (22.2885,21.8645,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.217203, position (cm) = (-2.89947,34.9814,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 3.85768, position (cm) = (8.86423,14.7167,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 5.82534, position (cm) = (31.1739,21.3713,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 5.82534, position (cm) = (31.1739,21.3713,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 99.4287, position (cm) = (8.37502,-4.40566,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 9.76019, position (cm) = (11.2848,2.49348,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 6.42013, position (cm) = (9.88646,10.3883,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 6.84859, position (cm) = (16.8657,11.5486,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 13.9181, position (cm) = (7.34961,0.832121,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 35.0652, position (cm) = (-53.2767,-38.5909,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 98.5281, position (cm) = (48.1198,-49.6149,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 98.5281, position (cm) = (48.1198,-49.6149,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 41.3062, position (cm) = (29.2564,54.413,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 24.9949, position (cm) = (29.0475,52.2885,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 41.7797, position (cm) = (30.9755,51.3367,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 41.9004, position (cm) = (31.2192,51.2859,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.34247, position (cm) = (37.3773,-22.7668,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 0.609486, position (cm) = (52.0601,-13.7502,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 4.42317, position (cm) = (51.7236,6.9232,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 25.4587, position (cm) = (33.7994,-27.968,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 6.93465, position (cm) = (38.6562,-43.9274,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.147955, position (cm) = (35.2536,-64.8987,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 1.06978, position (cm) = (48.1749,-60.7652,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 25.9347, position (cm) = (38.6705,-43.9907,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 12.0231, position (cm) = (37.3921,-44.1549,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 26.0229, position (cm) = (36.9875,-43.7083,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.177224, position (cm) = (35.8277,-48.2601,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.116919, position (cm) = (29.729,-41.1983,200), weight = 7.62939e-06 + e-, kinetic energy (MeV) = 2.23806, position (cm) = (39.0454,-59.605,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 14.7916, position (cm) = (38.4425,-36.3249,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 4.62444, position (cm) = (39.8602,-48.9613,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 2.38041, position (cm) = (25.0233,-21.8337,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.219485, position (cm) = (19.9964,-34.2955,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.265121, position (cm) = (28.131,-37.7499,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 1.62834, position (cm) = (32.5906,-32.1962,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 0.0820669, position (cm) = (18.8658,-19.9531,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.120473, position (cm) = (27.1092,-35.6254,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 6.01601, position (cm) = (144.211,-9.80091,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 15.3113, position (cm) = (140.618,-3.44023,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.144211, position (cm) = (136.669,6.11595,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 4.61497e-05, position (cm) = (136.973,15.161,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 51.8271, position (cm) = (142.641,40.114,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 30.5309, position (cm) = (152.659,59.7678,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 3.20558e-05, position (cm) = (126.302,37.0713,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.762282, position (cm) = (150.846,55.5799,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.0580537, position (cm) = (150.374,47.0017,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 3.95689, position (cm) = (107.872,58.1256,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 45.2828, position (cm) = (121.615,44.6811,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 45.1596, position (cm) = (122.199,48.8149,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 45.1269, position (cm) = (121.986,48.3774,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 0.0765143, position (cm) = (149.83,48.1692,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 1.42955, position (cm) = (134.501,55.9517,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 6.09147, position (cm) = (137.177,62.0638,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 2.06963, position (cm) = (105.635,19.6112,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 5.55631e-06, position (cm) = (79.5152,17.0614,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 3.8257e-06, position (cm) = (105.362,16.7685,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.235369, position (cm) = (63.7412,31.4545,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 0.00327671, position (cm) = (198.268,62.8898,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 1.46478, position (cm) = (148.694,19.581,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.263567, position (cm) = (57.728,-22.2053,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 53.8302, position (cm) = (54.0074,-21.4401,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 53.9401, position (cm) = (54.0778,-21.5423,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 53.9401, position (cm) = (54.0778,-21.5423,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 53.9401, position (cm) = (54.0778,-21.5423,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 53.9401, position (cm) = (54.0778,-21.5423,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 53.9401, position (cm) = (54.0778,-21.5423,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 4.30786, position (cm) = (50.397,3.47398,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.132688, position (cm) = (16.5804,-2.91938,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.358677, position (cm) = (47.6775,-34.3342,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 5.55942, position (cm) = (37.3835,31.1366,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 93.6404, position (cm) = (39.1339,0.658607,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 3.51408, position (cm) = (62.8859,-57.199,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 84.4926, position (cm) = (43.1176,16.9632,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 84.9086, position (cm) = (43.4303,16.9423,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 84.9086, position (cm) = (43.4303,16.9423,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 9.12088, position (cm) = (34.5054,-20.8045,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 0.000246231, position (cm) = (21.7434,21.4628,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.130972, position (cm) = (-44.6447,46.7502,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 9.20676, position (cm) = (16.859,-1.91138,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 23.7364, position (cm) = (14.4598,2.80362,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.113867, position (cm) = (-2.89337,57.3906,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 41.4161, position (cm) = (6.40819,16.1616,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 71.7897, position (cm) = (2.54505,18.9045,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 70.729, position (cm) = (3.20543,21.7262,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 71.1225, position (cm) = (8.04659,9.57844,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 71.1225, position (cm) = (8.04659,9.57844,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 71.1225, position (cm) = (8.04659,9.57844,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 1.88274, position (cm) = (46.3349,37.1977,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.177297, position (cm) = (63.4529,3.21055,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.204421, position (cm) = (42.8925,34.6564,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 71.6246, position (cm) = (-2.60777,20.013,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 0.12081, position (cm) = (21.3208,11.2063,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.19278, position (cm) = (13.4491,16.3674,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 7.67875, position (cm) = (24.1926,14.6681,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 27.0056, position (cm) = (20.4996,12.3812,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 4.85414e-05, position (cm) = (-15.7384,4.66407,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 64.1707, position (cm) = (-2.38168,12.9587,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 0.201816, position (cm) = (13.0747,4.54203,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 0.0851299, position (cm) = (6.88133,1.4084,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 1.85489, position (cm) = (10.4315,15.5691,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 3.25431, position (cm) = (5.48105,6.88139,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 52.9546, position (cm) = (-5.48321,24.3933,200), weight = 0.0625 + gamma, kinetic energy (MeV) = 0.133103, position (cm) = (3.39114,-18.4021,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 0.0729702, position (cm) = (39.6577,-29.2941,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 10.8381, position (cm) = (51.1204,-36.1571,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 10.8381, position (cm) = (51.1204,-36.1571,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 9.2145, position (cm) = (27.8878,-38.2711,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 1.23795, position (cm) = (64.6337,-33.7657,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.100667, position (cm) = (57.7196,-42.9369,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.0934127, position (cm) = (14.5621,17.4542,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 4.65115, position (cm) = (94.0217,-38.0994,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.403418, position (cm) = (90.3911,-66.9945,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 0.669657, position (cm) = (79.2155,-45.7952,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.277251, position (cm) = (81.592,-35.356,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 1.72378, position (cm) = (80.1445,-42.6771,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.131322, position (cm) = (75.8718,-35.6566,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.0729081, position (cm) = (93.6332,-47.4772,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.322666, position (cm) = (107.13,-51.3318,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.108812, position (cm) = (93.6619,-33.1375,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 30.6557, position (cm) = (116.045,-44.4884,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 1.19613e-05, position (cm) = (66.187,-23.4815,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 2.13749, position (cm) = (52.8244,-23.7698,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 0.000176656, position (cm) = (57.2176,-25.448,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.810312, position (cm) = (46.1646,-50.8237,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 1.13691, position (cm) = (49.5062,-54.2537,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 2.96885, position (cm) = (42.902,-46.1481,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 0.818825, position (cm) = (39.1938,-63.492,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 27.634, position (cm) = (36.2272,-52.2582,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 2.11806, position (cm) = (-34.6917,-0.589716,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.149343, position (cm) = (-51.9808,-5.98023,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.255038, position (cm) = (-10.0214,-2.13928,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 85.8474, position (cm) = (-15.9903,-6.15644,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 0.669632, position (cm) = (-37.4786,-7.03756,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 2.13254, position (cm) = (-48.803,14.7516,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.000466852, position (cm) = (-40.5071,13.482,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 6.73575, position (cm) = (-35.3754,-8.32752,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 1.40443, position (cm) = (-31.9904,-5.31817,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 0.60909, position (cm) = (-52.131,-22.2471,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 0.0257617, position (cm) = (-69.7952,-26.079,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.546454, position (cm) = (-57.9839,-30.3988,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 1.39775, position (cm) = (-54.7735,-29.4452,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 22.9075, position (cm) = (-60.4185,-30.6687,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 22.9075, position (cm) = (-60.4185,-30.6687,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.852208, position (cm) = (-51.1898,-24.6371,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.716, position (cm) = (-48.8071,-50.1693,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 22.4226, position (cm) = (-59.0517,-30.434,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 1.81563, position (cm) = (-48.5989,-4.43335,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.115175, position (cm) = (-43.9323,-26.7666,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 1.24021, position (cm) = (-30.9831,-20.9867,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 5.32674, position (cm) = (-46.7509,-21.4153,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 7.76699, position (cm) = (-24.9166,-25.1829,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 7.76699, position (cm) = (-24.9166,-25.1829,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 1.24826, position (cm) = (-13.071,-11.706,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 19.8997, position (cm) = (-32.4102,8.45699,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 20.9273, position (cm) = (-32.4967,10.6342,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 21.3316, position (cm) = (-31.7212,9.72207,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 0.368257, position (cm) = (-23.6435,-19.2606,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 5.2753, position (cm) = (-28.5021,-19.4293,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 0.582155, position (cm) = (-24.1286,-14.8296,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 0.91149, position (cm) = (-1.97312,45.2889,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 0.101156, position (cm) = (-4.36219,6.92413,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 43.6306, position (cm) = (-10.3986,17.0856,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 75.1982, position (cm) = (-33.5018,-19.5319,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 0.147005, position (cm) = (-34.35,-19.9586,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 27.5029, position (cm) = (-33.186,-20.1623,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 74.4499, position (cm) = (-32.4075,-20.6596,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.283043, position (cm) = (-49.2874,-23.6341,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 4.03226, position (cm) = (-38.8098,-3.02766,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 44.3478, position (cm) = (-42.8398,-21.0009,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 43.6279, position (cm) = (-42.6299,-21.0578,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.481362, position (cm) = (-29.1154,-18.04,200), weight = 0.03125 + neutron, kinetic energy (MeV) = 7.28282, position (cm) = (-38.6133,-27.9994,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 7.28282, position (cm) = (-38.6133,-27.9994,200), weight = 0.00390625 + gamma, kinetic energy (MeV) = 0.100437, position (cm) = (-35.09,-24.9368,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 2.24276, position (cm) = (-33.7176,-21.8792,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 7.28282, position (cm) = (-38.6133,-27.9994,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 14.665, position (cm) = (-33.0227,-24.9392,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 0.0803895, position (cm) = (-43.1463,-14.8388,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 0.159214, position (cm) = (-27.9555,-18.4541,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 1.26513, position (cm) = (-48.1989,-22.8587,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 2.87343, position (cm) = (-36.8711,-33.0025,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 3.03377, position (cm) = (-36.4994,-34.078,200), weight = 0.0078125 + neutron, kinetic energy (MeV) = 3.03377, position (cm) = (-36.4994,-34.078,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 3.03377, position (cm) = (-36.4994,-34.078,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 46.0552, position (cm) = (-29.6214,-30.5471,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 74.617, position (cm) = (-33.8151,-23.0103,200), weight = 0.015625 + neutron, kinetic energy (MeV) = 74.2161, position (cm) = (-33.9282,-23.3559,200), weight = 0.015625 + gamma, kinetic energy (MeV) = 6.57913, position (cm) = (-33.5004,11.9391,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.185916, position (cm) = (-42.9395,15.8294,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.525654, position (cm) = (-49.6919,9.37466,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.181136, position (cm) = (-57.717,-15.9082,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 3.15248, position (cm) = (-22.1915,28.5816,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 7.05756, position (cm) = (-28.6289,55.2189,200), weight = 7.45058e-09 + gamma, kinetic energy (MeV) = 0.242576, position (cm) = (-25.56,46.1603,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 2.04068, position (cm) = (-33.5699,72.162,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 2.04068, position (cm) = (-33.5699,72.162,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 4.58993e-05, position (cm) = (-28.2517,60.6576,200), weight = 7.45058e-09 + neutron, kinetic energy (MeV) = 0.000112397, position (cm) = (-41.071,46.8287,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 7.90328e-06, position (cm) = (-45.9044,44.5749,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 83.6863, position (cm) = (-55.5575,42.0623,200), weight = 0.00390625 + neutron, kinetic energy (MeV) = 0.861154, position (cm) = (-68.8692,37.5015,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.168793, position (cm) = (-53.4881,37.7261,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 4.006, position (cm) = (-45.1078,40.2493,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 1.286, position (cm) = (-61.2152,31.8994,200), weight = 3.05176e-05 + e-, kinetic energy (MeV) = 1.57485, position (cm) = (-53.3127,47.9409,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.131672, position (cm) = (-71.9843,32.5366,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.319135, position (cm) = (-61.3092,39.4656,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 8.89317, position (cm) = (-64.143,32.7462,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 8.89317, position (cm) = (-64.143,32.7462,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.116185, position (cm) = (-113.266,45.0164,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 8.95983, position (cm) = (-55.3182,40.1297,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.00581493, position (cm) = (-56.817,46.5661,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.0996308, position (cm) = (-57.5048,56.5286,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 21.3331, position (cm) = (-51.2217,51.6829,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 31.2553, position (cm) = (-45.4831,50.4299,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 31.3797, position (cm) = (-47.899,52.247,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.0724288, position (cm) = (-74.8454,40.8432,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 2.11921, position (cm) = (-57.7199,46.72,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.759328, position (cm) = (-84.206,45.9003,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 6.97755, position (cm) = (-113.051,31.62,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 7.2378, position (cm) = (-77.056,59.2811,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 1.67969e-06, position (cm) = (-169.363,75.7509,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 46.4955, position (cm) = (-197.12,91.2933,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 46.3693, position (cm) = (-196.958,91.2805,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 46.4955, position (cm) = (-197.12,91.2933,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 2.10309, position (cm) = (-168.725,79.2339,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 46.6521, position (cm) = (-200.12,85.1976,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 1.69608, position (cm) = (-185.208,70.5112,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.0642333, position (cm) = (-186.504,86.437,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 1.96994, position (cm) = (-255.244,109.779,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 9.12207, position (cm) = (-242.569,106.206,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.167686, position (cm) = (-247.892,103.86,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 1.3759, position (cm) = (-239.915,84.7677,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 0.000273231, position (cm) = (-220.89,106.196,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 3.15905e-07, position (cm) = (-241.003,93.1744,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 4.23269, position (cm) = (-256.003,99.5466,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 60.4644, position (cm) = (-266.25,87.2691,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 2.24133e-05, position (cm) = (-269.774,56.8065,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.447637, position (cm) = (-284,68.6985,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.211316, position (cm) = (-282.688,49.9128,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 6.30752, position (cm) = (-257.62,64.7078,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.236033, position (cm) = (-273.677,66.6907,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 1.02145, position (cm) = (-244.814,91.473,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.267077, position (cm) = (-259.433,67.7433,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 6.76293, position (cm) = (-321.427,-0.664196,200), weight = 5.82077e-11 + neutron, kinetic energy (MeV) = 10.6776, position (cm) = (-343.848,-31.9555,200), weight = 3.63798e-12 + neutron, kinetic energy (MeV) = 10.6776, position (cm) = (-343.848,-31.9555,200), weight = 3.63798e-12 + neutron, kinetic energy (MeV) = 2.43255, position (cm) = (-336.15,-18.9252,200), weight = 7.27596e-12 + gamma, kinetic energy (MeV) = 3.38347, position (cm) = (-353.948,-17.6262,200), weight = 7.27596e-12 + neutron, kinetic energy (MeV) = 10.3527, position (cm) = (-348.731,-25.6376,200), weight = 7.27596e-12 + neutron, kinetic energy (MeV) = 10.8507, position (cm) = (-348.729,-28.0432,200), weight = 7.27596e-12 + gamma, kinetic energy (MeV) = 0.282889, position (cm) = (-331.061,15.0429,200), weight = 2.91038e-11 + gamma, kinetic energy (MeV) = 0.20472, position (cm) = (-355.305,-17.7875,200), weight = 2.91038e-11 + gamma, kinetic energy (MeV) = 4.11682, position (cm) = (-335.346,-23.0784,200), weight = 2.91038e-11 + neutron, kinetic energy (MeV) = 0.85876, position (cm) = (-335.065,-29.2804,200), weight = 2.91038e-11 + gamma, kinetic energy (MeV) = 0.129965, position (cm) = (-327.14,21.9633,200), weight = 9.31323e-10 + neutron, kinetic energy (MeV) = 11.9826, position (cm) = (-351.849,25.8724,200), weight = 5.82077e-11 + neutron, kinetic energy (MeV) = 11.9826, position (cm) = (-351.849,25.8724,200), weight = 5.82077e-11 + neutron, kinetic energy (MeV) = 11.9826, position (cm) = (-351.849,25.8724,200), weight = 1.16415e-10 + neutron, kinetic energy (MeV) = 11.7957, position (cm) = (-350.555,25.7718,200), weight = 4.65661e-10 + neutron, kinetic energy (MeV) = 11.9826, position (cm) = (-351.849,25.8724,200), weight = 9.31323e-10 + neutron, kinetic energy (MeV) = 11.8124, position (cm) = (-363.194,55.6205,200), weight = 2.32831e-10 + neutron, kinetic energy (MeV) = 11.9326, position (cm) = (-368.035,55.2014,200), weight = 1.16415e-10 + neutron, kinetic energy (MeV) = 5.0617, position (cm) = (-367.095,52.1297,200), weight = 5.82077e-11 + gamma, kinetic energy (MeV) = 0.818031, position (cm) = (-394.961,37.3848,200), weight = 5.82077e-11 + neutron, kinetic energy (MeV) = 1.75225, position (cm) = (-338.451,49.4897,200), weight = 9.31323e-10 + gamma, kinetic energy (MeV) = 0.0743497, position (cm) = (-363.264,40.787,200), weight = 9.31323e-10 + neutron, kinetic energy (MeV) = 2.14799, position (cm) = (-373.979,55.8882,200), weight = 9.31323e-10 + gamma, kinetic energy (MeV) = 0.185329, position (cm) = (-356.104,37.4164,200), weight = 9.31323e-10 + gamma, kinetic energy (MeV) = 5.39219, position (cm) = (-324.068,58.9444,200), weight = 4.65661e-10 + gamma, kinetic energy (MeV) = 0.732455, position (cm) = (-359.356,44.3083,200), weight = 4.65661e-10 + gamma, kinetic energy (MeV) = 5.57303, position (cm) = (-359.484,40.3834,200), weight = 4.65661e-10 + neutron, kinetic energy (MeV) = 1.11863, position (cm) = (-361.058,48.4109,200), weight = 1.86265e-09 + neutron, kinetic energy (MeV) = 1.60032, position (cm) = (-374.074,27.2503,200), weight = 9.31323e-10 + neutron, kinetic energy (MeV) = 0.0956759, position (cm) = (-284.683,56.8039,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 1.07872, position (cm) = (-295.954,63.8125,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 3.0632e-07, position (cm) = (-309.161,36.3152,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 4.58795, position (cm) = (-287.246,56.9768,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 15.2198, position (cm) = (-273.806,67.1688,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.0783753, position (cm) = (-290.18,73.9087,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 27.1759, position (cm) = (-248.832,70.6974,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 26.9553, position (cm) = (-249.055,70.5907,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 7.26294e-05, position (cm) = (-252.794,76.8742,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 1.62696, position (cm) = (-249.737,78.7741,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 1.62696, position (cm) = (-249.737,78.7741,200), weight = 4.76837e-07 + gamma, kinetic energy (MeV) = 0.813513, position (cm) = (-246.064,77.6605,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 4.33994, position (cm) = (-244.56,72.7216,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.10451, position (cm) = (-245.029,89.0756,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-242.125,85.764,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 16.4376, position (cm) = (-248.303,75.7132,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 16.1801, position (cm) = (-252.109,71.4356,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 16.1801, position (cm) = (-252.109,71.4356,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.106884, position (cm) = (-247.65,72.1781,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.0981159, position (cm) = (-247.819,71.2719,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 2.42407, position (cm) = (-258.616,71.3275,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.577198, position (cm) = (-241.35,80.194,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.898533, position (cm) = (-236.581,94.5252,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 3.39354, position (cm) = (-246.324,83.8179,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 17.1816, position (cm) = (-231.536,108.562,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 3.00537, position (cm) = (-200.939,132.646,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.287284, position (cm) = (-266.519,106.107,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 8.43318, position (cm) = (-237.256,95.0139,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 39.9707, position (cm) = (-263.191,81.9092,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 39.9707, position (cm) = (-263.191,81.9092,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.626562, position (cm) = (-254.653,88.0295,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.861209, position (cm) = (-256.038,84.4617,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.253394, position (cm) = (-291.44,69.4435,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.662634, position (cm) = (-257.628,84.7494,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 2.51702, position (cm) = (-257.49,84.8609,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 3.929, position (cm) = (-257.354,84.8942,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 40.6271, position (cm) = (-253.842,90.8086,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 40.6271, position (cm) = (-253.842,90.8086,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.8659, position (cm) = (-159.392,79.1033,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 2.40408, position (cm) = (-145.63,73.4308,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 16.2589, position (cm) = (-152.908,69.9704,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 2.85878, position (cm) = (-153.931,75.7161,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.300104, position (cm) = (-147.055,71.1647,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 3.81869, position (cm) = (-148.453,70.2281,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0776946, position (cm) = (-146.266,85.3259,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.889441, position (cm) = (-147.573,72.0165,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.09378, position (cm) = (-149.006,70.1697,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 6.7169, position (cm) = (-149.534,70.4766,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0638864, position (cm) = (-141.143,55.3202,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.29025, position (cm) = (-147.288,52.6071,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 4.14303, position (cm) = (-130.307,25.3824,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 1.56991, position (cm) = (-152.479,66.8899,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.0734785, position (cm) = (-153.568,53.1804,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.482292, position (cm) = (-118.566,88.3352,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.252194, position (cm) = (-141.788,83.7742,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 1.62165, position (cm) = (-125.358,77.7023,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 1.74927, position (cm) = (-184.48,72.4329,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 1.41075e-06, position (cm) = (-215.084,90.0426,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 13.897, position (cm) = (-18.5326,108.209,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 13.897, position (cm) = (-18.5326,108.209,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 13.897, position (cm) = (-18.5326,108.209,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 13.897, position (cm) = (-18.5326,108.209,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 1.38005e-07, position (cm) = (-189.578,39.4615,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.138445, position (cm) = (-130.778,52.9146,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 18.7928, position (cm) = (-146.222,62.6525,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 18.7928, position (cm) = (-146.222,62.6525,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 18.7928, position (cm) = (-146.222,62.6525,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 18.7422, position (cm) = (-146.212,62.4752,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 1.50193, position (cm) = (-142.031,56.1034,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 18.7928, position (cm) = (-146.222,62.6525,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 18.7928, position (cm) = (-146.222,62.6525,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.128825, position (cm) = (-141.263,66.3468,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 7.87086, position (cm) = (-140.997,58.4473,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.109694, position (cm) = (-150.855,63.8713,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 18.7928, position (cm) = (-146.222,62.6525,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 1.92751e-06, position (cm) = (25.425,73.3477,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.731112, position (cm) = (74.2038,-3.70452,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 0.0229821, position (cm) = (-34.5384,45.1015,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.103645, position (cm) = (12.5785,82.2433,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 2.19111, position (cm) = (-3.49394,97.7467,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.490739, position (cm) = (21.0471,60.1797,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.42467, position (cm) = (31.0621,80.4665,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.9961, position (cm) = (46.6127,114.136,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 6.94198, position (cm) = (44.9385,80.4479,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 0.173438, position (cm) = (20.234,83.2308,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 3.70495, position (cm) = (28.3308,90.4639,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 21.9975, position (cm) = (13.2881,88.6797,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 21.9215, position (cm) = (14.7491,84.8385,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 21.9975, position (cm) = (13.2881,88.6797,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 1.59555, position (cm) = (13.8455,11.043,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 1.59555, position (cm) = (13.8455,11.043,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.280109, position (cm) = (27.5506,-22.9448,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 2.80438, position (cm) = (5.44449,106.054,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 48.143, position (cm) = (5.50632,109.143,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.0526099, position (cm) = (16.7471,104.166,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.000293981, position (cm) = (-10.8805,60.9014,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.58975, position (cm) = (-4.75865,79.9432,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 1.96741, position (cm) = (-4.2316,79.8234,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.0766966, position (cm) = (6.2131,85.1386,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 25.9478, position (cm) = (-23.4449,107.489,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 25.9478, position (cm) = (-23.4449,107.489,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 25.2035, position (cm) = (-20.5727,99.1318,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.220187, position (cm) = (-11.4047,96.6407,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 5.97319, position (cm) = (-16.858,99.7049,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 25.9478, position (cm) = (-23.4449,107.489,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.407049, position (cm) = (-23.5527,104.616,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 0.809111, position (cm) = (-13.4277,102.451,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 4.66689e-06, position (cm) = (-107.423,6.47634,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 10.9226, position (cm) = (-127.53,-66.8941,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 10.9677, position (cm) = (-126.286,-67.6169,200), weight = 7.45058e-09 + neutron, kinetic energy (MeV) = 10.9677, position (cm) = (-126.286,-67.6169,200), weight = 7.45058e-09 + neutron, kinetic energy (MeV) = 8.64759, position (cm) = (-126.068,-60.3635,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 10.9677, position (cm) = (-126.286,-67.6169,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 10.9677, position (cm) = (-126.286,-67.6169,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 0.700447, position (cm) = (-134.803,-65.3653,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 0.301417, position (cm) = (-128.064,-42.0972,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.211311, position (cm) = (-108.749,-53.4546,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.0367252, position (cm) = (-117.736,-59.4619,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 1.3077, position (cm) = (-125.169,-30.8312,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.0415536, position (cm) = (-126.491,-29.5446,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.0939341, position (cm) = (-125.145,-35.4115,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 4.61997, position (cm) = (-128.634,-35.5041,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 0.00131146, position (cm) = (-133.372,0.387674,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.374853, position (cm) = (-133.008,8.62997,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.126688, position (cm) = (-137.045,-8.33442,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.287727, position (cm) = (-137.286,-1.61757,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 1.87561, position (cm) = (-133.839,8.28404,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.0783972, position (cm) = (-115.52,3.79468,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.062425, position (cm) = (-136.589,-18.6253,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.163689, position (cm) = (-126.28,-22.9426,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 3.14319e-07, position (cm) = (-134.259,11.9179,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 11.7679, position (cm) = (-135.277,-9.28534,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 11.7679, position (cm) = (-135.277,-9.28534,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 0.255374, position (cm) = (-110.091,2.83611,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 0.458436, position (cm) = (-118.213,-4.12014,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 1.36836, position (cm) = (-120.092,-6.5748,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 2.47079, position (cm) = (-118.408,7.8479,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 0.000859764, position (cm) = (-56.5581,-46.3037,200), weight = 0.00195312 + neutron, kinetic energy (MeV) = 0.00132245, position (cm) = (-68.2067,-74.44,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.114927, position (cm) = (-56.5106,-91.8805,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 4.17244, position (cm) = (-54.6061,-92.2475,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 6.75672e-05, position (cm) = (-55.2717,-78.9252,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.270996, position (cm) = (-44.6805,-95.8657,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.858641, position (cm) = (-25.1666,50.8564,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 47.7242, position (cm) = (-25.7889,66.0895,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 48.324, position (cm) = (-14.6789,46.4908,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 0.120313, position (cm) = (-11.3247,31.9471,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 2.01095, position (cm) = (-8.58978,72.3504,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 23.7778, position (cm) = (-37.7335,-41.4717,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 4.80392e-05, position (cm) = (-42.6222,-45.9194,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.0816071, position (cm) = (53.9807,-43.6099,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.647057, position (cm) = (50.0129,-48.2278,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 2.95668, position (cm) = (64.5019,-42.0812,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 1.87271, position (cm) = (33.9563,-32.7606,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.203918, position (cm) = (-80.0905,-42.8857,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.23756, position (cm) = (-83.0775,-37.3426,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 2.06189, position (cm) = (-67.8838,-34.4385,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 1.18254, position (cm) = (-83.0046,-38.1178,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 2.19946, position (cm) = (-78.991,-29.8958,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 1.99362, position (cm) = (-38.5014,-86.764,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.0870527, position (cm) = (-16.3583,-14.8734,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 8.00917e-05, position (cm) = (-17.6079,-25.0037,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 2.38881, position (cm) = (-7.36329,-1.96202,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 11.7037, position (cm) = (-14.1549,-18.8148,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.925897, position (cm) = (18.6118,-65.9666,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 11.6483, position (cm) = (-10.587,-15.832,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 11.6483, position (cm) = (-10.587,-15.832,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 16.4851, position (cm) = (-14.628,-10.701,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 16.4851, position (cm) = (-14.628,-10.701,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 14.2881, position (cm) = (-62.9978,0.491527,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 12.4275, position (cm) = (-60.2461,-2.29001,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 12.4275, position (cm) = (-60.2461,-2.29001,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 12.4275, position (cm) = (-60.2461,-2.29001,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.239922, position (cm) = (-51.3416,-2.89475,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.713536, position (cm) = (-54.5495,-1.46865,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 5.27264, position (cm) = (-57.3826,-2.34973,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 7.76802, position (cm) = (-58.124,-1.57652,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 2.53307, position (cm) = (-48.9449,9.25492,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.110528, position (cm) = (-100.058,-35.8749,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 50.7198, position (cm) = (-65.0434,-48.3275,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 76.4851, position (cm) = (-83.6034,-36.4821,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 76.4851, position (cm) = (-83.6034,-36.4821,200), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 7.39568, position (cm) = (-80.0457,-37.1454,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 48.1737, position (cm) = (-88.8282,-44.2111,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 48.0086, position (cm) = (-89.0784,-44.1767,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 75.6549, position (cm) = (-78.8594,-38.7496,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 8.73091, position (cm) = (-80.2693,-39.1541,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 63.3131, position (cm) = (-80.37,-40.1953,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.64119e-07, position (cm) = (-11.9167,32.2254,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 76.6327, position (cm) = (-70.4725,-30.2267,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 2.32482, position (cm) = (-57.2926,-16.443,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 2.63169e-05, position (cm) = (-55.7998,-37.9272,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 76.603, position (cm) = (-85.9833,-79.255,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 76.7097, position (cm) = (-102.833,-106.668,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 0.0822979, position (cm) = (-97.7273,-105.279,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 76.7097, position (cm) = (-102.833,-106.668,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 76.2295, position (cm) = (-112.388,-112.173,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 76.6716, position (cm) = (-83.3048,-94.8692,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 76.7495, position (cm) = (-87.455,-88.081,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 76.7495, position (cm) = (-87.455,-88.081,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 4.3996e-07, position (cm) = (-73.375,-103.377,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 7.29595, position (cm) = (-95.1327,-80.7549,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 5.68564, position (cm) = (-104.287,-67.3701,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 76.5579, position (cm) = (-128.85,-76.29,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 76.3944, position (cm) = (-128.847,-76.2841,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.00760944, position (cm) = (-103.823,-93.6595,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 0.105717, position (cm) = (-114.718,-88.0788,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 53.6049, position (cm) = (-125.952,-89.275,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 76.4268, position (cm) = (-125.591,-98.1817,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 76.4268, position (cm) = (-125.591,-98.1817,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 76.4268, position (cm) = (-125.591,-98.1817,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 76.4782, position (cm) = (-122.436,-73.1104,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 76.7547, position (cm) = (-122.602,-81.5378,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 77.1217, position (cm) = (-122.405,-73.4842,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 77.1217, position (cm) = (-122.405,-73.4842,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 76.8366, position (cm) = (-121.82,-73.3187,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 77.0126, position (cm) = (-123.481,-74.4278,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 77.0126, position (cm) = (-123.481,-74.4278,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 77.0126, position (cm) = (-123.481,-74.4278,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 77.1217, position (cm) = (-122.405,-73.4842,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 77.1217, position (cm) = (-122.405,-73.4842,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 77.1217, position (cm) = (-122.405,-73.4842,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 77.1217, position (cm) = (-122.405,-73.4842,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 2.35282, position (cm) = (-115.289,-73.298,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 4.83561, position (cm) = (-119.587,-67.749,200), weight = 2.38419e-07 + gamma, kinetic energy (MeV) = 0.116354, position (cm) = (-120.775,-46.7575,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 0.369993, position (cm) = (-120.368,-70.1551,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 76.5324, position (cm) = (-132.671,-61.8892,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 76.6283, position (cm) = (-132.146,-61.6401,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 76.6832, position (cm) = (-131.553,-61.7256,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 76.6832, position (cm) = (-131.553,-61.7256,200), weight = 4.76837e-07 + neutron, kinetic energy (MeV) = 2.6205, position (cm) = (-122.837,-77.2728,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 2.9047, position (cm) = (-124.469,-76.619,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 2.94774, position (cm) = (-126.251,-83.4156,200), weight = 9.53674e-07 + gamma, kinetic energy (MeV) = 4.76739, position (cm) = (-120.963,-71.1945,200), weight = 9.53674e-07 + neutron, kinetic energy (MeV) = 2.96301e-06, position (cm) = (-116.546,-53.1682,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.45474, position (cm) = (-106.698,-52.9753,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.238096, position (cm) = (-111.037,-63.2655,200), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.18942, position (cm) = (-96.7525,-53.9445,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.0946396, position (cm) = (-52.7486,-33.5247,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 2.90784, position (cm) = (-42.404,-38.6784,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 77.2392, position (cm) = (-66.6718,7.0478,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 77.2392, position (cm) = (-66.6718,7.0478,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.127884, position (cm) = (-69.033,-1.91903,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 1.09898, position (cm) = (-56.0893,15.3292,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 4.25487, position (cm) = (-62.6245,6.56991,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 1.84022, position (cm) = (-65.0776,8.38901,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.657247, position (cm) = (-123.095,-19.3987,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 2.18231, position (cm) = (-81.1085,7.05737,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.445819, position (cm) = (-101.791,40.2857,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 3.87419, position (cm) = (-85.634,24.1266,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.798685, position (cm) = (-68.1841,7.46231,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.10564, position (cm) = (-68.5503,4.03048,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.461335, position (cm) = (-63.4709,-1.20278,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 2.36654, position (cm) = (-59.6273,7.70734,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 2.95402, position (cm) = (-58.266,0.295043,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.255662, position (cm) = (-7.52498,-33.5353,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 2.83538, position (cm) = (-10.7075,-38.9646,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 17.5398, position (cm) = (-10.9131,-43.9926,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 40.009, position (cm) = (-16.5995,-45.1714,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.109914, position (cm) = (-2.2899,-82.9155,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.974217, position (cm) = (-1.81177,-82.147,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 14.2552, position (cm) = (-0.445051,-80.4155,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 32.2853, position (cm) = (-17.0229,-91.967,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 32.2853, position (cm) = (-17.0229,-91.967,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 32.2189, position (cm) = (-16.985,-92.0236,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 32.0832, position (cm) = (-4.19655,-83.4138,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 32.0003, position (cm) = (-4.30151,-83.3761,200), weight = 7.62939e-06 + neutron, kinetic energy (MeV) = 32.0832, position (cm) = (-4.19655,-83.4138,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 32.0832, position (cm) = (-4.19655,-83.4138,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 28.8567, position (cm) = (-1.76169,-78.2373,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-10.105,-84.2152,200), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.103091, position (cm) = (-10.8178,-82.8499,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 0.155415, position (cm) = (46.719,-16.3369,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 1.23755, position (cm) = (4.09017,-6.52767,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 1.41105, position (cm) = (16.7188,10.747,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 5.40822, position (cm) = (0.496156,-5.76885,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 1.67285, position (cm) = (-19.4713,-0.509877,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 15.9749, position (cm) = (-11.0033,4.39034,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 15.9749, position (cm) = (-11.0033,4.39034,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-11.966,5.21515,200), weight = 6.10352e-05 + neutron, kinetic energy (MeV) = 42.4482, position (cm) = (-16.0551,0.789947,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 5.67805, position (cm) = (23.0497,3.81052,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 0.000149004, position (cm) = (21.3092,-20.039,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.0717562, position (cm) = (-11.6297,15.6106,200), weight = 3.05176e-05 + neutron, kinetic energy (MeV) = 4.72092, position (cm) = (-9.11448,12.7464,200), weight = 3.05176e-05 + gamma, kinetic energy (MeV) = 0.136295, position (cm) = (-15.6418,7.33041,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.768971, position (cm) = (-25.4466,10.0976,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 7.72611, position (cm) = (-17.912,10.2649,200), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 0.00961513, position (cm) = (-26.6031,-2.38573,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.133529, position (cm) = (1.05328,22.0485,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 6.14747, position (cm) = (-3.8364,8.55729,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 7.10306, position (cm) = (-36.4274,7.95042,200), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.270462, position (cm) = (3.24801,16.0974,200), weight = 1.52588e-05 + neutron, kinetic energy (MeV) = 39.1946, position (cm) = (8.15791,18.472,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.0786357, position (cm) = (62.3303,-30.5959,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 16.2658, position (cm) = (57.2766,142.219,200), weight = 1.86265e-09 + gamma, kinetic energy (MeV) = 0.136514, position (cm) = (57.3809,142.165,200), weight = 1.86265e-09 + neutron, kinetic energy (MeV) = 1.99402, position (cm) = (47.2926,143.814,200), weight = 1.86265e-09 + gamma, kinetic energy (MeV) = 7.61688, position (cm) = (57.2498,141.752,200), weight = 1.86265e-09 + neutron, kinetic energy (MeV) = 6.15288, position (cm) = (62.6247,146.659,200), weight = 3.72529e-09 + gamma, kinetic energy (MeV) = 0.375514, position (cm) = (60.6942,132.615,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 2.82332, position (cm) = (77.6425,116.89,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 1.93292, position (cm) = (78.2226,128.039,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 0.619195, position (cm) = (88.8539,140.344,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 1.16219, position (cm) = (43.6743,138.922,200), weight = 2.38419e-07 + neutron, kinetic energy (MeV) = 3.26627, position (cm) = (29.5038,-0.756426,200), weight = 7.45058e-09 + neutron, kinetic energy (MeV) = 17.204, position (cm) = (54.9335,98.3226,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 1.50255, position (cm) = (64.8771,107.785,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 3.82029, position (cm) = (-14.481,-6.83542,200), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.383185, position (cm) = (21.1333,-1.58729,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.119583, position (cm) = (-2.24669,-2.37748,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 0.809965, position (cm) = (52.6439,30.5135,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 3.59199, position (cm) = (63.8508,-24.9375,200), weight = 0.03125 + gamma, kinetic energy (MeV) = 0.460977, position (cm) = (136.734,60.0128,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 30.2668, position (cm) = (136.169,65.3789,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 1.97351, position (cm) = (131.208,43.4238,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.224582, position (cm) = (113.909,55.2785,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.103119, position (cm) = (121.384,48.7183,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 1.15373, position (cm) = (116.868,51.7901,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 2.38337, position (cm) = (117.336,53.7847,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.176969, position (cm) = (107.222,43.6454,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.0519726, position (cm) = (98.6853,46.1501,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 1.86383, position (cm) = (109.599,69.2833,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 2.08746, position (cm) = (110.561,54.0662,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 2.44942, position (cm) = (116.266,72.8304,200), weight = 0.000244141 + neutron, kinetic energy (MeV) = 35.0484, position (cm) = (120.499,48.4846,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.264653, position (cm) = (40.7461,51.262,200), weight = 0.0078125 + gamma, kinetic energy (MeV) = 0.894782, position (cm) = (87.0968,64.4475,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.0472025, position (cm) = (81.9719,69.6077,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 2.21828, position (cm) = (60.0425,61.1387,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.259294, position (cm) = (72.552,49.8107,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 0.632488, position (cm) = (67.4348,67.0893,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 1.35567e-05, position (cm) = (85.8565,49.6332,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 15.8007, position (cm) = (76.4488,68.1067,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 13.9669, position (cm) = (82.7811,61.7297,200), weight = 0.00012207 + gamma, kinetic energy (MeV) = 0.0729102, position (cm) = (77.3875,65.5795,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 10.8794, position (cm) = (78.0481,66.9315,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.234718, position (cm) = (44.3726,86.2969,200), weight = 0.00012207 + neutron, kinetic energy (MeV) = 3.1444, position (cm) = (56.8252,67.2832,200), weight = 0.000244141 + gamma, kinetic energy (MeV) = 0.471243, position (cm) = (48.0969,30.7275,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 0.278414, position (cm) = (77.8843,67.1421,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 2.04078, position (cm) = (77.8678,67.5205,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 0.323956, position (cm) = (73.5654,62.2783,200), weight = 0.000976562 + neutron, kinetic energy (MeV) = 0.000261177, position (cm) = (88.5351,90.2585,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 2.49324, position (cm) = (81.511,60.205,200), weight = 0.000976562 + gamma, kinetic energy (MeV) = 4.21631, position (cm) = (57.5197,63.671,200), weight = 0.00195312 + gamma, kinetic energy (MeV) = 1.31164, position (cm) = (43.234,74.0223,200), weight = 7.62939e-06 + gamma, kinetic energy (MeV) = 11.9271, position (cm) = (46.024,151.184,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 0.104293, position (cm) = (60.3563,139.161,200), weight = 1.49012e-08 + neutron, kinetic energy (MeV) = 2.51846, position (cm) = (49.8166,134.578,200), weight = 7.45058e-09 + neutron, kinetic energy (MeV) = 2.37571, position (cm) = (49.9912,134.131,200), weight = 7.45058e-09 + gamma, kinetic energy (MeV) = 0.347558, position (cm) = (62.617,130.505,200), weight = 2.98023e-08 + gamma, kinetic energy (MeV) = 0.0591268, position (cm) = (52.9811,153.489,200), weight = 2.98023e-08 + neutron, kinetic energy (MeV) = 0.801339, position (cm) = (58.3978,122.621,200), weight = 5.96046e-08 + gamma, kinetic energy (MeV) = 4.60465, position (cm) = (56.1132,114.877,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.273035, position (cm) = (73.1922,141.872,200), weight = 5.96046e-08 + neutron, kinetic energy (MeV) = 0.000424773, position (cm) = (58.234,116.128,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 0.154852, position (cm) = (49.4926,104.091,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 19.7544, position (cm) = (50.2163,135.88,200), weight = 3.72529e-09 + gamma, kinetic energy (MeV) = 0.317899, position (cm) = (51.0676,127.3,200), weight = 1.86265e-09 + neutron, kinetic energy (MeV) = 19.5687, position (cm) = (43.5406,131.823,200), weight = 1.86265e-09 + gamma, kinetic energy (MeV) = 0.0961058, position (cm) = (48.3753,131.167,200), weight = 3.72529e-09 + gamma, kinetic energy (MeV) = 0.116951, position (cm) = (46.3062,128.365,200), weight = 3.72529e-09 + gamma, kinetic energy (MeV) = 3.59517, position (cm) = (50.5206,131.186,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 0.00978852, position (cm) = (60.8655,133.988,200), weight = 3.72529e-09 + neutron, kinetic energy (MeV) = 5.80352, position (cm) = (82.1493,110.976,200), weight = 1.49012e-08 + gamma, kinetic energy (MeV) = 6.71959, position (cm) = (91.2929,134.707,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.506606, position (cm) = (111.888,128.581,200), weight = 1.19209e-07 + neutron, kinetic energy (MeV) = 1.71824, position (cm) = (158.7,161.413,200), weight = 7.45058e-09 + neutron, kinetic energy (MeV) = 2.63543, position (cm) = (68.2667,165.006,200), weight = 1.19209e-07 + gamma, kinetic energy (MeV) = 0.643494, position (cm) = (59.2962,55.5239,200), weight = 0.000488281 + gamma, kinetic energy (MeV) = 6.63987, position (cm) = (57.8016,-34.6477,200), weight = 0.000488281 + neutron, kinetic energy (MeV) = 9.04792e-06, position (cm) = (33.1139,-20.801,200), weight = 0.000488281 Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/biasing/GB05/include/GB05ActionInitialization.hh b/examples/extended/biasing/GB05/include/GB05ActionInitialization.hh index 285c5c5beb5..31db666412f 100644 --- a/examples/extended/biasing/GB05/include/GB05ActionInitialization.hh +++ b/examples/extended/biasing/GB05/include/GB05ActionInitialization.hh @@ -46,5 +46,3 @@ class GB05ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/biasing/GB05/include/GB05BOptnSplitAndKillByCrossSection.hh b/examples/extended/biasing/GB05/include/GB05BOptnSplitAndKillByCrossSection.hh index a843da0f26a..c30b56f8a9b 100644 --- a/examples/extended/biasing/GB05/include/GB05BOptnSplitAndKillByCrossSection.hh +++ b/examples/extended/biasing/GB05/include/GB05BOptnSplitAndKillByCrossSection.hh @@ -31,62 +31,56 @@ #ifndef GB05BOptnSplitAndKillByCrossSection_hh #define GB05BOptnSplitAndKillByCrossSection_hh 1 -#include "G4VBiasingOperation.hh" #include "G4ParticleChange.hh" +#include "G4VBiasingOperation.hh" +class GB05BOptnSplitAndKillByCrossSection : public G4VBiasingOperation +{ + public: + // -- Constructor : + GB05BOptnSplitAndKillByCrossSection(G4String name); + // -- destructor: + virtual ~GB05BOptnSplitAndKillByCrossSection(); -class GB05BOptnSplitAndKillByCrossSection : public G4VBiasingOperation { -public: - // -- Constructor : - GB05BOptnSplitAndKillByCrossSection(G4String name); - // -- destructor: - virtual ~GB05BOptnSplitAndKillByCrossSection(); - -public: - // ---------------------------------------------- - // -- Methods from G4VBiasingOperation interface: - // ---------------------------------------------- - // -- Unused: - virtual const G4VBiasingInteractionLaw* - ProvideOccurenceBiasingInteractionLaw( const G4BiasingProcessInterface*, - G4ForceCondition& ) final - {return 0;} - virtual G4VParticleChange* - ApplyFinalStateBiasing ( const G4BiasingProcessInterface*, - const G4Track*, - const G4Step*, - G4bool& ) final - {return 0;} - - // -- Used methods ("non-physics biasing methods"): - // ------------------------------------------------ - // -- Method to return the distance or the condition under which - // -- requesting the biasing. - // -- Here this distance will be sampled according the exponential - // -- interaction law, using the interaction length passed to the - // -- method SetInteractionLength(G4double) below. - virtual G4double - DistanceToApplyOperation ( const G4Track*, - G4double, - G4ForceCondition* condition ) final; - // -- Method the generate the final state, which is made of the primary - // -- with half of its original weight, and a clone of it. - virtual G4VParticleChange* - GenerateBiasingFinalState ( const G4Track*, - const G4Step* ) final; + public: + // ---------------------------------------------- + // -- Methods from G4VBiasingOperation interface: + // ---------------------------------------------- + // -- Unused: + virtual const G4VBiasingInteractionLaw* + ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface*, G4ForceCondition&) final + { + return 0; + } + virtual G4VParticleChange* ApplyFinalStateBiasing(const G4BiasingProcessInterface*, + const G4Track*, const G4Step*, G4bool&) final + { + return 0; + } - // -- Specific to this example: - // ---------------------------- - void SetInteractionLength(G4double interactionLength ) - { - fInteractionLength = interactionLength; - } + // -- Used methods ("non-physics biasing methods"): + // ------------------------------------------------ + // -- Method to return the distance or the condition under which + // -- requesting the biasing. + // -- Here this distance will be sampled according the exponential + // -- interaction law, using the interaction length passed to the + // -- method SetInteractionLength(G4double) below. + virtual G4double DistanceToApplyOperation(const G4Track*, G4double, + G4ForceCondition* condition) final; + // -- Method the generate the final state, which is made of the primary + // -- with half of its original weight, and a clone of it. + virtual G4VParticleChange* GenerateBiasingFinalState(const G4Track*, const G4Step*) final; - -private: - G4ParticleChange fParticleChange; - G4double fInteractionLength; + // -- Specific to this example: + // ---------------------------- + void SetInteractionLength(G4double interactionLength) + { + fInteractionLength = interactionLength; + } + private: + G4ParticleChange fParticleChange; + G4double fInteractionLength; }; #endif diff --git a/examples/extended/biasing/GB05/include/GB05BOptrSplitAndKillByCrossSection.hh b/examples/extended/biasing/GB05/include/GB05BOptrSplitAndKillByCrossSection.hh index 0730518118c..32025b6da75 100644 --- a/examples/extended/biasing/GB05/include/GB05BOptrSplitAndKillByCrossSection.hh +++ b/examples/extended/biasing/GB05/include/GB05BOptrSplitAndKillByCrossSection.hh @@ -53,58 +53,56 @@ class G4VProcess; class GB05BOptnSplitAndKillByCrossSection; #include +class GB05BOptrSplitAndKillByCrossSection : public G4VBiasingOperator +{ + public: + // ------------------------------------------------------------ + // -- Constructor: takes the name of the particle type to bias: + // ------------------------------------------------------------ + GB05BOptrSplitAndKillByCrossSection(G4String particleToBias, + G4String name = "SplitAndKillByXS"); + virtual ~GB05BOptrSplitAndKillByCrossSection(); -class GB05BOptrSplitAndKillByCrossSection : public G4VBiasingOperator { -public: - // ------------------------------------------------------------ - // -- Constructor: takes the name of the particle type to bias: - // ------------------------------------------------------------ - GB05BOptrSplitAndKillByCrossSection(G4String particleToBias, - G4String name = "SplitAndKillByXS"); - virtual ~GB05BOptrSplitAndKillByCrossSection(); - - // -- method called at beginning of run: - virtual void StartRun(); - -private: - // ----------------------------- - // -- Mandatory from base class: - // ----------------------------- - // -- Not used: - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation(const G4Track*, - const G4BiasingProcessInterface*) final - { return 0; } - - // -- Not used: - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation(const G4Track*, - const G4BiasingProcessInterface*) final - { return 0; } + // -- method called at beginning of run: + virtual void StartRun(); - // -- Used method : it will return the biasing operation that will split particles - // -- with a probabilty depending on the total absorption cross-section. - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation(const G4Track*, - const G4BiasingProcessInterface*) final; + private: + // ----------------------------- + // -- Mandatory from base class: + // ----------------------------- + // -- Not used: + virtual G4VBiasingOperation* + ProposeOccurenceBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final + { + return 0; + } + // -- Not used: + virtual G4VBiasingOperation* + ProposeFinalStateBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final + { + return 0; + } - // --------------------------------------- - // -- Method specific to this application: - // --------------------------------------- - // -- Each "absorbing" process that the biasing has to counterbalance - // -- its action for has to be passed to the biasing operator -public: - void AddProcessToEquipoise(G4String processName); + // -- Used method : it will return the biasing operation that will split particles + // -- with a probabilty depending on the total absorption cross-section. + virtual G4VBiasingOperation* + ProposeNonPhysicsBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final; - -private: - GB05BOptnSplitAndKillByCrossSection* fSplitAndKillByCrossSection; - const G4ParticleDefinition* fParticleToBias; - std::vector< G4String > fProcessesToEquipoise; - G4bool fSetup; - std::vector< const G4VProcess* > fProcesses; + // --------------------------------------- + // -- Method specific to this application: + // --------------------------------------- + // -- Each "absorbing" process that the biasing has to counterbalance + // -- its action for has to be passed to the biasing operator + public: + void AddProcessToEquipoise(G4String processName); + private: + GB05BOptnSplitAndKillByCrossSection* fSplitAndKillByCrossSection; + const G4ParticleDefinition* fParticleToBias; + std::vector fProcessesToEquipoise; + G4bool fSetup; + std::vector fProcesses; }; #endif diff --git a/examples/extended/biasing/GB05/include/GB05DetectorConstruction.hh b/examples/extended/biasing/GB05/include/GB05DetectorConstruction.hh index 34c22753717..9df80b23914 100644 --- a/examples/extended/biasing/GB05/include/GB05DetectorConstruction.hh +++ b/examples/extended/biasing/GB05/include/GB05DetectorConstruction.hh @@ -39,17 +39,13 @@ class G4VPhysicalVolume; class GB05DetectorConstruction : public G4VUserDetectorConstruction { -public: - - GB05DetectorConstruction(); - ~GB05DetectorConstruction(); - -public: - - virtual G4VPhysicalVolume* Construct(); - virtual void ConstructSDandField(); + public: + GB05DetectorConstruction(); + ~GB05DetectorConstruction(); + public: + virtual G4VPhysicalVolume* Construct(); + virtual void ConstructSDandField(); }; #endif - diff --git a/examples/extended/biasing/GB05/include/GB05PrimaryGeneratorAction.hh b/examples/extended/biasing/GB05/include/GB05PrimaryGeneratorAction.hh index de97800ba17..61796e36432 100644 --- a/examples/extended/biasing/GB05/include/GB05PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/GB05/include/GB05PrimaryGeneratorAction.hh @@ -39,18 +39,16 @@ class G4ParticleGun; class GB05PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - GB05PrimaryGeneratorAction(); - virtual ~GB05PrimaryGeneratorAction(); - - virtual void GeneratePrimaries(G4Event*); - -private: - G4ParticleGun* fParticleGun; + public: + GB05PrimaryGeneratorAction(); + virtual ~GB05PrimaryGeneratorAction(); + + virtual void GeneratePrimaries(G4Event*); + + private: + G4ParticleGun* fParticleGun; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/biasing/GB05/include/GB05SD.hh b/examples/extended/biasing/GB05/include/GB05SD.hh index 23a6b3fcf3a..0d3e2f81159 100644 --- a/examples/extended/biasing/GB05/include/GB05SD.hh +++ b/examples/extended/biasing/GB05/include/GB05SD.hh @@ -34,13 +34,12 @@ class GB05SD : public G4VSensitiveDetector { -public: - GB05SD(G4String name); - virtual ~GB05SD() {} - - virtual void Initialize(G4HCofThisEvent* ) {} - virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist); - + public: + GB05SD(G4String name); + virtual ~GB05SD() {} + + virtual void Initialize(G4HCofThisEvent*) {} + virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB05/src/GB05ActionInitialization.cc b/examples/extended/biasing/GB05/src/GB05ActionInitialization.cc index abf12b5c8cf..342fe47fd19 100644 --- a/examples/extended/biasing/GB05/src/GB05ActionInitialization.cc +++ b/examples/extended/biasing/GB05/src/GB05ActionInitialization.cc @@ -28,31 +28,29 @@ /// \brief Implementation of the GB05ActionInitialization class #include "GB05ActionInitialization.hh" -#include "GB05PrimaryGeneratorAction.hh" +#include "GB05PrimaryGeneratorAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB05ActionInitialization::GB05ActionInitialization() - : G4VUserActionInitialization() -{} +GB05ActionInitialization::GB05ActionInitialization() : G4VUserActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB05ActionInitialization::~GB05ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB05ActionInitialization::BuildForMaster() const -{ -} +void GB05ActionInitialization::BuildForMaster() const {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB05ActionInitialization::Build() const { SetUserAction(new GB05PrimaryGeneratorAction); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB05/src/GB05BOptnSplitAndKillByCrossSection.cc b/examples/extended/biasing/GB05/src/GB05BOptnSplitAndKillByCrossSection.cc index 3667ab10130..54a9b61982c 100644 --- a/examples/extended/biasing/GB05/src/GB05BOptnSplitAndKillByCrossSection.cc +++ b/examples/extended/biasing/GB05/src/GB05BOptnSplitAndKillByCrossSection.cc @@ -27,51 +27,45 @@ /// \file GB05BOptnSplitAndKillByCrossSection.cc /// \brief Implementation of the GB05BOptnSplitAndKillByCrossSection class -#include "Randomize.hh" #include "GB05BOptnSplitAndKillByCrossSection.hh" +#include "Randomize.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB05BOptnSplitAndKillByCrossSection::GB05BOptnSplitAndKillByCrossSection(G4String name) -: G4VBiasingOperation(name), - fParticleChange(), - fInteractionLength(-1.0) + : G4VBiasingOperation(name), fParticleChange(), fInteractionLength(-1.0) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB05BOptnSplitAndKillByCrossSection::~GB05BOptnSplitAndKillByCrossSection() -{} +GB05BOptnSplitAndKillByCrossSection::~GB05BOptnSplitAndKillByCrossSection() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double GB05BOptnSplitAndKillByCrossSection:: -DistanceToApplyOperation( const G4Track*, - G4double, - G4ForceCondition* condition) +G4double GB05BOptnSplitAndKillByCrossSection::DistanceToApplyOperation(const G4Track*, G4double, + G4ForceCondition* condition) { *condition = NotForced; // -- Sample the exponential law using the total interaction length of processes // -- to couterbalance for: - G4double proposedStepLength = -std::log( G4UniformRand() ) * fInteractionLength; - + G4double proposedStepLength = -std::log(G4UniformRand()) * fInteractionLength; + return proposedStepLength; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* -GB05BOptnSplitAndKillByCrossSection::GenerateBiasingFinalState( const G4Track* track, - const G4Step* ) +G4VParticleChange* +GB05BOptnSplitAndKillByCrossSection::GenerateBiasingFinalState(const G4Track* track, const G4Step*) { - // -- This method is called if we have limited the step. // -- We hence make the splitting or killing. // Get track weight: G4double initialWeight = track->GetWeight(); - + // The "particle change" is the object to be used to communicate to // the tracking the update of the primary state and/or creation // secondary tracks. @@ -79,52 +73,46 @@ GB05BOptnSplitAndKillByCrossSection::GenerateBiasingFinalState( const G4Track* t // -- Splitting and killing factors. // -- They are taken the same, but the killing factor can be make bigger. - G4double splittingFactor = 2.0; - G4double killingFactor = 2.0; - - - if ( track->GetMomentumDirection().z() > 0 ) - { - // -- We split if the track is moving forward: - - // Define the tracks weight: - G4double weightOfTrack = initialWeight/splittingFactor; - - // Ask currect track weight to be changed to new value: - fParticleChange.ProposeParentWeight( weightOfTrack ); - // Now make clones of this track (this is the actual splitting): - // we will then have the primary and clone of it, hence the - // splitting by a factor 2: - G4Track* clone = new G4Track( *track ); - clone->SetWeight( weightOfTrack ); - fParticleChange.AddSecondary( clone ); - // -- Below's call added for safety & illustration : inform particle change to not - // -- modify the clone (ie : daughter) weight to male it that of the - // -- primary. Here call not mandatory and both tracks have same weights. - fParticleChange.SetSecondaryWeightByProcess(true); + G4double splittingFactor = 2.0; + G4double killingFactor = 2.0; + + if (track->GetMomentumDirection().z() > 0) { + // -- We split if the track is moving forward: + + // Define the tracks weight: + G4double weightOfTrack = initialWeight / splittingFactor; + + // Ask currect track weight to be changed to new value: + fParticleChange.ProposeParentWeight(weightOfTrack); + // Now make clones of this track (this is the actual splitting): + // we will then have the primary and clone of it, hence the + // splitting by a factor 2: + G4Track* clone = new G4Track(*track); + clone->SetWeight(weightOfTrack); + fParticleChange.AddSecondary(clone); + // -- Below's call added for safety & illustration : inform particle change to not + // -- modify the clone (ie : daughter) weight to male it that of the + // -- primary. Here call not mandatory and both tracks have same weights. + fParticleChange.SetSecondaryWeightByProcess(true); + } + else { + // -- We apply Russian roulette if the track is moving backward: + + // Shoot a random number (in ]0,1[ segment): + G4double random = G4UniformRand(); + G4double killingProbability = 1.0 - 1.0 / killingFactor; + if (random < killingProbability) { + // We ask for the the track to be killed: + fParticleChange.ProposeTrackStatus(fStopAndKill); } - else - { - // -- We apply Russian roulette if the track is moving backward: - - // Shoot a random number (in ]0,1[ segment): - G4double random = G4UniformRand(); - G4double killingProbability = 1.0 - 1.0/killingFactor; - if ( random < killingProbability ) - { - // We ask for the the track to be killed: - fParticleChange.ProposeTrackStatus(fStopAndKill); - } - else - { - // In this case, the track survives. We change its weight - // to conserve weight among killed and survival tracks: - fParticleChange.ProposeParentWeight( initialWeight*killingFactor ); - } + else { + // In this case, the track survives. We change its weight + // to conserve weight among killed and survival tracks: + fParticleChange.ProposeParentWeight(initialWeight * killingFactor); } - + } + return &fParticleChange; - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB05/src/GB05BOptrSplitAndKillByCrossSection.cc b/examples/extended/biasing/GB05/src/GB05BOptrSplitAndKillByCrossSection.cc index 074184c297d..d5202aebf34 100644 --- a/examples/extended/biasing/GB05/src/GB05BOptrSplitAndKillByCrossSection.cc +++ b/examples/extended/biasing/GB05/src/GB05BOptrSplitAndKillByCrossSection.cc @@ -28,36 +28,30 @@ /// \brief Implementation of the GB05BOptrSplitAndKillByCrossSection class #include "GB05BOptrSplitAndKillByCrossSection.hh" -#include "G4BiasingProcessInterface.hh" + #include "GB05BOptnSplitAndKillByCrossSection.hh" +#include "G4BiasingProcessInterface.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" #include "G4VProcess.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB05BOptrSplitAndKillByCrossSection:: -GB05BOptrSplitAndKillByCrossSection(G4String particleName, - G4String name) - : G4VBiasingOperator(name), - fSetup(true) +GB05BOptrSplitAndKillByCrossSection::GB05BOptrSplitAndKillByCrossSection(G4String particleName, + G4String name) + : G4VBiasingOperator(name), fSetup(true) { fParticleToBias = G4ParticleTable::GetParticleTable()->FindParticle(particleName); - if ( fParticleToBias == 0 ) - { - G4ExceptionDescription ed; - ed << "Particle `" << particleName << "' not found !" << G4endl; - G4Exception("GB05BOptrSplitAndKillByCrossSection(...)", - "exGB05.01", - JustWarning, - ed); - } - - fSplitAndKillByCrossSection = - new GB05BOptnSplitAndKillByCrossSection("splitterFor_"+particleName); + if (fParticleToBias == 0) { + G4ExceptionDescription ed; + ed << "Particle `" << particleName << "' not found !" << G4endl; + G4Exception("GB05BOptrSplitAndKillByCrossSection(...)", "exGB05.01", JustWarning, ed); + } + fSplitAndKillByCrossSection = + new GB05BOptnSplitAndKillByCrossSection("splitterFor_" + particleName); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -78,77 +72,55 @@ void GB05BOptrSplitAndKillByCrossSection::StartRun() // -- considered for the splitting by cross-sections. Doing so, // -- this also verifies that these physics processes are each // -- under control of a G4BiasingProcessInterface wrapper. - if ( fSetup ) - { - const G4ProcessManager* processManager = fParticleToBias->GetProcessManager(); - const G4BiasingProcessSharedData* sharedData = - G4BiasingProcessInterface::GetSharedData( processManager ); - if ( sharedData ) - { - for ( size_t i = 0 ; i < fProcessesToEquipoise.size() ; i++ ) - { - G4bool processFound(false); - for ( size_t j = 0 ; - j < (sharedData->GetPhysicsBiasingProcessInterfaces()).size(); - j++ ) - { - const G4BiasingProcessInterface* wrapperProcess = - (sharedData->GetPhysicsBiasingProcessInterfaces())[j]; - if ( fProcessesToEquipoise[i] == - wrapperProcess->GetWrappedProcess()->GetProcessName() ) - { - fProcesses.push_back( wrapperProcess->GetWrappedProcess() ); - processFound = true; - break; - } - } - if ( !processFound ) - { - G4String particleName = "(unknown)"; - if ( fParticleToBias != nullptr ) - { - particleName = fParticleToBias->GetParticleName(); - } - G4ExceptionDescription ed; - ed << "Process `" << fProcessesToEquipoise[i] - << "' not found for particle `" << particleName << "'" - << G4endl; - G4Exception("GB05BOptrSplitAndKillByCrossSection::StartRun(...)", - "exGB05.02", - JustWarning, - ed); - } - } + if (fSetup) { + const G4ProcessManager* processManager = fParticleToBias->GetProcessManager(); + const G4BiasingProcessSharedData* sharedData = + G4BiasingProcessInterface::GetSharedData(processManager); + if (sharedData) { + for (size_t i = 0; i < fProcessesToEquipoise.size(); i++) { + G4bool processFound(false); + for (size_t j = 0; j < (sharedData->GetPhysicsBiasingProcessInterfaces()).size(); j++) { + const G4BiasingProcessInterface* wrapperProcess = + (sharedData->GetPhysicsBiasingProcessInterfaces())[j]; + if (fProcessesToEquipoise[i] == wrapperProcess->GetWrappedProcess()->GetProcessName()) { + fProcesses.push_back(wrapperProcess->GetWrappedProcess()); + processFound = true; + break; + } } - fSetup = false; - } - - if ( fProcessesToEquipoise.size() == 0 || fProcesses.size() == 0 ) - { - G4ExceptionDescription ed; - ed << "No processes to counterbalance for defined or found ! " - << "Biasing will do nothing." - << G4endl; - G4Exception("GB05BOptrSplitAndKillByCrossSection::StartRun(...)", - "exGB05.03", - JustWarning, - ed); + if (!processFound) { + G4String particleName = "(unknown)"; + if (fParticleToBias != nullptr) { + particleName = fParticleToBias->GetParticleName(); + } + G4ExceptionDescription ed; + ed << "Process `" << fProcessesToEquipoise[i] << "' not found for particle `" + << particleName << "'" << G4endl; + G4Exception("GB05BOptrSplitAndKillByCrossSection::StartRun(...)", "exGB05.02", + JustWarning, ed); + } + } } - + fSetup = false; + } + + if (fProcessesToEquipoise.size() == 0 || fProcesses.size() == 0) { + G4ExceptionDescription ed; + ed << "No processes to counterbalance for defined or found ! " + << "Biasing will do nothing." << G4endl; + G4Exception("GB05BOptrSplitAndKillByCrossSection::StartRun(...)", "exGB05.03", JustWarning, ed); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB05BOptrSplitAndKillByCrossSection:: -ProposeNonPhysicsBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* /*callingProcess*/) +G4VBiasingOperation* GB05BOptrSplitAndKillByCrossSection::ProposeNonPhysicsBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* /*callingProcess*/) { - // ----------------------------------------------------- // -- Check if current particle type is the one to bias: // ----------------------------------------------------- - if ( track->GetDefinition() != fParticleToBias ) return 0; + if (track->GetDefinition() != fParticleToBias) return 0; // -------------------------------------------------------------------- // -- Compute the total cross-section for the physics processes @@ -158,28 +130,24 @@ ProposeNonPhysicsBiasingOperation(const G4Track* t // -- the cross-sections/mean free pathes are hence usable. // -------------------------------------------------------------------- G4double totalCrossSection(0.0); - for ( size_t i = 0 ; i < fProcesses.size() ; i++ ) - { - G4double interactionLength = fProcesses[i]->GetCurrentInteractionLength(); - if ( interactionLength < DBL_MAX/10. ) - totalCrossSection += 1./interactionLength; - } - if ( totalCrossSection < DBL_MIN ) return 0; + for (size_t i = 0; i < fProcesses.size(); i++) { + G4double interactionLength = fProcesses[i]->GetCurrentInteractionLength(); + if (interactionLength < DBL_MAX / 10.) totalCrossSection += 1. / interactionLength; + } + if (totalCrossSection < DBL_MIN) return 0; + + G4double totalInteractionLength = 1. / totalCrossSection; - G4double totalInteractionLength = 1./totalCrossSection; - // --------------------------------------------------------------------- // -- Passes the updated "absorption" cross-section (interaction length) // -- to the biasing operation, and returns this operation: // --------------------------------------------------------------------- - fSplitAndKillByCrossSection->SetInteractionLength( totalInteractionLength ); - + fSplitAndKillByCrossSection->SetInteractionLength(totalInteractionLength); + return fSplitAndKillByCrossSection; - } -void GB05BOptrSplitAndKillByCrossSection:: -AddProcessToEquipoise(G4String processName) +void GB05BOptrSplitAndKillByCrossSection::AddProcessToEquipoise(G4String processName) { - fProcessesToEquipoise.push_back( processName ); + fProcessesToEquipoise.push_back(processName); } diff --git a/examples/extended/biasing/GB05/src/GB05DetectorConstruction.cc b/examples/extended/biasing/GB05/src/GB05DetectorConstruction.cc index 0a0afd56b4d..b6065c6e8f5 100644 --- a/examples/extended/biasing/GB05/src/GB05DetectorConstruction.cc +++ b/examples/extended/biasing/GB05/src/GB05DetectorConstruction.cc @@ -28,34 +28,26 @@ /// \brief Implementation of the GB05DetectorConstruction class #include "GB05DetectorConstruction.hh" -#include "G4SystemOfUnits.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "GB05BOptrSplitAndKillByCrossSection.hh" +#include "GB05SD.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" #include "G4LogicalVolumeStore.hh" - +#include "G4Material.hh" #include "G4NistManager.hh" - -#include "GB05BOptrSplitAndKillByCrossSection.hh" - -#include "GB05SD.hh" +#include "G4PVPlacement.hh" #include "G4SDManager.hh" - +#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB05DetectorConstruction::GB05DetectorConstruction() - : G4VUserDetectorConstruction() -{} +GB05DetectorConstruction::GB05DetectorConstruction() : G4VUserDetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB05DetectorConstruction::~GB05DetectorConstruction() -{} +GB05DetectorConstruction::~GB05DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,76 +55,72 @@ G4VPhysicalVolume* GB05DetectorConstruction::Construct() { // -- Collect a few materials from NIST database: auto nistManager = G4NistManager::Instance(); - G4Material* worldMaterial = nistManager->FindOrBuildMaterial("G4_Galactic"); + G4Material* worldMaterial = nistManager->FindOrBuildMaterial("G4_Galactic"); G4Material* defaultMaterial = nistManager->FindOrBuildMaterial("G4_CONCRETE"); + G4VSolid* solidWorld = new G4Box("World", 10 * m, 10 * m, 10 * m); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid + worldMaterial, // its material + "World"); // its name + + G4PVPlacement* 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 - G4VSolid* solidWorld = new G4Box("World", 10*m, 10*m, 10*m ); - - G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid - worldMaterial, // its material - "World"); // its name - - G4PVPlacement* 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 - // ----------------------------------- // -- volume where biasing is applied: // ----------------------------------- - G4double halfXY = 5.0*m; - G4double halfZ = 1.0*m; - G4VSolid* solidShield = new G4Box("shield.solid", halfXY, halfXY, halfZ ); - - G4LogicalVolume* logicShield = new G4LogicalVolume( solidShield, // its solid - defaultMaterial, // its material - "shield.logical"); // its name - - new G4PVPlacement(0, // no rotation - G4ThreeVector(0,0, halfZ), // volume entrance at (0,0,0) - logicShield, // its logical volume - "shield.phys", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - + G4double halfXY = 5.0 * m; + G4double halfZ = 1.0 * m; + G4VSolid* solidShield = new G4Box("shield.solid", halfXY, halfXY, halfZ); + + G4LogicalVolume* logicShield = new G4LogicalVolume(solidShield, // its solid + defaultMaterial, // its material + "shield.logical"); // its name + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0, 0, halfZ), // volume entrance at (0,0,0) + logicShield, // its logical volume + "shield.phys", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + // -------------------------------------------------------------------- // -- dummy volume to print information on particle exiting the shield: // -------------------------------------------------------------------- - G4double halfz = 1*cm; - G4VSolid* solidMeasurement = new G4Box("meas.solid", halfXY, halfXY, halfz ); - - G4LogicalVolume* logicMeasurement = new G4LogicalVolume(solidMeasurement,// its solid - worldMaterial, // its material - "meas.logical"); // its name - - new G4PVPlacement(0, // no rotation - G4ThreeVector(0,0, 2*halfZ + halfz), // volume entrance at (0,0,0) - logicMeasurement, // its logical volume - "meas.phys", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - - + G4double halfz = 1 * cm; + G4VSolid* solidMeasurement = new G4Box("meas.solid", halfXY, halfXY, halfz); + + G4LogicalVolume* logicMeasurement = new G4LogicalVolume(solidMeasurement, // its solid + worldMaterial, // its material + "meas.logical"); // its name + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0, 0, 2 * halfZ + halfz), // volume entrance at (0,0,0) + logicMeasurement, // its logical volume + "meas.phys", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + return physiWorld; } - void GB05DetectorConstruction::ConstructSDandField() { // -- Fetch volume for biasing: - G4LogicalVolume* logicShield = - G4LogicalVolumeStore::GetInstance()->GetVolume("shield.logical"); - + G4LogicalVolume* logicShield = G4LogicalVolumeStore::GetInstance()->GetVolume("shield.logical"); + // ------------------------------------------------------------- // -- operator creation, configuration and attachment to volume: // ------------------------------------------------------------- - GB05BOptrSplitAndKillByCrossSection* biasingOperator = + GB05BOptrSplitAndKillByCrossSection* biasingOperator = new GB05BOptrSplitAndKillByCrossSection("neutron"); // -- Now, we declare to our biasing operator all the processes we // -- their disapperance effect on neutrons to be counterbalanced @@ -142,10 +130,9 @@ void GB05DetectorConstruction::ConstructSDandField() biasingOperator->AddProcessToEquipoise("neutronInelastic"); biasingOperator->AttachTo(logicShield); - - G4cout << " Attaching biasing operator " << biasingOperator->GetName() - << " to logical volume " << biasingOperator->GetName() - << G4endl; + + G4cout << " Attaching biasing operator " << biasingOperator->GetName() << " to logical volume " + << biasingOperator->GetName() << G4endl; // ------------------------------------------------------------------------------------ // -- Attach a sensitive detector to print information on particles exiting the shield: @@ -155,8 +142,6 @@ void GB05DetectorConstruction::ConstructSDandField() G4VSensitiveDetector* sd = new GB05SD("Scorer"); SDman->AddNewDetector(sd); // -- Fetch volume for sensitivity and attach sensitive module to it: - G4LogicalVolume* logicSD = - G4LogicalVolumeStore::GetInstance()->GetVolume("meas.logical"); + G4LogicalVolume* logicSD = G4LogicalVolumeStore::GetInstance()->GetVolume("meas.logical"); logicSD->SetSensitiveDetector(sd); - } diff --git a/examples/extended/biasing/GB05/src/GB05PrimaryGeneratorAction.cc b/examples/extended/biasing/GB05/src/GB05PrimaryGeneratorAction.cc index b59898423cc..e9f2c8fa833 100644 --- a/examples/extended/biasing/GB05/src/GB05PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/GB05/src/GB05PrimaryGeneratorAction.cc @@ -28,31 +28,29 @@ /// \brief Implementation of the GB05PrimaryGeneratorAction class #include "GB05PrimaryGeneratorAction.hh" -#include "G4SystemOfUnits.hh" - #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" +#include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB05PrimaryGeneratorAction::GB05PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction() +GB05PrimaryGeneratorAction::GB05PrimaryGeneratorAction() : G4VUserPrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="neutron"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "neutron"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(100.*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-50*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(100. * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -50 * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -62,9 +60,7 @@ GB05PrimaryGeneratorAction::~GB05PrimaryGeneratorAction() delete fParticleGun; } - void GB05PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { fParticleGun->GeneratePrimaryVertex(anEvent); } - diff --git a/examples/extended/biasing/GB05/src/GB05SD.cc b/examples/extended/biasing/GB05/src/GB05SD.cc index 18be3f31600..4e900f7e83b 100644 --- a/examples/extended/biasing/GB05/src/GB05SD.cc +++ b/examples/extended/biasing/GB05/src/GB05SD.cc @@ -28,35 +28,27 @@ /// \brief Implementation of the GB05SD class #include "GB05SD.hh" -#include "G4Track.hh" + #include "G4Step.hh" #include "G4SystemOfUnits.hh" - +#include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB05SD::GB05SD(G4String name) -: G4VSensitiveDetector(name) -{} +GB05SD::GB05SD(G4String name) : G4VSensitiveDetector(name) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool GB05SD::ProcessHits(G4Step* step, G4TouchableHistory*) { - auto track = step->GetTrack(); + auto track = step->GetTrack(); auto preStepPoint = step->GetPreStepPoint(); // -- simply prints few particle characteristics: - G4cout << std::setw(14) - << track->GetParticleDefinition()->GetParticleName() - << ", kinetic energy (MeV) = " - << std::setw(12) - << preStepPoint->GetKineticEnergy()/MeV - << ", position (cm) = " - << preStepPoint->GetPosition()/cm - << ",\t weight = " - << preStepPoint->GetWeight() - << G4endl; - + G4cout << std::setw(14) << track->GetParticleDefinition()->GetParticleName() + << ", kinetic energy (MeV) = " << std::setw(12) << preStepPoint->GetKineticEnergy() / MeV + << ", position (cm) = " << preStepPoint->GetPosition() / cm + << ",\t weight = " << preStepPoint->GetWeight() << G4endl; + return true; } diff --git a/examples/extended/biasing/GB06/exampleGB06.cc b/examples/extended/biasing/GB06/exampleGB06.cc index 6a0180afcc1..8de7c7377e3 100644 --- a/examples/extended/biasing/GB06/exampleGB06.cc +++ b/examples/extended/biasing/GB06/exampleGB06.cc @@ -28,70 +28,65 @@ // // -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" +#include "FTFP_BERT.hh" #include "GB06ActionInitialization.hh" - -#include "G4UImanager.hh" - #include "GB06DetectorConstruction.hh" #include "GB06ParallelWorldForSlices.hh" #include "GB06PrimaryGeneratorAction.hh" -#include "FTFP_BERT.hh" #include "G4GenericBiasingPhysics.hh" - -#include "G4VisExecutive.hh" +#include "G4RunManagerFactory.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" - +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " ./exampleGB06 [-m macro ] " - << " [-b biasing {'on','off'}]" - << "\n or\n ./exampleGB06 [macro.mac]" - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " ./exampleGB06 [-m macro ] " + << " [-b biasing {'on','off'}]" + << "\n or\n ./exampleGB06 [macro.mac]" << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 5 ) { + if (argc > 5) { PrintUsage(); return 1; } G4String macro(""); G4String onOffBiasing(""); - if ( argc == 2 ) macro = argv[1]; - else - { - for ( G4int i=1; iSetNumberOfThreads(4); - // -- Set mandatory initialization classes // -- Create geometry: - GB06DetectorConstruction* detector = new GB06DetectorConstruction(); + GB06DetectorConstruction* detector = new GB06DetectorConstruction(); // -- Create parallel world: GB06ParallelWorldForSlices* parallelWorld = new GB06ParallelWorldForSlices("parallelWorldForSlices"); // -- and "augment" detector geometry with the parallelWorld one: - detector->RegisterParallelWorld( parallelWorld ); + detector->RegisterParallelWorld(parallelWorld); runManager->SetUserInitialization(detector); // -- Select a physics list: @@ -116,28 +110,23 @@ int main(int argc,char** argv) // -- and augment it with biasing facilities: G4GenericBiasingPhysics* biasingPhysics = new G4GenericBiasingPhysics(); biasingPhysics->BeVerbose(); - if ( onOffBiasing == "on" ) - { - // -- We use only the "non physics biasing" functionnality (ie, the ones which don't - // -- alter physics processes behavior), and hence we equipe the physics list - // -- accordingly: - biasingPhysics->NonPhysicsBias("neutron"); - // -- we activate and configure the parallel geometry facility: - biasingPhysics->AddParallelGeometry("neutron","parallelWorldForSlices"); - physicsList->RegisterPhysics(biasingPhysics); - G4cout << " ********************************************************* " - << G4endl; - G4cout << " ********** processes are wrapped for biasing ************ " - << G4endl; - G4cout << " ********************************************************* " - << G4endl; - } - else - { - G4cout << " ************************************************* " << G4endl; - G4cout << " ********** processes are not wrapped ************ " << G4endl; - G4cout << " ************************************************* " << G4endl; - } + if (onOffBiasing == "on") { + // -- We use only the "non physics biasing" functionnality (ie, the ones which don't + // -- alter physics processes behavior), and hence we equipe the physics list + // -- accordingly: + biasingPhysics->NonPhysicsBias("neutron"); + // -- we activate and configure the parallel geometry facility: + biasingPhysics->AddParallelGeometry("neutron", "parallelWorldForSlices"); + physicsList->RegisterPhysics(biasingPhysics); + G4cout << " ********************************************************* " << G4endl; + G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; + G4cout << " ********************************************************* " << G4endl; + } + else { + G4cout << " ************************************************* " << G4endl; + G4cout << " ********** processes are not wrapped ************ " << G4endl; + G4cout << " ************************************************* " << G4endl; + } runManager->SetUserInitialization(physicsList); // -- Action initialization: @@ -154,19 +143,18 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( macro != "" ) // batch mode - { - G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); - } - else - { // interactive mode : define UI session - UImanager->ApplyCommand("/control/execute vis.mac"); - // if (ui->IsGUI()) - // UImanager->ApplyCommand("/control/execute gui.mac"); - ui->SessionStart(); - delete ui; - } + if (macro != "") // batch mode + { + G4String command = "/control/execute "; + UImanager->ApplyCommand(command + macro); + } + else { // interactive mode : define UI session + UImanager->ApplyCommand("/control/execute vis.mac"); + // if (ui->IsGUI()) + // UImanager->ApplyCommand("/control/execute gui.mac"); + ui->SessionStart(); + delete ui; + } delete visManager; delete runManager; diff --git a/examples/extended/biasing/GB06/exampleGB06.out b/examples/extended/biasing/GB06/exampleGB06.out index f0164a53cdf..c035a231f33 100644 --- a/examples/extended/biasing/GB06/exampleGB06.out +++ b/examples/extended/biasing/GB06/exampleGB06.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -68,14 +68,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -251,7 +258,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -806,7 +813,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -816,191 +823,168 @@ Max 2J for sampling of angular correlations 10 ======================================================================= G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model. See commands in /vis/modeling/trajectories/ for other options. - gamma, kinetic energy (MeV) = 0.107797, position (cm) = (87.5507,-25.8634,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.38511, position (cm) = (77.9602,-41.5316,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 41.0744, position (cm) = (91.3363,-27.404,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0486065, position (cm) = (138.162,-20.7904,500), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 1.64346e-09, position (cm) = (11.8554,5.51831,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.139467, position (cm) = (-51.7564,-15.5019,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.103116, position (cm) = (-66.0082,-0.649293,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 28.6718, position (cm) = (-64.7207,-11.723,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.990129, position (cm) = (65.8578,-22.6184,500), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 3.92634, position (cm) = (94.4873,-73.622,500), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 0.649659, position (cm) = (2.0941,-0.0316698,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 33.593, position (cm) = (-10.7052,-4.20041,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.65289, position (cm) = (29.1272,-10.8482,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0990114, position (cm) = (1.46703,-39.9589,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 10.0616, position (cm) = (64.7939,5.94822,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.616307, position (cm) = (84.3016,38.0282,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 3.83188, position (cm) = (84.8471,38.2898,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 4.2193, position (cm) = (84.3265,38.3106,500), weight = 1.90735e-06 - e-, kinetic energy (MeV) = 1.19278, position (cm) = (84.4421,38.3607,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 42.9655, position (cm) = (87.7648,39.3943,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.644491, position (cm) = (57.7534,17.6231,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 9.23645, position (cm) = (12.6146,-45.8534,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.22306, position (cm) = (16.0622,76.4927,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.01573, position (cm) = (14.9313,53.9058,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 10.0204, position (cm) = (-26.868,61.3748,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.362013, position (cm) = (36.2283,44.3449,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 30.0241, position (cm) = (39.1817,27.6033,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.142047, position (cm) = (9.68099,28.6003,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 27.5139, position (cm) = (12.5467,33.2214,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 6.92566, position (cm) = (15.6811,28.2707,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 53.5065, position (cm) = (14.208,31.2599,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.00225454, position (cm) = (42.3241,28.0982,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0873322, position (cm) = (7.4779,22.8066,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 5.53269, position (cm) = (39.7258,95.013,500), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 92.0549, position (cm) = (36.3736,96.8677,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 78.3565, position (cm) = (32.2005,96.1055,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 74.6499, position (cm) = (42.6661,106.24,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 91.9253, position (cm) = (29.3609,84.8679,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.18434, position (cm) = (74.5925,114.357,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.130808, position (cm) = (76.5212,126.162,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.525374, position (cm) = (75.8594,116.807,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.71271, position (cm) = (61.6146,127.397,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.403937, position (cm) = (61.0003,128.006,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.69856, position (cm) = (76.1856,114.921,500), weight = 1.90735e-06 - proton, kinetic energy (MeV) = 47.7246, position (cm) = (74.5981,114.364,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.52725, position (cm) = (77.4506,120.69,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.71532, position (cm) = (64.0366,97.3265,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.107351, position (cm) = (68.1741,144.409,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.18117, position (cm) = (60.7069,137.542,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 31.768, position (cm) = (59.7941,149.299,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 94.2695, position (cm) = (57.6566,130.3,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 94.0957, position (cm) = (56.9539,148.563,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.114237, position (cm) = (24.2541,122.559,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 71.6428, position (cm) = (56.8115,65.0959,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 86.0152, position (cm) = (59.1528,68.0159,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 64.6707, position (cm) = (88.2837,4.24944,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.51153e-08, position (cm) = (44.3671,131.305,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.376871, position (cm) = (77.7125,116.746,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0769379, position (cm) = (57.0305,127.281,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0742152, position (cm) = (128.927,128.357,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.37455, position (cm) = (115.878,121.791,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 97.6682, position (cm) = (31.3815,142.084,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 97.6682, position (cm) = (31.3815,142.084,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.257037, position (cm) = (51.4211,140.253,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 97.5218, position (cm) = (45.1932,145.234,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 35.9978, position (cm) = (83.9934,90.1489,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 4.29204, position (cm) = (76.8385,76.1859,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 6.31815, position (cm) = (70.757,86.3293,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 25.4673, position (cm) = (74.9359,86.4813,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.17865, position (cm) = (2.18341,77.368,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.187145, position (cm) = (34.1161,91.1441,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 5.55163, position (cm) = (19.3638,99.4438,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 89.0579, position (cm) = (48.7441,97.2989,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (142.307,76.8067,500), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 4.39336, position (cm) = (10.0681,129.88,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 64.0106, position (cm) = (63.6691,71.2106,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.507814, position (cm) = (64.4497,82.716,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0818176, position (cm) = (52.052,94.9634,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.957977, position (cm) = (59.3469,70.8484,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.725959, position (cm) = (97.8019,118.01,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.236807, position (cm) = (97.0376,114.956,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.258089, position (cm) = (97.643,117.216,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.247337, position (cm) = (34.1863,64.4005,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.373731, position (cm) = (72.7789,71.0246,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 76.42, position (cm) = (56.1863,74.5338,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 4.7514, position (cm) = (88.1267,97.1429,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.22306, position (cm) = (66.1201,2.76875,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.311842, position (cm) = (38.5723,-14.1822,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 4.39336, position (cm) = (48.3547,17.5754,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.74149, position (cm) = (68.9596,19.3222,500), weight = 3.8147e-06 - neutron, kinetic energy (MeV) = 0.791352, position (cm) = (55.9909,54.4839,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.14993, position (cm) = (50.1087,24.4361,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.000520618, position (cm) = (77.5933,62.3058,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.167977, position (cm) = (-54.2577,-55.7994,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.02802, position (cm) = (-47.8168,-41.8097,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.23859, position (cm) = (-47.1861,-52.2719,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.13061, position (cm) = (-45.17,-51.1051,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 31.9577, position (cm) = (-72.1797,-26.1201,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.46241, position (cm) = (-90.2876,-52.2763,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 41.0276, position (cm) = (-81.2101,-35.7984,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 8.04404e-06, position (cm) = (-6.0302,-31.3378,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.22306, position (cm) = (125.089,65.6411,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.7734, position (cm) = (50.6686,51.7261,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.229236, position (cm) = (71.1006,44.8682,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.58285, position (cm) = (100.223,11.022,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0729688, position (cm) = (69.2166,-8.54257,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 34.4646, position (cm) = (68.0424,-1.51339,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 81.5794, position (cm) = (66.1632,-10.8586,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 18.1139, position (cm) = (64.8371,-9.27624,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 6.36788, position (cm) = (124.704,-7.03665,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.479616, position (cm) = (120.369,5.61598,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.52344, position (cm) = (113.731,23.9118,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0625339, position (cm) = (99.8689,9.90614,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.412774, position (cm) = (94.1882,13.9675,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.378838, position (cm) = (117.354,9.51154,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 82.6905, position (cm) = (104.828,25.4273,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 82.9797, position (cm) = (112.302,32.9704,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.497309, position (cm) = (121.783,-62.1817,500), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 8.47229, position (cm) = (90.8986,-119.8,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 5.91169, position (cm) = (-97.7611,81.7047,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.33536e-09, position (cm) = (-79.0144,55.5071,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.864884, position (cm) = (-6.91622,120.001,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 6.42505, position (cm) = (9.71609,110.648,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0947415, position (cm) = (-10.3205,26.0526,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.92201, position (cm) = (-47.0851,80.3054,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.933957, position (cm) = (-54.6936,78.6025,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.151827, position (cm) = (-32.968,65.8863,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-31.1087,71.4537,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 54.1477, position (cm) = (-39.2044,68.6384,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 79.0411, position (cm) = (-48.896,77.6675,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 77.6737, position (cm) = (-61.1319,81.4123,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.22554e-10, position (cm) = (-52.1887,69.7814,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.468345, position (cm) = (-19.1605,3.66336,500), weight = 3.8147e-06 - gamma, kinetic energy (MeV) = 0.0808698, position (cm) = (-90.4745,24.796,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.0977, position (cm) = (-88.8241,23.7845,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.68867, position (cm) = (-42.5578,45.3929,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.610589, position (cm) = (-66.5373,49.7172,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 2.4255, position (cm) = (-65.5485,23.4797,500), weight = 1.90735e-06 - e-, kinetic energy (MeV) = 0.6743, position (cm) = (-71.2178,33.2903,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.59571, position (cm) = (-56.7815,47.5809,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 74.7631, position (cm) = (-51.518,20.6705,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.12375, position (cm) = (-47.0267,26.6385,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.117596, position (cm) = (-46.7215,31.1083,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.53214, position (cm) = (-48.7003,24.7834,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.547587, position (cm) = (-54.0909,19.7901,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.404174, position (cm) = (-28.9594,-91.2923,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0797345, position (cm) = (-19.3063,-68.3368,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.0178205, position (cm) = (-33.6941,-70.0122,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.541476, position (cm) = (-24.2598,-75.6554,500), weight = 1.90735e-06 - e-, kinetic energy (MeV) = 3.53136, position (cm) = (-23.93,-75.2447,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 36.0342, position (cm) = (-25.6003,-71.9211,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 9.02983e-06, position (cm) = (-53.9396,-106.005,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 3.68736, position (cm) = (-73.7722,-90.3844,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 14.8753, position (cm) = (-53.6384,-98.2342,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.395042, position (cm) = (-12.2664,-47.8444,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.0828476, position (cm) = (-7.94805,-44.5939,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.20981, position (cm) = (-11.0388,-46.5941,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 84.4073, position (cm) = (-10.3893,-42.0274,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 6.78859, position (cm) = (-41.2297,-65.313,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.00176451, position (cm) = (-38.0722,-116.529,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.823224, position (cm) = (-19.3852,-108.299,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.67812, position (cm) = (-23.7741,-106.825,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.314598, position (cm) = (-8.80432,-113.285,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 8.83025, position (cm) = (-27.8343,-127.282,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 55.5481, position (cm) = (-8.20444,-113.971,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.88596, position (cm) = (-71.6948,-136.963,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.67577, position (cm) = (-73.9618,-97.6017,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 2.02895, position (cm) = (-69.4467,-113.677,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 66.563, position (cm) = (-80.6918,-124.112,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 10.1791, position (cm) = (-71.0409,-120.532,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.117143, position (cm) = (-93.1421,-91.9755,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 57.1464, position (cm) = (-90.8924,-91.9888,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 69.0167, position (cm) = (-95.3733,-92.51,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 3.89395, position (cm) = (-95.7558,-51.0285,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 0.698622, position (cm) = (-92.4207,-50.3681,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 1.10814, position (cm) = (-5.05256,-137.578,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 9.5892, position (cm) = (-16.225,-128.945,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 1.60167, position (cm) = (-23.4461,-95.7322,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 59.5448, position (cm) = (-18.4551,-111.484,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 0.458103, position (cm) = (-58.4267,-124.564,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 38.906, position (cm) = (-57.0037,-132.268,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 49.7414, position (cm) = (-72.7418,-140.677,500), weight = 1.90735e-06 - gamma, kinetic energy (MeV) = 7.19927, position (cm) = (-35.3367,-133.392,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 8.68325, position (cm) = (-33.8383,-109.418,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 25.2128, position (cm) = (-69.4304,-128.166,500), weight = 1.90735e-06 - neutron, kinetic energy (MeV) = 51.6489, position (cm) = (-55.6738,-141.128,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.155922, position (cm) = (-1.12447,-99.9989,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.235884, position (cm) = (41.6118,-135.17,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.26157e-05, position (cm) = (48.3097,-127.023,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 59.5442, position (cm) = (30.2169,-107.533,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.690975, position (cm) = (18.5576,-105.989,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.102403, position (cm) = (43.1464,-95.2785,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.150181, position (cm) = (30.3177,-107.107,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 34.9078, position (cm) = (9.98292,-116.14,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.21824, position (cm) = (43.6606,-139.631,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.15839e-08, position (cm) = (40.3207,-94.5419,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.95269, position (cm) = (66.8299,-55.3239,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 3.40083, position (cm) = (83.2133,-101.511,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 5.98498, position (cm) = (-100.813,-89.1972,500), weight = 1.52588e-05 + gamma, kinetic energy (MeV) = 0.115532, position (cm) = (-118.35,-92.8621,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 5.51489, position (cm) = (-114.647,-94.4197,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.904183, position (cm) = (-29.7982,-91.4973,500), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.869268, position (cm) = (-30.0483,-66.312,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.202823, position (cm) = (-65.8514,-89.546,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 41.9959, position (cm) = (71.5637,21.8473,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.1552, position (cm) = (51.5762,-11.6089,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.17405e-05, position (cm) = (-20.3293,-12.0743,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 59.0452, position (cm) = (-29.9534,16.3063,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 4.70305, position (cm) = (-40.6411,18.6902,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 59.6223, position (cm) = (-43.571,20.8035,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.233, position (cm) = (-64.8565,73.3827,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 11.4166, position (cm) = (-26.0378,76.8941,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.0655, position (cm) = (-43.3106,132.806,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 46.757, position (cm) = (120.787,14.6089,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 34.704, position (cm) = (114.922,5.47751,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.968121, position (cm) = (124.652,-122.912,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.138993, position (cm) = (77.1496,-111.443,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 5.61727, position (cm) = (136.275,-137.295,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.792746, position (cm) = (140.59,-109.954,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.0279, position (cm) = (36.1035,-115.291,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 4.84969, position (cm) = (41.309,-118.863,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.000611661, position (cm) = (39.0839,-127.322,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0569576, position (cm) = (40.0759,-119.791,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.07945, position (cm) = (37.261,-121.326,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 48.6376, position (cm) = (35.4548,-63.0965,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.177153, position (cm) = (24.9148,-61.6172,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.332512, position (cm) = (65.3617,-47.19,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 39.3648, position (cm) = (85.8794,-109.318,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 3.49813, position (cm) = (96.0213,-122.959,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.08919, position (cm) = (92.0465,-148.237,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.68808, position (cm) = (79.2038,-138.272,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.02375, position (cm) = (84.2866,-105.444,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.4638, position (cm) = (108.757,-135.664,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.47657, position (cm) = (85.0995,-135.996,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.4005, position (cm) = (28.9117,-22.3432,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 85.6627, position (cm) = (26.5075,-27.3052,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.11872e-08, position (cm) = (-1.15638,-53.9281,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 46.0153, position (cm) = (17.4627,-42.6131,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 85.2745, position (cm) = (24.1159,-36.0799,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 86.0641, position (cm) = (126.365,140.481,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 85.3693, position (cm) = (129.821,139.136,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 41.1739, position (cm) = (77.7497,20.9516,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.17585, position (cm) = (134.697,62.2946,500), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.219759, position (cm) = (-14.469,-135.139,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 86.3851, position (cm) = (-27.9509,-62.5686,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 86.3851, position (cm) = (-27.9509,-62.5686,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.489339, position (cm) = (27.9362,10.202,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 4.39336, position (cm) = (25.6167,4.11795,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.561577, position (cm) = (6.70354,2.78865,500), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 36.072, position (cm) = (-0.322997,-19.5591,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 62.2474, position (cm) = (107.372,54.1734,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 61.7745, position (cm) = (115.628,52.2372,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.937471, position (cm) = (116.358,42.8127,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.291247, position (cm) = (103.399,77.4795,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0822016, position (cm) = (103.673,43.5525,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.228875, position (cm) = (119.105,75.9234,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.09229e-09, position (cm) = (111.267,65.4993,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0675812, position (cm) = (136.076,63.5083,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 4.34666, position (cm) = (125.931,48.2759,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.401496, position (cm) = (104.589,53.336,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 63.1259, position (cm) = (131.236,43.2395,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.253068, position (cm) = (72.8863,69.7482,500), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 62.0818, position (cm) = (6.35567,48.8414,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0899299, position (cm) = (52.0739,69.5772,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 4.71716, position (cm) = (66.0226,58.9994,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 4.57632, position (cm) = (57.1534,50.1169,500), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 6.5764, position (cm) = (55.7821,45.6181,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 33.5866, position (cm) = (82.3291,64.5885,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.159018, position (cm) = (66.4533,60.3237,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.101148, position (cm) = (135.527,81.9366,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.18511, position (cm) = (107.919,31.5653,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.470864, position (cm) = (140.861,12.9063,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.399005, position (cm) = (136.135,17.9882,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.31208, position (cm) = (140.081,40.1639,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.668556, position (cm) = (127.719,69.0773,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.396506, position (cm) = (132.551,54.9432,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 35.4633, position (cm) = (129.14,68.7027,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 95.693, position (cm) = (52.2326,5.83171,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 95.7759, position (cm) = (51.0038,6.36178,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.16694e-05, position (cm) = (55.7697,34.829,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.22306, position (cm) = (70.7361,34.5458,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 8.46737, position (cm) = (72.5819,12.6869,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 48.574, position (cm) = (75.3279,25.416,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 83.3342, position (cm) = (73.5519,28.5576,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 97.7479, position (cm) = (56.6066,4.49178,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.9505, position (cm) = (18.0739,41.7132,500), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 29.8246, position (cm) = (-22.3806,48.822,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 25.3781, position (cm) = (4.5419,3.04284,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 25.4691, position (cm) = (3.34919,15.6982,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 93.2519, position (cm) = (23.2425,59.2204,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 92.7553, position (cm) = (21.7208,60.3168,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.73608, position (cm) = (10.9891,58.632,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (14.9165,48.5154,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-5.56668,6.86153,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.147699, position (cm) = (-2.31877,4.7696,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.25133, position (cm) = (-20.455,-31.05,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 5.14833, position (cm) = (-22.717,40.0701,500), weight = 3.8147e-06 + gamma, kinetic energy (MeV) = 0.114824, position (cm) = (31.8394,-29.7926,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 42.62, position (cm) = (40.4459,-23.4062,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.0284637, position (cm) = (-8.75397,7.44137,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.11411, position (cm) = (-37.0178,-32.3084,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.130761, position (cm) = (-28.8791,-36.3496,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0923855, position (cm) = (51.6809,-42.7596,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.24912, position (cm) = (40.6779,-48.6002,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.27333, position (cm) = (23.2999,-18.2262,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 26.9908, position (cm) = (33.2079,-0.60608,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 29.6063, position (cm) = (31.9318,3.84785,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.42623, position (cm) = (38.7037,-21.215,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.96756, position (cm) = (43.603,-18.238,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.622041, position (cm) = (45.3746,-2.66869,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 6.04697, position (cm) = (12.1305,-2.24576,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 5.81616e-05, position (cm) = (59.0454,9.50355,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.55607e-06, position (cm) = (125.568,-6.18732,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.71398, position (cm) = (125.962,17.6625,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.20801e-07, position (cm) = (94.8001,-14.1737,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 45.018, position (cm) = (120.264,4.29357,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.506274, position (cm) = (47.7905,21.5308,500), weight = 3.8147e-06 + neutron, kinetic energy (MeV) = 68.3641, position (cm) = (47.0914,-43.6663,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 97.2835, position (cm) = (47.6277,-31.7459,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 95.9981, position (cm) = (52.6655,-30.9145,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 97.2567, position (cm) = (49.4105,-35.7111,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 6.66103, position (cm) = (-16.0013,-45.5223,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.107108, position (cm) = (16.5629,-47.7193,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 7.21245, position (cm) = (6.49692,-7.5512,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 43.9436, position (cm) = (37.8945,-6.17415,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 42.7551, position (cm) = (24.0702,-18.0218,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.125667, position (cm) = (-2.17929,-5.03441,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.632319, position (cm) = (4.76314,-15.2768,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.286929, position (cm) = (-3.52268,-7.72764,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 0.177667, position (cm) = (-20.0728,-14.5565,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 3.32869, position (cm) = (21.972,-14.8761,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 6.56425, position (cm) = (4.23758,11.682,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.140052, position (cm) = (-60.7261,-24.9535,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.201915, position (cm) = (-63.6885,-22.7769,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.72683, position (cm) = (-50.6703,-34.689,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.0719195, position (cm) = (-89.9707,-44.1209,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 97.1802, position (cm) = (-17.4528,5.34125,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.690341, position (cm) = (-0.736794,-9.03299,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 2.68798, position (cm) = (-3.50978,-12.5206,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.450738, position (cm) = (-6.29867,71.3888,500), weight = 6.10352e-05 + gamma, kinetic energy (MeV) = 0.553866, position (cm) = (20.4191,-4.95654,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.50955, position (cm) = (28.8103,12.041,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 4.72265, position (cm) = (25.7298,-9.85041,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 2.03345, position (cm) = (31.4634,-23.4401,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 0.778861, position (cm) = (26.7111,-11.4328,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.04209, position (cm) = (46.5853,-13.0393,500), weight = 1.90735e-06 + neutron, kinetic energy (MeV) = 1.7208, position (cm) = (31.6031,19.1952,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.79362, position (cm) = (-13.3877,20.4565,500), weight = 1.90735e-06 + gamma, kinetic energy (MeV) = 1.83824, position (cm) = (16.4007,-37.3581,500), weight = 3.8147e-06 Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/biasing/GB06/include/GB06ActionInitialization.hh b/examples/extended/biasing/GB06/include/GB06ActionInitialization.hh index 6369626bdea..3ddc04d82d1 100644 --- a/examples/extended/biasing/GB06/include/GB06ActionInitialization.hh +++ b/examples/extended/biasing/GB06/include/GB06ActionInitialization.hh @@ -46,5 +46,3 @@ class GB06ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/biasing/GB06/include/GB06BOptnSplitAndKillByImportance.hh b/examples/extended/biasing/GB06/include/GB06BOptnSplitAndKillByImportance.hh index f99b8534a57..463081e9336 100644 --- a/examples/extended/biasing/GB06/include/GB06BOptnSplitAndKillByImportance.hh +++ b/examples/extended/biasing/GB06/include/GB06BOptnSplitAndKillByImportance.hh @@ -30,82 +30,77 @@ #ifndef GB06BOptnSplitAndKillByImportance_hh #define GB06BOptnSplitAndKillByImportance_hh 1 -#include "G4VBiasingOperation.hh" #include "G4ParticleChange.hh" #include "G4ParticleChangeForNothing.hh" #include "G4TouchableHandle.hh" +#include "G4VBiasingOperation.hh" class G4BiasingProcessSharedData; #include +class GB06BOptnSplitAndKillByImportance : public G4VBiasingOperation +{ + public: + // -- Constructor : + GB06BOptnSplitAndKillByImportance(G4String name); + // -- destructor: + virtual ~GB06BOptnSplitAndKillByImportance(); -class GB06BOptnSplitAndKillByImportance : public G4VBiasingOperation { -public: - // -- Constructor : - GB06BOptnSplitAndKillByImportance(G4String name); - // -- destructor: - virtual ~GB06BOptnSplitAndKillByImportance(); - -public: - // ---------------------------------------------- - // -- Methods from G4VBiasingOperation interface: - // ---------------------------------------------- - // -- Unused: - virtual const G4VBiasingInteractionLaw* - ProvideOccurenceBiasingInteractionLaw( const G4BiasingProcessInterface*, - G4ForceCondition& ) final - {return 0;} - virtual G4VParticleChange* - ApplyFinalStateBiasing ( const G4BiasingProcessInterface*, - const G4Track*, - const G4Step*, - G4bool& ) final - {return 0;} + public: + // ---------------------------------------------- + // -- Methods from G4VBiasingOperation interface: + // ---------------------------------------------- + // -- Unused: + virtual const G4VBiasingInteractionLaw* + ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface*, G4ForceCondition&) final + { + return 0; + } + virtual G4VParticleChange* ApplyFinalStateBiasing(const G4BiasingProcessInterface*, + const G4Track*, const G4Step*, G4bool&) final + { + return 0; + } - // -- Used methods ("non-physics biasing methods"): - // ------------------------------------------------ - // -- Method to return the distance or the condition under which - // -- requesting the biasing. - // -- Here we use the condition "forced" and the distance returned - // -- is "dummy" (DBL_MAX). - virtual G4double - DistanceToApplyOperation ( const G4Track*, - G4double, - G4ForceCondition* condition ) final; - // -- Method the generate the final state, which is: - // -- - made of the primary with half of its original weight, and a clone of it in - // -- case of splitting - // -- - the primary with increased weight or the primary killed, in case of killing - virtual G4VParticleChange* - GenerateBiasingFinalState ( const G4Track*, - const G4Step* ) final; + // -- Used methods ("non-physics biasing methods"): + // ------------------------------------------------ + // -- Method to return the distance or the condition under which + // -- requesting the biasing. + // -- Here we use the condition "forced" and the distance returned + // -- is "dummy" (DBL_MAX). + virtual G4double DistanceToApplyOperation(const G4Track*, G4double, + G4ForceCondition* condition) final; + // -- Method the generate the final state, which is: + // -- - made of the primary with half of its original weight, and a clone of it in + // -- case of splitting + // -- - the primary with increased weight or the primary killed, in case of killing + virtual G4VParticleChange* GenerateBiasingFinalState(const G4Track*, const G4Step*) final; - // -- Specific to this example: - // ---------------------------- - // -- The parallel world index refers to the index in the list of parallel worlds - // -- handled by the G4ParallelGeometriesLimiterProcess intance: - void SetParallelWorldIndex( G4int parallelWorldIndex ) - { fParallelWorldIndex = parallelWorldIndex; } - G4int GetParallelWorldIndex() const - { return fParallelWorldIndex; } - // -- Method to set the biasing shared data, they contain many - // -- of the information we need related to parallel geometry: - void SetBiasingSharedData( const G4BiasingProcessSharedData* sharedData ) - { fBiasingSharedData = sharedData; } - // -- Set the importance map to be used: - void SetImportanceMap( std::map< G4int, G4int >* importanceMap ) - { fImportanceMap = importanceMap; } - - -private: - G4int fParallelWorldIndex; - const G4BiasingProcessSharedData* fBiasingSharedData; - G4TouchableHandle fPreStepTouchableHistory; - G4TouchableHandle fPostStepTouchableHistory; - G4ParticleChange fParticleChange; - G4ParticleChangeForNothing fDummyParticleChange; - std::map< G4int, G4int >* fImportanceMap; - + // -- Specific to this example: + // ---------------------------- + // -- The parallel world index refers to the index in the list of parallel worlds + // -- handled by the G4ParallelGeometriesLimiterProcess intance: + void SetParallelWorldIndex(G4int parallelWorldIndex) + { + fParallelWorldIndex = parallelWorldIndex; + } + G4int GetParallelWorldIndex() const { return fParallelWorldIndex; } + // -- Method to set the biasing shared data, they contain many + // -- of the information we need related to parallel geometry: + void SetBiasingSharedData(const G4BiasingProcessSharedData* sharedData) + { + fBiasingSharedData = sharedData; + } + // -- Set the importance map to be used: + void SetImportanceMap(std::map* importanceMap) { fImportanceMap = importanceMap; } + private: + G4int fParallelWorldIndex; + const G4BiasingProcessSharedData* fBiasingSharedData; + G4TouchableHandle fPreStepTouchableHistory; + G4TouchableHandle fPostStepTouchableHistory; + G4ParticleChange fParticleChange; + G4ParticleChangeForNothing fDummyParticleChange; + std::map* fImportanceMap; }; #endif diff --git a/examples/extended/biasing/GB06/include/GB06BOptrSplitAndKillByImportance.hh b/examples/extended/biasing/GB06/include/GB06BOptrSplitAndKillByImportance.hh index 688e68fecc9..08b19cfdf4b 100644 --- a/examples/extended/biasing/GB06/include/GB06BOptrSplitAndKillByImportance.hh +++ b/examples/extended/biasing/GB06/include/GB06BOptrSplitAndKillByImportance.hh @@ -48,7 +48,6 @@ #include "G4VBiasingOperator.hh" - class GB06BOptnSplitAndKillByImportance; class G4BiasingProcessSharedData; class G4ParallelGeometriesLimiterProcess; @@ -56,63 +55,59 @@ class G4ParticleDefinition; class G4VPhysicalVolume; #include +class GB06BOptrSplitAndKillByImportance : public G4VBiasingOperator +{ + public: + // ------------------------------------------------------------ + // -- Constructor: takes the name of the particle type to bias: + // ------------------------------------------------------------ + GB06BOptrSplitAndKillByImportance(G4String particleToBias, + G4String name = "SplitAndKillByImportance"); + virtual ~GB06BOptrSplitAndKillByImportance(); -class GB06BOptrSplitAndKillByImportance : public G4VBiasingOperator { -public: - // ------------------------------------------------------------ - // -- Constructor: takes the name of the particle type to bias: - // ------------------------------------------------------------ - GB06BOptrSplitAndKillByImportance(G4String particleToBias, - G4String name = "SplitAndKillByImportance"); - virtual ~GB06BOptrSplitAndKillByImportance(); - - // -- method called at beginning of run: - virtual void StartRun(); - -private: - // ----------------------------- - // -- Mandatory from base class: - // ----------------------------- - // -- Not used: - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation(const G4Track*, - const G4BiasingProcessInterface*) final - { return 0; } - - // -- Not used: - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation(const G4Track*, - const G4BiasingProcessInterface*) final - { return 0; } + // -- method called at beginning of run: + virtual void StartRun(); - // -- Used method : it will return the biasing operation that will split particles - // -- with a probabilty depending on the total absorption cross-section. - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation(const G4Track*, - const G4BiasingProcessInterface*) final; + private: + // ----------------------------- + // -- Mandatory from base class: + // ----------------------------- + // -- Not used: + virtual G4VBiasingOperation* + ProposeOccurenceBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final + { + return 0; + } + // -- Not used: + virtual G4VBiasingOperation* + ProposeFinalStateBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final + { + return 0; + } - // --------------------------------------- - // -- Method specific to this application: - // --------------------------------------- -public: - void SetParallelWorld( G4VPhysicalVolume* parallelWorld ) - { fParallelWorld = parallelWorld; } + // -- Used method : it will return the biasing operation that will split particles + // -- with a probabilty depending on the total absorption cross-section. + virtual G4VBiasingOperation* + ProposeNonPhysicsBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final; - // -- The importance map, linking a replica number to an volume importance: - std::map< G4int, G4int >& GetImportanceMap() { return fImportanceMap; } + // --------------------------------------- + // -- Method specific to this application: + // --------------------------------------- + public: + void SetParallelWorld(G4VPhysicalVolume* parallelWorld) { fParallelWorld = parallelWorld; } - - -private: - GB06BOptnSplitAndKillByImportance* fSplitAndKillByImportance; - const G4ParticleDefinition* fParticleToBias; - G4VPhysicalVolume* fParallelWorld; - G4int fParallelWorldIndex; - const G4BiasingProcessSharedData* fBiasingSharedData; - const G4ParallelGeometriesLimiterProcess* fBiasingLimiterProcess; - std::map< G4int, G4int > fImportanceMap; + // -- The importance map, linking a replica number to an volume importance: + std::map& GetImportanceMap() { return fImportanceMap; } + private: + GB06BOptnSplitAndKillByImportance* fSplitAndKillByImportance; + const G4ParticleDefinition* fParticleToBias; + G4VPhysicalVolume* fParallelWorld; + G4int fParallelWorldIndex; + const G4BiasingProcessSharedData* fBiasingSharedData; + const G4ParallelGeometriesLimiterProcess* fBiasingLimiterProcess; + std::map fImportanceMap; }; #endif diff --git a/examples/extended/biasing/GB06/include/GB06DetectorConstruction.hh b/examples/extended/biasing/GB06/include/GB06DetectorConstruction.hh index 3ff36a0183c..093a4005c68 100644 --- a/examples/extended/biasing/GB06/include/GB06DetectorConstruction.hh +++ b/examples/extended/biasing/GB06/include/GB06DetectorConstruction.hh @@ -36,17 +36,13 @@ class GB06DetectorConstruction : public G4VUserDetectorConstruction { -public: - - GB06DetectorConstruction(); - ~GB06DetectorConstruction(); - -public: - - virtual G4VPhysicalVolume* Construct(); - virtual void ConstructSDandField(); + public: + GB06DetectorConstruction(); + ~GB06DetectorConstruction(); + public: + virtual G4VPhysicalVolume* Construct(); + virtual void ConstructSDandField(); }; #endif - diff --git a/examples/extended/biasing/GB06/include/GB06ParallelWorldForSlices.hh b/examples/extended/biasing/GB06/include/GB06ParallelWorldForSlices.hh index 91df3b39e24..0a5685a5abc 100644 --- a/examples/extended/biasing/GB06/include/GB06ParallelWorldForSlices.hh +++ b/examples/extended/biasing/GB06/include/GB06ParallelWorldForSlices.hh @@ -33,15 +33,15 @@ #include "G4VUserParallelWorld.hh" -class GB06ParallelWorldForSlices : public G4VUserParallelWorld { -public: - GB06ParallelWorldForSlices(G4String worldName); - ~GB06ParallelWorldForSlices(); - -private: - virtual void Construct(); - virtual void ConstructSD(); - +class GB06ParallelWorldForSlices : public G4VUserParallelWorld +{ + public: + GB06ParallelWorldForSlices(G4String worldName); + ~GB06ParallelWorldForSlices(); + + private: + virtual void Construct(); + virtual void ConstructSD(); }; #endif diff --git a/examples/extended/biasing/GB06/include/GB06PrimaryGeneratorAction.hh b/examples/extended/biasing/GB06/include/GB06PrimaryGeneratorAction.hh index c8ca7c986ed..0a3c95ccac4 100644 --- a/examples/extended/biasing/GB06/include/GB06PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/GB06/include/GB06PrimaryGeneratorAction.hh @@ -38,18 +38,16 @@ class G4ParticleGun; class GB06PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - GB06PrimaryGeneratorAction(); - virtual ~GB06PrimaryGeneratorAction(); - - virtual void GeneratePrimaries(G4Event*); - -private: - G4ParticleGun* fParticleGun; + public: + GB06PrimaryGeneratorAction(); + virtual ~GB06PrimaryGeneratorAction(); + + virtual void GeneratePrimaries(G4Event*); + + private: + G4ParticleGun* fParticleGun; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/biasing/GB06/include/GB06SD.hh b/examples/extended/biasing/GB06/include/GB06SD.hh index d9a996da5ff..1d85e7b09a3 100644 --- a/examples/extended/biasing/GB06/include/GB06SD.hh +++ b/examples/extended/biasing/GB06/include/GB06SD.hh @@ -35,13 +35,12 @@ class GB06SD : public G4VSensitiveDetector { -public: - GB06SD(G4String name); - virtual ~GB06SD() {} - - virtual void Initialize(G4HCofThisEvent* ) {} - virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist); - + public: + GB06SD(G4String name); + virtual ~GB06SD() {} + + virtual void Initialize(G4HCofThisEvent*) {} + virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB06/src/GB06ActionInitialization.cc b/examples/extended/biasing/GB06/src/GB06ActionInitialization.cc index eac48c02b48..efef55164b9 100644 --- a/examples/extended/biasing/GB06/src/GB06ActionInitialization.cc +++ b/examples/extended/biasing/GB06/src/GB06ActionInitialization.cc @@ -28,31 +28,29 @@ /// \brief Implementation of the GB06ActionInitialization class #include "GB06ActionInitialization.hh" -#include "GB06PrimaryGeneratorAction.hh" +#include "GB06PrimaryGeneratorAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB06ActionInitialization::GB06ActionInitialization() - : G4VUserActionInitialization() -{} +GB06ActionInitialization::GB06ActionInitialization() : G4VUserActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB06ActionInitialization::~GB06ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB06ActionInitialization::BuildForMaster() const -{ -} +void GB06ActionInitialization::BuildForMaster() const {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB06ActionInitialization::Build() const { SetUserAction(new GB06PrimaryGeneratorAction); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB06/src/GB06BOptnSplitAndKillByImportance.cc b/examples/extended/biasing/GB06/src/GB06BOptnSplitAndKillByImportance.cc index 207a37d6a96..f6a9f716b04 100644 --- a/examples/extended/biasing/GB06/src/GB06BOptnSplitAndKillByImportance.cc +++ b/examples/extended/biasing/GB06/src/GB06BOptnSplitAndKillByImportance.cc @@ -28,47 +28,41 @@ /// \brief Implementation of the GB06BOptnSplitAndKillByImportance class #include "GB06BOptnSplitAndKillByImportance.hh" -#include "Randomize.hh" - #include "G4BiasingProcessInterface.hh" -#include "G4ParallelGeometriesLimiterProcess.hh" #include "G4BiasingProcessSharedData.hh" +#include "G4ParallelGeometriesLimiterProcess.hh" #include "G4ProcessManager.hh" - +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB06BOptnSplitAndKillByImportance::GB06BOptnSplitAndKillByImportance(G4String name) -: G4VBiasingOperation (name), - fParallelWorldIndex ( -1 ), - fBiasingSharedData ( nullptr ), - fParticleChange(), - fDummyParticleChange() + : G4VBiasingOperation(name), + fParallelWorldIndex(-1), + fBiasingSharedData(nullptr), + fParticleChange(), + fDummyParticleChange() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB06BOptnSplitAndKillByImportance::~GB06BOptnSplitAndKillByImportance() -{} +GB06BOptnSplitAndKillByImportance::~GB06BOptnSplitAndKillByImportance() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double GB06BOptnSplitAndKillByImportance:: -DistanceToApplyOperation( const G4Track*, - G4double, - G4ForceCondition* condition) +G4double GB06BOptnSplitAndKillByImportance::DistanceToApplyOperation(const G4Track*, G4double, + G4ForceCondition* condition) { - // -- Remember the touchable history (ie geometry state) at the beginning of the step: // -- Start by getting the process handling the step limitation in parallel // -- geometries for the generic biasing: - auto biasingLimiterProcess = fBiasingSharedData->GetParallelGeometriesLimiterProcess(); - fPreStepTouchableHistory = + auto biasingLimiterProcess = fBiasingSharedData->GetParallelGeometriesLimiterProcess(); + fPreStepTouchableHistory = biasingLimiterProcess - ->GetNavigator( fParallelWorldIndex ) // -- get the navigator of the geometry... - ->CreateTouchableHistoryHandle(); // -- ...and collect the geometry state. - + ->GetNavigator(fParallelWorldIndex) // -- get the navigator of the geometry... + ->CreateTouchableHistoryHandle(); // -- ...and collect the geometry state. + // -- We request to be "forced" : meaning GenerateBiasingFinalState(...) will be called // -- anyway at the PostStepDoIt(...) stage (ie, when the track will have been moved to // -- its end point position) and, there, we will have to handle the decision to @@ -81,52 +75,44 @@ DistanceToApplyOperation( const G4Track*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* -GB06BOptnSplitAndKillByImportance::GenerateBiasingFinalState( const G4Track* track, - const G4Step* ) +G4VParticleChange* +GB06BOptnSplitAndKillByImportance::GenerateBiasingFinalState(const G4Track* track, const G4Step*) { // -- Given we used the "Forced" condition, this method is always called. // -- We check the status of the step in the parallel geometry, and apply // -- splitting/killing if the step has been limited by the geometry. // -- We first check if we limit the step in the parallel geometry: - G4bool isLimiting = fBiasingSharedData - ->GetParallelGeometriesLimiterProcess() - ->GetIsLimiting( fParallelWorldIndex ); + G4bool isLimiting = + fBiasingSharedData->GetParallelGeometriesLimiterProcess()->GetIsLimiting(fParallelWorldIndex); // -- if not limiting, we leave the track unchanged: - if ( !isLimiting ) - { - fDummyParticleChange.Initialize( *track ); - return &fDummyParticleChange; - } - + if (!isLimiting) { + fDummyParticleChange.Initialize(*track); + return &fDummyParticleChange; + } + // -- We collect the geometry state at the end point step: // -- Note this is the same call than in the DistanceToApplyOperation(...) for the // -- fPreStepTouchableHistory, but the navigator has pushed the track in the next // -- volume since then (even if the track is still on the boundary), and hence the // -- geometry state has changed. auto biasingLimiterProcess = fBiasingSharedData->GetParallelGeometriesLimiterProcess(); - fPostStepTouchableHistory = - biasingLimiterProcess - ->GetNavigator( fParallelWorldIndex ) - ->CreateTouchableHistoryHandle(); + fPostStepTouchableHistory = + biasingLimiterProcess->GetNavigator(fParallelWorldIndex)->CreateTouchableHistoryHandle(); - // -- We verify we are still in the "same" physical volume: // -- remember : using a replica, we have "one" physical volume // -- but representing many different placements, distinguished // -- by replica number. By checking we are in the same physical // -- volume, we verify the end step point has not reached the // -- world volume of the parallel geometry: - if ( fPreStepTouchableHistory ->GetVolume() != - fPostStepTouchableHistory->GetVolume() ) - { - // -- the track is leaving the volumes in which biasing is applied, - // -- we leave this track unchanged: - fDummyParticleChange.Initialize( *track ); - return &fDummyParticleChange; - } + if (fPreStepTouchableHistory->GetVolume() != fPostStepTouchableHistory->GetVolume()) { + // -- the track is leaving the volumes in which biasing is applied, + // -- we leave this track unchanged: + fDummyParticleChange.Initialize(*track); + return &fDummyParticleChange; + } // ------------------------------------------------------------------------------------- // -- At this stage, we know we have a particle crossing a boundary between two slices, @@ -134,66 +120,60 @@ GB06BOptnSplitAndKillByImportance::GenerateBiasingFinalState( const G4Track* tra // -- We will split if the track is entering a volume with higher importance, and // -- kill (applying Russian roulette) in the other case. // ------------------------------------------------------------------------------------- - - // -- We start by getting the replica numbers: - G4int preReplicaNumber = fPreStepTouchableHistory->GetReplicaNumber(); + + // -- We start by getting the replica numbers: + G4int preReplicaNumber = fPreStepTouchableHistory->GetReplicaNumber(); G4int postReplicaNumber = fPostStepTouchableHistory->GetReplicaNumber(); // -- and get the related importance we defined in the importance map: - G4int preImportance = (*fImportanceMap)[ preReplicaNumber]; + G4int preImportance = (*fImportanceMap)[preReplicaNumber]; G4int postImportance = (*fImportanceMap)[postReplicaNumber]; - // -- Get track weight: G4double initialWeight = track->GetWeight(); - + // -- Initialize the "particle change" (it will communicate the new track state to // -- the tracking): fParticleChange.Initialize(*track); - if ( postImportance > preImportance ) - { - // -- We split : - G4int splittingFactor = postImportance/preImportance; - - // Define the tracks weight: - G4double weightOfTrack = initialWeight/splittingFactor; - - // Ask currect track weight to be changed to the new value: - fParticleChange.ProposeParentWeight( weightOfTrack ); - // Now we clone this track (this is the actual splitting): - // we will then have the primary and clone of it, hence the - // splitting by a factor 2: - G4Track* clone = new G4Track( *track ); - clone->SetWeight( weightOfTrack ); - fParticleChange.AddSecondary( clone ); - // -- Below's call added for safety & illustration : inform particle change to not - // -- modify the clone (ie : daughter) weight to make it that of the primary. - // -- Here this call is not mandatory as both tracks have same weights. - fParticleChange.SetSecondaryWeightByProcess(true); + if (postImportance > preImportance) { + // -- We split : + G4int splittingFactor = postImportance / preImportance; + + // Define the tracks weight: + G4double weightOfTrack = initialWeight / splittingFactor; + + // Ask currect track weight to be changed to the new value: + fParticleChange.ProposeParentWeight(weightOfTrack); + // Now we clone this track (this is the actual splitting): + // we will then have the primary and clone of it, hence the + // splitting by a factor 2: + G4Track* clone = new G4Track(*track); + clone->SetWeight(weightOfTrack); + fParticleChange.AddSecondary(clone); + // -- Below's call added for safety & illustration : inform particle change to not + // -- modify the clone (ie : daughter) weight to make it that of the primary. + // -- Here this call is not mandatory as both tracks have same weights. + fParticleChange.SetSecondaryWeightByProcess(true); + } + else { + // -- We apply Russian roulette: + G4double survivingProbability = G4double(postImportance) / G4double(preImportance); + + // Shoot a random number (in ]0,1[ segment): + G4double random = G4UniformRand(); + if (random > survivingProbability) { + // We ask for the the track to be killed: + fParticleChange.ProposeTrackStatus(fStopAndKill); } - else - { - // -- We apply Russian roulette: - G4double survivingProbability = G4double(postImportance) / G4double(preImportance); - - // Shoot a random number (in ]0,1[ segment): - G4double random = G4UniformRand(); - if ( random > survivingProbability ) - { - // We ask for the the track to be killed: - fParticleChange.ProposeTrackStatus(fStopAndKill); - } - else - { - // In this case, the track survives. We change its weight - // to conserve weight among killed and survival tracks: - fParticleChange.ProposeParentWeight( initialWeight/survivingProbability ); - } + else { + // In this case, the track survives. We change its weight + // to conserve weight among killed and survival tracks: + fParticleChange.ProposeParentWeight(initialWeight / survivingProbability); } + } return &fParticleChange; - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB06/src/GB06BOptrSplitAndKillByImportance.cc b/examples/extended/biasing/GB06/src/GB06BOptrSplitAndKillByImportance.cc index d94d327e3fa..13e12fa37e0 100644 --- a/examples/extended/biasing/GB06/src/GB06BOptrSplitAndKillByImportance.cc +++ b/examples/extended/biasing/GB06/src/GB06BOptrSplitAndKillByImportance.cc @@ -27,45 +27,36 @@ /// \brief Implementation of the GB06BOptrSplitAndKillByImportance class // #include "GB06BOptrSplitAndKillByImportance.hh" + #include "GB06BOptnSplitAndKillByImportance.hh" #include "G4BiasingProcessInterface.hh" -#include "G4ParallelGeometriesLimiterProcess.hh" #include "G4BiasingProcessSharedData.hh" - - +#include "G4ParallelGeometriesLimiterProcess.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" -#include "G4VProcess.hh" - -#include "G4TransportationManager.hh" #include "G4TouchableHandle.hh" +#include "G4TransportationManager.hh" +#include "G4VProcess.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB06BOptrSplitAndKillByImportance:: -GB06BOptrSplitAndKillByImportance(G4String particleName, - G4String name) +GB06BOptrSplitAndKillByImportance::GB06BOptrSplitAndKillByImportance(G4String particleName, + G4String name) : G4VBiasingOperator(name), - fParallelWorld ( nullptr ), - fParallelWorldIndex ( -1 ), - fBiasingLimiterProcess ( nullptr ) + fParallelWorld(nullptr), + fParallelWorldIndex(-1), + fBiasingLimiterProcess(nullptr) { fParticleToBias = G4ParticleTable::GetParticleTable()->FindParticle(particleName); - if ( fParticleToBias == 0 ) - { - G4ExceptionDescription ed; - ed << "Particle `" << particleName << "' not found !" << G4endl; - G4Exception("GB06BOptrSplitAndKillByImportance(...)", - "exGB06.01", - JustWarning, - ed); - } - - fSplitAndKillByImportance = - new GB06BOptnSplitAndKillByImportance("splitterFor_"+particleName); + if (fParticleToBias == 0) { + G4ExceptionDescription ed; + ed << "Particle `" << particleName << "' not found !" << G4endl; + G4Exception("GB06BOptrSplitAndKillByImportance(...)", "exGB06.01", JustWarning, ed); + } + fSplitAndKillByImportance = new GB06BOptnSplitAndKillByImportance("splitterFor_" + particleName); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -85,30 +76,25 @@ void GB06BOptrSplitAndKillByImportance::StartRun() // -- get the particle process manager... const G4ProcessManager* processManager = fParticleToBias->GetProcessManager(); // -- ... to obtain the biasing information shared among this particle processes: - fBiasingSharedData = G4BiasingProcessInterface::GetSharedData( processManager ); + fBiasingSharedData = G4BiasingProcessInterface::GetSharedData(processManager); // -- Remember the index of the parallel world: fBiasingLimiterProcess = fBiasingSharedData->GetParallelGeometriesLimiterProcess(); - fParallelWorldIndex = fBiasingLimiterProcess->GetParallelWorldIndex(fParallelWorld); + fParallelWorldIndex = fBiasingLimiterProcess->GetParallelWorldIndex(fParallelWorld); // -- Setup the biasing operation: - fSplitAndKillByImportance-> SetBiasingSharedData( fBiasingSharedData ); - fSplitAndKillByImportance->SetParallelWorldIndex( fParallelWorldIndex ); - fSplitAndKillByImportance-> SetImportanceMap( &fImportanceMap ); - + fSplitAndKillByImportance->SetBiasingSharedData(fBiasingSharedData); + fSplitAndKillByImportance->SetParallelWorldIndex(fParallelWorldIndex); + fSplitAndKillByImportance->SetImportanceMap(&fImportanceMap); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB06BOptrSplitAndKillByImportance:: -ProposeNonPhysicsBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* /*callingProcess*/) +G4VBiasingOperation* GB06BOptrSplitAndKillByImportance::ProposeNonPhysicsBiasingOperation( + const G4Track* track, const G4BiasingProcessInterface* /*callingProcess*/) { // -- Check if current particle type is the one to bias: - if ( track->GetDefinition() != fParticleToBias ) return 0; + if (track->GetDefinition() != fParticleToBias) return 0; // -- if so, request biasing: return fSplitAndKillByImportance; - } - diff --git a/examples/extended/biasing/GB06/src/GB06DetectorConstruction.cc b/examples/extended/biasing/GB06/src/GB06DetectorConstruction.cc index e7bbb7fb01c..f0f7af523bc 100644 --- a/examples/extended/biasing/GB06/src/GB06DetectorConstruction.cc +++ b/examples/extended/biasing/GB06/src/GB06DetectorConstruction.cc @@ -27,103 +27,90 @@ /// \brief Implementation of the GB06DetectorConstruction class // #include "GB06DetectorConstruction.hh" -#include "G4SystemOfUnits.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "GB06SD.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" #include "G4LogicalVolumeStore.hh" - +#include "G4Material.hh" #include "G4NistManager.hh" - -#include "GB06SD.hh" +#include "G4PVPlacement.hh" #include "G4SDManager.hh" - +#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB06DetectorConstruction::GB06DetectorConstruction() - : G4VUserDetectorConstruction() -{} +GB06DetectorConstruction::GB06DetectorConstruction() : G4VUserDetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB06DetectorConstruction::~GB06DetectorConstruction() -{} +GB06DetectorConstruction::~GB06DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* GB06DetectorConstruction::Construct() { - G4Material* worldMaterial = - G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); - G4Material* concreteMaterial = - G4NistManager::Instance()->FindOrBuildMaterial("G4_CONCRETE"); - - - G4VSolid* solidWorld = new G4Box("World.solid", 10*m, 10*m, 10*m ); - - G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid - worldMaterial, // its material - "World.logical");// its name - - G4PVPlacement* physiWorld = new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(), // at (0,0,0) - logicWorld, // its logical volume - "World.physical",// its name - nullptr, // its mother volume - false, // no bool. operation - 0); // copy number - + G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Material* concreteMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_CONCRETE"); + + G4VSolid* solidWorld = new G4Box("World.solid", 10 * m, 10 * m, 10 * m); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid + worldMaterial, // its material + "World.logical"); // its name + + G4PVPlacement* physiWorld = new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(), // at (0,0,0) + logicWorld, // its logical volume + "World.physical", // its name + nullptr, // its mother volume + false, // no bool. operation + 0); // copy number + // ---------------------------------------------------- // -- volume of shield, made of concrete, in one block: // ---------------------------------------------------- - G4double halfXY = 1.5*m; - G4double halfZ = 2.5*m; - G4VSolid* solidShield = new G4Box("shield.solid", halfXY, halfXY, halfZ ); - - G4LogicalVolume* logicTest = new G4LogicalVolume(solidShield, // its solid - concreteMaterial, // its material + G4double halfXY = 1.5 * m; + G4double halfZ = 2.5 * m; + G4VSolid* solidShield = new G4Box("shield.solid", halfXY, halfXY, halfZ); + + G4LogicalVolume* logicTest = new G4LogicalVolume(solidShield, // its solid + concreteMaterial, // its material "shield.logical"); // its name - - new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0, 0, halfZ), // volume entrance is set at (0,0,0) - logicTest, // its logical volume - "shield.physical", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - + + new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0, 0, halfZ), // volume entrance is set at (0,0,0) + logicTest, // its logical volume + "shield.physical", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + // ------------------------------------------------------------ // -- dummy volume to display exiting neutron flux information: // ------------------------------------------------------------ - G4double halfz = 1*cm; - G4VSolid* solidMeasurement = new G4Box("meas.solid", halfXY, halfXY, halfz ); - - G4LogicalVolume* logicMeasurement = new G4LogicalVolume(solidMeasurement,// its solid - worldMaterial, // its material - "meas.logical"); // its name - - new G4PVPlacement(nullptr, // no rotation - G4ThreeVector(0, 0, 2*halfZ + halfz), // entrance set after shield - logicMeasurement, // its logical volume - "meas.physical", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - - + G4double halfz = 1 * cm; + G4VSolid* solidMeasurement = new G4Box("meas.solid", halfXY, halfXY, halfz); + + G4LogicalVolume* logicMeasurement = new G4LogicalVolume(solidMeasurement, // its solid + worldMaterial, // its material + "meas.logical"); // its name + + new G4PVPlacement(nullptr, // no rotation + G4ThreeVector(0, 0, 2 * halfZ + halfz), // entrance set after shield + logicMeasurement, // its logical volume + "meas.physical", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + // -- world volume pointer returned: return physiWorld; } - void GB06DetectorConstruction::ConstructSDandField() { - // --------------------------------------------------------------------------------- // -- Attach sensitive detector to print information on particle exiting the shield: // --------------------------------------------------------------------------------- @@ -132,8 +119,6 @@ void GB06DetectorConstruction::ConstructSDandField() G4VSensitiveDetector* sd = new GB06SD("Measurer"); SDman->AddNewDetector(sd); // -- Fetch volume for sensitivity and attach sensitive module to it: - G4LogicalVolume* logicSD = - G4LogicalVolumeStore::GetInstance()->GetVolume("meas.logical"); + G4LogicalVolume* logicSD = G4LogicalVolumeStore::GetInstance()->GetVolume("meas.logical"); logicSD->SetSensitiveDetector(sd); - } diff --git a/examples/extended/biasing/GB06/src/GB06ParallelWorldForSlices.cc b/examples/extended/biasing/GB06/src/GB06ParallelWorldForSlices.cc index f60ac677d3e..6b27aca7638 100644 --- a/examples/extended/biasing/GB06/src/GB06ParallelWorldForSlices.cc +++ b/examples/extended/biasing/GB06/src/GB06ParallelWorldForSlices.cc @@ -29,27 +29,31 @@ // #include "GB06ParallelWorldForSlices.hh" +#include "GB06BOptrSplitAndKillByImportance.hh" + #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4LogicalVolumeStore.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4ThreeVector.hh" #include "G4SystemOfUnits.hh" - -#include "GB06BOptrSplitAndKillByImportance.hh" +#include "G4ThreeVector.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB06ParallelWorldForSlices::GB06ParallelWorldForSlices(G4String worldName) : G4VUserParallelWorld(worldName) -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB06ParallelWorldForSlices::~GB06ParallelWorldForSlices() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -62,11 +66,10 @@ void GB06ParallelWorldForSlices::Construct() // ------------------------- // Build parallel geometry: // ------------------------- - + // -- Obtain clone of mass geometry world from GetWorld() base class utility: G4VPhysicalVolume* physicalParallelWorld = GetWorld(); - G4LogicalVolume* logicalParallelWorld = physicalParallelWorld->GetLogicalVolume(); - + G4LogicalVolume* logicalParallelWorld = physicalParallelWorld->GetLogicalVolume(); // -- We overlay a sliced geometry on top of the block of concrete in the mass geometry // -- (ie, in the detector construction class), using the same dimensions. @@ -82,75 +85,67 @@ void GB06ParallelWorldForSlices::Construct() // -- are of interest. Note that the absence of materials is only possible in parallel // -- geometries. - // -- 1) get back the solid used to create the concrete shield: // ------------------------------------------------------ - + // -- get back the logical volume of the shield, using its name: - G4LogicalVolume* shieldLogical = - G4LogicalVolumeStore::GetInstance()->GetVolume("shield.logical"); - + G4LogicalVolume* shieldLogical = G4LogicalVolumeStore::GetInstance()->GetVolume("shield.logical"); + // -- get back the solid, a G4box in this case. We cast the pointer to access later on // -- the G4Box class specific methods: - G4Box* shieldSolid = (G4Box*) shieldLogical->GetSolid(); - + G4Box* shieldSolid = (G4Box*)shieldLogical->GetSolid(); + // -- we now re-create a logical volume for the mother volume of the slices: G4LogicalVolume* motherForSlicesLogical = - new G4LogicalVolume(shieldSolid, // its solid - nullptr, // no material + new G4LogicalVolume(shieldSolid, // its solid + nullptr, // no material "motherForSlices.logical"); // its name - - // -- 2) new logical volume of same shape than the shield and place inside the slices: // ----------------------------------------------------------------------------- - + // -- We create now the slices; we choose 20 slices: const G4int nSlices(20); // -- the solid for slices: G4double halfSliceZ = shieldSolid->GetZHalfLength() / nSlices; - G4Box* sliceSolid = new G4Box("slice.solid", - shieldSolid->GetXHalfLength(), - shieldSolid->GetYHalfLength(), - halfSliceZ ); - + G4Box* sliceSolid = new G4Box("slice.solid", shieldSolid->GetXHalfLength(), + shieldSolid->GetYHalfLength(), halfSliceZ); + // -- the logical volume for slices: - G4LogicalVolume* sliceLogical = new G4LogicalVolume(sliceSolid, // its solid - nullptr, // no material + G4LogicalVolume* sliceLogical = new G4LogicalVolume(sliceSolid, // its solid + nullptr, // no material "slice.logical"); // its name - + // -- we use a replica, to place the 20 slices in one go, along the Z axis: - new G4PVReplica( "slice.physical", // its name - sliceLogical, // its logical volume - motherForSlicesLogical, // its mother volume - kZAxis, // axis of replication - nSlices, // number of replica - 2*halfSliceZ); // width of replica - - + new G4PVReplica("slice.physical", // its name + sliceLogical, // its logical volume + motherForSlicesLogical, // its mother volume + kZAxis, // axis of replication + nSlices, // number of replica + 2 * halfSliceZ); // width of replica + // -- 3) place the sliced structure, using the concrete shield placement: // ---------------------------------------------------------------- - + // -- get back the physical volume of the shield, using its name: // -- (note that we know we have only one physical volume with this name. If we had // -- several, we should loop by ourselves on the store which is of // -- std::vector type.) - G4VPhysicalVolume* - shieldPhysical = G4PhysicalVolumeStore::GetInstance()->GetVolume("shield.physical"); - + G4VPhysicalVolume* shieldPhysical = + G4PhysicalVolumeStore::GetInstance()->GetVolume("shield.physical"); + // -- get back the translation // -- (we don't try to get back the rotation, we know we used nullptr): G4ThreeVector translation = shieldPhysical->GetObjectTranslation(); - - // -- finally, we place the sliced structure: - new G4PVPlacement( nullptr, // no rotation - translation, // translate as for the shield - motherForSlicesLogical, // its logical volume - "motherForSlices.physical", // its name - logicalParallelWorld, // its mother volume - false, // no boolean operation - 0); // copy number + // -- finally, we place the sliced structure: + new G4PVPlacement(nullptr, // no rotation + translation, // translate as for the shield + motherForSlicesLogical, // its logical volume + "motherForSlices.physical", // its name + logicalParallelWorld, // its mother volume + false, // no boolean operation + 0); // copy number } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -158,10 +153,10 @@ void GB06ParallelWorldForSlices::Construct() void GB06ParallelWorldForSlices::ConstructSD() { // -- Create the biasing operator: - auto biasingOperator = new GB06BOptrSplitAndKillByImportance("neutron","parallelOptr"); + auto biasingOperator = new GB06BOptrSplitAndKillByImportance("neutron", "parallelOptr"); // -- Tell it it is active for this parallel geometry, passing the world // -- volume of this geometry : - biasingOperator->SetParallelWorld( GetWorld() ); + biasingOperator->SetParallelWorld(GetWorld()); // -- Attach to the logical volume where the biasing has to be applied: auto slice = G4LogicalVolumeStore::GetInstance()->GetVolume("slice.logical"); @@ -177,10 +172,8 @@ void GB06ParallelWorldForSlices::ConstructSD() G4int nReplica = slicePhysical->GetMultiplicity(); // -- We use and fill the map we defined in the biasing operator: G4int importance = 1; - for ( G4int iReplica = 0 ; iReplica < nReplica ; iReplica++ ) - { - (biasingOperator->GetImportanceMap())[ iReplica ] = importance; - importance *= 2; - } - + for (G4int iReplica = 0; iReplica < nReplica; iReplica++) { + (biasingOperator->GetImportanceMap())[iReplica] = importance; + importance *= 2; + } } diff --git a/examples/extended/biasing/GB06/src/GB06PrimaryGeneratorAction.cc b/examples/extended/biasing/GB06/src/GB06PrimaryGeneratorAction.cc index b301d3378fd..8bd14ac5ef9 100644 --- a/examples/extended/biasing/GB06/src/GB06PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/GB06/src/GB06PrimaryGeneratorAction.cc @@ -28,30 +28,29 @@ // #include "GB06PrimaryGeneratorAction.hh" -#include "G4SystemOfUnits.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" +#include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB06PrimaryGeneratorAction::GB06PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction() +GB06PrimaryGeneratorAction::GB06PrimaryGeneratorAction() : G4VUserPrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="neutron"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "neutron"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(100.*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-50*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(100. * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -50 * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -61,9 +60,7 @@ GB06PrimaryGeneratorAction::~GB06PrimaryGeneratorAction() delete fParticleGun; } - void GB06PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { fParticleGun->GeneratePrimaryVertex(anEvent); } - diff --git a/examples/extended/biasing/GB06/src/GB06SD.cc b/examples/extended/biasing/GB06/src/GB06SD.cc index ad02a43a2fc..dacde522584 100644 --- a/examples/extended/biasing/GB06/src/GB06SD.cc +++ b/examples/extended/biasing/GB06/src/GB06SD.cc @@ -29,34 +29,26 @@ // #include "GB06SD.hh" -#include "G4Track.hh" + #include "G4Step.hh" #include "G4SystemOfUnits.hh" - +#include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB06SD::GB06SD(G4String name) -: G4VSensitiveDetector(name) -{} +GB06SD::GB06SD(G4String name) : G4VSensitiveDetector(name) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool GB06SD::ProcessHits(G4Step* step, G4TouchableHistory*) { - auto track = step->GetTrack(); + auto track = step->GetTrack(); auto preStepPoint = step->GetPreStepPoint(); - G4cout << std::setw(14) - << track->GetParticleDefinition()->GetParticleName() - << ", kinetic energy (MeV) = " - << std::setw(12) << preStepPoint->GetKineticEnergy()/MeV - << ", position (cm) = " - << preStepPoint->GetPosition()/cm - << ",\t weight = " - << preStepPoint->GetWeight() - << G4endl; - + G4cout << std::setw(14) << track->GetParticleDefinition()->GetParticleName() + << ", kinetic energy (MeV) = " << std::setw(12) << preStepPoint->GetKineticEnergy() / MeV + << ", position (cm) = " << preStepPoint->GetPosition() / cm + << ",\t weight = " << preStepPoint->GetWeight() << G4endl; + return true; - } diff --git a/examples/extended/biasing/GB07/exampleGB07.cc b/examples/extended/biasing/GB07/exampleGB07.cc index 1e0bff696e2..81a508719a4 100644 --- a/examples/extended/biasing/GB07/exampleGB07.cc +++ b/examples/extended/biasing/GB07/exampleGB07.cc @@ -28,67 +28,64 @@ // // -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" +#include "FTFP_BERT.hh" #include "GB07ActionInitialization.hh" - -#include "G4UImanager.hh" - #include "GB07DetectorConstruction.hh" #include "GB07PrimaryGeneratorAction.hh" -#include "FTFP_BERT.hh" #include "G4GenericBiasingPhysics.hh" - -#include "G4VisExecutive.hh" +#include "G4RunManagerFactory.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace { - void PrintUsage() { - G4cerr << " Usage: " << G4endl; - G4cerr << " ./exampleGB07 [-m macro ] " - << " [-b biasing {'on','off'}]" - << "\n or\n ./exampleGB07 [macro.mac]" - << G4endl; - } +namespace +{ +void PrintUsage() +{ + G4cerr << " Usage: " << G4endl; + G4cerr << " ./exampleGB07 [-m macro ] " + << " [-b biasing {'on','off'}]" + << "\n or\n ./exampleGB07 [macro.mac]" << G4endl; } +} // namespace //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { // Evaluate arguments // - if ( argc > 5 ) { + if (argc > 5) { PrintUsage(); return 1; } G4String macro(""); G4String onOffBiasing(""); - if ( argc == 2 ) macro = argv[1]; - else - { - for ( G4int i=1; i piPlusProcessesToBias, piMinusProcessesToBias, - protonProcessesToBias, antiProtonProcessesToBias, neutronProcessesToBias, - antiNeutronProcessesToBias; - piPlusProcessesToBias .push_back( "pi+Inelastic"); - piMinusProcessesToBias .push_back( "pi-Inelastic"); - protonProcessesToBias .push_back( "protonInelastic"); - antiProtonProcessesToBias .push_back( "anti_protonInelastic"); - neutronProcessesToBias .push_back( "neutronInelastic"); - neutronProcessesToBias .push_back("nCapture" ); - antiNeutronProcessesToBias.push_back("anti_neutronInelastic"); - biasingPhysics->PhysicsBias("pi+", piPlusProcessesToBias); - biasingPhysics->PhysicsBias("pi-", piMinusProcessesToBias); - biasingPhysics->PhysicsBias("proton", protonProcessesToBias); - biasingPhysics->PhysicsBias("anti_proton", antiProtonProcessesToBias); - biasingPhysics->PhysicsBias("neutron", neutronProcessesToBias); - biasingPhysics->PhysicsBias("anti_neutron", antiNeutronProcessesToBias); - // ---- Apply also the technique to some EM processes (producing at least - // ---- 2 same or 2 particle - anti-particle pairs): - std::vector< G4String > gammaProcessesToBias, electronProcessesToBias, - positronProcessesToBias; - gammaProcessesToBias .push_back( "conv" ); - gammaProcessesToBias .push_back( "photonNuclear" ); - electronProcessesToBias .push_back( "electronNuclear" ); - positronProcessesToBias .push_back( "annihil" ); - positronProcessesToBias .push_back( "positronNuclear" ); - biasingPhysics->PhysicsBias("gamma", gammaProcessesToBias); - biasingPhysics->PhysicsBias("e-", electronProcessesToBias); - biasingPhysics->PhysicsBias("e+", positronProcessesToBias); - // ---- And apply it to pi0 decay: - std::vector< G4String > pi0ProcessesToBias; - pi0ProcessesToBias .push_back( "Decay" ); - biasingPhysics->PhysicsBias("pi0", pi0ProcessesToBias); - // -- - physicsList->RegisterPhysics(biasingPhysics); - G4cout << " ********************************************************* " << G4endl; - G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; - G4cout << " ********************************************************* " << G4endl; - } - else - { - G4cout << " ************************************************* " << G4endl; - G4cout << " ********** processes are not wrapped ************ " << G4endl; - G4cout << " ************************************************* " << G4endl; - } + if (onOffBiasing == "on") { + // -- Specify the processes that will be under biasing: + // ---- Decide to apply the technique to hadronic inelastic interactions: + std::vector piPlusProcessesToBias, piMinusProcessesToBias, protonProcessesToBias, + antiProtonProcessesToBias, neutronProcessesToBias, antiNeutronProcessesToBias; + piPlusProcessesToBias.push_back("pi+Inelastic"); + piMinusProcessesToBias.push_back("pi-Inelastic"); + protonProcessesToBias.push_back("protonInelastic"); + antiProtonProcessesToBias.push_back("anti_protonInelastic"); + neutronProcessesToBias.push_back("neutronInelastic"); + neutronProcessesToBias.push_back("nCapture"); + antiNeutronProcessesToBias.push_back("anti_neutronInelastic"); + biasingPhysics->PhysicsBias("pi+", piPlusProcessesToBias); + biasingPhysics->PhysicsBias("pi-", piMinusProcessesToBias); + biasingPhysics->PhysicsBias("proton", protonProcessesToBias); + biasingPhysics->PhysicsBias("anti_proton", antiProtonProcessesToBias); + biasingPhysics->PhysicsBias("neutron", neutronProcessesToBias); + biasingPhysics->PhysicsBias("anti_neutron", antiNeutronProcessesToBias); + // ---- Apply also the technique to some EM processes (producing at least + // ---- 2 same or 2 particle - anti-particle pairs): + std::vector gammaProcessesToBias, electronProcessesToBias, positronProcessesToBias; + gammaProcessesToBias.push_back("conv"); + gammaProcessesToBias.push_back("photonNuclear"); + electronProcessesToBias.push_back("electronNuclear"); + positronProcessesToBias.push_back("annihil"); + positronProcessesToBias.push_back("positronNuclear"); + biasingPhysics->PhysicsBias("gamma", gammaProcessesToBias); + biasingPhysics->PhysicsBias("e-", electronProcessesToBias); + biasingPhysics->PhysicsBias("e+", positronProcessesToBias); + // ---- And apply it to pi0 decay: + std::vector pi0ProcessesToBias; + pi0ProcessesToBias.push_back("Decay"); + biasingPhysics->PhysicsBias("pi0", pi0ProcessesToBias); + // -- + physicsList->RegisterPhysics(biasingPhysics); + G4cout << " ********************************************************* " << G4endl; + G4cout << " ********** processes are wrapped for biasing ************ " << G4endl; + G4cout << " ********************************************************* " << G4endl; + } + else { + G4cout << " ************************************************* " << G4endl; + G4cout << " ********** processes are not wrapped ************ " << G4endl; + G4cout << " ************************************************* " << G4endl; + } runManager->SetUserInitialization(physicsList); // -- Action initialization: runManager->SetUserInitialization(new GB07ActionInitialization); @@ -166,19 +159,18 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if ( macro != "" ) // batch mode - { - G4String command = "/control/execute "; - UImanager->ApplyCommand(command+macro); - } - else - { // interactive mode : define UI session - UImanager->ApplyCommand("/control/execute vis.mac"); - // if (ui->IsGUI()) - // UImanager->ApplyCommand("/control/execute gui.mac"); - ui->SessionStart(); - delete ui; - } + if (macro != "") // batch mode + { + G4String command = "/control/execute "; + UImanager->ApplyCommand(command + macro); + } + else { // interactive mode : define UI session + UImanager->ApplyCommand("/control/execute vis.mac"); + // if (ui->IsGUI()) + // UImanager->ApplyCommand("/control/execute gui.mac"); + ui->SessionStart(); + delete ui; + } delete visManager; delete runManager; diff --git a/examples/extended/biasing/GB07/exampleGB07.out b/examples/extended/biasing/GB07/exampleGB07.out index 5b528ebd12f..35464644400 100644 --- a/examples/extended/biasing/GB07/exampleGB07.out +++ b/examples/extended/biasing/GB07/exampleGB07.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -56,14 +56,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -245,7 +252,7 @@ CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eCoulombScattering : Emin= 100 MeV Emax= 100 TeV -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -794,7 +801,7 @@ Min energy per nucleon for multifragmentation 200 GeV Limit excitation energy for Fermi BreakUp 20 MeV Level density (1/MeV) 0.075 Use simple level density model 1 -Use discrete excitation energy of the residual 1 +Use discrete excitation energy of the residual 0 Time limit for long lived isomeres 1 ns Isomer production flag 1 Internal e- conversion flag 1 @@ -804,384 +811,353 @@ Max 2J for sampling of angular correlations 10 ======================================================================= G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model. See commands in /vis/modeling/trajectories/ for other options. - neutron, kinetic energy (MeV) = 149.657, position (cm) = (-21.0653,-9.26323,200), weight = 2 - proton, kinetic energy (MeV) = 30.0171, position (cm) = (-2.13214,10.533,200), weight = 1 - neutron, kinetic energy (MeV) = 280.191, position (cm) = (-20.3043,82.086,200), weight = 3 - gamma, kinetic energy (MeV) = 13.9141, position (cm) = (12.6705,23.1583,200), weight = 1 - gamma, kinetic energy (MeV) = 7.60362, position (cm) = (9.15305,-2.64812,200), weight = 1 - gamma, kinetic energy (MeV) = 36.3413, position (cm) = (10.7428,13.4196,200), weight = 1 - gamma, kinetic energy (MeV) = 10.6887, position (cm) = (16.1753,5.63369,200), weight = 1 - gamma, kinetic energy (MeV) = 0.125331, position (cm) = (-18.1476,20.2369,200), weight = 2 - gamma, kinetic energy (MeV) = 6.31564, position (cm) = (-16.1097,13.5559,200), weight = 2 - gamma, kinetic energy (MeV) = 1.82023, position (cm) = (-16.4628,14.4923,200), weight = 2 - neutron, kinetic energy (MeV) = 0.69693, position (cm) = (-2.82365,6.62075,200), weight = 8 - neutron, kinetic energy (MeV) = 286.947, position (cm) = (5.50668,4.0225,200), weight = 1 - gamma, kinetic energy (MeV) = 1.59789, position (cm) = (5.25367,40.9972,200), weight = 20 - neutron, kinetic energy (MeV) = 0.0975513, position (cm) = (-24.0711,55.2381,200), weight = 20 - gamma, kinetic energy (MeV) = 6.43602, position (cm) = (3.38983,27.2533,200), weight = 30 - neutron, kinetic energy (MeV) = 32.7156, position (cm) = (1.82635,-9.1454,200), weight = 14 - pi-, kinetic energy (MeV) = 24.3233, position (cm) = (-6.90045,-14.776,200), weight = 7 - proton, kinetic energy (MeV) = 483.786, position (cm) = (-3.21563,-11.6419,200), weight = 7 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (10.9867,5.9635,200), weight = 1 - gamma, kinetic energy (MeV) = 0.050579, position (cm) = (21.3188,8.0118,200), weight = 1 - gamma, kinetic energy (MeV) = 0.236262, position (cm) = (19.6697,9.03448,200), weight = 1 - gamma, kinetic energy (MeV) = 0.35613, position (cm) = (18.6239,6.46561,200), weight = 1 - gamma, kinetic energy (MeV) = 1.58541, position (cm) = (19.8305,5.73654,200), weight = 1 - gamma, kinetic energy (MeV) = 25.7142, position (cm) = (19.4469,7.30109,200), weight = 1 - gamma, kinetic energy (MeV) = 1.31729, position (cm) = (21.0919,6.59008,200), weight = 1 - gamma, kinetic energy (MeV) = 83.984, position (cm) = (20.8054,6.11856,200), weight = 1 - gamma, kinetic energy (MeV) = 0.388136, position (cm) = (20.2302,8.67582,200), weight = 1 - gamma, kinetic energy (MeV) = 0.112578, position (cm) = (21.0482,38.6289,200), weight = 1 - gamma, kinetic energy (MeV) = 0.501246, position (cm) = (24.7093,6.92565,200), weight = 1 - gamma, kinetic energy (MeV) = 3.34172, position (cm) = (26.8489,9.93391,200), weight = 1 - gamma, kinetic energy (MeV) = 11.479, position (cm) = (20.0526,7.12524,200), weight = 1 - gamma, kinetic energy (MeV) = 128.488, position (cm) = (20.5932,6.16202,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0912762, position (cm) = (41.7708,18.1838,200), weight = 1 - gamma, kinetic energy (MeV) = 0.100876, position (cm) = (19.558,14.194,200), weight = 1 - gamma, kinetic energy (MeV) = 1.94503, position (cm) = (20.9039,0.713886,200), weight = 1 - gamma, kinetic energy (MeV) = 11.0605, position (cm) = (19.079,7.72453,200), weight = 1 - gamma, kinetic energy (MeV) = 10.1531, position (cm) = (21.0654,-22.5592,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0954961, position (cm) = (14.4048,9.39873,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0958738, position (cm) = (8.68995,9.30562,200), weight = 1 - gamma, kinetic energy (MeV) = 0.147134, position (cm) = (13.8192,9.17121,200), weight = 1 - gamma, kinetic energy (MeV) = 5.72113, position (cm) = (19.777,9.051,200), weight = 1 - gamma, kinetic energy (MeV) = 45.4851, position (cm) = (20.0809,8.29268,200), weight = 1 - gamma, kinetic energy (MeV) = 3.1952, position (cm) = (19.6247,7.91669,200), weight = 1 - gamma, kinetic energy (MeV) = 5.37303, position (cm) = (20.0765,8.99269,200), weight = 1 - gamma, kinetic energy (MeV) = 4.63827, position (cm) = (19.6445,8.05498,200), weight = 1 - e+, kinetic energy (MeV) = 82.1749, position (cm) = (19.8924,8.21106,200), weight = 1 - e-, kinetic energy (MeV) = 18.0421, position (cm) = (19.8599,8.20169,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0424689, position (cm) = (19.8522,8.20132,200), weight = 1 - gamma, kinetic energy (MeV) = 0.709072, position (cm) = (23.7173,9.67189,200), weight = 1 - gamma, kinetic energy (MeV) = 5.6061, position (cm) = (20.3804,9.08574,200), weight = 1 - gamma, kinetic energy (MeV) = 0.533934, position (cm) = (19.0777,9.43745,200), weight = 1 - gamma, kinetic energy (MeV) = 0.10634, position (cm) = (16.9636,8.78805,200), weight = 1 - gamma, kinetic energy (MeV) = 1.5876, position (cm) = (19.2788,8.47566,200), weight = 1 - e+, kinetic energy (MeV) = 100.7, position (cm) = (19.5315,7.27878,200), weight = 1 - gamma, kinetic energy (MeV) = 2.54094, position (cm) = (19.7087,7.51231,200), weight = 1 - e-, kinetic energy (MeV) = 0.69344, position (cm) = (19.2206,6.89892,200), weight = 1 - gamma, kinetic energy (MeV) = 0.210823, position (cm) = (18.7715,7.07111,200), weight = 1 - gamma, kinetic energy (MeV) = 1.00036, position (cm) = (18.4391,12.6944,200), weight = 1 - gamma, kinetic energy (MeV) = 0.202506, position (cm) = (15.2819,13.4747,200), weight = 1 - gamma, kinetic energy (MeV) = 6.218, position (cm) = (27.4828,7.8261,200), weight = 1 - e-, kinetic energy (MeV) = 32.2467, position (cm) = (19.2292,3.94237,200), weight = 1 - gamma, kinetic energy (MeV) = 33.3894, position (cm) = (19.2286,3.94179,200), weight = 1 - gamma, kinetic energy (MeV) = 3.59499, position (cm) = (19.2388,3.92406,200), weight = 1 - gamma, kinetic energy (MeV) = 0.464271, position (cm) = (19.2785,4.16309,200), weight = 1 - gamma, kinetic energy (MeV) = 2.20643, position (cm) = (19.3233,4.10865,200), weight = 1 - gamma, kinetic energy (MeV) = 0.273125, position (cm) = (20.4245,0.198091,200), weight = 1 - gamma, kinetic energy (MeV) = 4.54335, position (cm) = (19.1214,5.08546,200), weight = 1 - gamma, kinetic energy (MeV) = 0.460893, position (cm) = (19.3344,20.7604,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0679208, position (cm) = (12.1091,4.67888,200), weight = 1 - gamma, kinetic energy (MeV) = 14.316, position (cm) = (19.5808,7.4219,200), weight = 1 - gamma, kinetic energy (MeV) = 1.78122, position (cm) = (17.4823,6.76525,200), weight = 1 - gamma, kinetic energy (MeV) = 10.7928, position (cm) = (18.9016,6.84388,200), weight = 1 - gamma, kinetic energy (MeV) = 0.74633, position (cm) = (23.4062,7.99087,200), weight = 1 - gamma, kinetic energy (MeV) = 0.099736, position (cm) = (18.7277,7.0339,200), weight = 1 - gamma, kinetic energy (MeV) = 0.193395, position (cm) = (22.994,10.2668,200), weight = 1 - gamma, kinetic energy (MeV) = 0.130199, position (cm) = (19.5147,12.4565,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0886653, position (cm) = (19.6983,9.5765,200), weight = 1 - gamma, kinetic energy (MeV) = 11.3851, position (cm) = (21.1236,9.3524,200), weight = 1 - gamma, kinetic energy (MeV) = 5.5782, position (cm) = (20.6947,8.20238,200), weight = 1 - gamma, kinetic energy (MeV) = 0.357276, position (cm) = (20.2637,8.52605,200), weight = 1 - gamma, kinetic energy (MeV) = 12.6375, position (cm) = (18.9952,6.88965,200), weight = 1 - gamma, kinetic energy (MeV) = 0.673408, position (cm) = (23.3125,3.92322,200), weight = 1 - gamma, kinetic energy (MeV) = 0.652522, position (cm) = (12.2029,2.25103,200), weight = 1 - gamma, kinetic energy (MeV) = 7.54645, position (cm) = (18.9722,6.82958,200), weight = 1 - gamma, kinetic energy (MeV) = 0.115289, position (cm) = (22.691,5.47298,200), weight = 1 - gamma, kinetic energy (MeV) = 31.1992, position (cm) = (18.311,7.45107,200), weight = 1 - gamma, kinetic energy (MeV) = 0.284715, position (cm) = (9.50623,1.74895,200), weight = 1 - gamma, kinetic energy (MeV) = 4.93474, position (cm) = (17.0698,6.96466,200), weight = 1 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (20.0888,4.22713,200), weight = 1 - gamma, kinetic energy (MeV) = 0.260062, position (cm) = (26.5686,5.37479,200), weight = 1 - gamma, kinetic energy (MeV) = 1.65224, position (cm) = (20.652,6.45346,200), weight = 1 - e-, kinetic energy (MeV) = 5.51039, position (cm) = (20.711,6.562,200), weight = 1 - gamma, kinetic energy (MeV) = 0.671366, position (cm) = (20.3519,7.07779,200), weight = 1 - gamma, kinetic energy (MeV) = 0.4831, position (cm) = (19.8938,5.15039,200), weight = 1 - gamma, kinetic energy (MeV) = 2.04233, position (cm) = (21.6707,8.66678,200), weight = 1 - gamma, kinetic energy (MeV) = 17.7935, position (cm) = (18.6142,8.10097,200), weight = 1 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (16.9398,7.48765,200), weight = 1 - gamma, kinetic energy (MeV) = 18.9589, position (cm) = (21.4835,8.19489,200), weight = 1 - gamma, kinetic energy (MeV) = 0.170349, position (cm) = (17.5317,9.13634,200), weight = 1 - gamma, kinetic energy (MeV) = 8.12003, position (cm) = (23.1231,9.32562,200), weight = 1 - gamma, kinetic energy (MeV) = 7.11501, position (cm) = (18.8015,7.64777,200), weight = 1 - gamma, kinetic energy (MeV) = 7.66521, position (cm) = (4.65136,12.5784,200), weight = 1 - gamma, kinetic energy (MeV) = 8.55389, position (cm) = (21.3024,8.90136,200), weight = 1 - gamma, kinetic energy (MeV) = 0.291027, position (cm) = (1.47538,-11.5538,200), weight = 1 - gamma, kinetic energy (MeV) = 1.10897, position (cm) = (19.4841,11.8997,200), weight = 1 - gamma, kinetic energy (MeV) = 0.902124, position (cm) = (11.8088,7.46293,200), weight = 1 - gamma, kinetic energy (MeV) = 1.54355, position (cm) = (25.7746,-4.10163,200), weight = 1 - gamma, kinetic energy (MeV) = 4.34052, position (cm) = (23.6007,21.5397,200), weight = 1 - gamma, kinetic energy (MeV) = 6.97284, position (cm) = (18.8626,7.86062,200), weight = 1 - gamma, kinetic energy (MeV) = 0.58363, position (cm) = (-32.4189,-30.0649,200), weight = 1 - gamma, kinetic energy (MeV) = 1.44451, position (cm) = (-1.88465,-36.315,200), weight = 1 - proton, kinetic energy (MeV) = 8966.8, position (cm) = (1.85382,-0.14533,200), weight = 1 - nu_mu, kinetic energy (MeV) = 29.7919, position (cm) = (-58.2548,77.9528,200), weight = 1 - gamma, kinetic energy (MeV) = 0.835129, position (cm) = (20.8927,38.6593,200), weight = 21 - gamma, kinetic energy (MeV) = 5.76787, position (cm) = (29.5159,-4.45704,200), weight = 3 - gamma, kinetic energy (MeV) = 0.16051, position (cm) = (21.2028,4.86382,200), weight = 3 - gamma, kinetic energy (MeV) = 5.94987, position (cm) = (14.6481,7.4903,200), weight = 3 - gamma, kinetic energy (MeV) = 1.26989, position (cm) = (6.21702,3.62465,200), weight = 1 - gamma, kinetic energy (MeV) = 0.27714, position (cm) = (-10.4963,9.83636,200), weight = 1 - gamma, kinetic energy (MeV) = 2.56024, position (cm) = (-3.67182,6.75572,200), weight = 1 - gamma, kinetic energy (MeV) = 1.22097, position (cm) = (5.8822,7.33647,200), weight = 1 - e+, kinetic energy (MeV) = 29.6221, position (cm) = (48.6926,17.3893,200), weight = 1 - gamma, kinetic energy (MeV) = 2.35088, position (cm) = (48.692,17.3886,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0544979, position (cm) = (48.6653,17.5116,200), weight = 1 - gamma, kinetic energy (MeV) = 0.127929, position (cm) = (48.1363,17.1415,200), weight = 1 - gamma, kinetic energy (MeV) = 9.5564, position (cm) = (48.1326,17.2635,200), weight = 1 - gamma, kinetic energy (MeV) = 1.90867, position (cm) = (47.6571,17.515,200), weight = 1 - gamma, kinetic energy (MeV) = 0.70755, position (cm) = (47.4618,17.4921,200), weight = 1 - gamma, kinetic energy (MeV) = 45.1934, position (cm) = (47.6321,17.8657,200), weight = 1 - gamma, kinetic energy (MeV) = 7.7691, position (cm) = (48.3009,17.5257,200), weight = 1 - gamma, kinetic energy (MeV) = 15.026, position (cm) = (48.2635,17.4421,200), weight = 1 - gamma, kinetic energy (MeV) = 3.09195, position (cm) = (47.3268,19.1574,200), weight = 1 - e+, kinetic energy (MeV) = 1.18762, position (cm) = (48.8948,17.2687,200), weight = 1 - gamma, kinetic energy (MeV) = 0.292898, position (cm) = (48.9782,18.0297,200), weight = 1 - gamma, kinetic energy (MeV) = 8.59694, position (cm) = (47.6819,18.2059,200), weight = 1 - e-, kinetic energy (MeV) = 19.6752, position (cm) = (47.7202,17.0917,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0938803, position (cm) = (47.7266,17.1092,200), weight = 1 - gamma, kinetic energy (MeV) = 8.11392, position (cm) = (47.7123,17.0929,200), weight = 1 - gamma, kinetic energy (MeV) = 1.00866, position (cm) = (61.0349,25.1396,200), weight = 1 - gamma, kinetic energy (MeV) = 0.315697, position (cm) = (46.702,33.1461,200), weight = 1 - gamma, kinetic energy (MeV) = 34.4862, position (cm) = (49.4091,19.5116,200), weight = 1 - neutron, kinetic energy (MeV) = 106.716, position (cm) = (13.2966,0.666777,200), weight = 1 - gamma, kinetic energy (MeV) = 0.135139, position (cm) = (-1.17177,12.1203,200), weight = 1 - proton, kinetic energy (MeV) = 423.714, position (cm) = (3.82477,15.7902,200), weight = 1 - nu_mu, kinetic energy (MeV) = 29.7919, position (cm) = (-43.7108,55.8055,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0816476, position (cm) = (2.24768,-20.37,200), weight = 1 - gamma, kinetic energy (MeV) = 0.168825, position (cm) = (-37.9043,-31.0934,200), weight = 1 - gamma, kinetic energy (MeV) = 9.20491, position (cm) = (-17.7108,-19.2224,200), weight = 1 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (40.6832,6.52127,200), weight = 1 - gamma, kinetic energy (MeV) = 0.10603, position (cm) = (43.7433,2.62708,200), weight = 1 - neutron, kinetic energy (MeV) = 5368.39, position (cm) = (1.63587,4.38986,200), weight = 1 - gamma, kinetic energy (MeV) = 0.127484, position (cm) = (-1.8617,4.89142,200), weight = 12 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (8.94475,-2.61353,200), weight = 2 - gamma, kinetic energy (MeV) = 21.1554, position (cm) = (10.4352,-7.45488,200), weight = 2 - gamma, kinetic energy (MeV) = 0.0939962, position (cm) = (8.10214,-6.12285,200), weight = 2 - gamma, kinetic energy (MeV) = 0.692697, position (cm) = (11.5326,-6.87673,200), weight = 2 - e-, kinetic energy (MeV) = 40.9802, position (cm) = (13.9344,-9.08511,200), weight = 2 - gamma, kinetic energy (MeV) = 4.44252, position (cm) = (13.9342,-9.08507,200), weight = 2 - gamma, kinetic energy (MeV) = 75.5892, position (cm) = (14.0623,-9.33605,200), weight = 2 - gamma, kinetic energy (MeV) = 148.466, position (cm) = (14.0407,-9.33444,200), weight = 2 - gamma, kinetic energy (MeV) = 0.341241, position (cm) = (13.9972,-9.26065,200), weight = 2 - gamma, kinetic energy (MeV) = 0.182168, position (cm) = (14.0168,-9.23362,200), weight = 2 - gamma, kinetic energy (MeV) = 19.4948, position (cm) = (14.0232,-9.25622,200), weight = 2 - gamma, kinetic energy (MeV) = 4.41651, position (cm) = (14.0189,-9.27871,200), weight = 2 - gamma, kinetic energy (MeV) = 315.069, position (cm) = (6.96511,12.2064,200), weight = 1 - nu_e, kinetic energy (MeV) = 12.3172, position (cm) = (-6.75578,-14.4471,200), weight = 1 - anti_nu_mu, kinetic energy (MeV) = 40.8444, position (cm) = (-34.0801,-26.5084,200), weight = 1 - gamma, kinetic energy (MeV) = 10.0106, position (cm) = (-66.2677,50.2031,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0982719, position (cm) = (-80.8876,63.5474,200), weight = 1 - proton, kinetic energy (MeV) = 530.088, position (cm) = (-52.5155,-15.7504,200), weight = 1 - proton, kinetic energy (MeV) = 8851.11, position (cm) = (-3.07273,-0.286813,200), weight = 1 - gamma, kinetic energy (MeV) = 19.1763, position (cm) = (-15.2787,4.45027,200), weight = 1 - gamma, kinetic energy (MeV) = 17.7213, position (cm) = (-6.90997,-4.98417,200), weight = 2 - gamma, kinetic energy (MeV) = 0.204596, position (cm) = (-6.75522,-10.1896,200), weight = 2 - gamma, kinetic energy (MeV) = 16.6964, position (cm) = (-4.20206,-5.26661,200), weight = 2 - gamma, kinetic energy (MeV) = 1.1998, position (cm) = (-4.36603,-5.10119,200), weight = 2 - gamma, kinetic energy (MeV) = 0.845279, position (cm) = (-4.85045,-4.39994,200), weight = 2 - e+, kinetic energy (MeV) = 6.08456, position (cm) = (-4.51932,-4.48137,200), weight = 2 - e-, kinetic energy (MeV) = 14.495, position (cm) = (-4.63632,-4.40608,200), weight = 2 - gamma, kinetic energy (MeV) = 53.6245, position (cm) = (-5.87551,-4.63348,200), weight = 2 - gamma, kinetic energy (MeV) = 0.394616, position (cm) = (-11.1251,-12.4321,200), weight = 2 - gamma, kinetic energy (MeV) = 2.24606, position (cm) = (-5.45095,-4.77858,200), weight = 2 - e+, kinetic energy (MeV) = 19.1502, position (cm) = (-5.15226,-3.01085,200), weight = 2 - gamma, kinetic energy (MeV) = 0.994134, position (cm) = (-5.16453,-3.0388,200), weight = 2 - gamma, kinetic energy (MeV) = 0.140705, position (cm) = (-4.97846,-2.7819,200), weight = 2 - gamma, kinetic energy (MeV) = 1.00501, position (cm) = (-5.21219,-2.36272,200), weight = 2 - gamma, kinetic energy (MeV) = 4.01703, position (cm) = (-5.21445,-2.47317,200), weight = 2 - gamma, kinetic energy (MeV) = 0.634795, position (cm) = (-6.38728,-3.62903,200), weight = 2 - e-, kinetic energy (MeV) = 35.5922, position (cm) = (-5.11005,-5.2459,200), weight = 2 - gamma, kinetic energy (MeV) = 13.1655, position (cm) = (-5.11172,-5.24372,200), weight = 2 - gamma, kinetic energy (MeV) = 39.3663, position (cm) = (-5.11333,-5.30521,200), weight = 2 - gamma, kinetic energy (MeV) = 0.273666, position (cm) = (-5.19373,-4.98774,200), weight = 2 - gamma, kinetic energy (MeV) = 0.04205, position (cm) = (-5.33495,-5.14435,200), weight = 2 - gamma, kinetic energy (MeV) = 2.51487, position (cm) = (-5.06026,-5.15308,200), weight = 2 - gamma, kinetic energy (MeV) = 6.00463, position (cm) = (-5.20554,-5.26937,200), weight = 2 - neutron, kinetic energy (MeV) = 122.802, position (cm) = (-2.3015,19.6401,200), weight = 4 - gamma, kinetic energy (MeV) = 8.83373, position (cm) = (24.1778,18.3013,200), weight = 2 - proton, kinetic energy (MeV) = 1437.5, position (cm) = (-0.608895,9.1356,200), weight = 1 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (56.8378,17.3149,200), weight = 2 - gamma, kinetic energy (MeV) = 0.090005, position (cm) = (53.884,23.6325,200), weight = 2 - gamma, kinetic energy (MeV) = 0.115517, position (cm) = (70.7363,18.3704,200), weight = 2 - gamma, kinetic energy (MeV) = 0.517568, position (cm) = (61.0195,15.3216,200), weight = 2 - gamma, kinetic energy (MeV) = 3.61219, position (cm) = (-2.78406,-12.2504,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0947359, position (cm) = (17.672,-34.4565,200), weight = 1 - gamma, kinetic energy (MeV) = 0.293272, position (cm) = (1.90338,-4.09319,200), weight = 1 - gamma, kinetic energy (MeV) = 2.22609, position (cm) = (1.23476,4.43155,200), weight = 1 - gamma, kinetic energy (MeV) = 0.262417, position (cm) = (6.63577,-4.79951,200), weight = 1 - gamma, kinetic energy (MeV) = 1.78959, position (cm) = (21.2571,12.1647,200), weight = 1 - gamma, kinetic energy (MeV) = 61.5608, position (cm) = (-5.80495,-0.780694,200), weight = 1 - gamma, kinetic energy (MeV) = 21.8804, position (cm) = (-0.15235,-0.906785,200), weight = 1 - e-, kinetic energy (MeV) = 11.5997, position (cm) = (-0.493829,-0.959025,200), weight = 1 - gamma, kinetic energy (MeV) = 0.389397, position (cm) = (-0.494128,-0.960908,200), weight = 1 - gamma, kinetic energy (MeV) = 0.818781, position (cm) = (-0.53727,-0.942991,200), weight = 1 - gamma, kinetic energy (MeV) = 0.24019, position (cm) = (1.10456,-2.72965,200), weight = 1 - gamma, kinetic energy (MeV) = 11.9719, position (cm) = (-0.873859,-0.82196,200), weight = 1 - gamma, kinetic energy (MeV) = 0.280113, position (cm) = (3.71699,-11.6766,200), weight = 1 - gamma, kinetic energy (MeV) = 0.34245, position (cm) = (-12.2451,-13.4505,200), weight = 1 - gamma, kinetic energy (MeV) = 2.31392, position (cm) = (6.70329,-10.6435,200), weight = 1 - gamma, kinetic energy (MeV) = 1.39094, position (cm) = (7.21058,-10.8468,200), weight = 1 - gamma, kinetic energy (MeV) = 28.9342, position (cm) = (5.60603,-10.9635,200), weight = 1 - gamma, kinetic energy (MeV) = 1.1291, position (cm) = (4.6127,-10.3275,200), weight = 1 - gamma, kinetic energy (MeV) = 2.29242, position (cm) = (3.428,-11.6426,200), weight = 1 - gamma, kinetic energy (MeV) = 3.48048, position (cm) = (-26.7679,-11.3588,200), weight = 1 - gamma, kinetic energy (MeV) = 15.1376, position (cm) = (5.97576,-9.87492,200), weight = 1 - gamma, kinetic energy (MeV) = 35.6719, position (cm) = (16.0512,-7.97426,200), weight = 1 - gamma, kinetic energy (MeV) = 0.197996, position (cm) = (11.4858,10.5881,200), weight = 1 - gamma, kinetic energy (MeV) = 0.212859, position (cm) = (10.5716,8.50238,200), weight = 1 - gamma, kinetic energy (MeV) = 0.375428, position (cm) = (-23.7645,9.10573,200), weight = 1 - gamma, kinetic energy (MeV) = 2.92737, position (cm) = (-0.612006,18.2737,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0475744, position (cm) = (7.40127,47.7674,200), weight = 1 - gamma, kinetic energy (MeV) = 0.331991, position (cm) = (8.49863,48.5176,200), weight = 1 - gamma, kinetic energy (MeV) = 1.29659, position (cm) = (-12.5075,-0.835675,200), weight = 1 - gamma, kinetic energy (MeV) = 22.6998, position (cm) = (-1.60077,3.03827,200), weight = 1 - gamma, kinetic energy (MeV) = 1.43933, position (cm) = (1.39986,0.972715,200), weight = 1 - gamma, kinetic energy (MeV) = 38.4072, position (cm) = (-9.32294,-0.403601,200), weight = 1 - gamma, kinetic energy (MeV) = 0.263148, position (cm) = (12.8461,-8.87194,200), weight = 1 - gamma, kinetic energy (MeV) = 2.00355, position (cm) = (3.96214,-1.16686,200), weight = 1 - gamma, kinetic energy (MeV) = 14.1218, position (cm) = (7.98856,-6.1651,200), weight = 1 - gamma, kinetic energy (MeV) = 0.540308, position (cm) = (5.04446,-8.43728,200), weight = 1 - gamma, kinetic energy (MeV) = 25.3374, position (cm) = (16.2428,0.637637,200), weight = 1 - gamma, kinetic energy (MeV) = 16.3828, position (cm) = (1.256,-0.597241,200), weight = 1 - gamma, kinetic energy (MeV) = 0.856394, position (cm) = (-11.1244,-10.491,200), weight = 1 - gamma, kinetic energy (MeV) = 3.65096, position (cm) = (-0.487759,25.5688,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0883744, position (cm) = (10.8733,5.30883,200), weight = 1 - gamma, kinetic energy (MeV) = 1.4808, position (cm) = (4.97467,-3.45317,200), weight = 1 - gamma, kinetic energy (MeV) = 0.25025, position (cm) = (11.6361,-14.4656,200), weight = 1 - gamma, kinetic energy (MeV) = 0.07473, position (cm) = (-1.00885,5.7523,200), weight = 1 - gamma, kinetic energy (MeV) = 18.1691, position (cm) = (-20.9569,-3.65227,200), weight = 1 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (8.31053,1.55207,200), weight = 1 - gamma, kinetic energy (MeV) = 0.877574, position (cm) = (6.82994,4.46384,200), weight = 1 - gamma, kinetic energy (MeV) = 0.116364, position (cm) = (8.86127,-4.95589,200), weight = 1 - gamma, kinetic energy (MeV) = 0.412955, position (cm) = (12.9759,19.2123,200), weight = 1 - gamma, kinetic energy (MeV) = 10.8419, position (cm) = (-20.526,32.0006,200), weight = 1 - gamma, kinetic energy (MeV) = 0.11374, position (cm) = (0.370308,-11.9211,200), weight = 1 - gamma, kinetic energy (MeV) = 2.47624, position (cm) = (3.43469,-8.15269,200), weight = 1 - gamma, kinetic energy (MeV) = 0.787922, position (cm) = (4.07247,-4.92004,200), weight = 1 - gamma, kinetic energy (MeV) = 4.24956, position (cm) = (10.4702,-7.63322,200), weight = 1 - gamma, kinetic energy (MeV) = 1.45278, position (cm) = (-25.7404,-5.94123,200), weight = 1 - gamma, kinetic energy (MeV) = 0.873409, position (cm) = (-20.0298,12.012,200), weight = 1 - gamma, kinetic energy (MeV) = 15.4743, position (cm) = (-6.31195,2.20034,200), weight = 1 - gamma, kinetic energy (MeV) = 2.76905, position (cm) = (16.2254,-5.59945,200), weight = 1 - gamma, kinetic energy (MeV) = 18.5161, position (cm) = (-21.4507,-5.04631,200), weight = 1 - gamma, kinetic energy (MeV) = 90.6206, position (cm) = (-1.62865,0.240087,200), weight = 1 - gamma, kinetic energy (MeV) = 12.1134, position (cm) = (27.0091,-0.42772,200), weight = 1 - gamma, kinetic energy (MeV) = 14.3729, position (cm) = (11.8038,22.4955,200), weight = 1 - gamma, kinetic energy (MeV) = 0.408268, position (cm) = (-22.1713,-6.93052,200), weight = 1 - gamma, kinetic energy (MeV) = 1.26915, position (cm) = (-11.5244,0.292781,200), weight = 1 - gamma, kinetic energy (MeV) = 61.8137, position (cm) = (-4.807,1.07235,200), weight = 1 - gamma, kinetic energy (MeV) = 0.20484, position (cm) = (-1.36332,6.07911,200), weight = 1 - gamma, kinetic energy (MeV) = 4.0701, position (cm) = (-12.6087,-14.4346,200), weight = 1 - gamma, kinetic energy (MeV) = 1.78716, position (cm) = (-28.8494,5.70843,200), weight = 1 - gamma, kinetic energy (MeV) = 10.5065, position (cm) = (-7.17367,9.79571,200), weight = 1 - gamma, kinetic energy (MeV) = 16.4754, position (cm) = (-8.76058,6.55643,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0760383, position (cm) = (-15.7317,-3.23521,200), weight = 1 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-9.65061,-2.84,200), weight = 1 - e-, kinetic energy (MeV) = 12.7606, position (cm) = (-8.92311,-2.54306,200), weight = 1 - gamma, kinetic energy (MeV) = 0.379418, position (cm) = (-8.93879,-2.54533,200), weight = 1 - gamma, kinetic energy (MeV) = 0.162992, position (cm) = (4.18677,-14.8198,200), weight = 1 - gamma, kinetic energy (MeV) = 0.449971, position (cm) = (-3.00116,0.364025,200), weight = 1 - gamma, kinetic energy (MeV) = 0.34361, position (cm) = (-4.76357,1.27397,200), weight = 1 - e+, kinetic energy (MeV) = 43.7115, position (cm) = (1.27028,0.143674,200), weight = 1 - gamma, kinetic energy (MeV) = 2.04212, position (cm) = (1.30645,0.157879,200), weight = 1 - gamma, kinetic energy (MeV) = 0.198184, position (cm) = (1.25043,0.126517,200), weight = 1 - gamma, kinetic energy (MeV) = 0.460635, position (cm) = (1.29128,0.0468555,200), weight = 1 - gamma, kinetic energy (MeV) = 0.488623, position (cm) = (-1.48278,-2.63945,200), weight = 1 - gamma, kinetic energy (MeV) = 15.117, position (cm) = (-0.345175,-6.58013,200), weight = 1 - gamma, kinetic energy (MeV) = 1.99174, position (cm) = (2.66878,-2.70818,200), weight = 1 - gamma, kinetic energy (MeV) = 1.04424, position (cm) = (0.337344,-4.42823,200), weight = 1 - gamma, kinetic energy (MeV) = 0.820833, position (cm) = (-5.13446,1.30715,200), weight = 1 - gamma, kinetic energy (MeV) = 0.137635, position (cm) = (-3.41137,-17.2271,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0944683, position (cm) = (1.90817,-8.12437,200), weight = 1 - gamma, kinetic energy (MeV) = 2.16684, position (cm) = (20.5472,14.3544,200), weight = 1 - gamma, kinetic energy (MeV) = 12.6283, position (cm) = (-5.22227,-2.93145,200), weight = 1 - gamma, kinetic energy (MeV) = 18.1455, position (cm) = (14.027,-10.3271,200), weight = 1 - gamma, kinetic energy (MeV) = 23.4825, position (cm) = (-3.75069,-5.22418,200), weight = 1 - e-, kinetic energy (MeV) = 2.90184, position (cm) = (-3.16941,-4.76188,200), weight = 1 - gamma, kinetic energy (MeV) = 0.285758, position (cm) = (-3.42395,-4.36937,200), weight = 1 - gamma, kinetic energy (MeV) = 0.114311, position (cm) = (-3.30001,-5.5524,200), weight = 1 - gamma, kinetic energy (MeV) = 6.85504, position (cm) = (16.1566,2.8943,200), weight = 1 - gamma, kinetic energy (MeV) = 0.596, position (cm) = (10.754,-0.739117,200), weight = 1 - gamma, kinetic energy (MeV) = 0.117239, position (cm) = (10.1383,-0.918082,200), weight = 1 - gamma, kinetic energy (MeV) = 2.61218, position (cm) = (9.37204,-5.6017,200), weight = 1 - gamma, kinetic energy (MeV) = 0.601554, position (cm) = (5.5146,-9.34972,200), weight = 1 - gamma, kinetic energy (MeV) = 14.354, position (cm) = (3.01643,-4.37252,200), weight = 1 - gamma, kinetic energy (MeV) = 0.234196, position (cm) = (8.76136,1.11889,200), weight = 1 - gamma, kinetic energy (MeV) = 3.40368, position (cm) = (0.200118,-32.6164,200), weight = 1 - gamma, kinetic energy (MeV) = 18.6906, position (cm) = (-5.77067,2.52438,200), weight = 1 - gamma, kinetic energy (MeV) = 5.59939, position (cm) = (7.14239,2.92056,200), weight = 1 - e+, kinetic energy (MeV) = 0.820227, position (cm) = (-8.71101,-1.91511,200), weight = 1 - e-, kinetic energy (MeV) = 11.0607, position (cm) = (-8.02304,-1.63863,200), weight = 1 - gamma, kinetic energy (MeV) = 24.3048, position (cm) = (0.462389,3.90539,200), weight = 1 - gamma, kinetic energy (MeV) = 0.96097, position (cm) = (-0.0661204,8.4105,200), weight = 1 - gamma, kinetic energy (MeV) = 1.37118, position (cm) = (-2.56197,-0.529375,200), weight = 1 - gamma, kinetic energy (MeV) = 2.39055, position (cm) = (7.79721,-18.483,200), weight = 1 - gamma, kinetic energy (MeV) = 60.5358, position (cm) = (-6.95578,1.56567,200), weight = 1 - gamma, kinetic energy (MeV) = 9.5076, position (cm) = (3.62761,-35.5562,200), weight = 1 - gamma, kinetic energy (MeV) = 10.1778, position (cm) = (-3.11473,-1.46017,200), weight = 1 - gamma, kinetic energy (MeV) = 17.9877, position (cm) = (-9.27642,2.82445,200), weight = 1 - gamma, kinetic energy (MeV) = 3.27179, position (cm) = (-8.1565,23.4178,200), weight = 1 - gamma, kinetic energy (MeV) = 0.181025, position (cm) = (3.40955,-8.72182,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0725127, position (cm) = (-9.39716,13.2133,200), weight = 1 - gamma, kinetic energy (MeV) = 7.5029, position (cm) = (11.329,-5.05727,200), weight = 1 - gamma, kinetic energy (MeV) = 0.206369, position (cm) = (-3.18196,-8.09909,200), weight = 1 - gamma, kinetic energy (MeV) = 0.113371, position (cm) = (-22.9725,-18.1997,200), weight = 1 - gamma, kinetic energy (MeV) = 0.123938, position (cm) = (-7.00718,6.62656,200), weight = 1 - gamma, kinetic energy (MeV) = 1.4529, position (cm) = (-4.39577,7.91265,200), weight = 1 - gamma, kinetic energy (MeV) = 12.6513, position (cm) = (62.0749,-25.6466,200), weight = 1 - gamma, kinetic energy (MeV) = 0.10772, position (cm) = (-23.5784,24.1888,200), weight = 1 - gamma, kinetic energy (MeV) = 11.6609, position (cm) = (-1.0888,4.24187,200), weight = 1 - gamma, kinetic energy (MeV) = 2.948, position (cm) = (-0.738635,4.5416,200), weight = 1 - gamma, kinetic energy (MeV) = 3.22261, position (cm) = (-7.76082,-6.06532,200), weight = 1 - gamma, kinetic energy (MeV) = 0.358346, position (cm) = (-5.47951,-5.65119,200), weight = 1 - gamma, kinetic energy (MeV) = 54.1706, position (cm) = (-8.52505,-13.8069,200), weight = 1 - gamma, kinetic energy (MeV) = 0.101092, position (cm) = (-11.1768,-1.12308,200), weight = 1 - gamma, kinetic energy (MeV) = 6.86269, position (cm) = (9.28367,14.5238,200), weight = 1 - gamma, kinetic energy (MeV) = 37.8232, position (cm) = (1.75002,-1.32784,200), weight = 1 - gamma, kinetic energy (MeV) = 4.57055, position (cm) = (19.7756,36.8817,200), weight = 1 - gamma, kinetic energy (MeV) = 2.29122, position (cm) = (-11.4237,12.3445,200), weight = 1 - gamma, kinetic energy (MeV) = 0.261665, position (cm) = (-10.9234,13.9901,200), weight = 1 - gamma, kinetic energy (MeV) = 0.359096, position (cm) = (-1.30785,4.34355,200), weight = 1 - gamma, kinetic energy (MeV) = 42.1581, position (cm) = (-0.598001,3.24714,200), weight = 1 - gamma, kinetic energy (MeV) = 0.177157, position (cm) = (-1.55493,15.4602,200), weight = 1 - gamma, kinetic energy (MeV) = 0.849516, position (cm) = (1.48083,-2.71642,200), weight = 1 - gamma, kinetic energy (MeV) = 0.755385, position (cm) = (7.55398,2.28576,200), weight = 1 - gamma, kinetic energy (MeV) = 4.80194, position (cm) = (27.3884,-23.4701,200), weight = 1 - gamma, kinetic energy (MeV) = 10.6182, position (cm) = (11.9714,-22.568,200), weight = 1 - gamma, kinetic energy (MeV) = 0.184379, position (cm) = (-0.636801,-4.54011,200), weight = 1 - gamma, kinetic energy (MeV) = 33.9879, position (cm) = (5.78151,-1.24792,200), weight = 1 - gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-4.26624,-18.2728,200), weight = 1 - gamma, kinetic energy (MeV) = 24.3864, position (cm) = (5.6407,8.60713,200), weight = 1 - gamma, kinetic energy (MeV) = 5.59416, position (cm) = (-0.418024,5.47691,200), weight = 1 - gamma, kinetic energy (MeV) = 0.950449, position (cm) = (5.01435,2.99651,200), weight = 1 - gamma, kinetic energy (MeV) = 0.509834, position (cm) = (3.04861,-3.80381,200), weight = 1 - gamma, kinetic energy (MeV) = 7.32855, position (cm) = (-2.45972,-3.11285,200), weight = 1 - gamma, kinetic energy (MeV) = 1.41924, position (cm) = (-14.4588,16.9786,200), weight = 1 - gamma, kinetic energy (MeV) = 10.3484, position (cm) = (0.806995,-0.836678,200), weight = 1 - gamma, kinetic energy (MeV) = 16.0117, position (cm) = (0.345809,-4.82153,200), weight = 1 - gamma, kinetic energy (MeV) = 1.60392, position (cm) = (7.33277,7.46043,200), weight = 1 - gamma, kinetic energy (MeV) = 8.6633, position (cm) = (-1.27963,-2.26048,200), weight = 1 - gamma, kinetic energy (MeV) = 1.1704, position (cm) = (-3.82164,4.30763,200), weight = 1 - gamma, kinetic energy (MeV) = 0.191117, position (cm) = (12.8826,5.39752,200), weight = 1 - gamma, kinetic energy (MeV) = 5.97715, position (cm) = (-4.25798,1.40447,200), weight = 1 - e-, kinetic energy (MeV) = 1.55176, position (cm) = (-4.28683,1.40344,200), weight = 1 - gamma, kinetic energy (MeV) = 0.105139, position (cm) = (3.36039,-4.91892,200), weight = 1 - gamma, kinetic energy (MeV) = 6.16815, position (cm) = (-7.42823,-4.38754,200), weight = 1 - gamma, kinetic energy (MeV) = 0.207511, position (cm) = (0.520338,10.6251,200), weight = 1 - gamma, kinetic energy (MeV) = 0.426266, position (cm) = (8.41477,-2.34977,200), weight = 1 - gamma, kinetic energy (MeV) = 0.154775, position (cm) = (4.13577,-4.81387,200), weight = 1 - gamma, kinetic energy (MeV) = 0.0624965, position (cm) = (6.12996,-4.72436,200), weight = 1 - gamma, kinetic energy (MeV) = 41.9284, position (cm) = (7.73666,7.00531,200), weight = 1 - gamma, kinetic energy (MeV) = 20.5036, position (cm) = (10.9628,-7.64877,200), weight = 1 - gamma, kinetic energy (MeV) = 0.183241, position (cm) = (23.8354,8.54658,200), weight = 1 - gamma, kinetic energy (MeV) = 15.6256, position (cm) = (4.23727,-13.65,200), weight = 1 - gamma, kinetic energy (MeV) = 73.4277, position (cm) = (3.39492,0.359694,200), weight = 1 - gamma, kinetic energy (MeV) = 0.101099, position (cm) = (-4.61757,-8.48069,200), weight = 1 - gamma, kinetic energy (MeV) = 1.27469, position (cm) = (-3.3039,15.629,200), weight = 1 - gamma, kinetic energy (MeV) = 0.14374, position (cm) = (-16.5448,-58.1713,200), weight = 1 - gamma, kinetic energy (MeV) = 2.16759, position (cm) = (-14.8986,-0.761807,200), weight = 1 - gamma, kinetic energy (MeV) = 0.853992, position (cm) = (5.50498,-2.73153,200), weight = 1 + gamma, kinetic energy (MeV) = 0.347436, position (cm) = (53.9248,-22.054,200), weight = 1 + e-, kinetic energy (MeV) = 35.0845, position (cm) = (54.5981,-23.2912,200), weight = 1 + gamma, kinetic energy (MeV) = 0.444117, position (cm) = (5.66298,-6.88418,200), weight = 1 + neutron, kinetic energy (MeV) = 85.9154, position (cm) = (1.99411,-5.88714,200), weight = 2 + pi-, kinetic energy (MeV) = 241.245, position (cm) = (4.87754,-5.52468,200), weight = 1 + gamma, kinetic energy (MeV) = 1.42651, position (cm) = (-29.1557,28.7956,200), weight = 3 + gamma, kinetic energy (MeV) = 2.36826, position (cm) = (-9.29501,4.53288,200), weight = 3 + neutron, kinetic energy (MeV) = 208.78, position (cm) = (51.4204,1.70177,200), weight = 1 + neutron, kinetic energy (MeV) = 252.954, position (cm) = (-8.3405,44.2199,200), weight = 5 + anti_nu_mu, kinetic energy (MeV) = 24.9124, position (cm) = (12.035,92.3696,200), weight = 1 + gamma, kinetic energy (MeV) = 0.496635, position (cm) = (-64.8725,48.2492,200), weight = 6 + neutron, kinetic energy (MeV) = 154.466, position (cm) = (-62.6613,34.9801,200), weight = 2 + neutron, kinetic energy (MeV) = 1158.85, position (cm) = (-22.8417,-15.2571,200), weight = 1 + gamma, kinetic energy (MeV) = 31.3415, position (cm) = (13.7293,-35.0949,200), weight = 1 + gamma, kinetic energy (MeV) = 1.37486, position (cm) = (-10.0066,-24.0662,200), weight = 1 + gamma, kinetic energy (MeV) = 1.90454, position (cm) = (4.24148,-34.8136,200), weight = 1 + gamma, kinetic energy (MeV) = 1.73111, position (cm) = (3.48088,-32.8609,200), weight = 1 + gamma, kinetic energy (MeV) = 12.1485, position (cm) = (4.20231,-33.0514,200), weight = 1 + gamma, kinetic energy (MeV) = 11.7795, position (cm) = (-1.6421,-35.9911,200), weight = 1 + gamma, kinetic energy (MeV) = 1.36032, position (cm) = (0.551179,-35.4539,200), weight = 1 + neutron, kinetic energy (MeV) = 854.456, position (cm) = (-21.8048,3.51466,200), weight = 1 + gamma, kinetic energy (MeV) = 3.36768, position (cm) = (-88.5389,-67.2159,200), weight = 3 + neutron, kinetic energy (MeV) = 1.08567e-06, position (cm) = (-37.6761,17.2706,200), weight = 15 + anti_nu_mu, kinetic energy (MeV) = 25.4842, position (cm) = (-11.1503,-66.6162,200), weight = 1 + gamma, kinetic energy (MeV) = 0.317693, position (cm) = (21.2952,-65.5864,200), weight = 4 + proton, kinetic energy (MeV) = 293.459, position (cm) = (32.5981,-81.4059,200), weight = 1 + proton, kinetic energy (MeV) = 2628.1, position (cm) = (-21.6641,14.1808,200), weight = 1 + gamma, kinetic energy (MeV) = 3.80198, position (cm) = (-20.5209,-7.25018,200), weight = 2 + gamma, kinetic energy (MeV) = 1.66775, position (cm) = (-22.9263,10.3468,200), weight = 2 + gamma, kinetic energy (MeV) = 17.8749, position (cm) = (-29.2644,-1.75232,200), weight = 2 + gamma, kinetic energy (MeV) = 1.56653, position (cm) = (-28.8945,-4.37305,200), weight = 2 + gamma, kinetic energy (MeV) = 0.74644, position (cm) = (-20.5668,0.0833705,200), weight = 2 + gamma, kinetic energy (MeV) = 0.178927, position (cm) = (-38.454,-8.3104,200), weight = 2 + gamma, kinetic energy (MeV) = 4.71537, position (cm) = (-33.5219,-5.14711,200), weight = 2 + neutron, kinetic energy (MeV) = 32.77, position (cm) = (-5.93815,0.0315222,200), weight = 4 + e+, kinetic energy (MeV) = 369.711, position (cm) = (-8.61374,-4.21704,200), weight = 2 + gamma, kinetic energy (MeV) = 11.1169, position (cm) = (-8.61414,-4.21663,200), weight = 2 + gamma, kinetic energy (MeV) = 2.19895, position (cm) = (-8.62034,-4.21602,200), weight = 2 + e-, kinetic energy (MeV) = 137.206, position (cm) = (-8.60185,-4.25512,200), weight = 2 + gamma, kinetic energy (MeV) = 0.631526, position (cm) = (-8.60282,-4.2554,200), weight = 2 + gamma, kinetic energy (MeV) = 0.954713, position (cm) = (-8.59666,-4.25666,200), weight = 2 + gamma, kinetic energy (MeV) = 0.664425, position (cm) = (-8.60486,-4.25787,200), weight = 2 + pi-, kinetic energy (MeV) = 513.914, position (cm) = (-3.25379,-1.32532,200), weight = 1 + e-, kinetic energy (MeV) = 0.990526, position (cm) = (-3.32243,-1.37799,200), weight = 1 + proton, kinetic energy (MeV) = 1583.94, position (cm) = (-7.01187,-5.19268,200), weight = 3 + proton, kinetic energy (MeV) = 2466.66, position (cm) = (-5.61079,-5.10085,200), weight = 1 + neutron, kinetic energy (MeV) = 1.29512e-06, position (cm) = (-20.5085,-76.7672,200), weight = 1 + neutron, kinetic energy (MeV) = 244.746, position (cm) = (-64.9597,-69.598,200), weight = 1 + neutron, kinetic energy (MeV) = 111.472, position (cm) = (-46.1326,22.5253,200), weight = 1 + neutron, kinetic energy (MeV) = 221.902, position (cm) = (-68.1784,76.0094,200), weight = 1 + nu_mu, kinetic energy (MeV) = 29.7919, position (cm) = (-32.2363,-56.5984,200), weight = 1 + e+, kinetic energy (MeV) = 3.61605, position (cm) = (1.19484,-5.96803,200), weight = 1 + gamma, kinetic energy (MeV) = 0.607949, position (cm) = (0.897305,-5.29612,200), weight = 1 + gamma, kinetic energy (MeV) = 102.719, position (cm) = (0.0763168,-5.99959,200), weight = 1 + gamma, kinetic energy (MeV) = 16.313, position (cm) = (-0.115558,-6.12709,200), weight = 1 + gamma, kinetic energy (MeV) = 18.1141, position (cm) = (0.218963,-6.2388,200), weight = 1 + e+, kinetic energy (MeV) = 24.9269, position (cm) = (-0.70918,-7.74587,200), weight = 1 + gamma, kinetic energy (MeV) = 21.3029, position (cm) = (-0.745391,-7.73258,200), weight = 1 + gamma, kinetic energy (MeV) = 4.6877, position (cm) = (-0.621916,-7.7923,200), weight = 1 + gamma, kinetic energy (MeV) = 27.4432, position (cm) = (-0.506625,-7.89613,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0841052, position (cm) = (-2.17914,-9.24379,200), weight = 1 + e-, kinetic energy (MeV) = 19.2125, position (cm) = (-0.134326,-6.79709,200), weight = 1 + gamma, kinetic energy (MeV) = 9.77312, position (cm) = (-0.118345,-6.79751,200), weight = 1 + gamma, kinetic energy (MeV) = 0.164802, position (cm) = (4.72182,-7.4781,200), weight = 1 + gamma, kinetic energy (MeV) = 0.2942, position (cm) = (-10.0318,-7.3677,200), weight = 1 + gamma, kinetic energy (MeV) = 0.10048, position (cm) = (-7.19327,2.91493,200), weight = 1 + gamma, kinetic energy (MeV) = 0.168171, position (cm) = (-4.85107,4.25046,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0878839, position (cm) = (1.02753,3.75636,200), weight = 1 + gamma, kinetic energy (MeV) = 1.89563, position (cm) = (0.0901223,-15.7303,200), weight = 1 + gamma, kinetic energy (MeV) = 0.393754, position (cm) = (2.1033,-4.50324,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0766204, position (cm) = (-15.0196,-3.73239,200), weight = 1 + gamma, kinetic energy (MeV) = 1.23485, position (cm) = (-1.1438,-10.6698,200), weight = 1 + e-, kinetic energy (MeV) = 2.70513, position (cm) = (-1.29958,-10.7368,200), weight = 1 + gamma, kinetic energy (MeV) = 92.6921, position (cm) = (-0.775311,-7.80333,200), weight = 1 + gamma, kinetic energy (MeV) = 1.04412, position (cm) = (0.0999697,-0.379786,200), weight = 1 + gamma, kinetic energy (MeV) = 18.3654, position (cm) = (-12.3134,3.35258,200), weight = 1 + gamma, kinetic energy (MeV) = 1.30264, position (cm) = (-2.56121,-6.03522,200), weight = 1 + gamma, kinetic energy (MeV) = 34.0218, position (cm) = (-0.164933,-7.53178,200), weight = 1 + gamma, kinetic energy (MeV) = 1.12464, position (cm) = (0.983833,-7.78043,200), weight = 1 + gamma, kinetic energy (MeV) = 9.65339, position (cm) = (-1.72707,-6.4601,200), weight = 1 + gamma, kinetic energy (MeV) = 0.246833, position (cm) = (15.2285,-30.0298,200), weight = 1 + gamma, kinetic energy (MeV) = 56.1031, position (cm) = (1.4353,-8.67762,200), weight = 1 + gamma, kinetic energy (MeV) = 0.220311, position (cm) = (-8.3647,-8.89171,200), weight = 1 + gamma, kinetic energy (MeV) = 0.241422, position (cm) = (5.75806,-8.69302,200), weight = 1 + gamma, kinetic energy (MeV) = 0.920881, position (cm) = (-1.62905,-5.07392,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0709274, position (cm) = (-1.97544,-5.66475,200), weight = 1 + gamma, kinetic energy (MeV) = 0.335474, position (cm) = (-1.75365,-6.11252,200), weight = 1 + gamma, kinetic energy (MeV) = 0.745893, position (cm) = (-0.777558,-6.13685,200), weight = 1 + gamma, kinetic energy (MeV) = 0.649089, position (cm) = (-23.9475,-13.2752,200), weight = 3 + neutron, kinetic energy (MeV) = 200.208, position (cm) = (-24.4586,-16.0619,200), weight = 1 + gamma, kinetic energy (MeV) = 0.367804, position (cm) = (-25.6858,-7.71287,200), weight = 1 + gamma, kinetic energy (MeV) = 1.21947, position (cm) = (-10.5465,-10.2242,200), weight = 1 + gamma, kinetic energy (MeV) = 0.585068, position (cm) = (-22.0181,7.63516,200), weight = 1 + gamma, kinetic energy (MeV) = 6.31694, position (cm) = (7.5362,-0.20523,200), weight = 1 + anti_nu_mu, kinetic energy (MeV) = 24.7475, position (cm) = (-10.9763,-20.9481,200), weight = 1 + proton, kinetic energy (MeV) = 979.967, position (cm) = (8.4449,-11.5392,200), weight = 1 + nu_e, kinetic energy (MeV) = 36.3968, position (cm) = (15.5326,-78.2193,200), weight = 10 + neutron, kinetic energy (MeV) = 128.087, position (cm) = (59.8637,15.2814,200), weight = 5 + gamma, kinetic energy (MeV) = 0.503067, position (cm) = (13.91,9.94539,200), weight = 1 + gamma, kinetic energy (MeV) = 0.299304, position (cm) = (14.9249,6.70778,200), weight = 1 + gamma, kinetic energy (MeV) = 0.494776, position (cm) = (27.1928,49.8827,200), weight = 12 + proton, kinetic energy (MeV) = 148.718, position (cm) = (-2.04015,-26.4034,200), weight = 1 + gamma, kinetic energy (MeV) = 6.04312, position (cm) = (-26.5726,10.6645,200), weight = 2 + gamma, kinetic energy (MeV) = 4.49052, position (cm) = (-16.0503,4.52807,200), weight = 2 + gamma, kinetic energy (MeV) = 67.1691, position (cm) = (-15.3526,1.20541,200), weight = 2 + gamma, kinetic energy (MeV) = 0.0741294, position (cm) = (-14.0023,-1.16916,200), weight = 2 + gamma, kinetic energy (MeV) = 1.36845, position (cm) = (-13.4274,3.64696,200), weight = 2 + gamma, kinetic energy (MeV) = 1.37932, position (cm) = (-13.925,4.04846,200), weight = 2 + gamma, kinetic energy (MeV) = 8.90446, position (cm) = (-18.8162,4.41339,200), weight = 2 + gamma, kinetic energy (MeV) = 13.3376, position (cm) = (-18.3316,-0.600406,200), weight = 2 + gamma, kinetic energy (MeV) = 0.141815, position (cm) = (-9.56966,-2.33311,200), weight = 2 + gamma, kinetic energy (MeV) = 0.426469, position (cm) = (-26.2519,8.2047,200), weight = 2 + proton, kinetic energy (MeV) = 1085.9, position (cm) = (7.57284,-16.0508,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0620621, position (cm) = (8.28925,-16.1236,200), weight = 1 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-46.6088,0.870593,200), weight = 1 + gamma, kinetic energy (MeV) = 4.43088, position (cm) = (59.4836,-44.1629,200), weight = 6 + gamma, kinetic energy (MeV) = 0.443496, position (cm) = (22.2235,50.8027,200), weight = 3 + gamma, kinetic energy (MeV) = 32.2283, position (cm) = (-25.8332,-45.5484,200), weight = 1 + pi+, kinetic energy (MeV) = 188.498, position (cm) = (-28.3255,4.72047,200), weight = 1 + gamma, kinetic energy (MeV) = 2.46155, position (cm) = (-38.7909,-6.89159,200), weight = 2 + e+, kinetic energy (MeV) = 211.645, position (cm) = (-39.6882,-5.22613,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0637764, position (cm) = (-39.6878,-5.22622,200), weight = 1 + e-, kinetic energy (MeV) = 44.8234, position (cm) = (-39.7547,-5.21263,200), weight = 1 + proton, kinetic energy (MeV) = 272.87, position (cm) = (-33.0879,-6.01881,200), weight = 1 + neutron, kinetic energy (MeV) = 406.523, position (cm) = (-42.9539,-5.63261,200), weight = 1 + anti_nu_mu, kinetic energy (MeV) = 27.319, position (cm) = (0.0537495,19.9069,200), weight = 2 + gamma, kinetic energy (MeV) = 0.0651607, position (cm) = (61.9621,-84.1232,200), weight = 18 + neutron, kinetic energy (MeV) = 70.321, position (cm) = (58.4309,-93.6185,200), weight = 6 + gamma, kinetic energy (MeV) = 0.792229, position (cm) = (-54.1233,-6.06573,200), weight = 3 + gamma, kinetic energy (MeV) = 1.23789, position (cm) = (-62.6904,-8.86425,200), weight = 3 + gamma, kinetic energy (MeV) = 0.663714, position (cm) = (-31.7606,-0.507145,200), weight = 3 + gamma, kinetic energy (MeV) = 0.139164, position (cm) = (1.24461,-26.8554,200), weight = 1 + gamma, kinetic energy (MeV) = 0.153962, position (cm) = (17.2662,-25.8497,200), weight = 1 + neutron, kinetic energy (MeV) = 419.635, position (cm) = (-31.3584,-43.013,200), weight = 1 + gamma, kinetic energy (MeV) = 3.30291, position (cm) = (2.55133,5.23648,200), weight = 1 + gamma, kinetic energy (MeV) = 0.498471, position (cm) = (1.21481,-5.93772,200), weight = 1 + gamma, kinetic energy (MeV) = 0.49835, position (cm) = (-2.62428,10.2714,200), weight = 1 + gamma, kinetic energy (MeV) = 11.2046, position (cm) = (-2.51507,-1.93653,200), weight = 1 + gamma, kinetic energy (MeV) = 10.9747, position (cm) = (-3.00631,-0.136813,200), weight = 1 + e-, kinetic energy (MeV) = 9.04328, position (cm) = (-1.07072,-2.36139,200), weight = 1 + gamma, kinetic energy (MeV) = 0.528207, position (cm) = (-1.30969,-2.16882,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0678158, position (cm) = (-2.21892,-2.97223,200), weight = 1 + gamma, kinetic energy (MeV) = 47.0982, position (cm) = (-2.78889,2.61507,200), weight = 1 + gamma, kinetic energy (MeV) = 1.84635, position (cm) = (-20.1062,-43.3605,200), weight = 1 + gamma, kinetic energy (MeV) = 0.335866, position (cm) = (19.1742,-10.6632,200), weight = 1 + gamma, kinetic energy (MeV) = 5.41122, position (cm) = (22.4502,27.5714,200), weight = 1 + gamma, kinetic energy (MeV) = 0.425758, position (cm) = (27.6757,26.9917,200), weight = 1 + gamma, kinetic energy (MeV) = 2.60517, position (cm) = (5.89469,-5.71768,200), weight = 1 + gamma, kinetic energy (MeV) = 0.234073, position (cm) = (-8.81034,19.5721,200), weight = 1 + gamma, kinetic energy (MeV) = 0.104205, position (cm) = (-0.589091,6.20133,200), weight = 1 + gamma, kinetic energy (MeV) = 0.204926, position (cm) = (-1.3402,-1.31091,200), weight = 1 + gamma, kinetic energy (MeV) = 0.21021, position (cm) = (-1.3908,8.92528,200), weight = 1 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-3.02872,3.90952,200), weight = 1 + gamma, kinetic energy (MeV) = 0.152575, position (cm) = (-2.181,3.12924,200), weight = 1 + gamma, kinetic energy (MeV) = 9.88445, position (cm) = (12.6917,-13.9754,200), weight = 1 + gamma, kinetic energy (MeV) = 28.7336, position (cm) = (19.7959,-12.811,200), weight = 1 + gamma, kinetic energy (MeV) = 9.22643, position (cm) = (4.40014,-15.6958,200), weight = 1 + gamma, kinetic energy (MeV) = 0.195344, position (cm) = (9.85902,-13.6435,200), weight = 1 + gamma, kinetic energy (MeV) = 0.39143, position (cm) = (7.27796,-4.65027,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0644007, position (cm) = (8.22616,-8.29653,200), weight = 1 + gamma, kinetic energy (MeV) = 0.10995, position (cm) = (-1.81826,8.09149,200), weight = 1 + gamma, kinetic energy (MeV) = 18.6734, position (cm) = (4.49889,18.6686,200), weight = 1 + gamma, kinetic energy (MeV) = 1.97847, position (cm) = (-9.86757,6.54115,200), weight = 1 + gamma, kinetic energy (MeV) = 0.530138, position (cm) = (-23.7656,-5.02465,200), weight = 1 + gamma, kinetic energy (MeV) = 0.119183, position (cm) = (34.426,31.9953,200), weight = 1 + gamma, kinetic energy (MeV) = 0.111138, position (cm) = (34.1227,-13.3133,200), weight = 1 + gamma, kinetic energy (MeV) = 3.90395, position (cm) = (22.2398,-4.85287,200), weight = 1 + gamma, kinetic energy (MeV) = 11.7492, position (cm) = (-11.8179,-9.93974,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0678146, position (cm) = (4.9882,-20.1205,200), weight = 1 + gamma, kinetic energy (MeV) = 0.314587, position (cm) = (2.91366,-6.37995,200), weight = 1 + gamma, kinetic energy (MeV) = 0.207072, position (cm) = (-23.419,5.55137,200), weight = 1 + gamma, kinetic energy (MeV) = 1.01666, position (cm) = (-7.92557,-12.7017,200), weight = 1 + gamma, kinetic energy (MeV) = 0.522893, position (cm) = (29.159,-27.3597,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0644154, position (cm) = (-7.1917,-12.7752,200), weight = 1 + gamma, kinetic energy (MeV) = 0.16703, position (cm) = (-16.2391,-13.8241,200), weight = 1 + gamma, kinetic energy (MeV) = 499.016, position (cm) = (2.01988,-2.11222,200), weight = 1 + gamma, kinetic energy (MeV) = 10.7654, position (cm) = (-15.7716,11.6379,200), weight = 1 + gamma, kinetic energy (MeV) = 11.26, position (cm) = (15.0364,17.682,200), weight = 1 + gamma, kinetic energy (MeV) = 1.506, position (cm) = (-44.7446,10.8413,200), weight = 1 + gamma, kinetic energy (MeV) = 16.7933, position (cm) = (4.18978,7.01521,200), weight = 1 + gamma, kinetic energy (MeV) = 3.93812, position (cm) = (-15.7588,-2.31961,200), weight = 1 + gamma, kinetic energy (MeV) = 11.5324, position (cm) = (11.2427,10.4685,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0978857, position (cm) = (-2.57069,-5.28287,200), weight = 1 + gamma, kinetic energy (MeV) = 30.806, position (cm) = (-1.74572,1.91587,200), weight = 1 + gamma, kinetic energy (MeV) = 8.86929, position (cm) = (-22.8071,2.76048,200), weight = 1 + anti_nu_mu, kinetic energy (MeV) = 43.1429, position (cm) = (53.6576,33.4511,200), weight = 1 + gamma, kinetic energy (MeV) = 6.14101, position (cm) = (11.6487,-0.766774,200), weight = 1 + gamma, kinetic energy (MeV) = 18.8272, position (cm) = (-13.6512,-4.25877,200), weight = 1 + gamma, kinetic energy (MeV) = 4.13136, position (cm) = (-1.40449,-6.79565,200), weight = 1 + gamma, kinetic energy (MeV) = 21.5181, position (cm) = (-0.0346034,5.36515,200), weight = 1 + gamma, kinetic energy (MeV) = 3.26215, position (cm) = (1.02063,-9.77386,200), weight = 1 + gamma, kinetic energy (MeV) = 0.409768, position (cm) = (10.3018,16.0009,200), weight = 1 + gamma, kinetic energy (MeV) = 0.789805, position (cm) = (11.3651,7.92376,200), weight = 1 + gamma, kinetic energy (MeV) = 24.1014, position (cm) = (-3.62305,-2.46947,200), weight = 1 + gamma, kinetic energy (MeV) = 2.1791, position (cm) = (4.25172,-12.2941,200), weight = 1 + gamma, kinetic energy (MeV) = 10.6167, position (cm) = (1.28821,-0.322814,200), weight = 1 + e-, kinetic energy (MeV) = 15.1536, position (cm) = (0.400153,-5.02449,200), weight = 1 + gamma, kinetic energy (MeV) = 0.231761, position (cm) = (0.358589,-4.57941,200), weight = 1 + gamma, kinetic energy (MeV) = 0.477766, position (cm) = (0.997666,-4.35974,200), weight = 1 + gamma, kinetic energy (MeV) = 1.31703, position (cm) = (-0.000852767,-3.61645,200), weight = 1 + gamma, kinetic energy (MeV) = 1.96316, position (cm) = (-0.524625,-4.09799,200), weight = 1 + gamma, kinetic energy (MeV) = 3.21679, position (cm) = (-0.313156,-2.45934,200), weight = 1 + e+, kinetic energy (MeV) = 9.80372, position (cm) = (-0.396221,-4.21994,200), weight = 1 + e-, kinetic energy (MeV) = 6.41649, position (cm) = (-0.394809,-4.22367,200), weight = 1 + gamma, kinetic energy (MeV) = 0.115238, position (cm) = (-6.08426,-0.0204346,200), weight = 1 + gamma, kinetic energy (MeV) = 0.31357, position (cm) = (2.35169,-5.14254,200), weight = 1 + gamma, kinetic energy (MeV) = 37.0745, position (cm) = (2.99403,-3.88903,200), weight = 1 + gamma, kinetic energy (MeV) = 2.60573, position (cm) = (0.143588,-4.43082,200), weight = 1 + gamma, kinetic energy (MeV) = 173.198, position (cm) = (1.2093,-0.416255,200), weight = 1 + gamma, kinetic energy (MeV) = 1.61924, position (cm) = (21.7768,45.4825,200), weight = 1 + gamma, kinetic energy (MeV) = 17.6901, position (cm) = (-11.7752,2.67564,200), weight = 1 + gamma, kinetic energy (MeV) = 7.73484, position (cm) = (-13.2831,3.88985,200), weight = 1 + gamma, kinetic energy (MeV) = 1.25853, position (cm) = (-6.07277,-4.65745,200), weight = 1 + gamma, kinetic energy (MeV) = 3.88558, position (cm) = (-9.60919,15.7853,200), weight = 1 + gamma, kinetic energy (MeV) = 4.79927, position (cm) = (-0.591127,-21.2063,200), weight = 1 + gamma, kinetic energy (MeV) = 0.44868, position (cm) = (5.4888,-17.7003,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0574399, position (cm) = (6.70552,4.45861,200), weight = 1 + gamma, kinetic energy (MeV) = 2.15196, position (cm) = (-1.74628,15.4151,200), weight = 1 + gamma, kinetic energy (MeV) = 7.25287, position (cm) = (-8.93816,-2.78652,200), weight = 1 + gamma, kinetic energy (MeV) = 4.35335, position (cm) = (-8.59904,-3.26154,200), weight = 3 + gamma, kinetic energy (MeV) = 1.18698, position (cm) = (-9.07576,-2.38496,200), weight = 1 + gamma, kinetic energy (MeV) = 0.364394, position (cm) = (-8.72621,-1.92399,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0718808, position (cm) = (-3.70682,-3.31868,200), weight = 1 + gamma, kinetic energy (MeV) = 0.131803, position (cm) = (-17.8624,-6.87978,200), weight = 1 + gamma, kinetic energy (MeV) = 1.84407, position (cm) = (-6.68769,2.21134,200), weight = 1 + gamma, kinetic energy (MeV) = 7.16916, position (cm) = (-10.5097,-0.00421235,200), weight = 1 + gamma, kinetic energy (MeV) = 21.6239, position (cm) = (-9.70936,8.39188,200), weight = 1 + gamma, kinetic energy (MeV) = 7.1191, position (cm) = (8.00881,20.5265,200), weight = 1 + gamma, kinetic energy (MeV) = 0.147233, position (cm) = (11.389,23.2715,200), weight = 1 + gamma, kinetic energy (MeV) = 56.6232, position (cm) = (11.8877,-6.44941,200), weight = 1 + gamma, kinetic energy (MeV) = 3.38772, position (cm) = (2.58919,23.0755,200), weight = 1 + gamma, kinetic energy (MeV) = 6.70568, position (cm) = (-0.175555,6.06753,200), weight = 1 + gamma, kinetic energy (MeV) = 1.01023, position (cm) = (1.81966,6.0753,200), weight = 1 + gamma, kinetic energy (MeV) = 22.3344, position (cm) = (0.958392,0.980496,200), weight = 1 + gamma, kinetic energy (MeV) = 0.452983, position (cm) = (20.7708,-2.37574,200), weight = 1 + gamma, kinetic energy (MeV) = 2.42475, position (cm) = (-13.1892,1.70909,200), weight = 1 + gamma, kinetic energy (MeV) = 4.49688, position (cm) = (35.5461,-49.8881,200), weight = 1 + gamma, kinetic energy (MeV) = 0.573744, position (cm) = (4.12162,0.297085,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0743798, position (cm) = (-18.2546,-34.1807,200), weight = 1 + gamma, kinetic energy (MeV) = 2.2768, position (cm) = (6.54182,1.50862,200), weight = 1 + gamma, kinetic energy (MeV) = 12.0985, position (cm) = (21.9396,-3.29245,200), weight = 1 + gamma, kinetic energy (MeV) = 15.2717, position (cm) = (-4.71083,10.5175,200), weight = 1 + gamma, kinetic energy (MeV) = 0.140234, position (cm) = (-1.49228,12.3082,200), weight = 1 + gamma, kinetic energy (MeV) = 0.237259, position (cm) = (-3.58316,12.8033,200), weight = 1 + gamma, kinetic energy (MeV) = 3.75765, position (cm) = (-13.7353,10.7283,200), weight = 1 + gamma, kinetic energy (MeV) = 5.09166, position (cm) = (-0.584926,-14.6207,200), weight = 1 + gamma, kinetic energy (MeV) = 8.46924, position (cm) = (36.3104,26.6784,200), weight = 1 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-29.6527,57.6305,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0858989, position (cm) = (-26.3316,55.7683,200), weight = 1 + gamma, kinetic energy (MeV) = 1.98869, position (cm) = (-8.98247,-14.6184,200), weight = 1 + gamma, kinetic energy (MeV) = 0.10256, position (cm) = (15.796,9.31608,200), weight = 1 + gamma, kinetic energy (MeV) = 2.78039, position (cm) = (-6.33747,8.67501,200), weight = 1 + gamma, kinetic energy (MeV) = 0.566531, position (cm) = (-5.50299,10.7112,200), weight = 1 + gamma, kinetic energy (MeV) = 4.20238, position (cm) = (-6.21357,9.64082,200), weight = 1 + gamma, kinetic energy (MeV) = 0.199211, position (cm) = (-5.30221,10.5977,200), weight = 1 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (-4.17875,8.8691,200), weight = 1 + e-, kinetic energy (MeV) = 5.96095, position (cm) = (-3.63849,10.2683,200), weight = 1 + gamma, kinetic energy (MeV) = 0.167886, position (cm) = (7.7734,4.27168,200), weight = 1 + gamma, kinetic energy (MeV) = 1.33631, position (cm) = (-9.76639,0.066731,200), weight = 1 + gamma, kinetic energy (MeV) = 3.63441, position (cm) = (34.6807,36.5401,200), weight = 1 + gamma, kinetic energy (MeV) = 2.91123, position (cm) = (1.47183,5.07581,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0806214, position (cm) = (-12.8887,-12.1302,200), weight = 1 + gamma, kinetic energy (MeV) = 66.9098, position (cm) = (-0.0751976,-3.77611,200), weight = 1 + gamma, kinetic energy (MeV) = 0.410758, position (cm) = (-7.94563,4.12083,200), weight = 1 + gamma, kinetic energy (MeV) = 4.2071, position (cm) = (0.91742,-12.032,200), weight = 1 + gamma, kinetic energy (MeV) = 0.240841, position (cm) = (5.95424,-14.5449,200), weight = 1 + gamma, kinetic energy (MeV) = 0.420785, position (cm) = (4.36792,-17.4968,200), weight = 1 + gamma, kinetic energy (MeV) = 0.675452, position (cm) = (0.121945,-7.46362,200), weight = 1 + gamma, kinetic energy (MeV) = 0.124104, position (cm) = (-21.3217,-17.7692,200), weight = 1 + gamma, kinetic energy (MeV) = 3.0769, position (cm) = (8.16661,30.8575,200), weight = 1 + gamma, kinetic energy (MeV) = 8.24469, position (cm) = (16.4985,-2.89702,200), weight = 1 + gamma, kinetic energy (MeV) = 0.346703, position (cm) = (-10.508,-6.18175,200), weight = 1 + gamma, kinetic energy (MeV) = 5.64413, position (cm) = (-0.575261,-2.64271,200), weight = 1 + gamma, kinetic energy (MeV) = 0.48128, position (cm) = (14.8469,37.5383,200), weight = 1 + gamma, kinetic energy (MeV) = 3.13522, position (cm) = (11.7955,-19.9264,200), weight = 1 + gamma, kinetic energy (MeV) = 6.01555, position (cm) = (4.00552,-1.17305,200), weight = 1 + gamma, kinetic energy (MeV) = 5.83243, position (cm) = (26.1217,-13.4658,200), weight = 1 + gamma, kinetic energy (MeV) = 0.622259, position (cm) = (-9.11339,-13.294,200), weight = 1 + gamma, kinetic energy (MeV) = 45.2785, position (cm) = (-1.47745,7.66903,200), weight = 1 + gamma, kinetic energy (MeV) = 1.82805, position (cm) = (1.25987,-0.924849,200), weight = 1 + gamma, kinetic energy (MeV) = 4.09728, position (cm) = (-0.104698,20.4083,200), weight = 1 + gamma, kinetic energy (MeV) = 2.49913, position (cm) = (6.47319,0.571993,200), weight = 1 + gamma, kinetic energy (MeV) = 9.30757, position (cm) = (-1.68832,-7.99213,200), weight = 1 + gamma, kinetic energy (MeV) = 0.436251, position (cm) = (-15.5537,6.32114,200), weight = 1 + gamma, kinetic energy (MeV) = 8.33218, position (cm) = (30.0278,24.5875,200), weight = 1 + gamma, kinetic energy (MeV) = 41.8576, position (cm) = (-7.14849,-3.19187,200), weight = 1 + gamma, kinetic energy (MeV) = 4.61776, position (cm) = (-10.2179,5.15521,200), weight = 1 + gamma, kinetic energy (MeV) = 3.96402, position (cm) = (-4.97908,1.96046,200), weight = 1 + gamma, kinetic energy (MeV) = 20.8182, position (cm) = (1.04485,4.76879,200), weight = 1 + gamma, kinetic energy (MeV) = 3.53596, position (cm) = (9.60767,-2.96464,200), weight = 1 + gamma, kinetic energy (MeV) = 6.06396, position (cm) = (-0.343891,11.7065,200), weight = 1 + gamma, kinetic energy (MeV) = 0.431109, position (cm) = (0.355771,1.56254,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0546459, position (cm) = (1.28233,1.00345,200), weight = 1 + gamma, kinetic energy (MeV) = 0.318168, position (cm) = (-1.3715,0.980176,200), weight = 1 + gamma, kinetic energy (MeV) = 7.67376, position (cm) = (-1.19067,1.68762,200), weight = 1 + gamma, kinetic energy (MeV) = 0.872118, position (cm) = (-1.53051,0.800197,200), weight = 1 + gamma, kinetic energy (MeV) = 1.83666, position (cm) = (-0.517984,1.0242,200), weight = 1 + gamma, kinetic energy (MeV) = 6.0368, position (cm) = (-0.191751,-15.5298,200), weight = 1 + gamma, kinetic energy (MeV) = 24.9849, position (cm) = (-30.7687,-21.9702,200), weight = 1 + gamma, kinetic energy (MeV) = 0.308762, position (cm) = (12.6633,-26.1165,200), weight = 1 + gamma, kinetic energy (MeV) = 0.133908, position (cm) = (14.5805,-0.788744,200), weight = 1 + gamma, kinetic energy (MeV) = 0.222612, position (cm) = (1.32356,-1.91875,200), weight = 1 + gamma, kinetic energy (MeV) = 0.131359, position (cm) = (16.2698,18.852,200), weight = 1 + gamma, kinetic energy (MeV) = 38.0802, position (cm) = (25.1636,80.4917,200), weight = 1 + gamma, kinetic energy (MeV) = 0.236803, position (cm) = (7.82483,29.5961,200), weight = 1 + gamma, kinetic energy (MeV) = 0.18064, position (cm) = (2.6797,21.1591,200), weight = 1 + gamma, kinetic energy (MeV) = 0.590028, position (cm) = (2.52312,21.831,200), weight = 1 + e-, kinetic energy (MeV) = 13.4232, position (cm) = (2.95542,21.5843,200), weight = 1 + gamma, kinetic energy (MeV) = 19.3793, position (cm) = (2.95336,21.5843,200), weight = 1 + gamma, kinetic energy (MeV) = 0.309212, position (cm) = (2.8764,21.5804,200), weight = 1 + gamma, kinetic energy (MeV) = 0.196208, position (cm) = (2.8705,21.6261,200), weight = 1 + gamma, kinetic energy (MeV) = 0.607712, position (cm) = (2.88927,21.591,200), weight = 1 + gamma, kinetic energy (MeV) = 10.1739, position (cm) = (3.127,21.6099,200), weight = 1 + gamma, kinetic energy (MeV) = 7.3443, position (cm) = (1.73553,-8.34953,200), weight = 1 + gamma, kinetic energy (MeV) = 6.53719, position (cm) = (8.72919,18.6895,200), weight = 1 + gamma, kinetic energy (MeV) = 14.4567, position (cm) = (-13.2432,28.6892,200), weight = 1 + e-, kinetic energy (MeV) = 7.04892, position (cm) = (-13.1927,28.4378,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0501905, position (cm) = (-13.1943,28.4376,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0790203, position (cm) = (-13.1923,28.4295,200), weight = 1 + e-, kinetic energy (MeV) = 2.10693, position (cm) = (8.88524,-2.72162,200), weight = 1 + gamma, kinetic energy (MeV) = 3.41861, position (cm) = (7.95133,-1.07639,200), weight = 1 + gamma, kinetic energy (MeV) = 0.970516, position (cm) = (5.71237,4.53101,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0480061, position (cm) = (3.79349,-1.58595,200), weight = 1 + gamma, kinetic energy (MeV) = 62.5727, position (cm) = (2.92698,-1.39459,200), weight = 1 + gamma, kinetic energy (MeV) = 1.60978, position (cm) = (6.62948,-9.56378,200), weight = 1 + gamma, kinetic energy (MeV) = 0.510999, position (cm) = (3.25368,0.0757002,200), weight = 1 + gamma, kinetic energy (MeV) = 7.6287, position (cm) = (1.17621,-0.321417,200), weight = 1 + gamma, kinetic energy (MeV) = 2.54906, position (cm) = (11.2414,5.19245,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0824035, position (cm) = (11.8893,4.51393,200), weight = 1 + gamma, kinetic energy (MeV) = 17.4488, position (cm) = (-10.4736,7.12421,200), weight = 1 + gamma, kinetic energy (MeV) = 6.81823, position (cm) = (0.23117,-5.30142,200), weight = 1 + gamma, kinetic energy (MeV) = 0.531252, position (cm) = (28.1691,10.4128,200), weight = 1 + e+, kinetic energy (MeV) = 4.35299, position (cm) = (2.24905,-0.460788,200), weight = 1 + gamma, kinetic energy (MeV) = 11.7858, position (cm) = (-4.19179,11.7717,200), weight = 3 + gamma, kinetic energy (MeV) = 2.32683, position (cm) = (2.42116,-5.26094,200), weight = 1 + e-, kinetic energy (MeV) = 80.0704, position (cm) = (0.0959045,1.55489,200), weight = 1 + gamma, kinetic energy (MeV) = 0.236479, position (cm) = (0.103415,1.44844,200), weight = 1 + gamma, kinetic energy (MeV) = 20.3932, position (cm) = (-0.117158,1.30593,200), weight = 1 + gamma, kinetic energy (MeV) = 0.212811, position (cm) = (-1.59018,-3.50204,200), weight = 1 + gamma, kinetic energy (MeV) = 0.090845, position (cm) = (-3.42076,-3.31407,200), weight = 1 + gamma, kinetic energy (MeV) = 0.0854594, position (cm) = (-0.794014,6.36464,200), weight = 1 + gamma, kinetic energy (MeV) = 6.41999, position (cm) = (-0.168179,0.85556,200), weight = 1 + gamma, kinetic energy (MeV) = 0.155487, position (cm) = (-1.20245,-0.573404,200), weight = 1 + gamma, kinetic energy (MeV) = 0.470076, position (cm) = (-1.89046,10.6832,200), weight = 1 + gamma, kinetic energy (MeV) = 0.15551, position (cm) = (1.42145,2.95634,200), weight = 1 + e-, kinetic energy (MeV) = 14.4806, position (cm) = (0.152436,1.91678,200), weight = 1 + gamma, kinetic energy (MeV) = 1.38668, position (cm) = (0.404979,2.1258,200), weight = 1 + gamma, kinetic energy (MeV) = 5.30634, position (cm) = (1.42976,1.2595,200), weight = 1 Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/biasing/GB07/include/GB07ActionInitialization.hh b/examples/extended/biasing/GB07/include/GB07ActionInitialization.hh index 37d9e223ddc..52313a96610 100644 --- a/examples/extended/biasing/GB07/include/GB07ActionInitialization.hh +++ b/examples/extended/biasing/GB07/include/GB07ActionInitialization.hh @@ -46,5 +46,3 @@ class GB07ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/biasing/GB07/include/GB07BOptrLeadingParticle.hh b/examples/extended/biasing/GB07/include/GB07BOptrLeadingParticle.hh index 2fc42278b74..ffc46ab2cd7 100644 --- a/examples/extended/biasing/GB07/include/GB07BOptrLeadingParticle.hh +++ b/examples/extended/biasing/GB07/include/GB07BOptrLeadingParticle.hh @@ -35,50 +35,52 @@ class G4VProcess; #include -class GB07BOptrLeadingParticle : public G4VBiasingOperator { -public: - GB07BOptrLeadingParticle( G4String operatorName = "LeadingParticleBiasingOperator"); - virtual ~GB07BOptrLeadingParticle(); - -private: - // ----------------------------- - // -- Mandatory from base class: - // ----------------------------- - // -- Unsused: - virtual G4VBiasingOperation* - ProposeNonPhysicsBiasingOperation(const G4Track*, - const G4BiasingProcessInterface*) final - { return nullptr; } - // -- Unused: - virtual G4VBiasingOperation* - ProposeOccurenceBiasingOperation (const G4Track*, - const G4BiasingProcessInterface*) final - { return nullptr; } - // -- Used: - // -- Will return the biasing operation at the final state generation stage - virtual G4VBiasingOperation* - ProposeFinalStateBiasingOperation(const G4Track* track, - const G4BiasingProcessInterface* callingProcess) final; +class GB07BOptrLeadingParticle : public G4VBiasingOperator +{ + public: + GB07BOptrLeadingParticle(G4String operatorName = "LeadingParticleBiasingOperator"); + virtual ~GB07BOptrLeadingParticle(); -public: - // ------------------------------------ - // -- Optional methods from base class: - // ------------------------------------ - virtual void StartRun() final; - virtual void StartTracking( const G4Track* track ) final; + private: + // ----------------------------- + // -- Mandatory from base class: + // ----------------------------- + // -- Unsused: + virtual G4VBiasingOperation* + ProposeNonPhysicsBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final + { + return nullptr; + } + // -- Unused: + virtual G4VBiasingOperation* + ProposeOccurenceBiasingOperation(const G4Track*, const G4BiasingProcessInterface*) final + { + return nullptr; + } + // -- Used: + // -- Will return the biasing operation at the final state generation stage + virtual G4VBiasingOperation* + ProposeFinalStateBiasingOperation(const G4Track* track, + const G4BiasingProcessInterface* callingProcess) final; -private: - // -- The leading particle biasing operation that will actually - // -- trim the final state generation: - G4BOptnLeadingParticle* fLeadingParticleBiasingOperation; - // -- Two-particle final states, they will be biased with a - // -- "further killing probability" for particles accompanying - // -- the leading particle, we remember what processes are concerned: - const G4VProcess* fAnnihilation; - const G4VProcess* fConversion; - const G4VProcess* fDecay; - const G4VProcess* fTwoParticleProcess; - + public: + // ------------------------------------ + // -- Optional methods from base class: + // ------------------------------------ + virtual void StartRun() final; + virtual void StartTracking(const G4Track* track) final; + + private: + // -- The leading particle biasing operation that will actually + // -- trim the final state generation: + G4BOptnLeadingParticle* fLeadingParticleBiasingOperation; + // -- Two-particle final states, they will be biased with a + // -- "further killing probability" for particles accompanying + // -- the leading particle, we remember what processes are concerned: + const G4VProcess* fAnnihilation; + const G4VProcess* fConversion; + const G4VProcess* fDecay; + const G4VProcess* fTwoParticleProcess; }; #endif diff --git a/examples/extended/biasing/GB07/include/GB07DetectorConstruction.hh b/examples/extended/biasing/GB07/include/GB07DetectorConstruction.hh index 153320f884e..db27e2f2639 100644 --- a/examples/extended/biasing/GB07/include/GB07DetectorConstruction.hh +++ b/examples/extended/biasing/GB07/include/GB07DetectorConstruction.hh @@ -36,17 +36,13 @@ class GB07DetectorConstruction : public G4VUserDetectorConstruction { -public: - - GB07DetectorConstruction(); - ~GB07DetectorConstruction(); - -public: - - virtual G4VPhysicalVolume* Construct(); - virtual void ConstructSDandField(); - + public: + GB07DetectorConstruction(); + ~GB07DetectorConstruction(); + + public: + virtual G4VPhysicalVolume* Construct(); + virtual void ConstructSDandField(); }; #endif - diff --git a/examples/extended/biasing/GB07/include/GB07PrimaryGeneratorAction.hh b/examples/extended/biasing/GB07/include/GB07PrimaryGeneratorAction.hh index 095f01ebf89..a865ba7407f 100644 --- a/examples/extended/biasing/GB07/include/GB07PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/GB07/include/GB07PrimaryGeneratorAction.hh @@ -38,14 +38,14 @@ class G4ParticleGun; class GB07PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - GB07PrimaryGeneratorAction(); - virtual ~GB07PrimaryGeneratorAction(); + public: + GB07PrimaryGeneratorAction(); + virtual ~GB07PrimaryGeneratorAction(); - virtual void GeneratePrimaries(G4Event*); + virtual void GeneratePrimaries(G4Event*); -private: - G4ParticleGun* fParticleGun; //pointer a to G4 class + private: + G4ParticleGun* fParticleGun; // pointer a to G4 class }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB07/include/GB07SD.hh b/examples/extended/biasing/GB07/include/GB07SD.hh index f272c4922d2..38ae07297f9 100644 --- a/examples/extended/biasing/GB07/include/GB07SD.hh +++ b/examples/extended/biasing/GB07/include/GB07SD.hh @@ -35,13 +35,12 @@ class GB07SD : public G4VSensitiveDetector { -public: - GB07SD(G4String name); - virtual ~GB07SD(); //// {} - - virtual void Initialize(G4HCofThisEvent* ) {} - virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist); - + public: + GB07SD(G4String name); + virtual ~GB07SD(); //// {} + + virtual void Initialize(G4HCofThisEvent*) {} + virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB07/src/GB07ActionInitialization.cc b/examples/extended/biasing/GB07/src/GB07ActionInitialization.cc index 9bcb5da986d..a13b697cfe4 100644 --- a/examples/extended/biasing/GB07/src/GB07ActionInitialization.cc +++ b/examples/extended/biasing/GB07/src/GB07ActionInitialization.cc @@ -28,30 +28,29 @@ /// \brief Implementation of the GB07ActionInitialization class #include "GB07ActionInitialization.hh" + #include "GB07PrimaryGeneratorAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB07ActionInitialization::GB07ActionInitialization() - : G4VUserActionInitialization() -{} +GB07ActionInitialization::GB07ActionInitialization() : G4VUserActionInitialization() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... GB07ActionInitialization::~GB07ActionInitialization() -{;} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GB07ActionInitialization::BuildForMaster() const -{ -} +void GB07ActionInitialization::BuildForMaster() const {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void GB07ActionInitialization::Build() const { SetUserAction(new GB07PrimaryGeneratorAction); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB07/src/GB07BOptrLeadingParticle.cc b/examples/extended/biasing/GB07/src/GB07BOptrLeadingParticle.cc index 3f20aaf6e97..f6502f10c4e 100644 --- a/examples/extended/biasing/GB07/src/GB07BOptrLeadingParticle.cc +++ b/examples/extended/biasing/GB07/src/GB07BOptrLeadingParticle.cc @@ -27,28 +27,26 @@ /// \brief Implementation of the GB07BOptrLeadingParticle class // #include "GB07BOptrLeadingParticle.hh" -#include "G4BiasingProcessInterface.hh" #include "G4BOptnLeadingParticle.hh" -#include "G4ParticleDefinition.hh" -#include "G4Gamma.hh" +#include "G4BiasingProcessInterface.hh" #include "G4Electron.hh" -#include "G4Positron.hh" +#include "G4Gamma.hh" +#include "G4ParticleDefinition.hh" #include "G4PionZero.hh" +#include "G4Positron.hh" #include "G4ProcessManager.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB07BOptrLeadingParticle::GB07BOptrLeadingParticle( G4String operatorName ) - : G4VBiasingOperator ( operatorName ), - fAnnihilation ( nullptr ), - fConversion ( nullptr ), - fDecay ( nullptr ), - fTwoParticleProcess ( nullptr ) +GB07BOptrLeadingParticle::GB07BOptrLeadingParticle(G4String operatorName) + : G4VBiasingOperator(operatorName), + fAnnihilation(nullptr), + fConversion(nullptr), + fDecay(nullptr), + fTwoParticleProcess(nullptr) { - fLeadingParticleBiasingOperation = - new G4BOptnLeadingParticle("LeadingParticleBiasingOperation"); + fLeadingParticleBiasingOperation = new G4BOptnLeadingParticle("LeadingParticleBiasingOperation"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,10 +58,8 @@ GB07BOptrLeadingParticle::~GB07BOptrLeadingParticle() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VBiasingOperation* -GB07BOptrLeadingParticle:: -ProposeFinalStateBiasingOperation(const G4Track*, - const G4BiasingProcessInterface* callingProcess) +G4VBiasingOperation* GB07BOptrLeadingParticle::ProposeFinalStateBiasingOperation( + const G4Track*, const G4BiasingProcessInterface* callingProcess) { // -- When the present method is called, we are at the process final state // -- generation level. The process is given by the callingProcess argument, @@ -75,78 +71,66 @@ ProposeFinalStateBiasingOperation(const G4Track*, // -- final state, one track is the leading and the other is alone in its category, // -- so always surviving by default. We play a Russian roulette on it to // -- trim also these two-particles final states. - - if ( callingProcess == fTwoParticleProcess ) - { - // -- secondary particle accompagnying the leading one will be - // -- killed with 2./3. probability (Russian roulette): - fLeadingParticleBiasingOperation->SetFurtherKillingProbability( 2./3.); - } - else - { - // -- -1.0 means no effect : no further killing is applied to secondary - // -- particles accompanying the leading one. - fLeadingParticleBiasingOperation->SetFurtherKillingProbability( -1.0 ); - } - + + if (callingProcess == fTwoParticleProcess) { + // -- secondary particle accompagnying the leading one will be + // -- killed with 2./3. probability (Russian roulette): + fLeadingParticleBiasingOperation->SetFurtherKillingProbability(2. / 3.); + } + else { + // -- -1.0 means no effect : no further killing is applied to secondary + // -- particles accompanying the leading one. + fLeadingParticleBiasingOperation->SetFurtherKillingProbability(-1.0); + } + return fLeadingParticleBiasingOperation; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void -GB07BOptrLeadingParticle:: -StartRun() +void GB07BOptrLeadingParticle::StartRun() { // -- collect the two-particle final state processes: fAnnihilation = nullptr; - fConversion = nullptr; - fDecay = nullptr; - + fConversion = nullptr; + fDecay = nullptr; + // ---- collect e+ annihilation process: auto positronProcesses = G4Positron::Definition()->GetProcessManager()->GetProcessList(); - for ( size_t i = 0; i < positronProcesses->size(); ++i ) - { - if ( (*positronProcesses)[i]->GetProcessName() == "biasWrapper(annihil)") - { - fAnnihilation = (*positronProcesses)[i]; - break; - } + for (size_t i = 0; i < positronProcesses->size(); ++i) { + if ((*positronProcesses)[i]->GetProcessName() == "biasWrapper(annihil)") { + fAnnihilation = (*positronProcesses)[i]; + break; } - + } + // ---- collect gamma conversion process: auto gammaProcesses = G4Gamma::Definition()->GetProcessManager()->GetProcessList(); - for ( size_t i = 0; i < gammaProcesses->size(); ++i ) - { - if ( (*gammaProcesses)[i]->GetProcessName() == "biasWrapper(conv)") - { - fConversion = (*gammaProcesses)[i]; - break; - } + for (size_t i = 0; i < gammaProcesses->size(); ++i) { + if ((*gammaProcesses)[i]->GetProcessName() == "biasWrapper(conv)") { + fConversion = (*gammaProcesses)[i]; + break; } - + } + // ---- collect pi0 decay process: auto pi0Processes = G4PionZero::Definition()->GetProcessManager()->GetProcessList(); - for ( size_t i = 0; i < pi0Processes->size(); ++i ) - { - if ( (*pi0Processes)[i]->GetProcessName() == "biasWrapper(Decay)") - { - fDecay = (*pi0Processes)[i]; - break; - } + for (size_t i = 0; i < pi0Processes->size(); ++i) { + if ((*pi0Processes)[i]->GetProcessName() == "biasWrapper(Decay)") { + fDecay = (*pi0Processes)[i]; + break; } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void -GB07BOptrLeadingParticle:: -StartTracking( const G4Track* track ) +void GB07BOptrLeadingParticle::StartTracking(const G4Track* track) { // -- remember what is the two-particle final state process -if any- for this starting // -- track: fTwoParticleProcess = nullptr; - if ( track->GetDefinition() == G4Gamma ::Definition() ) fTwoParticleProcess = fConversion; - if ( track->GetDefinition() == G4Positron::Definition() ) fTwoParticleProcess = fAnnihilation; - if ( track->GetDefinition() == G4PionZero::Definition() ) fTwoParticleProcess = fDecay; + if (track->GetDefinition() == G4Gamma ::Definition()) fTwoParticleProcess = fConversion; + if (track->GetDefinition() == G4Positron::Definition()) fTwoParticleProcess = fAnnihilation; + if (track->GetDefinition() == G4PionZero::Definition()) fTwoParticleProcess = fDecay; } diff --git a/examples/extended/biasing/GB07/src/GB07DetectorConstruction.cc b/examples/extended/biasing/GB07/src/GB07DetectorConstruction.cc index 870cfc7e00d..51baa3ac2c7 100644 --- a/examples/extended/biasing/GB07/src/GB07DetectorConstruction.cc +++ b/examples/extended/biasing/GB07/src/GB07DetectorConstruction.cc @@ -27,92 +27,83 @@ /// \brief Implementation of the GB07DetectorConstruction class // #include "GB07DetectorConstruction.hh" -#include "G4SystemOfUnits.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "GB07BOptrLeadingParticle.hh" +#include "GB07SD.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4LogicalVolumeStore.hh" -#include "G4PVPlacement.hh" - +#include "G4Material.hh" #include "G4NistManager.hh" - -#include "GB07BOptrLeadingParticle.hh" - -#include "GB07SD.hh" +#include "G4PVPlacement.hh" #include "G4SDManager.hh" +#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB07DetectorConstruction::GB07DetectorConstruction() - : G4VUserDetectorConstruction() -{} +GB07DetectorConstruction::GB07DetectorConstruction() : G4VUserDetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB07DetectorConstruction::~GB07DetectorConstruction() -{} +GB07DetectorConstruction::~GB07DetectorConstruction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* GB07DetectorConstruction::Construct() { - G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Material* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); G4Material* defaultMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_CONCRETE"); - - G4VSolid* solidWorld = new G4Box("World", 10*m, 10*m, 10*m ); - - G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid - worldMaterial, // its material - "World"); // its name - - G4PVPlacement* 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 - + + G4VSolid* solidWorld = new G4Box("World", 10 * m, 10 * m, 10 * m); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid + worldMaterial, // its material + "World"); // its name + + G4PVPlacement* 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 + // ----------------------------------- // -- volume where biasing is applied: // ----------------------------------- - G4double halfZ = 1*m; - G4VSolid* solidTest = new G4Box("test.solid", 1*m, 1*m, halfZ ); - - G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, // its solid - defaultMaterial, // its material - "test.logical"); // its name - - new G4PVPlacement(0, // no rotation - G4ThreeVector(0,0, halfZ), // put entrance at (0,0,0) - logicTest, // its logical volume - "test.physical", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - - + G4double halfZ = 1 * m; + G4VSolid* solidTest = new G4Box("test.solid", 1 * m, 1 * m, halfZ); + + G4LogicalVolume* logicTest = new G4LogicalVolume(solidTest, // its solid + defaultMaterial, // its material + "test.logical"); // its name + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0, 0, halfZ), // put entrance at (0,0,0) + logicTest, // its logical volume + "test.physical", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + // ------------------------------------------------------------ // -- volume to tally exiting particles, put next to above one: // ------------------------------------------------------------ - G4double halfZtally = 0.5*mm; - G4VSolid* solidTally = new G4Box("tally.solid", 1*m, 1*m, halfZtally ); - G4LogicalVolume* logicTally = new G4LogicalVolume(solidTally, // its solid - worldMaterial, // its material - "tally.logical"); // its name - - new G4PVPlacement(0, // no rotation - G4ThreeVector(0,0, 2*halfZ + halfZtally), // put next to test.phys - logicTally, // its logical volume - "tally.physical", // its name - logicWorld, // its mother volume - false, // no boolean operation - 0); // copy number - - + G4double halfZtally = 0.5 * mm; + G4VSolid* solidTally = new G4Box("tally.solid", 1 * m, 1 * m, halfZtally); + G4LogicalVolume* logicTally = new G4LogicalVolume(solidTally, // its solid + worldMaterial, // its material + "tally.logical"); // its name + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0, 0, 2 * halfZ + halfZtally), // put next to test.phys + logicTally, // its logical volume + "tally.physical", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); // copy number + return physiWorld; } @@ -122,16 +113,15 @@ void GB07DetectorConstruction::ConstructSDandField() { // -- Fetch volume for biasing: G4LogicalVolume* logicTest = G4LogicalVolumeStore::GetInstance()->GetVolume("test.logical"); - + // ---------------------------------------------- // -- operator creation and attachment to volume: // ---------------------------------------------- - GB07BOptrLeadingParticle* testMany = new GB07BOptrLeadingParticle(); + GB07BOptrLeadingParticle* testMany = new GB07BOptrLeadingParticle(); testMany->AttachTo(logicTest); - G4cout << " Attaching biasing operator " << testMany->GetName() - << " to logical volume " << logicTest->GetName() - << G4endl; - + G4cout << " Attaching biasing operator " << testMany->GetName() << " to logical volume " + << logicTest->GetName() << G4endl; + // --------------------------------------------------------------------------------- // -- Attach sensitive detector to print information on particle exiting the shield: // --------------------------------------------------------------------------------- @@ -140,8 +130,7 @@ void GB07DetectorConstruction::ConstructSDandField() G4VSensitiveDetector* sd = new GB07SD("Tally"); SDman->AddNewDetector(sd); // -- Fetch volume for sensitivity and attach sensitive module to it: - G4LogicalVolume* logicSD = - G4LogicalVolumeStore::GetInstance()->GetVolume("tally.logical"); + G4LogicalVolume* logicSD = G4LogicalVolumeStore::GetInstance()->GetVolume("tally.logical"); logicSD->SetSensitiveDetector(sd); } diff --git a/examples/extended/biasing/GB07/src/GB07PrimaryGeneratorAction.cc b/examples/extended/biasing/GB07/src/GB07PrimaryGeneratorAction.cc index 578dee7e3dc..b0176f09a35 100644 --- a/examples/extended/biasing/GB07/src/GB07PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/GB07/src/GB07PrimaryGeneratorAction.cc @@ -27,30 +27,29 @@ /// \brief Implementation of the GB07PrimaryGeneratorAction class // #include "GB07PrimaryGeneratorAction.hh" -#include "G4SystemOfUnits.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" +#include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB07PrimaryGeneratorAction::GB07PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction() +GB07PrimaryGeneratorAction::GB07PrimaryGeneratorAction() : G4VUserPrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle = particleTable->FindParticle(particleName="proton"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "proton"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(10.*GeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-50*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(10. * GeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -50 * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/GB07/src/GB07SD.cc b/examples/extended/biasing/GB07/src/GB07SD.cc index 12d56dba73d..83ed7d4d84a 100644 --- a/examples/extended/biasing/GB07/src/GB07SD.cc +++ b/examples/extended/biasing/GB07/src/GB07SD.cc @@ -29,38 +29,28 @@ // #include "GB07SD.hh" -#include "G4Track.hh" + #include "G4Step.hh" #include "G4SystemOfUnits.hh" - +#include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GB07SD::GB07SD(G4String name) -: G4VSensitiveDetector(name) -{} +GB07SD::GB07SD(G4String name) : G4VSensitiveDetector(name) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool GB07SD::ProcessHits(G4Step* step, G4TouchableHistory*) { - auto track = step->GetTrack(); + auto track = step->GetTrack(); auto preStepPoint = step->GetPreStepPoint(); - G4cout << std::setw(14) - << track->GetParticleDefinition()->GetParticleName() - << ", kinetic energy (MeV) = " - << std::setw(12) << preStepPoint->GetKineticEnergy()/MeV - << ", position (cm) = " - << preStepPoint->GetPosition()/cm - << ",\t weight = " - << preStepPoint->GetWeight() - << G4endl; + G4cout << std::setw(14) << track->GetParticleDefinition()->GetParticleName() + << ", kinetic energy (MeV) = " << std::setw(12) << preStepPoint->GetKineticEnergy() / MeV + << ", position (cm) = " << preStepPoint->GetPosition() / cm + << ",\t weight = " << preStepPoint->GetWeight() << G4endl; return true; - } -GB07SD::~GB07SD() -{ -} +GB07SD::~GB07SD() {} diff --git a/examples/extended/biasing/History b/examples/extended/biasing/History index 98d2d63fd35..4d519ae0a45 100644 --- a/examples/extended/biasing/History +++ b/examples/extended/biasing/History @@ -4,7 +4,8 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! -## 2024-03-20 L.G. Sarmiento (exbiasing-V11-01-01) + +## 2024-03-20 L.G. Sarmiento (exbiasing-V11-02-00) - Fixed broken link from "Further information:" - updated from old `http://cern.ch/geant4/working_groups` site. Triggerred by [user forum](https://geant4-forum.web.cern.ch/t/help-me-find-information-on-biasing/11922/5) diff --git a/examples/extended/biasing/ReverseMC01/exampleRMC01.cc b/examples/extended/biasing/ReverseMC01/exampleRMC01.cc index 505a430b44d..7ea8321a85c 100644 --- a/examples/extended/biasing/ReverseMC01/exampleRMC01.cc +++ b/examples/extended/biasing/ReverseMC01/exampleRMC01.cc @@ -42,43 +42,37 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" - -#include "Randomize.hh" - -#include "G4VisExecutive.hh" -#include "G4UIExecutive.hh" - -#include "G4AdjointSimManager.hh" +#include "RMC01AdjointEventAction.hh" #include "RMC01DetectorConstruction.hh" -#include "RMC01PrimaryGeneratorAction.hh" #include "RMC01EventAction.hh" +#include "RMC01PrimaryGeneratorAction.hh" #include "RMC01RunAction.hh" -#include "G4AdjointPhysicsList.hh" +#include "G4AdjointPhysicsList.hh" #include "G4AdjointSimManager.hh" -#include "RMC01AdjointEventAction.hh" +#include "G4RunManagerFactory.hh" +#include "G4Types.hh" +#include "G4UIExecutive.hh" +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - +int main(int argc, char** argv) +{ // Instantiate G4UIExecutive if interactive mode G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { + if (argc == 1) { ui = new G4UIExecutive(argc, argv); } // Construct a serial run manager auto* theRunManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly); - RMC01DetectorConstruction* detector = new RMC01DetectorConstruction(); - //Physics and geometry are declared as in a normal G4 application + // Physics and geometry are declared as in a normal G4 application //-------------------------------------------- theRunManager->SetUserInitialization(detector); theRunManager->SetUserInitialization(new G4AdjointPhysicsList); @@ -88,17 +82,16 @@ int main(int argc,char** argv) { RMC01RunAction* theRunAction = new RMC01RunAction; theRunManager->SetUserAction(theRunAction); - //The adjoint simulation manager will control the Reverse MC mode + // The adjoint simulation manager will control the Reverse MC mode //--------------------------------------------------------------- - G4AdjointSimManager* theAdjointSimManager - = G4AdjointSimManager::GetInstance(); + G4AdjointSimManager* theAdjointSimManager = G4AdjointSimManager::GetInstance(); - //It is possible to define action that will be used during - // the adjoint tracking phase + // It is possible to define action that will be used during + // the adjoint tracking phase theAdjointSimManager->SetAdjointRunAction(theRunAction); - //theAdjointSimManager->SetAdjointEventAction(new RMC01AdjointEventAction); + // theAdjointSimManager->SetAdjointEventAction(new RMC01AdjointEventAction); theAdjointSimManager->SetAdjointEventAction(new RMC01EventAction); // visualization manager @@ -108,17 +101,16 @@ int main(int argc,char** argv) { // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (!ui) // batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); - } - else - { // interactive mode : define UI session - ui->SessionStart(); - delete ui; - } + if (!ui) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); + } + else { // interactive mode : define UI session + ui->SessionStart(); + delete ui; + } // job termination delete visManager; diff --git a/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsList.hh b/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsList.hh index 350cdcf59c5..b2a3640ad52 100644 --- a/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsList.hh +++ b/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsList.hh @@ -47,71 +47,68 @@ #ifndef G4AdjointPhysicsList_h #define G4AdjointPhysicsList_h 1 #include "G4VUserPhysicsList.hh" -#include "globals.hh" #include "G4eIonisation.hh" #include "G4hIonisation.hh" +#include "globals.hh" class G4AdjointPhysicsMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class G4AdjointPhysicsList: public G4VUserPhysicsList +class G4AdjointPhysicsList : public G4VUserPhysicsList { public: - G4AdjointPhysicsList(); - virtual ~G4AdjointPhysicsList(); - void SetLossFluctuationFlag(bool aBool); - inline void SetUseIonisation(bool aBool){fUse_eionisation = aBool;} - inline void SetUseProtonIonisation(bool aBool){fUse_pionisation = aBool;} - inline void SetUseBrem(bool aBool){fUse_brem = aBool;} - inline void SetUseCompton(bool aBool){fUse_compton = aBool;} - inline void SetUseMS(bool aBool){fUse_ms = aBool;} - inline void SetUsePEEffect(bool aBool){fUse_peeffect = aBool;} - inline void SetUseGammaConversion(bool aBool){ fUse_gamma_conversion - = aBool;} - inline void SetUseEgainFluctuation(bool aBool){ fUse_egain_fluctuation - = aBool;} - inline void SetEminAdjModels(G4double aVal){ fEmin_adj_models = aVal;} - inline void SetEmaxAdjModels(G4double aVal){ fEmax_adj_models = aVal;} - + G4AdjointPhysicsList(); + virtual ~G4AdjointPhysicsList(); + void SetLossFluctuationFlag(bool aBool); + inline void SetUseIonisation(bool aBool) { fUse_eionisation = aBool; } + inline void SetUseProtonIonisation(bool aBool) { fUse_pionisation = aBool; } + inline void SetUseBrem(bool aBool) { fUse_brem = aBool; } + inline void SetUseCompton(bool aBool) { fUse_compton = aBool; } + inline void SetUseMS(bool aBool) { fUse_ms = aBool; } + inline void SetUsePEEffect(bool aBool) { fUse_peeffect = aBool; } + inline void SetUseGammaConversion(bool aBool) { fUse_gamma_conversion = aBool; } + inline void SetUseEgainFluctuation(bool aBool) { fUse_egain_fluctuation = aBool; } + inline void SetEminAdjModels(G4double aVal) { fEmin_adj_models = aVal; } + inline void SetEmaxAdjModels(G4double aVal) { fEmax_adj_models = aVal; } + protected: // Construct particle and physics - virtual void ConstructParticle(); - virtual void ConstructProcess(); - virtual void SetCuts(); + virtual void ConstructParticle(); + virtual void ConstructProcess(); + virtual void SetCuts(); - // these methods Construct particles - void ConstructBosons(); - void ConstructLeptons(); - void ConstructMesons(); - void ConstructBaryons(); - void ConstructAdjointParticles(); + // these methods Construct particles + void ConstructBosons(); + void ConstructLeptons(); + void ConstructMesons(); + void ConstructBaryons(); + void ConstructAdjointParticles(); // these methods Construct physics processes and register them - void ConstructGeneral(); - void ConstructEM(); - G4eIonisation* fEminusIonisation; - G4hIonisation* fPIonisation; + void ConstructGeneral(); + void ConstructEM(); + G4eIonisation* fEminusIonisation; + G4hIonisation* fPIonisation; private: - G4AdjointPhysicsMessenger* fPhysicsMessenger; - G4bool fUse_forced_interaction; - G4bool fUse_eionisation; - G4bool fUse_pionisation; - G4bool fUse_brem; - G4bool fUse_compton; - G4bool fUse_ms; - G4bool fUse_egain_fluctuation; - G4bool fUse_peeffect; - G4bool fUse_gamma_conversion; - G4double fEmin_adj_models; - G4double fEmax_adj_models; - G4double fCS_biasing_factor_compton; - G4double fCS_biasing_factor_brem; - G4double fCS_biasing_factor_ionisation; - G4double fCS_biasing_factor_PEeffect; + G4AdjointPhysicsMessenger* fPhysicsMessenger; + G4bool fUse_forced_interaction; + G4bool fUse_eionisation; + G4bool fUse_pionisation; + G4bool fUse_brem; + G4bool fUse_compton; + G4bool fUse_ms; + G4bool fUse_egain_fluctuation; + G4bool fUse_peeffect; + G4bool fUse_gamma_conversion; + G4double fEmin_adj_models; + G4double fEmax_adj_models; + G4double fCS_biasing_factor_compton; + G4double fCS_biasing_factor_brem; + G4double fCS_biasing_factor_ionisation; + G4double fCS_biasing_factor_PEeffect; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsMessenger.hh b/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsMessenger.hh index 814d8ced45f..aaa1041fade 100644 --- a/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsMessenger.hh +++ b/examples/extended/biasing/ReverseMC01/include/G4AdjointPhysicsMessenger.hh @@ -46,8 +46,8 @@ #ifndef G4AdjointPhysicsMessenger_h #define G4AdjointPhysicsMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class G4AdjointPhysicsList; class G4UIdirectory; class G4UIcmdWithAString; @@ -60,30 +60,29 @@ class G4UIcmdWithADouble; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class G4AdjointPhysicsMessenger: public G4UImessenger +class G4AdjointPhysicsMessenger : public G4UImessenger { - public: - G4AdjointPhysicsMessenger(G4AdjointPhysicsList* ); - virtual ~G4AdjointPhysicsMessenger(); - virtual void SetNewValue(G4UIcommand*, G4String); - - private: - G4AdjointPhysicsList* fPhysicsList; - G4UIdirectory* fPhysicsDir; - - //Physics Model - G4UIcmdWithABool* fUsepIonisationCmd; - G4UIcmdWithABool* fUseBremCmd; - G4UIcmdWithABool* fUseComptonCmd; - G4UIcmdWithABool* fUseMSCmd; - G4UIcmdWithABool* fUsePEEffectCmd; - G4UIcmdWithABool* fUseGammaConversionCmd; - G4UIcmdWithABool* fUseEgainFluctuationCmd; - G4UIcmdWithADoubleAndUnit* fSetEminAdjModelsCmd; - G4UIcmdWithADoubleAndUnit* fSetEmaxAdjModelsCmd; + public: + G4AdjointPhysicsMessenger(G4AdjointPhysicsList*); + virtual ~G4AdjointPhysicsMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); + + private: + G4AdjointPhysicsList* fPhysicsList; + G4UIdirectory* fPhysicsDir; + + // Physics Model + G4UIcmdWithABool* fUsepIonisationCmd; + G4UIcmdWithABool* fUseBremCmd; + G4UIcmdWithABool* fUseComptonCmd; + G4UIcmdWithABool* fUseMSCmd; + G4UIcmdWithABool* fUsePEEffectCmd; + G4UIcmdWithABool* fUseGammaConversionCmd; + G4UIcmdWithABool* fUseEgainFluctuationCmd; + G4UIcmdWithADoubleAndUnit* fSetEminAdjModelsCmd; + G4UIcmdWithADoubleAndUnit* fSetEmaxAdjModelsCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01AdjointEventAction.hh b/examples/extended/biasing/ReverseMC01/include/RMC01AdjointEventAction.hh index fd6a97c7cd1..ebc48c12995 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01AdjointEventAction.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01AdjointEventAction.hh @@ -56,16 +56,14 @@ class RMC01AdjointEventActionMessenger; class RMC01AdjointEventAction : public G4UserEventAction { - public: - RMC01AdjointEventAction(); - virtual ~RMC01AdjointEventAction(); - - virtual void BeginOfEventAction(const G4Event*); - virtual void EndOfEventAction(const G4Event*); + public: + RMC01AdjointEventAction(); + virtual ~RMC01AdjointEventAction(); + + virtual void BeginOfEventAction(const G4Event*); + virtual void EndOfEventAction(const G4Event*); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManager.hh b/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManager.hh index 1890f6b7347..ef2b42343b8 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManager.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManager.hh @@ -54,20 +54,25 @@ #ifndef RMC01AnalysisManager_HH #define RMC01AnalysisManager_HH -#include"G4ios.hh" -#include -#include"globals.hh" +#include "G4AnalysisManager.hh" +#include "G4Event.hh" +#include "G4Run.hh" +#include "G4ThreeVector.hh" +#include "G4ios.hh" +#include "g4hntools_defs.hh" +#include "globals.hh" + #include -#include"G4ThreeVector.hh" -#include"G4Event.hh" -#include"G4Run.hh" -#include"G4AnalysisManager.hh" -#include"g4hntools_defs.hh" +#include class G4Timer; class RMC01AnalysisManagerMessenger; -enum PRIM_SPECTRUM_TYPE{EXPO,POWER}; +enum PRIM_SPECTRUM_TYPE +{ + EXPO, + POWER +}; class G4Step; @@ -75,113 +80,104 @@ class G4Step; class RMC01AnalysisManager { -public: - - ~RMC01AnalysisManager(); - static RMC01AnalysisManager* GetInstance(); - - void BeginOfRun(const G4Run*); - void EndOfRun(const G4Run*); - void BeginOfEvent(const G4Event*); - void EndOfEvent(const G4Event*); - - void SetPrimaryExpSpectrumForAdjointSim( - const G4String& particle_name, - G4double fluence, - G4double E0, G4double Emin,G4double Emax); - void SetPrimaryPowerLawSpectrumForAdjointSim( - const G4String& particle_name,G4double fluence, - G4double alpha, G4double Emin,G4double Emax); - //precision of the simulation results is given in % by the user - inline void SetPrecision(G4double precision){ - fPrecision_to_reach =precision/100.;}; - - //Booking and saving of histograms - void Book(); - void Save(G4double scaling_factor); - -private: - - static RMC01AnalysisManager* fInstance; - - RMC01AnalysisManager(); - - void EndOfEventForForwardSimulation(const G4Event* anEvent); - void EndOfEventForAdjointSimulation(const G4Event* anEvent); - G4double PrimDiffAndDirFluxForAdjointSim(G4double prim_energy); - /* - void WriteHisto(G4H1* anHisto, G4double scaling_factor, - G4String fileName, G4String header_lines); - void WriteHisto(G4H2* anHisto, G4double scaling_factor, - G4String fileName, G4String header_lines); - */ - void ComputeMeanEdepAndError(const G4Event* anEvent, - G4double& mean,G4double& error); - - RMC01AnalysisManagerMessenger* fMsg; - - //Histos for fwd simulation - //-------------- - G4H1* fEdep_vs_prim_ekin; - G4H1* fElectron_current; - G4H1* fProton_current; - G4H1* fGamma_current; - - //Fluence - //------------ - //G4double fOmni_fluence_for_fwd_sim; - - //Variable to check the convergence of the energy deposited - // for forward and adjoint simulations - //--------------------------------------------------------- - G4double fAccumulated_edep; - G4double fAccumulated_edep2; - G4double fNentry; - G4double fMean_edep; - G4double fError_mean_edep; - G4double fRelative_error; - G4double fElapsed_time; - G4double fPrecision_to_reach; - G4bool fStop_run_if_precision_reached; - G4int fNb_evt_modulo_for_convergence_test; - - - //Histos for forward and adjoint simulation - //----------------------------- - G4H1* fEdep_rmatrix_vs_electron_prim_energy; - G4H2* fElectron_current_rmatrix_vs_electron_prim_energy; - G4H2* fGamma_current_rmatrix_vs_electron_prim_energy; - - G4H1* fEdep_rmatrix_vs_gamma_prim_energy; - G4H2* fElectron_current_rmatrix_vs_gamma_prim_energy; - G4H2* fGamma_current_rmatrix_vs_gamma_prim_energy; - - G4H1* fEdep_rmatrix_vs_proton_prim_energy; - G4H2* fElectron_current_rmatrix_vs_proton_prim_energy; - G4H2* fProton_current_rmatrix_vs_proton_prim_energy; - G4H2* fGamma_current_rmatrix_vs_proton_prim_energy; - - G4String fFileName[2]; - G4bool fFactoryOn; - - - //Prim spectrum to which the adjoint simulation will be normalised - //Answer matrices will be also registered for post processing - //normalisation - //-------------------------------------------------------- - PRIM_SPECTRUM_TYPE fPrimSpectrumType; - G4int fPrimPDG_ID; - G4double fAlpha_or_E0; - G4double fAmplitude_prim_spectrum; - G4double fEmin_prim_spectrum; - G4double fEmax_prim_spectrum; - G4bool fAdjoint_sim_mode; - G4int fNb_evt_per_adj_evt; - - //Timer - //------ - G4Timer* fTimer; - std::fstream fConvergenceFileOutput; + public: + ~RMC01AnalysisManager(); + static RMC01AnalysisManager* GetInstance(); + + void BeginOfRun(const G4Run*); + void EndOfRun(const G4Run*); + void BeginOfEvent(const G4Event*); + void EndOfEvent(const G4Event*); + + void SetPrimaryExpSpectrumForAdjointSim(const G4String& particle_name, G4double fluence, + G4double E0, G4double Emin, G4double Emax); + void SetPrimaryPowerLawSpectrumForAdjointSim(const G4String& particle_name, G4double fluence, + G4double alpha, G4double Emin, G4double Emax); + // precision of the simulation results is given in % by the user + inline void SetPrecision(G4double precision) { fPrecision_to_reach = precision / 100.; }; + + // Booking and saving of histograms + void Book(); + void Save(G4double scaling_factor); + + private: + static RMC01AnalysisManager* fInstance; + + RMC01AnalysisManager(); + + void EndOfEventForForwardSimulation(const G4Event* anEvent); + void EndOfEventForAdjointSimulation(const G4Event* anEvent); + G4double PrimDiffAndDirFluxForAdjointSim(G4double prim_energy); + /* + void WriteHisto(G4H1* anHisto, G4double scaling_factor, + G4String fileName, G4String header_lines); + void WriteHisto(G4H2* anHisto, G4double scaling_factor, + G4String fileName, G4String header_lines); + */ + void ComputeMeanEdepAndError(const G4Event* anEvent, G4double& mean, G4double& error); + + RMC01AnalysisManagerMessenger* fMsg; + + // Histos for fwd simulation + //-------------- + G4H1* fEdep_vs_prim_ekin; + G4H1* fElectron_current; + G4H1* fProton_current; + G4H1* fGamma_current; + + // Fluence + //------------ + // G4double fOmni_fluence_for_fwd_sim; + + // Variable to check the convergence of the energy deposited + // for forward and adjoint simulations + //--------------------------------------------------------- + G4double fAccumulated_edep; + G4double fAccumulated_edep2; + G4double fNentry; + G4double fMean_edep; + G4double fError_mean_edep; + G4double fRelative_error; + G4double fElapsed_time; + G4double fPrecision_to_reach; + G4bool fStop_run_if_precision_reached; + G4int fNb_evt_modulo_for_convergence_test; + + // Histos for forward and adjoint simulation + //----------------------------- + G4H1* fEdep_rmatrix_vs_electron_prim_energy; + G4H2* fElectron_current_rmatrix_vs_electron_prim_energy; + G4H2* fGamma_current_rmatrix_vs_electron_prim_energy; + + G4H1* fEdep_rmatrix_vs_gamma_prim_energy; + G4H2* fElectron_current_rmatrix_vs_gamma_prim_energy; + G4H2* fGamma_current_rmatrix_vs_gamma_prim_energy; + + G4H1* fEdep_rmatrix_vs_proton_prim_energy; + G4H2* fElectron_current_rmatrix_vs_proton_prim_energy; + G4H2* fProton_current_rmatrix_vs_proton_prim_energy; + G4H2* fGamma_current_rmatrix_vs_proton_prim_energy; + + G4String fFileName[2]; + G4bool fFactoryOn; + + // Prim spectrum to which the adjoint simulation will be normalised + // Answer matrices will be also registered for post processing + // normalisation + //-------------------------------------------------------- + PRIM_SPECTRUM_TYPE fPrimSpectrumType; + G4int fPrimPDG_ID; + G4double fAlpha_or_E0; + G4double fAmplitude_prim_spectrum; + G4double fEmin_prim_spectrum; + G4double fEmax_prim_spectrum; + G4bool fAdjoint_sim_mode; + G4int fNb_evt_per_adj_evt; + + // Timer + //------ + G4Timer* fTimer; + std::fstream fConvergenceFileOutput; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManagerMessenger.hh b/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManagerMessenger.hh index 9e57d07ebe1..db0402ddd68 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManagerMessenger.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01AnalysisManagerMessenger.hh @@ -47,8 +47,8 @@ #ifndef RMC01AnalysisManagerMessenger_h #define RMC01AnalysisManagerMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class RMC01AnalysisManager; class G4UIdirectory; @@ -56,20 +56,20 @@ class G4UIcmdWithADouble; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class RMC01AnalysisManagerMessenger: public G4UImessenger +class RMC01AnalysisManagerMessenger : public G4UImessenger { public: - RMC01AnalysisManagerMessenger(RMC01AnalysisManager* ); - + RMC01AnalysisManagerMessenger(RMC01AnalysisManager*); + virtual ~RMC01AnalysisManagerMessenger(); - + virtual void SetNewValue(G4UIcommand*, G4String); - + private: RMC01AnalysisManager* fAnalysisManager; - - G4UIdirectory* fAnalysisDir; - + + G4UIdirectory* fAnalysisDir; + G4UIcmdWithADouble* fSetPrecisionForConvergenceTestCmd; G4UIcommand* fSetExpSpectrumToNormaliseAdjResCmd; G4UIcommand* fSetPowerLawSpectrumToNormaliseAdjResCmd; @@ -78,4 +78,3 @@ class RMC01AnalysisManagerMessenger: public G4UImessenger //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01DetectorConstruction.hh b/examples/extended/biasing/ReverseMC01/include/RMC01DetectorConstruction.hh index 38207b93568..3c65becafc9 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01DetectorConstruction.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01DetectorConstruction.hh @@ -57,30 +57,28 @@ class RMC01DetectorMessenger; class RMC01DetectorConstruction : public G4VUserDetectorConstruction { public: - - RMC01DetectorConstruction(); + RMC01DetectorConstruction(); virtual ~RMC01DetectorConstruction(); virtual G4VPhysicalVolume* Construct(); void UpdateGeometry(); - + void SetSensitiveVolumeHeight(G4double h); void SetSensitiveVolumeRadius(G4double r); - + void SetShieldingThickness(G4double d); - + private: - - RMC01DetectorMessenger* fDetectorMessenger; //pointer to the Messenger - - //Geometrical parameters - //---------------------- + RMC01DetectorMessenger* fDetectorMessenger; // pointer to the Messenger + + // Geometrical parameters + //---------------------- G4double fShield_Thickness; G4double fSensitive_cylinder_H; G4double fSensitive_cylinder_Rout; - + void DefineMaterials(); - G4VPhysicalVolume* ConstructSimpleGeometry(); + G4VPhysicalVolume* ConstructSimpleGeometry(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01DetectorMessenger.hh b/examples/extended/biasing/ReverseMC01/include/RMC01DetectorMessenger.hh index c63368c43ea..f431ab7838f 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01DetectorMessenger.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01DetectorMessenger.hh @@ -47,8 +47,8 @@ #ifndef RMC01DetectorMessenger_h #define RMC01DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class RMC01DetectorConstruction; class G4UIdirectory; @@ -59,27 +59,26 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class RMC01DetectorMessenger: public G4UImessenger +class RMC01DetectorMessenger : public G4UImessenger { public: - RMC01DetectorMessenger(RMC01DetectorConstruction* ); - + RMC01DetectorMessenger(RMC01DetectorConstruction*); + virtual ~RMC01DetectorMessenger(); - + virtual void SetNewValue(G4UIcommand*, G4String); - + private: RMC01DetectorConstruction* fTheDetector; - - G4UIdirectory* fGeneralDir; - G4UIdirectory* fDetDir; - - G4UIcmdWithADoubleAndUnit* fSetSensitiveVolumeHeightCmd; - G4UIcmdWithADoubleAndUnit* fSetSensitiveVolumeRadiusCmd; - G4UIcmdWithADoubleAndUnit* fSetShieldingThicknessCmd; + + G4UIdirectory* fGeneralDir; + G4UIdirectory* fDetDir; + + G4UIcmdWithADoubleAndUnit* fSetSensitiveVolumeHeightCmd; + G4UIcmdWithADoubleAndUnit* fSetSensitiveVolumeRadiusCmd; + G4UIcmdWithADoubleAndUnit* fSetShieldingThicknessCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01DoubleWithWeightHit.hh b/examples/extended/biasing/ReverseMC01/include/RMC01DoubleWithWeightHit.hh index 39d5b612b36..67d82e9fd4e 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01DoubleWithWeightHit.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01DoubleWithWeightHit.hh @@ -47,61 +47,58 @@ #ifndef RMC01DoubleWithWeightHit_h #define RMC01DoubleWithWeightHit_h 1 -#include "G4VHit.hh" -#include "G4THitsCollection.hh" #include "G4Allocator.hh" +#include "G4THitsCollection.hh" +#include "G4VHit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class RMC01DoubleWithWeightHit : public G4VHit { -public: - RMC01DoubleWithWeightHit(G4double value, G4double weight); - virtual ~RMC01DoubleWithWeightHit(); - - RMC01DoubleWithWeightHit(const RMC01DoubleWithWeightHit &right); - - const RMC01DoubleWithWeightHit& operator = (const RMC01DoubleWithWeightHit &right); - - G4bool operator == (const RMC01DoubleWithWeightHit &right) const; - - inline void *operator new(size_t); - inline void operator delete(void *aHit); - - // Methods to get the information - energy deposit and associated - // position in the phantom - of the hits stored in the hits collection - - inline G4double GetValue() {return fValue;} - - inline G4double GetWeight() {return fWeight;} - -private: - - G4double fValue; // It can be anything - G4double fWeight; + public: + RMC01DoubleWithWeightHit(G4double value, G4double weight); + virtual ~RMC01DoubleWithWeightHit(); + + RMC01DoubleWithWeightHit(const RMC01DoubleWithWeightHit& right); + + const RMC01DoubleWithWeightHit& operator=(const RMC01DoubleWithWeightHit& right); + + G4bool operator==(const RMC01DoubleWithWeightHit& right) const; + + inline void* operator new(size_t); + inline void operator delete(void* aHit); + + // Methods to get the information - energy deposit and associated + // position in the phantom - of the hits stored in the hits collection + + inline G4double GetValue() { return fValue; } + + inline G4double GetWeight() { return fWeight; } + + private: + G4double fValue; // It can be anything + G4double fWeight; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -typedef G4THitsCollection - RMC01DoubleWithWeightHitsCollection; +typedef G4THitsCollection RMC01DoubleWithWeightHitsCollection; extern G4Allocator RMC01DoubleWithWeightHitAllocator; inline void* RMC01DoubleWithWeightHit::operator new(size_t) { - void *aHit; - aHit = (void *) RMC01DoubleWithWeightHitAllocator.MallocSingle(); + void* aHit; + aHit = (void*)RMC01DoubleWithWeightHitAllocator.MallocSingle(); return aHit; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void RMC01DoubleWithWeightHit::operator delete(void *aHit) +inline void RMC01DoubleWithWeightHit::operator delete(void* aHit) { - RMC01DoubleWithWeightHitAllocator.FreeSingle((RMC01DoubleWithWeightHit*) aHit); + RMC01DoubleWithWeightHitAllocator.FreeSingle((RMC01DoubleWithWeightHit*)aHit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01EventAction.hh b/examples/extended/biasing/ReverseMC01/include/RMC01EventAction.hh index c8ba6ffb13d..0279208158c 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01EventAction.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01EventAction.hh @@ -52,16 +52,14 @@ class RMC01EventActionMessenger; class RMC01EventAction : public G4UserEventAction { - public: - RMC01EventAction(); - virtual ~RMC01EventAction(); + public: + RMC01EventAction(); + virtual ~RMC01EventAction(); - virtual void BeginOfEventAction(const G4Event*); - virtual void EndOfEventAction(const G4Event*); + virtual void BeginOfEventAction(const G4Event*); + virtual void EndOfEventAction(const G4Event*); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01PrimaryGeneratorAction.hh b/examples/extended/biasing/ReverseMC01/include/RMC01PrimaryGeneratorAction.hh index 28eb8b00381..fc5565a8320 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01PrimaryGeneratorAction.hh @@ -46,20 +46,20 @@ #ifndef RMC01PrimaryGeneratorAction_h #define RMC01PrimaryGeneratorAction_h 1 +#include "G4GeneralParticleSource.hh" #include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" -#include "G4GeneralParticleSource.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class RMC01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - RMC01PrimaryGeneratorAction(); + RMC01PrimaryGeneratorAction(); virtual ~RMC01PrimaryGeneratorAction(); virtual void GeneratePrimaries(G4Event*); - + private: G4GeneralParticleSource* fParticleSource; }; @@ -67,4 +67,3 @@ class RMC01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01RunAction.hh b/examples/extended/biasing/ReverseMC01/include/RMC01RunAction.hh index 58d0f42152f..3be9f6a0b04 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01RunAction.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01RunAction.hh @@ -49,6 +49,7 @@ #include "G4UserRunAction.hh" #include "globals.hh" + #include class G4Run; @@ -58,17 +59,17 @@ class RMC01AnalysisManager; class RMC01RunAction : public G4UserRunAction { -public: - // constructor and destructor - RMC01RunAction(); - virtual ~RMC01RunAction(); + public: + // constructor and destructor + RMC01RunAction(); + virtual ~RMC01RunAction(); - // virtual method from G4UserRunAction. - virtual void BeginOfRunAction(const G4Run*); - virtual void EndOfRunAction(const G4Run*); + // virtual method from G4UserRunAction. + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); -private: - RMC01AnalysisManager* fAnalysisManager; + private: + RMC01AnalysisManager* fAnalysisManager; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/include/RMC01SD.hh b/examples/extended/biasing/ReverseMC01/include/RMC01SD.hh index 77ac3412246..edab0d0386d 100644 --- a/examples/extended/biasing/ReverseMC01/include/RMC01SD.hh +++ b/examples/extended/biasing/ReverseMC01/include/RMC01SD.hh @@ -47,8 +47,8 @@ #ifndef RMC01SD_h #define RMC01SD_h 1 -#include "G4VSensitiveDetector.hh" #include "G4ThreeVector.hh" +#include "G4VSensitiveDetector.hh" class G4Step; class G4HCofThisEvent; @@ -56,9 +56,10 @@ class G4StepPoint; class G4LogicalVolume; class G4VPhysicalVolume; -#include"G4THitsCollection.hh" -#include"G4ios.hh" -#include"RMC01DoubleWithWeightHit.hh" +#include "RMC01DoubleWithWeightHit.hh" + +#include "G4THitsCollection.hh" +#include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -67,9 +68,9 @@ class RMC01SD : public G4VSensitiveDetector public: RMC01SD(G4String name); virtual ~RMC01SD(); - virtual void Initialize(G4HCofThisEvent*HCE); - virtual G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist); - virtual void EndOfEvent(G4HCofThisEvent*HCE); + virtual void Initialize(G4HCofThisEvent* HCE); + virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist); + virtual void EndOfEvent(G4HCofThisEvent* HCE); virtual void Clear(); virtual void DrawAll(); virtual void PrintAll(); @@ -85,4 +86,3 @@ class RMC01SD : public G4VSensitiveDetector //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/ReverseMC01/run_adjoint_simulation_electron.out b/examples/extended/biasing/ReverseMC01/run_adjoint_simulation_electron.out index b0b664757cb..305a1a11ff4 100644 --- a/examples/extended/biasing/ReverseMC01/run_adjoint_simulation_electron.out +++ b/examples/extended/biasing/ReverseMC01/run_adjoint_simulation_electron.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -41,14 +41,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -419,7 +426,7 @@ nb event 195000 Run terminated. Run Summary Number of events processed : 200000 - User=75.730000s Real=95.126132s Sys=0.110000s + User=75.930000s Real=90.406852s Sys=0.090000s Results of reverse/adjoint simulation! normalised edep [MeV] = 0.00163827 error[MeV] = 1.70862e-05 @@ -428,6 +435,6 @@ error[MeV] = 1.70862e-05 Graphics systems deleted. Visualization Manager deleting... ================== Deleting memory pools =================== -Number of memory pools allocated: 14 of which, static: 1 -Dynamic pools deleted: 13 / Total memory freed: 32 MB +Number of memory pools allocated: 12 of which, static: 1 +Dynamic pools deleted: 11 / Total memory freed: 32 MB ============================================================ diff --git a/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc b/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc index f191eda0a4a..85dbadb37c6 100644 --- a/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc +++ b/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc @@ -39,40 +39,47 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4AdjointPhysicsList.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" + #include "G4AdjointPhysicsMessenger.hh" +#include "G4ParticleTypes.hh" +#include "G4ProcessManager.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4AdjointPhysicsList::G4AdjointPhysicsList() - :G4VUserPhysicsList(), - fEminusIonisation(0),fPIonisation(0), - fUse_forced_interaction(true), - fUse_eionisation(true),fUse_pionisation(true), - fUse_brem(true),fUse_compton(true),fUse_ms(true), - fUse_egain_fluctuation(true),fUse_peeffect(true), - fEmin_adj_models(1.*keV), fEmax_adj_models(1.*MeV), - fCS_biasing_factor_compton(1.),fCS_biasing_factor_brem(1.), - fCS_biasing_factor_ionisation(1.),fCS_biasing_factor_PEeffect(1.) + : G4VUserPhysicsList(), + fEminusIonisation(0), + fPIonisation(0), + fUse_forced_interaction(true), + fUse_eionisation(true), + fUse_pionisation(true), + fUse_brem(true), + fUse_compton(true), + fUse_ms(true), + fUse_egain_fluctuation(true), + fUse_peeffect(true), + fEmin_adj_models(1. * keV), + fEmax_adj_models(1. * MeV), + fCS_biasing_factor_compton(1.), + fCS_biasing_factor_brem(1.), + fCS_biasing_factor_ionisation(1.), + fCS_biasing_factor_PEeffect(1.) { - defaultCutValue = 1.0*mm; + defaultCutValue = 1.0 * mm; SetVerboseLevel(1); fPhysicsMessenger = new G4AdjointPhysicsMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4AdjointPhysicsList::~G4AdjointPhysicsList() -{ -} +G4AdjointPhysicsList::~G4AdjointPhysicsList() {} void G4AdjointPhysicsList::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. + // created in the program. ConstructBosons(); ConstructLeptons(); ConstructMesons(); @@ -84,7 +91,7 @@ void G4AdjointPhysicsList::ConstructParticle() void G4AdjointPhysicsList::SetLossFluctuationFlag(bool aBool) { - if (fEminusIonisation) fEminusIonisation->SetLossFluctuations(aBool); + if (fEminusIonisation) fEminusIonisation->SetLossFluctuations(aBool); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -122,7 +129,7 @@ void G4AdjointPhysicsList::ConstructLeptons() void G4AdjointPhysicsList::ConstructMesons() { -// mesons + // mesons G4PionPlus::PionPlusDefinition(); G4PionMinus::PionMinusDefinition(); G4PionZero::PionZeroDefinition(); @@ -140,7 +147,7 @@ void G4AdjointPhysicsList::ConstructMesons() void G4AdjointPhysicsList::ConstructBaryons() { -// barions + // barions G4Proton::ProtonDefinition(); G4AntiProton::AntiProtonDefinition(); G4Neutron::NeutronDefinition(); @@ -149,18 +156,18 @@ void G4AdjointPhysicsList::ConstructBaryons() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include"G4AdjointGamma.hh" -#include"G4AdjointElectron.hh" -#include"G4AdjointProton.hh" +#include "G4AdjointElectron.hh" +#include "G4AdjointGamma.hh" +#include "G4AdjointProton.hh" void G4AdjointPhysicsList::ConstructAdjointParticles() { -// adjoint_gammma + // adjoint_gammma G4AdjointGamma::AdjointGammaDefinition(); -// adjoint_electron + // adjoint_electron G4AdjointElectron::AdjointElectronDefinition(); - -// adjoint_proton + + // adjoint_proton G4AdjointProton::AdjointProtonDefinition(); } @@ -175,407 +182,364 @@ void G4AdjointPhysicsList::ConstructProcess() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//#include "G4PEEffectFluoModel.hh" +// #include "G4PEEffectFluoModel.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4eMultipleScattering.hh" #include "G4eAdjointMultipleScattering.hh" -#include "G4hMultipleScattering.hh" -#include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" #include "G4eplusAnnihilation.hh" #include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4ionIonisation.hh" -//#include "G4IonParametrisedLossModel.hh" +// #include "G4IonParametrisedLossModel.hh" -#include "G4eBremsstrahlung.hh" -#include "G4ContinuousGainOfEnergy.hh" -#include "G4eInverseIonisation.hh" -#include "G4AdjointeIonisationModel.hh" -#include "G4AdjointCSManager.hh" +#include "G4AdjointAlongStepWeightCorrection.hh" #include "G4AdjointBremsstrahlungModel.hh" -#include "G4eInverseBremsstrahlung.hh" +#include "G4AdjointCSManager.hh" #include "G4AdjointComptonModel.hh" -#include "G4eInverseCompton.hh" -#include "G4InversePEEffect.hh" +#include "G4AdjointForcedInteractionForGamma.hh" +#include "G4AdjointIonIonisationModel.hh" #include "G4AdjointPhotoElectricModel.hh" -#include "G4AdjointAlongStepWeightCorrection.hh" -#include "G4hInverseIonisation.hh" +#include "G4AdjointProcessEquivalentToDirectProcess.hh" +#include "G4AdjointSimManager.hh" +#include "G4AdjointeIonisationModel.hh" #include "G4AdjointhIonisationModel.hh" #include "G4AdjointhMultipleScattering.hh" +#include "G4ContinuousGainOfEnergy.hh" +#include "G4InversePEEffect.hh" #include "G4IonInverseIonisation.hh" -#include "G4AdjointIonIonisationModel.hh" - -#include "G4AdjointSimManager.hh" -#include "G4AdjointProcessEquivalentToDirectProcess.hh" - -#include "G4SystemOfUnits.hh" #include "G4PhysicalConstants.hh" -#include "G4UrbanMscModel.hh" -#include "G4UrbanAdjointMscModel.hh" +#include "G4SystemOfUnits.hh" #include "G4UrbanAdjointMscModel.hh" -#include "G4AdjointForcedInteractionForGamma.hh" +#include "G4UrbanMscModel.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eInverseBremsstrahlung.hh" +#include "G4eInverseCompton.hh" +#include "G4eInverseIonisation.hh" +#include "G4hInverseIonisation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4AdjointPhysicsList::ConstructEM() { - G4AdjointCSManager* theCSManager = - G4AdjointCSManager::GetAdjointCSManager(); - G4AdjointSimManager* theAdjointSimManager = - G4AdjointSimManager::GetInstance(); - - theCSManager->RegisterAdjointParticle( - G4AdjointElectron::AdjointElectron()); - - if (fUse_brem || fUse_peeffect ||fUse_compton) - theCSManager->RegisterAdjointParticle( - G4AdjointGamma::AdjointGamma()); + G4AdjointCSManager* theCSManager = G4AdjointCSManager::GetAdjointCSManager(); + G4AdjointSimManager* theAdjointSimManager = G4AdjointSimManager::GetInstance(); + + theCSManager->RegisterAdjointParticle(G4AdjointElectron::AdjointElectron()); + + if (fUse_brem || fUse_peeffect || fUse_compton) + theCSManager->RegisterAdjointParticle(G4AdjointGamma::AdjointGamma()); if (fUse_eionisation) { - if (!fEminusIonisation) fEminusIonisation = - new G4eIonisation(); - fEminusIonisation->SetLossFluctuations(fUse_egain_fluctuation); + if (!fEminusIonisation) fEminusIonisation = new G4eIonisation(); + fEminusIonisation->SetLossFluctuations(fUse_egain_fluctuation); } if (fUse_pionisation) { - if (!fPIonisation) fPIonisation = new G4hIonisation(); - fPIonisation->SetLossFluctuations(fUse_egain_fluctuation); - theCSManager->RegisterAdjointParticle( - G4AdjointProton::AdjointProton()); - } - + if (!fPIonisation) fPIonisation = new G4hIonisation(); + fPIonisation->SetLossFluctuations(fUse_egain_fluctuation); + theCSManager->RegisterAdjointParticle(G4AdjointProton::AdjointProton()); + } + G4eBremsstrahlung* theeminusBremsstrahlung = 0; - if (fUse_brem && fUse_eionisation) - theeminusBremsstrahlung = new G4eBremsstrahlung(); - - G4ComptonScattering* theComptonScattering =0; + if (fUse_brem && fUse_eionisation) theeminusBremsstrahlung = new G4eBremsstrahlung(); + + G4ComptonScattering* theComptonScattering = 0; if (fUse_compton) theComptonScattering = new G4ComptonScattering(); - - G4PhotoElectricEffect* thePEEffect =0; + + G4PhotoElectricEffect* thePEEffect = 0; if (fUse_peeffect) thePEEffect = new G4PhotoElectricEffect(); - + G4eMultipleScattering* theeminusMS = 0; - G4hMultipleScattering* thepMS= 0; + G4hMultipleScattering* thepMS = 0; G4eAdjointMultipleScattering* theeminusAdjointMS = 0; if (fUse_ms) { - theeminusMS = new G4eMultipleScattering(); - G4UrbanMscModel* msc1 = new G4UrbanMscModel(); - theeminusMS->SetEmModel(msc1); - theeminusAdjointMS = new G4eAdjointMultipleScattering(); - G4UrbanAdjointMscModel* msc2 = new G4UrbanAdjointMscModel(); - theeminusAdjointMS->SetEmModel(msc2); - thepMS = new G4hMultipleScattering(); - } - - G4VProcess* theGammaConversion =0; + theeminusMS = new G4eMultipleScattering(); + G4UrbanMscModel* msc1 = new G4UrbanMscModel(); + theeminusMS->SetEmModel(msc1); + theeminusAdjointMS = new G4eAdjointMultipleScattering(); + G4UrbanAdjointMscModel* msc2 = new G4UrbanAdjointMscModel(); + theeminusAdjointMS->SetEmModel(msc2); + thepMS = new G4hMultipleScattering(); + } + + G4VProcess* theGammaConversion = 0; if (fUse_gamma_conversion) theGammaConversion = new G4GammaConversion(); - //Define adjoint e- ionisation + // Define adjoint e- ionisation //------------------- G4AdjointeIonisationModel* theeInverseIonisationModel = 0; - G4eInverseIonisation* theeInverseIonisationProjToProjCase = 0 ; + G4eInverseIonisation* theeInverseIonisationProjToProjCase = 0; G4eInverseIonisation* theeInverseIonisationProdToProjCase = 0; if (fUse_eionisation) { theeInverseIonisationModel = new G4AdjointeIonisationModel(); - theeInverseIonisationModel->SetHighEnergyLimit( - fEmax_adj_models); - theeInverseIonisationModel->SetLowEnergyLimit( - fEmin_adj_models); - theeInverseIonisationModel->SetCSBiasingFactor( - fCS_biasing_factor_ionisation); + theeInverseIonisationModel->SetHighEnergyLimit(fEmax_adj_models); + theeInverseIonisationModel->SetLowEnergyLimit(fEmin_adj_models); + theeInverseIonisationModel->SetCSBiasingFactor(fCS_biasing_factor_ionisation); theeInverseIonisationProjToProjCase = - new G4eInverseIonisation(true,"Inv_eIon", - theeInverseIonisationModel); + new G4eInverseIonisation(true, "Inv_eIon", theeInverseIonisationModel); theeInverseIonisationProdToProjCase = - new G4eInverseIonisation(false,"Inv_eIon1", - theeInverseIonisationModel); + new G4eInverseIonisation(false, "Inv_eIon1", theeInverseIonisationModel); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("e-")); - } + } - //Define adjoint Bremsstrahlung + // Define adjoint Bremsstrahlung //------------------------------- G4AdjointBremsstrahlungModel* theeInverseBremsstrahlungModel = 0; G4eInverseBremsstrahlung* theeInverseBremsstrahlungProjToProjCase = 0; - G4eInverseBremsstrahlung* theeInverseBremsstrahlungProdToProjCase = 0; + G4eInverseBremsstrahlung* theeInverseBremsstrahlungProdToProjCase = 0; G4AdjointForcedInteractionForGamma* theForcedInteractionForGamma = 0; if (fUse_brem && fUse_eionisation) { theeInverseBremsstrahlungModel = new G4AdjointBremsstrahlungModel(); - theeInverseBremsstrahlungModel->SetHighEnergyLimit(fEmax_adj_models*1.01); + theeInverseBremsstrahlungModel->SetHighEnergyLimit(fEmax_adj_models * 1.01); theeInverseBremsstrahlungModel->SetLowEnergyLimit(fEmin_adj_models); - theeInverseBremsstrahlungModel->SetCSBiasingFactor( - fCS_biasing_factor_brem); - theeInverseBremsstrahlungProjToProjCase = new G4eInverseBremsstrahlung( - true,"Inv_eBrem",theeInverseBremsstrahlungModel); - theeInverseBremsstrahlungProdToProjCase = new G4eInverseBremsstrahlung( - false,"Inv_eBrem1",theeInverseBremsstrahlungModel); + theeInverseBremsstrahlungModel->SetCSBiasingFactor(fCS_biasing_factor_brem); + theeInverseBremsstrahlungProjToProjCase = + new G4eInverseBremsstrahlung(true, "Inv_eBrem", theeInverseBremsstrahlungModel); + theeInverseBremsstrahlungProdToProjCase = + new G4eInverseBremsstrahlung(false, "Inv_eBrem1", theeInverseBremsstrahlungModel); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("e-")); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("gamma")); - if (!fUse_forced_interaction) theeInverseBremsstrahlungProdToProjCase - = new G4eInverseBremsstrahlung(false,G4String("Inv_eBrem1"), - theeInverseBremsstrahlungModel); + if (!fUse_forced_interaction) + theeInverseBremsstrahlungProdToProjCase = + new G4eInverseBremsstrahlung(false, G4String("Inv_eBrem1"), theeInverseBremsstrahlungModel); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("e-")); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("gamma")); - if (fUse_forced_interaction){ - theForcedInteractionForGamma = + if (fUse_forced_interaction) { + theForcedInteractionForGamma = new G4AdjointForcedInteractionForGamma("ReverseGammaForcedInteraction"); - theForcedInteractionForGamma->RegisterAdjointBremModel( - theeInverseBremsstrahlungModel); + theForcedInteractionForGamma->RegisterAdjointBremModel(theeInverseBremsstrahlungModel); } } - - //Define adjoint Compton + // Define adjoint Compton //--------------------- - + G4AdjointComptonModel* theeInverseComptonModel = 0; G4eInverseCompton* theeInverseComptonProjToProjCase = 0; G4eInverseCompton* theeInverseComptonProdToProjCase = 0; - if (fUse_compton) { + if (fUse_compton) { theeInverseComptonModel = new G4AdjointComptonModel(); theeInverseComptonModel->SetHighEnergyLimit(fEmax_adj_models); theeInverseComptonModel->SetLowEnergyLimit(fEmin_adj_models); theeInverseComptonModel->SetDirectProcess(theComptonScattering); theeInverseComptonModel->SetUseMatrix(false); - theeInverseComptonModel->SetCSBiasingFactor( fCS_biasing_factor_compton); - if (!fUse_forced_interaction) theeInverseComptonProjToProjCase = - new G4eInverseCompton(true,"Inv_Compt",theeInverseComptonModel); - theeInverseComptonProdToProjCase = new G4eInverseCompton(false,"Inv_Compt1", - theeInverseComptonModel); - if (fUse_forced_interaction){ - if (!theForcedInteractionForGamma ) theForcedInteractionForGamma = - new G4AdjointForcedInteractionForGamma("ReverseGammaForcedInteraction"); - theForcedInteractionForGamma-> - RegisterAdjointComptonModel(theeInverseComptonModel); + theeInverseComptonModel->SetCSBiasingFactor(fCS_biasing_factor_compton); + if (!fUse_forced_interaction) + theeInverseComptonProjToProjCase = + new G4eInverseCompton(true, "Inv_Compt", theeInverseComptonModel); + theeInverseComptonProdToProjCase = + new G4eInverseCompton(false, "Inv_Compt1", theeInverseComptonModel); + if (fUse_forced_interaction) { + if (!theForcedInteractionForGamma) + theForcedInteractionForGamma = + new G4AdjointForcedInteractionForGamma("ReverseGammaForcedInteraction"); + theForcedInteractionForGamma->RegisterAdjointComptonModel(theeInverseComptonModel); } theAdjointSimManager->ConsiderParticleAsPrimary(G4String("e-")); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("gamma")); } - //Define adjoint PEEffect + // Define adjoint PEEffect //--------------------- G4AdjointPhotoElectricModel* theInversePhotoElectricModel = 0; G4InversePEEffect* theInversePhotoElectricProcess = 0; - - if (fUse_peeffect) { + + if (fUse_peeffect) { theInversePhotoElectricModel = new G4AdjointPhotoElectricModel(); theInversePhotoElectricModel->SetHighEnergyLimit(fEmax_adj_models); theInversePhotoElectricModel->SetLowEnergyLimit(fEmin_adj_models); - theInversePhotoElectricModel->SetCSBiasingFactor( - fCS_biasing_factor_PEeffect); - theInversePhotoElectricProcess = new G4InversePEEffect("Inv_PEEffect", - theInversePhotoElectricModel); + theInversePhotoElectricModel->SetCSBiasingFactor(fCS_biasing_factor_PEeffect); + theInversePhotoElectricProcess = + new G4InversePEEffect("Inv_PEEffect", theInversePhotoElectricModel); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("e-")); theAdjointSimManager->ConsiderParticleAsPrimary(G4String("gamma")); } - - //Define adjoint ionisation for protons + // Define adjoint ionisation for protons //--------------------- - G4AdjointhIonisationModel* thepInverseIonisationModel = 0; - G4hInverseIonisation* thepInverseIonisationProjToProjCase = 0 ; - G4hInverseIonisation* thepInverseIonisationProdToProjCase = 0; - if (fUse_pionisation) { - thepInverseIonisationModel = new G4AdjointhIonisationModel( - G4Proton::Proton()); - thepInverseIonisationModel->SetHighEnergyLimit(fEmax_adj_models); - thepInverseIonisationModel->SetLowEnergyLimit(fEmin_adj_models); - thepInverseIonisationModel->SetUseMatrix(false); - thepInverseIonisationProjToProjCase = new G4hInverseIonisation(true, - "Inv_pIon",thepInverseIonisationModel); - thepInverseIonisationProdToProjCase = new G4hInverseIonisation(false, - "Inv_pIon1",thepInverseIonisationModel); - theAdjointSimManager->ConsiderParticleAsPrimary(G4String("e-")); - theAdjointSimManager->ConsiderParticleAsPrimary(G4String("proton")); + G4AdjointhIonisationModel* thepInverseIonisationModel = 0; + G4hInverseIonisation* thepInverseIonisationProjToProjCase = 0; + G4hInverseIonisation* thepInverseIonisationProdToProjCase = 0; + if (fUse_pionisation) { + thepInverseIonisationModel = new G4AdjointhIonisationModel(G4Proton::Proton()); + thepInverseIonisationModel->SetHighEnergyLimit(fEmax_adj_models); + thepInverseIonisationModel->SetLowEnergyLimit(fEmin_adj_models); + thepInverseIonisationModel->SetUseMatrix(false); + thepInverseIonisationProjToProjCase = + new G4hInverseIonisation(true, "Inv_pIon", thepInverseIonisationModel); + thepInverseIonisationProdToProjCase = + new G4hInverseIonisation(false, "Inv_pIon1", thepInverseIonisationModel); + theAdjointSimManager->ConsiderParticleAsPrimary(G4String("e-")); + theAdjointSimManager->ConsiderParticleAsPrimary(G4String("proton")); } - //Declare the processes active for the different particles + // Declare the processes active for the different particles //-------------------------------------------------------- - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); if (!pmanager) { - pmanager = new G4ProcessManager(particle); - particle->SetProcessManager(pmanager); + pmanager = new G4ProcessManager(particle); + particle->SetProcessManager(pmanager); } - + G4String particleName = particle->GetParticleName(); if (particleName == "e-") { if (fUse_ms && fUse_eionisation) pmanager->AddProcess(theeminusMS); - if (fUse_eionisation){ + if (fUse_eionisation) { pmanager->AddProcess(fEminusIonisation); - G4AdjointCSManager::GetAdjointCSManager()-> - RegisterEnergyLossProcess(fEminusIonisation,particle); + G4AdjointCSManager::GetAdjointCSManager()->RegisterEnergyLossProcess(fEminusIonisation, + particle); } if (fUse_brem && fUse_eionisation) { pmanager->AddProcess(theeminusBremsstrahlung); - G4AdjointCSManager::GetAdjointCSManager()-> - RegisterEnergyLossProcess(theeminusBremsstrahlung,particle); + G4AdjointCSManager::GetAdjointCSManager()->RegisterEnergyLossProcess( + theeminusBremsstrahlung, particle); } - G4int n_order=0; + G4int n_order = 0; if (fUse_ms && fUse_eionisation) { n_order++; - pmanager->SetProcessOrdering(theeminusMS, idxAlongStep,n_order); + pmanager->SetProcessOrdering(theeminusMS, idxAlongStep, n_order); } if (fUse_eionisation) { n_order++; - pmanager->SetProcessOrdering(fEminusIonisation,idxAlongStep,n_order); + pmanager->SetProcessOrdering(fEminusIonisation, idxAlongStep, n_order); } if (fUse_brem && fUse_eionisation) { n_order++; - pmanager->SetProcessOrdering(theeminusBremsstrahlung, - idxAlongStep,n_order); + pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxAlongStep, n_order); } - n_order=0; + n_order = 0; if (fUse_ms && fUse_eionisation) { n_order++; - pmanager->SetProcessOrdering(theeminusMS,idxPostStep,n_order); + pmanager->SetProcessOrdering(theeminusMS, idxPostStep, n_order); + } + if (fUse_eionisation) { + n_order++; + pmanager->SetProcessOrdering(fEminusIonisation, idxPostStep, n_order); + } + if (fUse_brem && fUse_eionisation) { + n_order++; + pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep, n_order); } + } + + if (particleName == "adj_e-") { + G4ContinuousGainOfEnergy* theContinuousGainOfEnergy = 0; if (fUse_eionisation) { + theContinuousGainOfEnergy = new G4ContinuousGainOfEnergy(); + theContinuousGainOfEnergy->SetLossFluctuations(fUse_egain_fluctuation); + theContinuousGainOfEnergy->SetDirectEnergyLossProcess(fEminusIonisation); + theContinuousGainOfEnergy->SetDirectParticle(G4Electron::Electron()); + pmanager->AddProcess(theContinuousGainOfEnergy); + } + G4int n_order = 0; + if (fUse_ms) { n_order++; - pmanager->SetProcessOrdering(fEminusIonisation,idxPostStep,n_order); + pmanager->AddProcess(theeminusAdjointMS); + pmanager->SetProcessOrdering(theeminusAdjointMS, idxAlongStep, n_order); + } + n_order++; + pmanager->SetProcessOrdering(theContinuousGainOfEnergy, idxAlongStep, n_order); + + n_order++; + G4AdjointAlongStepWeightCorrection* theAlongStepWeightCorrection = + new G4AdjointAlongStepWeightCorrection(); + pmanager->AddProcess(theAlongStepWeightCorrection); + pmanager->SetProcessOrdering(theAlongStepWeightCorrection, idxAlongStep, n_order); + n_order = 0; + if (fUse_eionisation) { + pmanager->AddProcess(theeInverseIonisationProjToProjCase); + pmanager->AddProcess(theeInverseIonisationProdToProjCase); + n_order++; + pmanager->SetProcessOrdering(theeInverseIonisationProjToProjCase, idxPostStep, n_order); + n_order++; + pmanager->SetProcessOrdering(theeInverseIonisationProdToProjCase, idxPostStep, n_order); } if (fUse_brem && fUse_eionisation) { + pmanager->AddProcess(theeInverseBremsstrahlungProjToProjCase); n_order++; - pmanager->SetProcessOrdering(theeminusBremsstrahlung,idxPostStep, - n_order); - } + pmanager->SetProcessOrdering(theeInverseBremsstrahlungProjToProjCase, idxPostStep, n_order); } - if (particleName == "adj_e-") { - G4ContinuousGainOfEnergy* theContinuousGainOfEnergy =0; - if (fUse_eionisation ) { - theContinuousGainOfEnergy= new G4ContinuousGainOfEnergy(); - theContinuousGainOfEnergy->SetLossFluctuations( - fUse_egain_fluctuation); - theContinuousGainOfEnergy->SetDirectEnergyLossProcess( - fEminusIonisation); - theContinuousGainOfEnergy->SetDirectParticle(G4Electron::Electron()); - pmanager->AddProcess(theContinuousGainOfEnergy); - } - G4int n_order=0; - if (fUse_ms) { - n_order++; - pmanager->AddProcess(theeminusAdjointMS); - pmanager->SetProcessOrdering(theeminusAdjointMS, - idxAlongStep,n_order); - } - n_order++; - pmanager->SetProcessOrdering(theContinuousGainOfEnergy,idxAlongStep, - n_order); + if (fUse_compton) { + pmanager->AddProcess(theeInverseComptonProdToProjCase); + n_order++; + pmanager->SetProcessOrdering(theeInverseComptonProdToProjCase, idxPostStep, n_order); + } + if (fUse_peeffect) { + pmanager->AddDiscreteProcess(theInversePhotoElectricProcess); + n_order++; + pmanager->SetProcessOrdering(theInversePhotoElectricProcess, idxPostStep, n_order); + } + if (fUse_pionisation) { + pmanager->AddProcess(thepInverseIonisationProdToProjCase); + n_order++; + pmanager->SetProcessOrdering(thepInverseIonisationProdToProjCase, idxPostStep, n_order); + } + if (fUse_ms && fUse_eionisation) { + n_order++; + pmanager->SetProcessOrdering(theeminusAdjointMS, idxPostStep, n_order); + } + } + + if (particleName == "adj_gamma") { + G4int n_order = 0; + if (!fUse_forced_interaction) { + G4AdjointAlongStepWeightCorrection* theAlongStepWeightCorrection = + new G4AdjointAlongStepWeightCorrection(); + pmanager->AddProcess(theAlongStepWeightCorrection); + pmanager->SetProcessOrdering(theAlongStepWeightCorrection, idxAlongStep, 1); + if (fUse_brem && fUse_eionisation) { + pmanager->AddProcess(theeInverseBremsstrahlungProdToProjCase); + n_order++; + pmanager->SetProcessOrdering(theeInverseBremsstrahlungProdToProjCase, idxPostStep, + n_order); + } + if (fUse_compton) { + pmanager->AddDiscreteProcess(theeInverseComptonProjToProjCase); n_order++; - G4AdjointAlongStepWeightCorrection* theAlongStepWeightCorrection = - new G4AdjointAlongStepWeightCorrection(); - pmanager->AddProcess(theAlongStepWeightCorrection); - pmanager->SetProcessOrdering(theAlongStepWeightCorrection, - idxAlongStep, - n_order); - n_order=0; - if (fUse_eionisation) { - pmanager->AddProcess(theeInverseIonisationProjToProjCase); - pmanager->AddProcess(theeInverseIonisationProdToProjCase); - n_order++; - pmanager->SetProcessOrdering(theeInverseIonisationProjToProjCase, - idxPostStep,n_order); - n_order++; - pmanager->SetProcessOrdering(theeInverseIonisationProdToProjCase, - idxPostStep,n_order); - } - if (fUse_brem && fUse_eionisation) { - pmanager->AddProcess(theeInverseBremsstrahlungProjToProjCase); - n_order++; - pmanager->SetProcessOrdering( - theeInverseBremsstrahlungProjToProjCase, - idxPostStep,n_order); - } - - if (fUse_compton) { - pmanager->AddProcess(theeInverseComptonProdToProjCase); - n_order++; - pmanager->SetProcessOrdering(theeInverseComptonProdToProjCase, - idxPostStep,n_order); - } - if (fUse_peeffect) { - pmanager->AddDiscreteProcess(theInversePhotoElectricProcess); - n_order++; - pmanager->SetProcessOrdering(theInversePhotoElectricProcess, - idxPostStep,n_order); - } - if (fUse_pionisation) { - pmanager->AddProcess(thepInverseIonisationProdToProjCase); - n_order++; - pmanager->SetProcessOrdering(thepInverseIonisationProdToProjCase, - idxPostStep,n_order); - } - if (fUse_ms && fUse_eionisation) { - n_order++; - pmanager->SetProcessOrdering(theeminusAdjointMS, - idxPostStep,n_order); - } + pmanager->SetProcessOrdering(theeInverseComptonProjToProjCase, idxPostStep, n_order); } - - - if(particleName == "adj_gamma") { - G4int n_order=0; - if (!fUse_forced_interaction){ - G4AdjointAlongStepWeightCorrection* theAlongStepWeightCorrection = - new G4AdjointAlongStepWeightCorrection(); - pmanager->AddProcess(theAlongStepWeightCorrection); - pmanager->SetProcessOrdering(theAlongStepWeightCorrection, - idxAlongStep,1); - - if (fUse_brem && fUse_eionisation) { - pmanager->AddProcess(theeInverseBremsstrahlungProdToProjCase); - n_order++; - pmanager->SetProcessOrdering( - theeInverseBremsstrahlungProdToProjCase, - idxPostStep,n_order); - } - if (fUse_compton) { - pmanager->AddDiscreteProcess(theeInverseComptonProjToProjCase); - n_order++; - pmanager->SetProcessOrdering(theeInverseComptonProjToProjCase, - idxPostStep,n_order); - } - } - else { - if (theForcedInteractionForGamma) { - pmanager->AddProcess(theForcedInteractionForGamma); - n_order++; - pmanager->SetProcessOrdering(theForcedInteractionForGamma, - idxPostStep,n_order); - pmanager->SetProcessOrdering(theForcedInteractionForGamma, - idxAlongStep,n_order); - } - } - } - - if (particleName == "gamma") { - if (fUse_compton) { - pmanager->AddDiscreteProcess(theComptonScattering); - G4AdjointCSManager::GetAdjointCSManager()-> - RegisterEmProcess(theComptonScattering,particle); - } - if (fUse_peeffect) { - pmanager->AddDiscreteProcess(thePEEffect); - G4AdjointCSManager::GetAdjointCSManager()-> - RegisterEmProcess(thePEEffect,particle); - } + } + else { + if (theForcedInteractionForGamma) { + pmanager->AddProcess(theForcedInteractionForGamma); + n_order++; + pmanager->SetProcessOrdering(theForcedInteractionForGamma, idxPostStep, n_order); + pmanager->SetProcessOrdering(theForcedInteractionForGamma, idxAlongStep, n_order); + } + } + } + + if (particleName == "gamma") { + if (fUse_compton) { + pmanager->AddDiscreteProcess(theComptonScattering); + G4AdjointCSManager::GetAdjointCSManager()->RegisterEmProcess(theComptonScattering, + particle); + } + if (fUse_peeffect) { + pmanager->AddDiscreteProcess(thePEEffect); + G4AdjointCSManager::GetAdjointCSManager()->RegisterEmProcess(thePEEffect, particle); + } if (fUse_gamma_conversion) { - pmanager->AddDiscreteProcess(theGammaConversion); + pmanager->AddDiscreteProcess(theGammaConversion); } - } - - if (particleName == "e+" && fUse_gamma_conversion) {//positron + } + + if (particleName == "e+" && fUse_gamma_conversion) { // positron G4VProcess* theeplusMultipleScattering = new G4eMultipleScattering(); - G4VProcess* theeplusIonisation = new G4eIonisation(); - G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); - G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); + G4VProcess* theeplusIonisation = new G4eIonisation(); + G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); + G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); // add processes pmanager->AddProcess(theeplusMultipleScattering); @@ -587,94 +551,85 @@ void G4AdjointPhysicsList::ConstructEM() pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest); // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(theeplusMultipleScattering, - idxAlongStep,1); - pmanager->SetProcessOrdering(theeplusIonisation, idxAlongStep,2); - pmanager->SetProcessOrdering(theeplusBremsstrahlung,idxAlongStep,3); + pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep, 1); + pmanager->SetProcessOrdering(theeplusIonisation, idxAlongStep, 2); + pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxAlongStep, 3); // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(theeplusMultipleScattering, - idxPostStep,1); - pmanager->SetProcessOrdering(theeplusIonisation,idxPostStep,2); - pmanager->SetProcessOrdering(theeplusBremsstrahlung,idxPostStep,3); - pmanager->SetProcessOrdering(theeplusAnnihilation,idxPostStep,4); - } - if (particleName == "proton" && fUse_pionisation) { - if (fUse_ms && fUse_pionisation) pmanager->AddProcess(thepMS); - - if (fUse_pionisation){ - pmanager->AddProcess(fPIonisation); - G4AdjointCSManager::GetAdjointCSManager()-> - RegisterEnergyLossProcess(fPIonisation,particle); - } - - G4int n_order=0; - if (fUse_ms && fUse_pionisation) { - n_order++; - pmanager->SetProcessOrdering(thepMS, idxAlongStep,n_order); - } - - if (fUse_pionisation) { - n_order++; - pmanager->SetProcessOrdering(fPIonisation,idxAlongStep,n_order); - } - - n_order=0; - if (fUse_ms && fUse_pionisation) { - n_order++; - pmanager->SetProcessOrdering(thepMS, idxPostStep,n_order); - } - - if (fUse_pionisation) { - n_order++; - pmanager->SetProcessOrdering(fPIonisation,idxPostStep,n_order); - } - - } - - if (particleName == "adj_proton" && fUse_pionisation) { - G4ContinuousGainOfEnergy* theContinuousGainOfEnergy =0; - if (fUse_pionisation ) { - theContinuousGainOfEnergy= new G4ContinuousGainOfEnergy(); - theContinuousGainOfEnergy->SetLossFluctuations( - fUse_egain_fluctuation); - theContinuousGainOfEnergy->SetDirectEnergyLossProcess(fPIonisation); - theContinuousGainOfEnergy->SetDirectParticle(G4Proton::Proton()); - pmanager->AddProcess(theContinuousGainOfEnergy); - } - - G4int n_order=0; - if (fUse_ms) { - n_order++; - pmanager->AddProcess(thepMS); - pmanager->SetProcessOrdering(thepMS, idxAlongStep,n_order); - } - - n_order++; - pmanager->SetProcessOrdering(theContinuousGainOfEnergy,idxAlongStep, - n_order); - - n_order++; - G4AdjointAlongStepWeightCorrection* theAlongStepWeightCorrection = - new G4AdjointAlongStepWeightCorrection(); - pmanager->AddProcess(theAlongStepWeightCorrection); - pmanager->SetProcessOrdering(theAlongStepWeightCorrection, - idxAlongStep, - n_order); - n_order=0; - if (fUse_pionisation) { - pmanager->AddProcess(thepInverseIonisationProjToProjCase); - n_order++; - pmanager->SetProcessOrdering( - thepInverseIonisationProjToProjCase, - idxPostStep,n_order); - } - - if (fUse_ms && fUse_pionisation) { - n_order++; - pmanager->SetProcessOrdering(thepMS,idxPostStep,n_order); - } - } + pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep, 1); + pmanager->SetProcessOrdering(theeplusIonisation, idxPostStep, 2); + pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep, 3); + pmanager->SetProcessOrdering(theeplusAnnihilation, idxPostStep, 4); + } + if (particleName == "proton" && fUse_pionisation) { + if (fUse_ms && fUse_pionisation) pmanager->AddProcess(thepMS); + + if (fUse_pionisation) { + pmanager->AddProcess(fPIonisation); + G4AdjointCSManager::GetAdjointCSManager()->RegisterEnergyLossProcess(fPIonisation, + particle); + } + + G4int n_order = 0; + if (fUse_ms && fUse_pionisation) { + n_order++; + pmanager->SetProcessOrdering(thepMS, idxAlongStep, n_order); + } + + if (fUse_pionisation) { + n_order++; + pmanager->SetProcessOrdering(fPIonisation, idxAlongStep, n_order); + } + + n_order = 0; + if (fUse_ms && fUse_pionisation) { + n_order++; + pmanager->SetProcessOrdering(thepMS, idxPostStep, n_order); + } + + if (fUse_pionisation) { + n_order++; + pmanager->SetProcessOrdering(fPIonisation, idxPostStep, n_order); + } + } + + if (particleName == "adj_proton" && fUse_pionisation) { + G4ContinuousGainOfEnergy* theContinuousGainOfEnergy = 0; + if (fUse_pionisation) { + theContinuousGainOfEnergy = new G4ContinuousGainOfEnergy(); + theContinuousGainOfEnergy->SetLossFluctuations(fUse_egain_fluctuation); + theContinuousGainOfEnergy->SetDirectEnergyLossProcess(fPIonisation); + theContinuousGainOfEnergy->SetDirectParticle(G4Proton::Proton()); + pmanager->AddProcess(theContinuousGainOfEnergy); + } + + G4int n_order = 0; + if (fUse_ms) { + n_order++; + pmanager->AddProcess(thepMS); + pmanager->SetProcessOrdering(thepMS, idxAlongStep, n_order); + } + + n_order++; + pmanager->SetProcessOrdering(theContinuousGainOfEnergy, idxAlongStep, n_order); + + n_order++; + G4AdjointAlongStepWeightCorrection* theAlongStepWeightCorrection = + new G4AdjointAlongStepWeightCorrection(); + pmanager->AddProcess(theAlongStepWeightCorrection); + pmanager->SetProcessOrdering(theAlongStepWeightCorrection, idxAlongStep, n_order); + n_order = 0; + if (fUse_pionisation) { + pmanager->AddProcess(thepInverseIonisationProjToProjCase); + n_order++; + pmanager->SetProcessOrdering(thepInverseIonisationProjToProjCase, idxPostStep, n_order); + } + + if (fUse_ms && fUse_pionisation) { + n_order++; + pmanager->SetProcessOrdering(thepMS, idxPostStep, n_order); + } + } } } @@ -685,16 +640,16 @@ void G4AdjointPhysicsList::ConstructGeneral() { // Add Decay Process G4Decay* theDecayProcess = new G4Decay(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); + if (theDecayProcess->IsApplicable(*particle)) { + pmanager->AddProcess(theDecayProcess); // set ordering for PostStepDoIt and AtRestDoIt - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); + pmanager->SetProcessOrdering(theDecayProcess, idxPostStep); + pmanager->SetProcessOrdering(theDecayProcess, idxAtRest); } } } @@ -703,9 +658,9 @@ void G4AdjointPhysicsList::ConstructGeneral() void G4AdjointPhysicsList::SetCuts() { - if (verboseLevel >0){ + if (verboseLevel > 0) { G4cout << "G4AdjointPhysicsList::SetCuts:"; - G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; + G4cout << "CutLength : " << G4BestUnit(defaultCutValue, "Length") << G4endl; } // set cut values for gamma at first and for e- second and next for e+, @@ -715,7 +670,7 @@ void G4AdjointPhysicsList::SetCuts() SetCutValue(defaultCutValue, "e-"); SetCutValue(defaultCutValue, "e+"); - if (verboseLevel>0) DumpCutValuesTable(); + if (verboseLevel > 0) DumpCutValuesTable(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsMessenger.cc b/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsMessenger.cc index 0ed5f929f9a..c779718d076 100644 --- a/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsMessenger.cc +++ b/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsMessenger.cc @@ -39,90 +39,78 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4AdjointPhysicsMessenger.hh" -#include "G4UIdirectory.hh" + +#include "G4AdjointPhysicsList.hh" +#include "G4UIcmdWith3VectorAndUnit.hh" #include "G4UIcmdWithABool.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithADouble.hh" -#include "G4UIcmdWithoutParameter.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" #include "G4UnitsTable.hh" -#include "G4AdjointPhysicsList.hh" -#include "G4UIcmdWith3VectorAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4AdjointPhysicsMessenger::G4AdjointPhysicsMessenger( - G4AdjointPhysicsList* pPhysicsList) -: G4UImessenger(), - fPhysicsList(pPhysicsList), - fPhysicsDir(0), - fUsepIonisationCmd(0), - fUseBremCmd(0), - fUseComptonCmd(0), - fUseMSCmd(0), - fUsePEEffectCmd(0), - fUseGammaConversionCmd(0), - fUseEgainFluctuationCmd(0), - fSetEminAdjModelsCmd(0), - fSetEmaxAdjModelsCmd(0) -{ +G4AdjointPhysicsMessenger::G4AdjointPhysicsMessenger(G4AdjointPhysicsList* pPhysicsList) + : G4UImessenger(), + fPhysicsList(pPhysicsList), + fPhysicsDir(0), + fUsepIonisationCmd(0), + fUseBremCmd(0), + fUseComptonCmd(0), + fUseMSCmd(0), + fUsePEEffectCmd(0), + fUseGammaConversionCmd(0), + fUseEgainFluctuationCmd(0), + fSetEminAdjModelsCmd(0), + fSetEmaxAdjModelsCmd(0) +{ fPhysicsDir = new G4UIdirectory("/adjoint_physics/"); - fPhysicsDir->SetGuidance( - "Definition of adjoint and forward physics processes"); + fPhysicsDir->SetGuidance("Definition of adjoint and forward physics processes"); //------- - fUsepIonisationCmd = new G4UIcmdWithABool( - "/adjoint_physics/UseProtonIonisation",this); - fUsepIonisationCmd->SetGuidance( - "If true (false) the proton ionisation is (not) considered"); + fUsepIonisationCmd = new G4UIcmdWithABool("/adjoint_physics/UseProtonIonisation", this); + fUsepIonisationCmd->SetGuidance("If true (false) the proton ionisation is (not) considered"); fUsepIonisationCmd->AvailableForStates(G4State_PreInit); - - fUseBremCmd = new G4UIcmdWithABool("/adjoint_physics/UseBremsstrahlung",this); - fUseBremCmd->SetGuidance( - "If true (false) the bremsstrahlung process is (not) considered"); - fUseBremCmd->AvailableForStates(G4State_PreInit); - - fUseComptonCmd = new G4UIcmdWithABool("/adjoint_physics/UseCompton",this); - fUseComptonCmd->SetGuidance( - "If true (false) the Compton scattering is (not) considered"); - fUseComptonCmd->AvailableForStates(G4State_PreInit); - - fUseMSCmd = new G4UIcmdWithABool("/adjoint_physics/UseMS",this); - fUseMSCmd->SetGuidance( - "If true (false) the continuous multiple scattering is (not) considered"); - fUseMSCmd->AvailableForStates(G4State_PreInit); - - fUseEgainFluctuationCmd = new G4UIcmdWithABool( - "/adjoint_physics/UseEgainElossFluctuation",this); + + fUseBremCmd = new G4UIcmdWithABool("/adjoint_physics/UseBremsstrahlung", this); + fUseBremCmd->SetGuidance("If true (false) the bremsstrahlung process is (not) considered"); + fUseBremCmd->AvailableForStates(G4State_PreInit); + + fUseComptonCmd = new G4UIcmdWithABool("/adjoint_physics/UseCompton", this); + fUseComptonCmd->SetGuidance("If true (false) the Compton scattering is (not) considered"); + fUseComptonCmd->AvailableForStates(G4State_PreInit); + + fUseMSCmd = new G4UIcmdWithABool("/adjoint_physics/UseMS", this); + fUseMSCmd->SetGuidance("If true (false) the continuous multiple scattering is (not) considered"); + fUseMSCmd->AvailableForStates(G4State_PreInit); + + fUseEgainFluctuationCmd = new G4UIcmdWithABool("/adjoint_physics/UseEgainElossFluctuation", this); fUseEgainFluctuationCmd->SetGuidance( "Switch on/off the fluctation for continuous energy gain/loss"); - fUseEgainFluctuationCmd->AvailableForStates(G4State_PreInit); - - fUsePEEffectCmd = new G4UIcmdWithABool("/adjoint_physics/UsePEEffect",this); - fUsePEEffectCmd->AvailableForStates(G4State_PreInit); - fUsePEEffectCmd->SetGuidance( - "If true (false) the photo electric effect is (not) considered"); - - fUseGammaConversionCmd = new G4UIcmdWithABool( - "/adjoint_physics/UseGammaConversion",this); + fUseEgainFluctuationCmd->AvailableForStates(G4State_PreInit); + + fUsePEEffectCmd = new G4UIcmdWithABool("/adjoint_physics/UsePEEffect", this); + fUsePEEffectCmd->AvailableForStates(G4State_PreInit); + fUsePEEffectCmd->SetGuidance("If true (false) the photo electric effect is (not) considered"); + + fUseGammaConversionCmd = new G4UIcmdWithABool("/adjoint_physics/UseGammaConversion", this); fUseGammaConversionCmd->AvailableForStates(G4State_PreInit); - fUseGammaConversionCmd->SetGuidance( - "If true the fwd gamma pair conversion is considered"); - - fSetEminAdjModelsCmd = new G4UIcmdWithADoubleAndUnit( - "/adjoint_physics/SetEminForAdjointModels",this); - fSetEminAdjModelsCmd->SetGuidance( - "Set the minimum energy of the adjoint models"); - fSetEminAdjModelsCmd->SetParameterName("Emin",false); + fUseGammaConversionCmd->SetGuidance("If true the fwd gamma pair conversion is considered"); + + fSetEminAdjModelsCmd = + new G4UIcmdWithADoubleAndUnit("/adjoint_physics/SetEminForAdjointModels", this); + fSetEminAdjModelsCmd->SetGuidance("Set the minimum energy of the adjoint models"); + fSetEminAdjModelsCmd->SetParameterName("Emin", false); fSetEminAdjModelsCmd->SetUnitCategory("Energy"); fSetEminAdjModelsCmd->AvailableForStates(G4State_PreInit); - - fSetEmaxAdjModelsCmd = new G4UIcmdWithADoubleAndUnit( - "/adjoint_physics/SetEmaxForAdjointModels",this); - fSetEmaxAdjModelsCmd->SetGuidance( - "Set the minimum energy of the adjoint models."); - fSetEmaxAdjModelsCmd->SetParameterName("Emax",false); + + fSetEmaxAdjModelsCmd = + new G4UIcmdWithADoubleAndUnit("/adjoint_physics/SetEmaxForAdjointModels", this); + fSetEmaxAdjModelsCmd->SetGuidance("Set the minimum energy of the adjoint models."); + fSetEmaxAdjModelsCmd->SetParameterName("Emax", false); fSetEmaxAdjModelsCmd->SetUnitCategory("Energy"); fSetEmaxAdjModelsCmd->AvailableForStates(G4State_PreInit); } @@ -144,44 +132,36 @@ G4AdjointPhysicsMessenger::~G4AdjointPhysicsMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4AdjointPhysicsMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) +void G4AdjointPhysicsMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if ( command==fUsepIonisationCmd){ - fPhysicsList->SetUseProtonIonisation( - fUsepIonisationCmd->GetNewBoolValue(newValue)); - + if (command == fUsepIonisationCmd) { + fPhysicsList->SetUseProtonIonisation(fUsepIonisationCmd->GetNewBoolValue(newValue)); } - else if ( command==fUseBremCmd){ - fPhysicsList->SetUseBrem(fUseBremCmd->GetNewBoolValue(newValue)); + else if (command == fUseBremCmd) { + fPhysicsList->SetUseBrem(fUseBremCmd->GetNewBoolValue(newValue)); } - else if ( command==fUseComptonCmd){ - fPhysicsList->SetUseCompton(fUseComptonCmd->GetNewBoolValue(newValue)); + else if (command == fUseComptonCmd) { + fPhysicsList->SetUseCompton(fUseComptonCmd->GetNewBoolValue(newValue)); } - else if ( command==fUseMSCmd){ + else if (command == fUseMSCmd) { fPhysicsList->SetUseMS(fUseMSCmd->GetNewBoolValue(newValue)); } - else if ( command==fUsePEEffectCmd){ + else if (command == fUsePEEffectCmd) { fPhysicsList->SetUsePEEffect(fUsePEEffectCmd->GetNewBoolValue(newValue)); } - else if ( command==fUseGammaConversionCmd){ - fPhysicsList->SetUseGammaConversion( - fUseGammaConversionCmd->GetNewBoolValue(newValue)); + else if (command == fUseGammaConversionCmd) { + fPhysicsList->SetUseGammaConversion(fUseGammaConversionCmd->GetNewBoolValue(newValue)); } - else if ( command==fUseEgainFluctuationCmd){ - fPhysicsList->SetUseEgainFluctuation( - fUseEgainFluctuationCmd->GetNewBoolValue(newValue)); + else if (command == fUseEgainFluctuationCmd) { + fPhysicsList->SetUseEgainFluctuation(fUseEgainFluctuationCmd->GetNewBoolValue(newValue)); } - else if ( command== fSetEminAdjModelsCmd){ - fPhysicsList->SetEminAdjModels( - fSetEminAdjModelsCmd->GetNewDoubleValue(newValue)); + else if (command == fSetEminAdjModelsCmd) { + fPhysicsList->SetEminAdjModels(fSetEminAdjModelsCmd->GetNewDoubleValue(newValue)); } - else if ( command== fSetEmaxAdjModelsCmd){ - fPhysicsList->SetEmaxAdjModels( - fSetEmaxAdjModelsCmd->GetNewDoubleValue(newValue)); + else if (command == fSetEmaxAdjModelsCmd) { + fPhysicsList->SetEmaxAdjModels(fSetEmaxAdjModelsCmd->GetNewDoubleValue(newValue)); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01AdjointEventAction.cc b/examples/extended/biasing/ReverseMC01/src/RMC01AdjointEventAction.cc index 1dd6e32841d..5c53f0c9c31 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01AdjointEventAction.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01AdjointEventAction.cc @@ -39,55 +39,64 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RMC01AdjointEventAction.hh" + +#include "RMC01AnalysisManager.hh" +#include "RMC01SD.hh" + +#include "G4Colour.hh" #include "G4Event.hh" -#include "G4PrimaryVertex.hh" -#include "G4PrimaryParticle.hh" -#include "G4TrajectoryContainer.hh" -#include "G4VTrajectory.hh" -#include "G4VVisManager.hh" #include "G4Polyline.hh" #include "G4Polymarker.hh" -#include "G4Colour.hh" -#include "G4VisAttributes.hh" +#include "G4PrimaryParticle.hh" +#include "G4PrimaryVertex.hh" +#include "G4SDManager.hh" #include "G4Trajectory.hh" +#include "G4TrajectoryContainer.hh" #include "G4TrajectoryPoint.hh" #include "G4UnitsTable.hh" -#include "G4SDManager.hh" +#include "G4VTrajectory.hh" +#include "G4VVisManager.hh" +#include "G4VisAttributes.hh" #include "Randomize.hh" + #include -#include "RMC01SD.hh" -#include "RMC01AnalysisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01AdjointEventAction::RMC01AdjointEventAction() - : G4UserEventAction() -{; +RMC01AdjointEventAction::RMC01AdjointEventAction() : G4UserEventAction() +{ + ; } - - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01AdjointEventAction::~RMC01AdjointEventAction() -{; +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01AdjointEventAction::BeginOfEventAction(const G4Event* anEvent ) -{ G4int i_event=anEvent->GetEventID(); - G4bool print_nb=false; - if (i_event <100) print_nb =true; - else if (i_event<500 && (i_event/100)*100 == i_event) print_nb = true; - else if (i_event<5000 && (i_event/500)*500 == i_event) print_nb = true; - else if ((i_event/5000)*5000 == i_event) print_nb = true; - if (print_nb) G4cout<<"nb event "<GetEventID(); + G4bool print_nb = false; + if (i_event < 100) + print_nb = true; + else if (i_event < 500 && (i_event / 100) * 100 == i_event) + print_nb = true; + else if (i_event < 5000 && (i_event / 500) * 500 == i_event) + print_nb = true; + else if ((i_event / 5000) * 5000 == i_event) + print_nb = true; + if (print_nb) G4cout << "nb event " << i_event << std::endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01AdjointEventAction::EndOfEventAction(const G4Event* ) -{ ; -} +void RMC01AdjointEventAction::EndOfEventAction(const G4Event*) +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc b/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc index a5fe280778d..bf99903276a 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc @@ -39,67 +39,76 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RMC01AnalysisManager.hh" -#include "G4AdjointSimManager.hh" -#include "G4SDManager.hh" + +#include "RMC01AnalysisManagerMessenger.hh" #include "RMC01SD.hh" -#include "G4THitsCollection.hh" + +#include "G4AdjointSimManager.hh" #include "G4Electron.hh" -#include "G4Proton.hh" #include "G4Gamma.hh" -#include "G4Timer.hh" -#include "G4RunManager.hh" #include "G4PhysicalConstants.hh" +#include "G4Proton.hh" +#include "G4RunManager.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" -#include "RMC01AnalysisManagerMessenger.hh" +#include "G4THitsCollection.hh" +#include "G4Timer.hh" RMC01AnalysisManager* RMC01AnalysisManager::fInstance = 0; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01AnalysisManager::RMC01AnalysisManager() - :fAccumulated_edep(0.), fAccumulated_edep2(0.), fMean_edep(0.), - fError_mean_edep(0.), fRelative_error(0.), fElapsed_time(0.), - fPrecision_to_reach(0.),fStop_run_if_precision_reached(true), - fNb_evt_modulo_for_convergence_test(5000), - fEdep_rmatrix_vs_electron_prim_energy(0), - fElectron_current_rmatrix_vs_electron_prim_energy(0), - fGamma_current_rmatrix_vs_electron_prim_energy(0), - fEdep_rmatrix_vs_gamma_prim_energy(0), - fElectron_current_rmatrix_vs_gamma_prim_energy(0), - fGamma_current_rmatrix_vs_gamma_prim_energy(0), - fEdep_rmatrix_vs_proton_prim_energy(0), - fElectron_current_rmatrix_vs_proton_prim_energy(0), - fProton_current_rmatrix_vs_proton_prim_energy(0), - fGamma_current_rmatrix_vs_proton_prim_energy(0), - fFactoryOn(false), - fPrimSpectrumType(EXPO), - fAlpha_or_E0(.5*MeV),fAmplitude_prim_spectrum (1.), - fEmin_prim_spectrum(1.*keV),fEmax_prim_spectrum (20.*MeV), - fAdjoint_sim_mode(true),fNb_evt_per_adj_evt(2) -{ - + : fAccumulated_edep(0.), + fAccumulated_edep2(0.), + fMean_edep(0.), + fError_mean_edep(0.), + fRelative_error(0.), + fElapsed_time(0.), + fPrecision_to_reach(0.), + fStop_run_if_precision_reached(true), + fNb_evt_modulo_for_convergence_test(5000), + fEdep_rmatrix_vs_electron_prim_energy(0), + fElectron_current_rmatrix_vs_electron_prim_energy(0), + fGamma_current_rmatrix_vs_electron_prim_energy(0), + fEdep_rmatrix_vs_gamma_prim_energy(0), + fElectron_current_rmatrix_vs_gamma_prim_energy(0), + fGamma_current_rmatrix_vs_gamma_prim_energy(0), + fEdep_rmatrix_vs_proton_prim_energy(0), + fElectron_current_rmatrix_vs_proton_prim_energy(0), + fProton_current_rmatrix_vs_proton_prim_energy(0), + fGamma_current_rmatrix_vs_proton_prim_energy(0), + fFactoryOn(false), + fPrimSpectrumType(EXPO), + fAlpha_or_E0(.5 * MeV), + fAmplitude_prim_spectrum(1.), + fEmin_prim_spectrum(1. * keV), + fEmax_prim_spectrum(20. * MeV), + fAdjoint_sim_mode(true), + fNb_evt_per_adj_evt(2) +{ fMsg = new RMC01AnalysisManagerMessenger(this); //------------- - //Timer for convergence vector + // Timer for convergence vector //------------- - + fTimer = new G4Timer(); //--------------------------------- - //Primary particle ID for normalisation of adjoint results + // Primary particle ID for normalisation of adjoint results //--------------------------------- - + fPrimPDG_ID = G4Electron::Electron()->GetPDGEncoding(); - - fFileName[0] = "sim"; + fFileName[0] = "sim"; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01AnalysisManager::~RMC01AnalysisManager() -{; +RMC01AnalysisManager::~RMC01AnalysisManager() +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -114,57 +123,52 @@ RMC01AnalysisManager* RMC01AnalysisManager::GetInstance() void RMC01AnalysisManager::BeginOfRun(const G4Run* aRun) { + fAccumulated_edep = 0.; + fAccumulated_edep2 = 0.; + fNentry = 0.0; + fRelative_error = 1.; + fMean_edep = 0.; + fError_mean_edep = 0.; + fAdjoint_sim_mode = G4AdjointSimManager::GetInstance()->GetAdjointSimMode(); + + if (fAdjoint_sim_mode) { + fNb_evt_per_adj_evt = aRun->GetNumberOfEventToBeProcessed() + / G4AdjointSimManager::GetInstance()->GetNbEvtOfLastRun(); + fConvergenceFileOutput.open("ConvergenceOfAdjointSimulationResults.txt", std::ios::out); + fConvergenceFileOutput << "Normalised Edep[MeV]\terror[MeV]\tcomputing_time[s]" << std::endl; + } + else { + fConvergenceFileOutput.open("ConvergenceOfForwardSimulationResults.txt", std::ios::out); + fConvergenceFileOutput << "Edep per event [MeV]\terror[MeV]\tcomputing_time[s]" << std::endl; + } + fConvergenceFileOutput.setf(std::ios::scientific); + fConvergenceFileOutput.precision(6); - fAccumulated_edep =0.; - fAccumulated_edep2 =0.; - fNentry = 0.0; - fRelative_error=1.; - fMean_edep=0.; - fError_mean_edep=0.; - fAdjoint_sim_mode =G4AdjointSimManager::GetInstance()->GetAdjointSimMode(); - - if (fAdjoint_sim_mode){ - fNb_evt_per_adj_evt=aRun->GetNumberOfEventToBeProcessed()/ - G4AdjointSimManager::GetInstance()->GetNbEvtOfLastRun(); - fConvergenceFileOutput.open("ConvergenceOfAdjointSimulationResults.txt", - std::ios::out); - fConvergenceFileOutput<< - "Normalised Edep[MeV]\terror[MeV]\tcomputing_time[s]"<Start(); - fElapsed_time=0.; - - Book(); + fTimer->Start(); + fElapsed_time = 0.; + + Book(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01AnalysisManager::EndOfRun(const G4Run* aRun) -{ fTimer->Stop(); - G4int nb_evt=aRun->GetNumberOfEvent(); - G4double factor =1./ nb_evt; - if (!fAdjoint_sim_mode){ - G4cout<<"Results of forward simulation!"<Stop(); - fElapsed_time+=fTimer->GetRealElapsed(); - fConvergenceFileOutput<AbortRun(true); - } - - if (nb_event>0 && nb_event % fNb_evt_modulo_for_convergence_test == 0) { - fTimer->Stop(); - fElapsed_time+=fTimer->GetRealElapsed(); - fTimer->Start(); - fConvergenceFileOutput<GetEventID() + 1; + // G4double factor=1.; + if (fAdjoint_sim_mode) { + G4double n_adj_evt = nb_event / fNb_evt_per_adj_evt; + // nb_event/fNb_evt_per_adj_evt; + if (n_adj_evt * fNb_evt_per_adj_evt == nb_event) { + nb_event = static_cast(n_adj_evt); + } + else + nb_event = 0; + } + + if (nb_event > 100 && fStop_run_if_precision_reached && fPrecision_to_reach > fRelative_error) { + G4cout << fPrecision_to_reach * 100. << "% Precision reached!" << std::endl; + fTimer->Stop(); + fElapsed_time += fTimer->GetRealElapsed(); + fConvergenceFileOutput << fMean_edep << '\t' << fError_mean_edep << '\t' << fElapsed_time + << std::endl; + G4RunManager::GetRunManager()->AbortRun(true); + } + + if (nb_event > 0 && nb_event % fNb_evt_modulo_for_convergence_test == 0) { + fTimer->Stop(); + fElapsed_time += fTimer->GetRealElapsed(); + fTimer->Start(); + fConvergenceFileOutput << fMean_edep << '\t' << fError_mean_edep << '\t' << fElapsed_time + << std::endl; + } +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01AnalysisManager::EndOfEventForForwardSimulation( - const G4Event* anEvent) -{ - - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - G4HCofThisEvent* HCE = anEvent->GetHCofThisEvent(); - RMC01DoubleWithWeightHitsCollection* edepCollection = - (RMC01DoubleWithWeightHitsCollection*) - (HCE->GetHC(SDman->GetCollectionID("edep"))); - - RMC01DoubleWithWeightHitsCollection* electronCurrentCollection = - (RMC01DoubleWithWeightHitsCollection*) - (HCE->GetHC(SDman->GetCollectionID("current_electron"))); - - RMC01DoubleWithWeightHitsCollection* protonCurrentCollection = - (RMC01DoubleWithWeightHitsCollection*) - (HCE->GetHC(SDman->GetCollectionID("current_proton"))); - - RMC01DoubleWithWeightHitsCollection* gammaCurrentCollection = - (RMC01DoubleWithWeightHitsCollection*) - (HCE->GetHC(SDman->GetCollectionID("current_gamma"))); - - //Total energy deposited in Event - //------------------------------- - G4double totEdep=0; - std::size_t i; - for (i=0;ientries();++i) - totEdep+=(*edepCollection)[i]->GetValue() - *(*edepCollection)[i]->GetWeight(); - - if (totEdep>0.){ - fAccumulated_edep +=totEdep ; - fAccumulated_edep2 +=totEdep*totEdep; - fNentry += 1.0; - G4PrimaryParticle* thePrimary= - anEvent->GetPrimaryVertex()->GetPrimary(); - G4double E0= thePrimary->GetG4code()->GetPDGMass(); - G4double P=thePrimary->GetMomentum().mag(); - G4double prim_ekin =std::sqrt(E0*E0+P*P)-E0; - fEdep_vs_prim_ekin->fill(prim_ekin,totEdep); - } - ComputeMeanEdepAndError(anEvent,fMean_edep,fError_mean_edep); - if (fError_mean_edep>0) fRelative_error= fError_mean_edep/fMean_edep; - - //Particle current on sensitive cylinder - //------------------------------------- - - for (i=0;ientries();++i) { - G4double ekin =(*electronCurrentCollection)[i]->GetValue(); - G4double weight=(*electronCurrentCollection)[i]->GetWeight(); - fElectron_current->fill(ekin,weight); - } - - for (i=0;ientries();++i) { - G4double ekin =(*protonCurrentCollection)[i]->GetValue(); - G4double weight=(*protonCurrentCollection)[i]->GetWeight(); - fProton_current->fill(ekin,weight); - } - - for (i=0;ientries();++i) { - G4double ekin =(*gammaCurrentCollection)[i]->GetValue(); - G4double weight=(*gammaCurrentCollection)[i]->GetWeight(); - fGamma_current->fill(ekin,weight); - } - +void RMC01AnalysisManager::EndOfEventForForwardSimulation(const G4Event* anEvent) +{ + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + G4HCofThisEvent* HCE = anEvent->GetHCofThisEvent(); + RMC01DoubleWithWeightHitsCollection* edepCollection = + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("edep"))); + + RMC01DoubleWithWeightHitsCollection* electronCurrentCollection = + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("current_electron"))); + + RMC01DoubleWithWeightHitsCollection* protonCurrentCollection = + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("current_proton"))); + + RMC01DoubleWithWeightHitsCollection* gammaCurrentCollection = + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("current_gamma"))); + + // Total energy deposited in Event + //------------------------------- + G4double totEdep = 0; + std::size_t i; + for (i = 0; i < edepCollection->entries(); ++i) + totEdep += (*edepCollection)[i]->GetValue() * (*edepCollection)[i]->GetWeight(); + + if (totEdep > 0.) { + fAccumulated_edep += totEdep; + fAccumulated_edep2 += totEdep * totEdep; + fNentry += 1.0; + G4PrimaryParticle* thePrimary = anEvent->GetPrimaryVertex()->GetPrimary(); + G4double E0 = thePrimary->GetG4code()->GetPDGMass(); + G4double P = thePrimary->GetMomentum().mag(); + G4double prim_ekin = std::sqrt(E0 * E0 + P * P) - E0; + fEdep_vs_prim_ekin->fill(prim_ekin, totEdep); + } + ComputeMeanEdepAndError(anEvent, fMean_edep, fError_mean_edep); + if (fError_mean_edep > 0) fRelative_error = fError_mean_edep / fMean_edep; + + // Particle current on sensitive cylinder + //------------------------------------- + + for (i = 0; i < electronCurrentCollection->entries(); ++i) { + G4double ekin = (*electronCurrentCollection)[i]->GetValue(); + G4double weight = (*electronCurrentCollection)[i]->GetWeight(); + fElectron_current->fill(ekin, weight); + } + + for (i = 0; i < protonCurrentCollection->entries(); ++i) { + G4double ekin = (*protonCurrentCollection)[i]->GetValue(); + G4double weight = (*protonCurrentCollection)[i]->GetWeight(); + fProton_current->fill(ekin, weight); + } + + for (i = 0; i < gammaCurrentCollection->entries(); ++i) { + G4double ekin = (*gammaCurrentCollection)[i]->GetValue(); + G4double weight = (*gammaCurrentCollection)[i]->GetWeight(); + fGamma_current->fill(ekin, weight); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01AnalysisManager::EndOfEventForAdjointSimulation( - const G4Event* anEvent) -{ - //Output from Sensitive volume computed during the forward tracking phase +void RMC01AnalysisManager::EndOfEventForAdjointSimulation(const G4Event* anEvent) +{ + // Output from Sensitive volume computed during the forward tracking phase //----------------------------------------------------------------------- G4SDManager* SDman = G4SDManager::GetSDMpointer(); G4HCofThisEvent* HCE = anEvent->GetHCofThisEvent(); RMC01DoubleWithWeightHitsCollection* edepCollection = - (RMC01DoubleWithWeightHitsCollection*)( - HCE->GetHC(SDman->GetCollectionID("edep"))); + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("edep"))); RMC01DoubleWithWeightHitsCollection* electronCurrentCollection = - (RMC01DoubleWithWeightHitsCollection*)( - HCE->GetHC(SDman->GetCollectionID("current_electron"))); + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("current_electron"))); RMC01DoubleWithWeightHitsCollection* protonCurrentCollection = - (RMC01DoubleWithWeightHitsCollection*)( - HCE->GetHC(SDman->GetCollectionID("current_proton"))); + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("current_proton"))); RMC01DoubleWithWeightHitsCollection* gammaCurrentCollection = - (RMC01DoubleWithWeightHitsCollection*)( - HCE->GetHC(SDman->GetCollectionID("current_gamma"))); - - //Computation of total energy deposited in fwd tracking phase + (RMC01DoubleWithWeightHitsCollection*)(HCE->GetHC(SDman->GetCollectionID("current_gamma"))); + + // Computation of total energy deposited in fwd tracking phase //------------------------------- - G4double totEdep=0; - std::size_t i; - for (i=0;ientries();++i) - totEdep+=(*edepCollection)[i]->GetValue()* - (*edepCollection)[i]->GetWeight(); + G4double totEdep = 0; + std::size_t i; + for (i = 0; i < edepCollection->entries(); ++i) + totEdep += (*edepCollection)[i]->GetValue() * (*edepCollection)[i]->GetWeight(); - //Output from adjoint tracking phase + // Output from adjoint tracking phase //---------------------------------------------------------------------------- - - G4AdjointSimManager* theAdjointSimManager = - G4AdjointSimManager::GetInstance(); - size_t nb_adj_track = - theAdjointSimManager->GetNbOfAdointTracksReachingTheExternalSurface(); + G4AdjointSimManager* theAdjointSimManager = G4AdjointSimManager::GetInstance(); + + size_t nb_adj_track = theAdjointSimManager->GetNbOfAdointTracksReachingTheExternalSurface(); G4double total_normalised_weight = 0.; - //We need to loop over the adjoint tracks that have reached the external - //surface. - for (std::size_t j=0;jGetFwdParticlePDGEncodingAtEndOfLastAdjointTrack(j); - G4double prim_ekin=theAdjointSimManager - ->GetEkinAtEndOfLastAdjointTrack(j); - G4double adj_weight=theAdjointSimManager - ->GetWeightAtEndOfLastAdjointTrack(j); - - - //Factor of normalisation to user defined prim spectrum (power law or exp) + // We need to loop over the adjoint tracks that have reached the external + // surface. + for (std::size_t j = 0; j < nb_adj_track; ++j) { + G4int pdg_nb = theAdjointSimManager->GetFwdParticlePDGEncodingAtEndOfLastAdjointTrack(j); + G4double prim_ekin = theAdjointSimManager->GetEkinAtEndOfLastAdjointTrack(j); + G4double adj_weight = theAdjointSimManager->GetWeightAtEndOfLastAdjointTrack(j); + + // Factor of normalisation to user defined prim spectrum (power law or exp) //------------------------------------------------------------------------ G4double normalised_weight = 0.; - if (pdg_nb== fPrimPDG_ID && prim_ekin>= fEmin_prim_spectrum - && prim_ekin<= fEmax_prim_spectrum) - normalised_weight = - adj_weight*PrimDiffAndDirFluxForAdjointSim(prim_ekin); + if (pdg_nb == fPrimPDG_ID && prim_ekin >= fEmin_prim_spectrum + && prim_ekin <= fEmax_prim_spectrum) + normalised_weight = adj_weight * PrimDiffAndDirFluxForAdjointSim(prim_ekin); total_normalised_weight += normalised_weight; - - //Answer matrices + + // Answer matrices //------------- - G4H1* edep_rmatrix =0; - G4H2* electron_current_rmatrix =0; - G4H2* gamma_current_rmatrix =0; - G4H2* proton_current_rmatrix =0; + G4H1* edep_rmatrix = 0; + G4H2* electron_current_rmatrix = 0; + G4H2* gamma_current_rmatrix = 0; + G4H2* proton_current_rmatrix = 0; - if (pdg_nb == G4Electron::Electron()->GetPDGEncoding()){ //e- matrices + if (pdg_nb == G4Electron::Electron()->GetPDGEncoding()) { // e- matrices edep_rmatrix = fEdep_rmatrix_vs_electron_prim_energy; - electron_current_rmatrix = - fElectron_current_rmatrix_vs_electron_prim_energy; + electron_current_rmatrix = fElectron_current_rmatrix_vs_electron_prim_energy; gamma_current_rmatrix = fGamma_current_rmatrix_vs_electron_prim_energy; } - else if (pdg_nb == G4Gamma::Gamma()->GetPDGEncoding()){ - //gammma answer matrices + else if (pdg_nb == G4Gamma::Gamma()->GetPDGEncoding()) { + // gammma answer matrices edep_rmatrix = fEdep_rmatrix_vs_gamma_prim_energy; electron_current_rmatrix = fElectron_current_rmatrix_vs_gamma_prim_energy; gamma_current_rmatrix = fGamma_current_rmatrix_vs_gamma_prim_energy; } - else if (pdg_nb == G4Proton::Proton()->GetPDGEncoding()){ - //proton answer matrices + else if (pdg_nb == G4Proton::Proton()->GetPDGEncoding()) { + // proton answer matrices edep_rmatrix = fEdep_rmatrix_vs_proton_prim_energy; - electron_current_rmatrix = - fElectron_current_rmatrix_vs_proton_prim_energy; + electron_current_rmatrix = fElectron_current_rmatrix_vs_proton_prim_energy; gamma_current_rmatrix = fGamma_current_rmatrix_vs_proton_prim_energy; proton_current_rmatrix = fProton_current_rmatrix_vs_proton_prim_energy; } - //Register histo edep vs prim ekin + // Register histo edep vs prim ekin //---------------------------------- - if (normalised_weight>0) fEdep_vs_prim_ekin - ->fill(prim_ekin,totEdep*normalised_weight); + if (normalised_weight > 0) fEdep_vs_prim_ekin->fill(prim_ekin, totEdep * normalised_weight); // Registering answer matrix //--------------------------- - edep_rmatrix->fill(prim_ekin,totEdep*adj_weight/cm2); - - //Registering of current of particles on the sensitive volume - //------------------------------------------------------------ - - for (i=0;ientries();++i) { - G4double ekin =(*electronCurrentCollection)[i]->GetValue(); - G4double weight=(*electronCurrentCollection)[i]->GetWeight(); - fElectron_current->fill(ekin,weight*normalised_weight); - electron_current_rmatrix->fill(prim_ekin,ekin,weight*adj_weight/cm2); - } - for (i=0;ientries();++i) { - G4double ekin =(*protonCurrentCollection)[i]->GetValue(); - G4double weight=(*protonCurrentCollection)[i]->GetWeight(); - fProton_current->fill(ekin,weight*normalised_weight); - proton_current_rmatrix->fill(prim_ekin,ekin,weight*adj_weight/cm2); - } - for (i=0;ientries();++i) { - G4double ekin =(*gammaCurrentCollection)[i]->GetValue(); - G4double weight=(*gammaCurrentCollection)[i]->GetWeight(); - fGamma_current->fill(ekin,weight*normalised_weight); - gamma_current_rmatrix->fill(prim_ekin,ekin,weight*adj_weight/cm2); - } + edep_rmatrix->fill(prim_ekin, totEdep * adj_weight / cm2); + + // Registering of current of particles on the sensitive volume + //------------------------------------------------------------ + + for (i = 0; i < electronCurrentCollection->entries(); ++i) { + G4double ekin = (*electronCurrentCollection)[i]->GetValue(); + G4double weight = (*electronCurrentCollection)[i]->GetWeight(); + fElectron_current->fill(ekin, weight * normalised_weight); + electron_current_rmatrix->fill(prim_ekin, ekin, weight * adj_weight / cm2); + } + for (i = 0; i < protonCurrentCollection->entries(); ++i) { + G4double ekin = (*protonCurrentCollection)[i]->GetValue(); + G4double weight = (*protonCurrentCollection)[i]->GetWeight(); + fProton_current->fill(ekin, weight * normalised_weight); + proton_current_rmatrix->fill(prim_ekin, ekin, weight * adj_weight / cm2); + } + for (i = 0; i < gammaCurrentCollection->entries(); ++i) { + G4double ekin = (*gammaCurrentCollection)[i]->GetValue(); + G4double weight = (*gammaCurrentCollection)[i]->GetWeight(); + fGamma_current->fill(ekin, weight * normalised_weight); + gamma_current_rmatrix->fill(prim_ekin, ekin, weight * adj_weight / cm2); + } } - //Registering of total energy deposited in Event + // Registering of total energy deposited in Event //------------------------------- - G4bool new_mean_computed=false; - if (totEdep>0.){ - if (total_normalised_weight>0.){ - G4double edep=totEdep* total_normalised_weight; - - //Check if the edep is not wrongly too high - //----------------------------------------- - G4double new_mean(0.0), new_error(0.0); - fAccumulated_edep +=edep; - fAccumulated_edep2 +=edep*edep; - fNentry += 1.0; - ComputeMeanEdepAndError(anEvent,new_mean,new_error); - G4double new_relative_error = 1.; - if ( new_error >0) new_relative_error = new_error/ new_mean; - if (fRelative_error <0.10 && new_relative_error>1.5*fRelative_error) { - G4cout<<"Potential wrong adjoint weight!"< 0.0) ? fError_mean_edep/fMean_edep : 0.0; - } - } + G4bool new_mean_computed = false; + if (totEdep > 0.) { + if (total_normalised_weight > 0.) { + G4double edep = totEdep * total_normalised_weight; + + // Check if the edep is not wrongly too high + //----------------------------------------- + G4double new_mean(0.0), new_error(0.0); + fAccumulated_edep += edep; + fAccumulated_edep2 += edep * edep; + fNentry += 1.0; + ComputeMeanEdepAndError(anEvent, new_mean, new_error); + G4double new_relative_error = 1.; + if (new_error > 0) new_relative_error = new_error / new_mean; + if (fRelative_error < 0.10 && new_relative_error > 1.5 * fRelative_error) { + G4cout << "Potential wrong adjoint weight!" << std::endl; + G4cout << "The results of this event will not be registered!" << std::endl; + G4cout << "previous mean edep [MeV] " << fMean_edep << std::endl; + G4cout << "previous relative error " << fRelative_error << std::endl; + G4cout << "new rejected mean edep [MeV] " << new_mean << std::endl; + G4cout << "new rejected relative error " << new_relative_error << std::endl; + fAccumulated_edep -= edep; + fAccumulated_edep2 -= edep * edep; + fNentry -= 1.0; + return; + } + else { // accepted + fMean_edep = new_mean; + fError_mean_edep = new_error; + fRelative_error = new_relative_error; + new_mean_computed = true; + } + } + + if (!new_mean_computed) { + ComputeMeanEdepAndError(anEvent, fMean_edep, fError_mean_edep); + fRelative_error = (fMean_edep > 0.0) ? fError_mean_edep / fMean_edep : 0.0; + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double RMC01AnalysisManager::PrimDiffAndDirFluxForAdjointSim( - G4double prim_energy) -{ - G4double flux=fAmplitude_prim_spectrum; - if ( fPrimSpectrumType ==EXPO) flux*=std::exp(-prim_energy/fAlpha_or_E0); - else flux*=std::pow(prim_energy, -fAlpha_or_E0); +G4double RMC01AnalysisManager::PrimDiffAndDirFluxForAdjointSim(G4double prim_energy) +{ + G4double flux = fAmplitude_prim_spectrum; + if (fPrimSpectrumType == EXPO) + flux *= std::exp(-prim_energy / fAlpha_or_E0); + else + flux *= std::pow(prim_energy, -fAlpha_or_E0); return flux; } @@ -486,7 +465,7 @@ void RMC01AnalysisManager::WriteHisto(G4H2* anHisto, G4double scaling_factor, G4String fileName, G4String header_lines) { std::fstream FileOutput(fileName, std::ios::out); FileOutput<GetEventID()+1; - G4double factor=1.; - if (fAdjoint_sim_mode) { - nb_event /= fNb_evt_per_adj_evt; - factor = 1.*G4AdjointSimManager::GetInstance()->GetNbEvtOfLastRun(); - } - - // VI: error computation now is based on number of entries and not - // number of events - // LD: This is wrong! With the use of fNentry the results were no longer - // correctly normalised. The mean and the error should be computed - // with nb_event. The old computation has been reset. - // VI: OK, but let computations be double - if (nb_event > 0) { - G4double norm = 1.0/(G4double)nb_event; - mean = fAccumulated_edep*norm; - G4double mean_x2 = fAccumulated_edep2*norm; - G4double zz = mean_x2 - mean*mean; - /* - G4cout << "Nevt= " << nb_event << " mean= " << mean - << " mean_x2= " << mean_x2 << " x2 - x*x= " - << zz << G4endl; - */ - error = factor*std::sqrt(std::max(zz, 0.)*norm); - mean *= factor; - } else { - mean=0; - error=0; - } - //G4cout << "Aend: " << mean << " " << error << G4endl; +void RMC01AnalysisManager::ComputeMeanEdepAndError(const G4Event* anEvent, G4double& mean, + G4double& error) +{ + G4int nb_event = anEvent->GetEventID() + 1; + G4double factor = 1.; + if (fAdjoint_sim_mode) { + nb_event /= fNb_evt_per_adj_evt; + factor = 1. * G4AdjointSimManager::GetInstance()->GetNbEvtOfLastRun(); + } + + // VI: error computation now is based on number of entries and not + // number of events + // LD: This is wrong! With the use of fNentry the results were no longer + // correctly normalised. The mean and the error should be computed + // with nb_event. The old computation has been reset. + // VI: OK, but let computations be double + if (nb_event > 0) { + G4double norm = 1.0 / (G4double)nb_event; + mean = fAccumulated_edep * norm; + G4double mean_x2 = fAccumulated_edep2 * norm; + G4double zz = mean_x2 - mean * mean; + /* + G4cout << "Nevt= " << nb_event << " mean= " << mean + << " mean_x2= " << mean_x2 << " x2 - x*x= " + << zz << G4endl; + */ + error = factor * std::sqrt(std::max(zz, 0.) * norm); + mean *= factor; + } + else { + mean = 0; + error = 0; + } + // G4cout << "Aend: " << mean << " " << error << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01AnalysisManager::SetPrimaryExpSpectrumForAdjointSim( - const G4String& particle_name, G4double omni_fluence, - G4double E0, G4double Emin, - G4double Emax) -{ fPrimSpectrumType = EXPO; - if (particle_name == "e-" ) fPrimPDG_ID = - G4Electron::Electron()->GetPDGEncoding(); - else if (particle_name == "gamma") fPrimPDG_ID = - G4Gamma::Gamma()->GetPDGEncoding(); - else if (particle_name == "proton") fPrimPDG_ID = - G4Proton::Proton()->GetPDGEncoding(); +void RMC01AnalysisManager::SetPrimaryExpSpectrumForAdjointSim(const G4String& particle_name, + G4double omni_fluence, G4double E0, + G4double Emin, G4double Emax) +{ + fPrimSpectrumType = EXPO; + if (particle_name == "e-") + fPrimPDG_ID = G4Electron::Electron()->GetPDGEncoding(); + else if (particle_name == "gamma") + fPrimPDG_ID = G4Gamma::Gamma()->GetPDGEncoding(); + else if (particle_name == "proton") + fPrimPDG_ID = G4Proton::Proton()->GetPDGEncoding(); else { - G4cout<<"The particle that you did select is not in the candidate "<< - "list for primary [e-, gamma, proton]!"<GetPDGEncoding(); - else if (particle_name == "gamma") fPrimPDG_ID = - G4Gamma::Gamma()->GetPDGEncoding(); - else if (particle_name == "proton") fPrimPDG_ID = - G4Proton::Proton()->GetPDGEncoding(); +void RMC01AnalysisManager::SetPrimaryPowerLawSpectrumForAdjointSim(const G4String& particle_name, + G4double omni_fluence, + G4double alpha, G4double Emin, + G4double Emax) +{ + fPrimSpectrumType = POWER; + if (particle_name == "e-") + fPrimPDG_ID = G4Electron::Electron()->GetPDGEncoding(); + else if (particle_name == "gamma") + fPrimPDG_ID = G4Gamma::Gamma()->GetPDGEncoding(); + else if (particle_name == "proton") + fPrimPDG_ID = G4Proton::Proton()->GetPDGEncoding(); + else { + G4cout << "The particle that you did select is not in the candidate" + << " list for primary [e-, gamma, proton]!" << G4endl; + return; + } + + if (alpha == 1.) { + fAmplitude_prim_spectrum = omni_fluence / std::log(Emax / Emin) / 4. / pi; + } else { - G4cout<<"The particle that you did select is not in the candidate"<< - " list for primary [e-, gamma, proton]!"<SetDefaultFileType("root"); - G4String extension = theHistoManager->GetFileType(); - fFileName[1] = fFileName[0] + "." + extension; - theHistoManager->SetFirstHistoId(1); + // Histo manager + G4AnalysisManager* theHistoManager = G4AnalysisManager::Instance(); + theHistoManager->SetDefaultFileType("root"); + G4String extension = theHistoManager->GetFileType(); + fFileName[1] = fFileName[0] + "." + extension; + theHistoManager->SetFirstHistoId(1); - G4bool fileOpen = theHistoManager->OpenFile(fFileName[0]); - if (!fileOpen) { - G4cout << "\n---> RMC01AnalysisManager::Book(): cannot open " - << fFileName[1] - << G4endl; - return; - } + G4bool fileOpen = theHistoManager->OpenFile(fFileName[0]); + if (!fileOpen) { + G4cout << "\n---> RMC01AnalysisManager::Book(): cannot open " << fFileName[1] << G4endl; + return; + } - // Create directories - theHistoManager->SetHistoDirectoryName("histo"); + // Create directories + theHistoManager->SetHistoDirectoryName("histo"); - //Histograms for : - // 1)the forward simulation results - // 2)the Reverse MC simulation results normalised to a user spectrum + // Histograms for : + // 1)the forward simulation results + // 2)the Reverse MC simulation results normalised to a user spectrum //------------------------------------------------------------------------ - G4int idHisto = - theHistoManager->CreateH1(G4String("Edep_vs_prim_ekin"), - G4String("edep vs e- primary energy"),60,emin,emax, - "none","none",G4String("log")); + G4int idHisto = + theHistoManager->CreateH1(G4String("Edep_vs_prim_ekin"), G4String("edep vs e- primary energy"), + 60, emin, emax, "none", "none", G4String("log")); fEdep_vs_prim_ekin = theHistoManager->GetH1(idHisto); - idHisto = theHistoManager->CreateH1(G4String("elecron_current"), - G4String("electron"),60,emin,emax, - "none","none",G4String("log")); + idHisto = theHistoManager->CreateH1(G4String("elecron_current"), G4String("electron"), 60, emin, + emax, "none", "none", G4String("log")); - fElectron_current = theHistoManager->GetH1(idHisto); + fElectron_current = theHistoManager->GetH1(idHisto); - idHisto= theHistoManager->CreateH1(G4String("proton_current"), - G4String("proton"),60,emin,emax, - "none","none",G4String("log")); - fProton_current=theHistoManager->GetH1(idHisto); + idHisto = theHistoManager->CreateH1(G4String("proton_current"), G4String("proton"), 60, emin, + emax, "none", "none", G4String("log")); + fProton_current = theHistoManager->GetH1(idHisto); - idHisto= theHistoManager->CreateH1(G4String("gamma_current"), - G4String("gamma"),60,emin,emax, - "none","none",G4String("log")); - fGamma_current=theHistoManager->GetH1(idHisto); + idHisto = theHistoManager->CreateH1(G4String("gamma_current"), G4String("gamma"), 60, emin, emax, + "none", "none", G4String("log")); + fGamma_current = theHistoManager->GetH1(idHisto); - //Response matrices for the adjoint simulation only + // Response matrices for the adjoint simulation only //----------------------------------------------- - if (fAdjoint_sim_mode){ - //Response matrices for external isotropic e- source - //-------------------------------------------------- - - idHisto = - theHistoManager->CreateH1(G4String("Edep_rmatrix_vs_electron_prim_energy"), - G4String("electron RM vs e- primary energy"),60,emin,emax, - "none","none",G4String("log")); - fEdep_rmatrix_vs_electron_prim_energy = theHistoManager->GetH1(idHisto); - - idHisto = - theHistoManager-> - CreateH2(G4String("Electron_current_rmatrix_vs_electron_prim_energy"), - G4String("electron current RM vs e- primary energy"), - 60,emin,emax,60,emin,emax, - "none","none","none","none",G4String("log"),G4String("log")); - - fElectron_current_rmatrix_vs_electron_prim_energy = - theHistoManager->GetH2(idHisto); - - idHisto = - theHistoManager-> - CreateH2(G4String("Gamma_current_rmatrix_vs_electron_prim_energy"), - G4String("gamma current RM vs e- primary energy"), - 60,emin,emax,60,emin,emax, - "none","none","none","none",G4String("log"),G4String("log")); - - fGamma_current_rmatrix_vs_electron_prim_energy = - theHistoManager->GetH2(idHisto); - - //Response matrices for external isotropic gamma source - - idHisto = - theHistoManager->CreateH1(G4String("Edep_rmatrix_vs_gamma_prim_energy"), - G4String("electron RM vs gamma primary energy"),60,emin,emax, - "none","none",G4String("log")); - fEdep_rmatrix_vs_gamma_prim_energy = theHistoManager->GetH1(idHisto); - - idHisto = - theHistoManager-> - CreateH2(G4String("Electron_current_rmatrix_vs_gamma_prim_energy"), - G4String("electron current RM vs gamma primary energy"), - 60,emin,emax,60,emin,emax, - "none","none","none","none",G4String("log"),G4String("log")); - - fElectron_current_rmatrix_vs_gamma_prim_energy = - theHistoManager->GetH2(idHisto); - - idHisto = - theHistoManager-> - CreateH2(G4String("Gamma_current_rmatrix_vs_gamma_prim_energy"), - G4String("gamma current RM vs gamma primary energy"), - 60,emin,emax,60,emin,emax, - "none","none","none","none",G4String("log"),G4String("log")); - - fGamma_current_rmatrix_vs_gamma_prim_energy = - theHistoManager->GetH2(idHisto); - - //Response matrices for external isotropic proton source - idHisto = - theHistoManager->CreateH1(G4String("Edep_rmatrix_vs_proton_prim_energy"), - G4String("electron RM vs proton primary energy"),60,emin,emax, - "none","none",G4String("log")); - fEdep_rmatrix_vs_proton_prim_energy = theHistoManager->GetH1(idHisto); - - idHisto = - theHistoManager-> - CreateH2(G4String("Electron_current_rmatrix_vs_proton_prim_energy"), - G4String("electron current RM vs proton primary energy"), - 60,emin,emax,60,emin,emax, - "none","none","none","none",G4String("log"),G4String("log")); - - fElectron_current_rmatrix_vs_proton_prim_energy = - theHistoManager->GetH2(idHisto); - - idHisto = - theHistoManager-> - CreateH2(G4String("Gamma_current_rmatrix_vs_proton_prim_energy"), - G4String("gamma current RM vs proton primary energy"), - 60,emin,emax,60,emin,emax, - "none","none","none","none",G4String("log"),G4String("log")); - - fGamma_current_rmatrix_vs_proton_prim_energy = - theHistoManager->GetH2(idHisto); - - idHisto = - theHistoManager-> - CreateH2(G4String("Proton_current_rmatrix_vs_proton_prim_energy"), - G4String("proton current RM vs proton primary energy"), - 60,emin,emax,60,emin,emax, - "none","none","none","none",G4String("log"),G4String("log")); - - fProton_current_rmatrix_vs_proton_prim_energy = - theHistoManager->GetH2(idHisto); + if (fAdjoint_sim_mode) { + // Response matrices for external isotropic e- source + //-------------------------------------------------- + + idHisto = theHistoManager->CreateH1(G4String("Edep_rmatrix_vs_electron_prim_energy"), + G4String("electron RM vs e- primary energy"), 60, emin, + emax, "none", "none", G4String("log")); + fEdep_rmatrix_vs_electron_prim_energy = theHistoManager->GetH1(idHisto); + + idHisto = theHistoManager->CreateH2( + G4String("Electron_current_rmatrix_vs_electron_prim_energy"), + G4String("electron current RM vs e- primary energy"), 60, emin, emax, 60, emin, emax, "none", + "none", "none", "none", G4String("log"), G4String("log")); + + fElectron_current_rmatrix_vs_electron_prim_energy = theHistoManager->GetH2(idHisto); + + idHisto = theHistoManager->CreateH2(G4String("Gamma_current_rmatrix_vs_electron_prim_energy"), + G4String("gamma current RM vs e- primary energy"), 60, + emin, emax, 60, emin, emax, "none", "none", "none", "none", + G4String("log"), G4String("log")); + + fGamma_current_rmatrix_vs_electron_prim_energy = theHistoManager->GetH2(idHisto); + + // Response matrices for external isotropic gamma source + + idHisto = theHistoManager->CreateH1(G4String("Edep_rmatrix_vs_gamma_prim_energy"), + G4String("electron RM vs gamma primary energy"), 60, emin, + emax, "none", "none", G4String("log")); + fEdep_rmatrix_vs_gamma_prim_energy = theHistoManager->GetH1(idHisto); + + idHisto = theHistoManager->CreateH2(G4String("Electron_current_rmatrix_vs_gamma_prim_energy"), + G4String("electron current RM vs gamma primary energy"), + 60, emin, emax, 60, emin, emax, "none", "none", "none", + "none", G4String("log"), G4String("log")); + + fElectron_current_rmatrix_vs_gamma_prim_energy = theHistoManager->GetH2(idHisto); + + idHisto = theHistoManager->CreateH2(G4String("Gamma_current_rmatrix_vs_gamma_prim_energy"), + G4String("gamma current RM vs gamma primary energy"), 60, + emin, emax, 60, emin, emax, "none", "none", "none", "none", + G4String("log"), G4String("log")); + + fGamma_current_rmatrix_vs_gamma_prim_energy = theHistoManager->GetH2(idHisto); + + // Response matrices for external isotropic proton source + idHisto = theHistoManager->CreateH1(G4String("Edep_rmatrix_vs_proton_prim_energy"), + G4String("electron RM vs proton primary energy"), 60, emin, + emax, "none", "none", G4String("log")); + fEdep_rmatrix_vs_proton_prim_energy = theHistoManager->GetH1(idHisto); + + idHisto = theHistoManager->CreateH2(G4String("Electron_current_rmatrix_vs_proton_prim_energy"), + G4String("electron current RM vs proton primary energy"), + 60, emin, emax, 60, emin, emax, "none", "none", "none", + "none", G4String("log"), G4String("log")); + + fElectron_current_rmatrix_vs_proton_prim_energy = theHistoManager->GetH2(idHisto); + + idHisto = theHistoManager->CreateH2(G4String("Gamma_current_rmatrix_vs_proton_prim_energy"), + G4String("gamma current RM vs proton primary energy"), 60, + emin, emax, 60, emin, emax, "none", "none", "none", "none", + G4String("log"), G4String("log")); + + fGamma_current_rmatrix_vs_proton_prim_energy = theHistoManager->GetH2(idHisto); + + idHisto = theHistoManager->CreateH2(G4String("Proton_current_rmatrix_vs_proton_prim_energy"), + G4String("proton current RM vs proton primary energy"), 60, + emin, emax, 60, emin, emax, "none", "none", "none", "none", + G4String("log"), G4String("log")); + + fProton_current_rmatrix_vs_proton_prim_energy = theHistoManager->GetH2(idHisto); } fFactoryOn = true; G4cout << "\n----> Histogram Tree is opened in " << fFileName[1] << G4endl; @@ -765,17 +714,18 @@ void RMC01AnalysisManager::Book() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01AnalysisManager::Save(G4double scaling_factor) -{ if (fFactoryOn) { +{ + if (fFactoryOn) { G4AnalysisManager* theHistoManager = G4AnalysisManager::Instance(); - //scaling of results + // scaling of results //----------------- - for (G4int ind=1; ind<=theHistoManager->GetNofH1s();++ind){ - theHistoManager->SetH1Ascii(ind,true); - theHistoManager->ScaleH1(ind,scaling_factor); + for (G4int ind = 1; ind <= theHistoManager->GetNofH1s(); ++ind) { + theHistoManager->SetH1Ascii(ind, true); + theHistoManager->ScaleH1(ind, scaling_factor); } - for (G4int ind=1; ind<=theHistoManager->GetNofH2s();++ind) - theHistoManager->ScaleH2(ind,scaling_factor); + for (G4int ind = 1; ind <= theHistoManager->GetNofH2s(); ++ind) + theHistoManager->ScaleH2(ind, scaling_factor); theHistoManager->Write(); theHistoManager->CloseFile(); diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManagerMessenger.cc b/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManagerMessenger.cc index 9bbbfb3652b..2235a4b39ae 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManagerMessenger.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManagerMessenger.cc @@ -38,54 +38,54 @@ #include "RMC01AnalysisManagerMessenger.hh" #include "RMC01AnalysisManager.hh" -#include "G4UIdirectory.hh" + +#include "G4SystemOfUnits.hh" #include "G4UIcmdWithADouble.hh" +#include "G4UIdirectory.hh" #include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01AnalysisManagerMessenger::RMC01AnalysisManagerMessenger( - RMC01AnalysisManager* analysisManager) -: G4UImessenger(), - fAnalysisManager(analysisManager), - fAnalysisDir(0), - fSetPrecisionForConvergenceTestCmd(0), - fSetExpSpectrumToNormaliseAdjResCmd(0), - fSetPowerLawSpectrumToNormaliseAdjResCmd(0) -{ +RMC01AnalysisManagerMessenger::RMC01AnalysisManagerMessenger(RMC01AnalysisManager* analysisManager) + : G4UImessenger(), + fAnalysisManager(analysisManager), + fAnalysisDir(0), + fSetPrecisionForConvergenceTestCmd(0), + fSetExpSpectrumToNormaliseAdjResCmd(0), + fSetPowerLawSpectrumToNormaliseAdjResCmd(0) +{ fAnalysisDir = new G4UIdirectory("/RMC01/analysis/"); fAnalysisDir->SetGuidance("Analysis commands"); - - G4UIparameter* fluence_par = new G4UIparameter("Fluence",'d',true); + + G4UIparameter* fluence_par = new G4UIparameter("Fluence", 'd', true); fluence_par->SetParameterRange("Fluence > 0"); fluence_par->SetGuidance("Omnidirectional fluence for primary spectrum"); - - G4UIparameter* fluence_unit_par = new G4UIparameter("Fluence_unit",'s',true); + + G4UIparameter* fluence_unit_par = new G4UIparameter("Fluence_unit", 's', true); fluence_unit_par->SetParameterCandidates("1/cm2 1/m2 cm-2 m-2"); - - G4UIparameter* alpha_par = new G4UIparameter("alpha",'d',true); - - G4UIparameter* e0_par = new G4UIparameter("E0",'d',true); + + G4UIparameter* alpha_par = new G4UIparameter("alpha", 'd', true); + + G4UIparameter* e0_par = new G4UIparameter("E0", 'd', true); e0_par->SetParameterRange("E0 > 0"); - - G4UIparameter* e1_par = new G4UIparameter("E1",'d',true); + + G4UIparameter* e1_par = new G4UIparameter("E1", 'd', true); e1_par->SetParameterRange("E1 > 0"); - - G4UIparameter* e2_par = new G4UIparameter("E2",'d',true); + + G4UIparameter* e2_par = new G4UIparameter("E2", 'd', true); e2_par->SetParameterRange("E2 > 0"); - - G4UIparameter* e_unit_par = new G4UIparameter("E_unit",'s',true); + + G4UIparameter* e_unit_par = new G4UIparameter("E_unit", 's', true); e_unit_par->SetParameterCandidates("eV keV MeV GeV TeV"); - - G4UIparameter* part_name_par = new G4UIparameter("particle_name",'s',true); + + G4UIparameter* part_name_par = new G4UIparameter("particle_name", 's', true); part_name_par->SetParameterCandidates("e- gamma proton "); - + fSetPowerLawSpectrumToNormaliseAdjResCmd = - new G4UIcommand("/RMC01/analysis/SetPowerLawPrimSpectrumForAdjointSim",this); - fSetPowerLawSpectrumToNormaliseAdjResCmd - ->SetGuidance("Set the primary spectrum to which adjoint simulation " - "results will be normalised as a power law (Ekin^-alpha)."); + new G4UIcommand("/RMC01/analysis/SetPowerLawPrimSpectrumForAdjointSim", this); + fSetPowerLawSpectrumToNormaliseAdjResCmd->SetGuidance( + "Set the primary spectrum to which adjoint simulation " + "results will be normalised as a power law (Ekin^-alpha)."); fSetPowerLawSpectrumToNormaliseAdjResCmd->SetParameter(part_name_par); fSetPowerLawSpectrumToNormaliseAdjResCmd->SetParameter(fluence_par); fSetPowerLawSpectrumToNormaliseAdjResCmd->SetParameter(fluence_unit_par); @@ -93,43 +93,35 @@ RMC01AnalysisManagerMessenger::RMC01AnalysisManagerMessenger( fSetPowerLawSpectrumToNormaliseAdjResCmd->SetParameter(e1_par); fSetPowerLawSpectrumToNormaliseAdjResCmd->SetParameter(e2_par); fSetPowerLawSpectrumToNormaliseAdjResCmd->SetParameter(e_unit_par); - fSetPowerLawSpectrumToNormaliseAdjResCmd - ->AvailableForStates(G4State_PreInit,G4State_Idle); - - - fSetExpSpectrumToNormaliseAdjResCmd = new G4UIcommand("/RMC01/analysis/" - "SetExponentialSpectrumForAdjointSim",this); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetGuidance("Set the primary spectrum to which adjoint simulation results" - "will be normalised as exponential (exp(-Ekin/E0))."); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetParameter(new G4UIparameter(*part_name_par)); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetParameter(new G4UIparameter(*fluence_par)); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetParameter(new G4UIparameter(*fluence_unit_par)); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetParameter(new G4UIparameter(*e0_par)); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetParameter(new G4UIparameter(*e1_par)); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetParameter(new G4UIparameter(*e2_par)); - fSetExpSpectrumToNormaliseAdjResCmd - ->SetParameter(new G4UIparameter(*e_unit_par)); - fSetExpSpectrumToNormaliseAdjResCmd - ->AvailableForStates(G4State_PreInit,G4State_Idle); - - - fSetPrecisionForConvergenceTestCmd = new G4UIcmdWithADouble("/RMC01/analysis/" - "SetExpectedPrecisionOfResults",this); - fSetPrecisionForConvergenceTestCmd - ->SetGuidance("Set the precision in % that the computed energy deposited " - "in the sensitive volume should reached. If this precision is reached" - " before the end of the run, the run is aborted and the results are " - "registered."); - fSetPrecisionForConvergenceTestCmd->SetParameterName("Precision",true); - fSetPrecisionForConvergenceTestCmd - ->AvailableForStates(G4State_PreInit,G4State_Idle); + fSetPowerLawSpectrumToNormaliseAdjResCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fSetExpSpectrumToNormaliseAdjResCmd = new G4UIcommand( + "/RMC01/analysis/" + "SetExponentialSpectrumForAdjointSim", + this); + fSetExpSpectrumToNormaliseAdjResCmd->SetGuidance( + "Set the primary spectrum to which adjoint simulation results" + "will be normalised as exponential (exp(-Ekin/E0))."); + fSetExpSpectrumToNormaliseAdjResCmd->SetParameter(new G4UIparameter(*part_name_par)); + fSetExpSpectrumToNormaliseAdjResCmd->SetParameter(new G4UIparameter(*fluence_par)); + fSetExpSpectrumToNormaliseAdjResCmd->SetParameter(new G4UIparameter(*fluence_unit_par)); + fSetExpSpectrumToNormaliseAdjResCmd->SetParameter(new G4UIparameter(*e0_par)); + fSetExpSpectrumToNormaliseAdjResCmd->SetParameter(new G4UIparameter(*e1_par)); + fSetExpSpectrumToNormaliseAdjResCmd->SetParameter(new G4UIparameter(*e2_par)); + fSetExpSpectrumToNormaliseAdjResCmd->SetParameter(new G4UIparameter(*e_unit_par)); + fSetExpSpectrumToNormaliseAdjResCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fSetPrecisionForConvergenceTestCmd = new G4UIcmdWithADouble( + "/RMC01/analysis/" + "SetExpectedPrecisionOfResults", + this); + fSetPrecisionForConvergenceTestCmd->SetGuidance( + "Set the precision in % that the computed energy deposited " + "in the sensitive volume should reached. If this precision is reached" + " before the end of the run, the run is aborted and the results are " + "registered."); + fSetPrecisionForConvergenceTestCmd->SetParameterName("Precision", true); + fSetPrecisionForConvergenceTestCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -141,46 +133,41 @@ RMC01AnalysisManagerMessenger::~RMC01AnalysisManagerMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01AnalysisManagerMessenger::SetNewValue( - G4UIcommand* command,G4String newValue) +void RMC01AnalysisManagerMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fSetPowerLawSpectrumToNormaliseAdjResCmd){ - G4double alpha,e1,e2,fluence; - G4String f_unit,e_unit,part_name; + if (command == fSetPowerLawSpectrumToNormaliseAdjResCmd) { + G4double alpha, e1, e2, fluence; + G4String f_unit, e_unit, part_name; const char* nv = (const char*)newValue; std::istringstream is(nv); - is >> part_name>>fluence>>f_unit>>alpha>>e1>>e2>>e_unit; - - G4double factor_f_unit=1/cm2; - if (f_unit == "1/m2" || f_unit =="m-2") factor_f_unit=1/m2; - fluence*=factor_f_unit; - e1*= G4UnitDefinition::GetValueOf(e_unit); - e2*= G4UnitDefinition::GetValueOf(e_unit); - fAnalysisManager->SetPrimaryPowerLawSpectrumForAdjointSim( - part_name, fluence, alpha, e1, e2); + is >> part_name >> fluence >> f_unit >> alpha >> e1 >> e2 >> e_unit; + + G4double factor_f_unit = 1 / cm2; + if (f_unit == "1/m2" || f_unit == "m-2") factor_f_unit = 1 / m2; + fluence *= factor_f_unit; + e1 *= G4UnitDefinition::GetValueOf(e_unit); + e2 *= G4UnitDefinition::GetValueOf(e_unit); + fAnalysisManager->SetPrimaryPowerLawSpectrumForAdjointSim(part_name, fluence, alpha, e1, e2); } - else if( command == fSetExpSpectrumToNormaliseAdjResCmd){ - G4double e0,e1,e2,fluence; - G4String f_unit,e_unit,part_name; + else if (command == fSetExpSpectrumToNormaliseAdjResCmd) { + G4double e0, e1, e2, fluence; + G4String f_unit, e_unit, part_name; const char* nv = (const char*)newValue; std::istringstream is(nv); - is >> part_name>>fluence>>f_unit>>e0>>e1>>e2>>e_unit; - - G4double factor_f_unit=1/cm2; - if (f_unit == "1/m2" || f_unit =="m-2") factor_f_unit=1/m2; - - fluence*=factor_f_unit; - e0*= G4UnitDefinition::GetValueOf(e_unit); - e1*= G4UnitDefinition::GetValueOf(e_unit); - e2*= G4UnitDefinition::GetValueOf(e_unit); - - fAnalysisManager->SetPrimaryExpSpectrumForAdjointSim(part_name, - fluence, e0, e1, e2); - + is >> part_name >> fluence >> f_unit >> e0 >> e1 >> e2 >> e_unit; + + G4double factor_f_unit = 1 / cm2; + if (f_unit == "1/m2" || f_unit == "m-2") factor_f_unit = 1 / m2; + + fluence *= factor_f_unit; + e0 *= G4UnitDefinition::GetValueOf(e_unit); + e1 *= G4UnitDefinition::GetValueOf(e_unit); + e2 *= G4UnitDefinition::GetValueOf(e_unit); + + fAnalysisManager->SetPrimaryExpSpectrumForAdjointSim(part_name, fluence, e0, e1, e2); } - else if( command == fSetPrecisionForConvergenceTestCmd){ - fAnalysisManager->SetPrecision( - fSetPrecisionForConvergenceTestCmd->GetNewDoubleValue(newValue)); + else if (command == fSetPrecisionForConvergenceTestCmd) { + fAnalysisManager->SetPrecision(fSetPrecisionForConvergenceTestCmd->GetNewDoubleValue(newValue)); } } diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc b/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc index d716255b8b7..f31eb922d24 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc @@ -39,43 +39,44 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RMC01DetectorConstruction.hh" + #include "RMC01DetectorMessenger.hh" +#include "RMC01SD.hh" -#include "G4Material.hh" #include "G4Box.hh" -#include "G4Orb.hh" -#include "G4Tubs.hh" +#include "G4Colour.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4Orb.hh" #include "G4PVPlacement.hh" -#include "G4GeometryManager.hh" +#include "G4PhysicalConstants.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4SDManager.hh" #include "G4RunManager.hh" -#include "G4PhysicalConstants.hh" +#include "G4SDManager.hh" +#include "G4SolidStore.hh" #include "G4SystemOfUnits.hh" -#include "RMC01SD.hh" +#include "G4Tubs.hh" +#include "G4VisAttributes.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01DetectorConstruction::RMC01DetectorConstruction() - : G4VUserDetectorConstruction(), - fDetectorMessenger(0), - fShield_Thickness(5.*mm), - fSensitive_cylinder_H (1.*mm), - fSensitive_cylinder_Rout (1.*mm) -{ - fDetectorMessenger = new RMC01DetectorMessenger(this); + : G4VUserDetectorConstruction(), + fDetectorMessenger(0), + fShield_Thickness(5. * mm), + fSensitive_cylinder_H(1. * mm), + fSensitive_cylinder_Rout(1. * mm) +{ + fDetectorMessenger = new RMC01DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01DetectorConstruction::~RMC01DetectorConstruction() -{ delete fDetectorMessenger; +{ + delete fDetectorMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -89,51 +90,49 @@ G4VPhysicalVolume* RMC01DetectorConstruction::Construct() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01DetectorConstruction::DefineMaterials() -{ - - G4String symbol; //a=mass of a mole; - G4double a, z, density; //z=mean number of protons; +{ + G4String symbol; // a=mass of a mole; + G4double a, z, density; // z=mean number of protons; G4double fractionmass; G4int ncomponents; - + // // define Elements // - - 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* 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); + // // define simple materials // - new G4Material("Aluminum", z=13., a=26.98*g/mole, density=2.700*g/cm3); - new G4Material("Silicon", z=14., a=28.09*g/mole, density=2.33*g/cm3); - new G4Material("Tantalum", z=73., a=180.9479*g/mole, density=16.654*g/cm3); + new G4Material("Aluminum", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + new G4Material("Silicon", z = 14., a = 28.09 * g / mole, density = 2.33 * g / cm3); + new G4Material("Tantalum", z = 73., a = 180.9479 * g / mole, density = 16.654 * g / cm3); // - // define air + // define air // - G4Material* Air = new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=0.7); - Air->AddElement(O, fractionmass=0.3); - + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 0.7); + Air->AddElement(O, fractionmass = 0.3); + // - //Example of Vacuum + // Example of Vacuum // - new G4Material("Vacuum", z=1., a=1.01*g/mole,density= universe_mean_density, - kStateGas, 3.e-18*pascal, 2.73*kelvin); + new G4Material("Vacuum", z = 1., a = 1.01 * g / mole, density = universe_mean_density, kStateGas, + 3.e-18 * pascal, 2.73 * kelvin); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* RMC01DetectorConstruction::ConstructSimpleGeometry() { - // Clean old geometry, if any - + G4GeometryManager::GetInstance()->OpenGeometry(); G4PhysicalVolumeStore::GetInstance()->Clean(); G4LogicalVolumeStore::GetInstance()->Clean(); @@ -141,126 +140,122 @@ G4VPhysicalVolume* RMC01DetectorConstruction::ConstructSimpleGeometry() // World //----------- - - G4Box* solidWorld = new G4Box("World",15.*cm, 15.*cm, 15.*cm); - G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, - G4Material::GetMaterial("Vacuum"), - "World"); - - G4VPhysicalVolume* 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); - - //Shielding Aluminum Sphere + + G4Box* solidWorld = new G4Box("World", 15. * cm, 15. * cm, 15. * cm); + G4LogicalVolume* logicWorld = + new G4LogicalVolume(solidWorld, G4Material::GetMaterial("Vacuum"), "World"); + + G4VPhysicalVolume* 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); + + // Shielding Aluminum Sphere //------------------- - - G4double radiusShieldingSphere =10.*cm; - - G4Orb* solidShieldingSphere=new G4Orb("Shielding", radiusShieldingSphere); - G4LogicalVolume* logicShieldingSphere= - new G4LogicalVolume(solidShieldingSphere, - G4Material::GetMaterial("Aluminum"), - "Shielding"); //its name; - - new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - logicShieldingSphere, //its logical volume - "Shielding", //its name - logicWorld, //its mother volume - false, //no boolean operation - 0); - - //Bulk Sphere + + G4double radiusShieldingSphere = 10. * cm; + + G4Orb* solidShieldingSphere = new G4Orb("Shielding", radiusShieldingSphere); + G4LogicalVolume* logicShieldingSphere = + new G4LogicalVolume(solidShieldingSphere, G4Material::GetMaterial("Aluminum"), + "Shielding"); // its name; + + new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + logicShieldingSphere, // its logical volume + "Shielding", // its name + logicWorld, // its mother volume + false, // no boolean operation + 0); + + // Bulk Sphere //------------------- - - G4Orb* solidBulkSphere=new G4Orb("Bulk", - radiusShieldingSphere-fShield_Thickness); - G4LogicalVolume* logicBulkSphere=new G4LogicalVolume( - solidBulkSphere,//its solid - G4Material::GetMaterial("Air"),//its material - "Bulk"); //its name; - - new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - logicBulkSphere, //its logical volume - "Bulk", //its name - logicShieldingSphere, //its mother volume - false, //no boolean operation - 0); - - //Detecting cylinder + + G4Orb* solidBulkSphere = new G4Orb("Bulk", radiusShieldingSphere - fShield_Thickness); + G4LogicalVolume* logicBulkSphere = + new G4LogicalVolume(solidBulkSphere, // its solid + G4Material::GetMaterial("Air"), // its material + "Bulk"); // its name; + + new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + logicBulkSphere, // its logical volume + "Bulk", // its name + logicShieldingSphere, // its mother volume + false, // no boolean operation + 0); + + // Detecting cylinder //------------------- - - G4Tubs* solidDetecting=new G4Tubs("SensitiveVolume", - 0.,fSensitive_cylinder_Rout,fSensitive_cylinder_H/2., - 0.,twopi); - - G4LogicalVolume* logicDetectingCylinder=new G4LogicalVolume(solidDetecting, - G4Material::GetMaterial("Silicon"), - "SensitiveVolume"); - - new G4PVPlacement(0, //no rotation - G4ThreeVector(0.,0.,0.), //at (0,0,0) - logicDetectingCylinder, //its logical volume - "SensitiveVolume", //its name - logicBulkSphere, //its mother volume - false, //no boolean operation - 0); - - - RMC01SD* theSensitiveDetector = new RMC01SD("/SensitiveCylinder"); - + + G4Tubs* solidDetecting = new G4Tubs("SensitiveVolume", 0., fSensitive_cylinder_Rout, + fSensitive_cylinder_H / 2., 0., twopi); + + G4LogicalVolume* logicDetectingCylinder = + new G4LogicalVolume(solidDetecting, G4Material::GetMaterial("Silicon"), "SensitiveVolume"); + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0., 0., 0.), // at (0,0,0) + logicDetectingCylinder, // its logical volume + "SensitiveVolume", // its name + logicBulkSphere, // its mother volume + false, // no boolean operation + 0); + + RMC01SD* theSensitiveDetector = new RMC01SD("/SensitiveCylinder"); + G4SDManager::GetSDMpointer()->AddNewDetector(theSensitiveDetector); logicDetectingCylinder->SetSensitiveDetector(theSensitiveDetector); - - //Tantalum Plates on the top and beside + + // Tantalum Plates on the top and beside //------------------------------------- - G4Box* solidPlate=new G4Box("TantalumPlate",4.*cm,4.*cm,0.25*mm); - G4LogicalVolume* logicPlate=new G4LogicalVolume(solidPlate, //its solid - G4Material::GetMaterial("Tantalum"),//its material - "TantalumPlate"); //its name; - - - new G4PVPlacement(0, //no rotation - G4ThreeVector(0.,0.,6.*cm), //at (0,0,0) - logicPlate, //its logical volume - "TantalumPlate1", //its name - logicBulkSphere, //its mother volume - false, //no boolean operation - 0); - - new G4PVPlacement(0, //no rotation - G4ThreeVector(0.,0.,-6.*cm), //at (0,0,0) - logicPlate, //its logical volume - "TantalumPlate2", //its name - logicBulkSphere, //its mother volume - false, //no boolean operation + G4Box* solidPlate = new G4Box("TantalumPlate", 4. * cm, 4. * cm, 0.25 * mm); + G4LogicalVolume* logicPlate = + new G4LogicalVolume(solidPlate, // its solid + G4Material::GetMaterial("Tantalum"), // its material + "TantalumPlate"); // its name; + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0., 0., 6. * cm), // at (0,0,0) + logicPlate, // its logical volume + "TantalumPlate1", // its name + logicBulkSphere, // its mother volume + false, // no boolean operation + 0); + + new G4PVPlacement(0, // no rotation + G4ThreeVector(0., 0., -6. * cm), // at (0,0,0) + logicPlate, // its logical volume + "TantalumPlate2", // its name + logicBulkSphere, // its mother volume + false, // no boolean operation 0); - + return physiWorld; - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01DetectorConstruction::SetSensitiveVolumeRadius(G4double r) -{ fSensitive_cylinder_Rout=r; +{ + fSensitive_cylinder_Rout = r; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01DetectorConstruction::SetSensitiveVolumeHeight(G4double h) -{ fSensitive_cylinder_H=h; +{ + fSensitive_cylinder_H = h; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01DetectorConstruction::SetShieldingThickness(G4double d) -{ fShield_Thickness=d; +{ + fShield_Thickness = d; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01DetectorMessenger.cc b/examples/extended/biasing/ReverseMC01/src/RMC01DetectorMessenger.cc index d5954d5b44d..c78a1a3f69b 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01DetectorMessenger.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01DetectorMessenger.cc @@ -41,82 +41,71 @@ #include "RMC01DetectorMessenger.hh" #include "RMC01DetectorConstruction.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWith3VectorAndUnit.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01DetectorMessenger::RMC01DetectorMessenger( - RMC01DetectorConstruction* GeneralDet) -: G4UImessenger(), - fTheDetector(GeneralDet), - fGeneralDir(0), - fDetDir(0), - fSetSensitiveVolumeHeightCmd(0), - fSetSensitiveVolumeRadiusCmd(0), - fSetShieldingThicknessCmd(0) -{ - - fGeneralDir= new G4UIdirectory("/RMC01/"); - fGeneralDir->SetGuidance( - "Control of the Geant4 Reverse Monte Carlo example1"); - - +RMC01DetectorMessenger::RMC01DetectorMessenger(RMC01DetectorConstruction* GeneralDet) + : G4UImessenger(), + fTheDetector(GeneralDet), + fGeneralDir(0), + fDetDir(0), + fSetSensitiveVolumeHeightCmd(0), + fSetSensitiveVolumeRadiusCmd(0), + fSetShieldingThicknessCmd(0) +{ + fGeneralDir = new G4UIdirectory("/RMC01/"); + fGeneralDir->SetGuidance("Control of the Geant4 Reverse Monte Carlo example1"); fDetDir = new G4UIdirectory("/RMC01/geometry/"); fDetDir->SetGuidance("Geometry control"); - - - fSetSensitiveVolumeHeightCmd = new G4UIcmdWithADoubleAndUnit( - "/RMC01/geometry/SetSensitiveVolumeHeight",this); - fSetSensitiveVolumeHeightCmd->SetGuidance( - "Set the height of the sensitive cylinder"); + + fSetSensitiveVolumeHeightCmd = + new G4UIcmdWithADoubleAndUnit("/RMC01/geometry/SetSensitiveVolumeHeight", this); + fSetSensitiveVolumeHeightCmd->SetGuidance("Set the height of the sensitive cylinder"); fSetSensitiveVolumeHeightCmd->AvailableForStates(G4State_PreInit); - - fSetSensitiveVolumeRadiusCmd = new G4UIcmdWithADoubleAndUnit( - "/RMC01/geometry/SetSensitiveVolumeRadius",this); - fSetSensitiveVolumeRadiusCmd->SetGuidance( - "Set the radius of the sensitive cylinder"); + + fSetSensitiveVolumeRadiusCmd = + new G4UIcmdWithADoubleAndUnit("/RMC01/geometry/SetSensitiveVolumeRadius", this); + fSetSensitiveVolumeRadiusCmd->SetGuidance("Set the radius of the sensitive cylinder"); fSetSensitiveVolumeRadiusCmd->AvailableForStates(G4State_PreInit); - - fSetShieldingThicknessCmd = new G4UIcmdWithADoubleAndUnit( - "/RMC01/geometry/SetShieldingThickness",this); - fSetShieldingThicknessCmd->SetGuidance( - "Set the thickness of the Aluminum Shielding sphere"); - fSetShieldingThicknessCmd->AvailableForStates(G4State_PreInit); + fSetShieldingThicknessCmd = + new G4UIcmdWithADoubleAndUnit("/RMC01/geometry/SetShieldingThickness", this); + fSetShieldingThicknessCmd->SetGuidance("Set the thickness of the Aluminum Shielding sphere"); + fSetShieldingThicknessCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01DetectorMessenger::~RMC01DetectorMessenger() { - if (fGeneralDir ) delete fGeneralDir; + if (fGeneralDir) delete fGeneralDir; if (fDetDir) delete fDetDir; - if (fSetSensitiveVolumeHeightCmd) delete fSetSensitiveVolumeHeightCmd; - if (fSetSensitiveVolumeRadiusCmd) delete fSetSensitiveVolumeRadiusCmd; - if (fSetShieldingThicknessCmd) delete fSetShieldingThicknessCmd; - + if (fSetSensitiveVolumeHeightCmd) delete fSetSensitiveVolumeHeightCmd; + if (fSetSensitiveVolumeRadiusCmd) delete fSetSensitiveVolumeRadiusCmd; + if (fSetShieldingThicknessCmd) delete fSetShieldingThicknessCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01DetectorMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ if( command == fSetSensitiveVolumeHeightCmd ){ - fTheDetector->SetSensitiveVolumeHeight( - fSetSensitiveVolumeHeightCmd->GetNewDoubleValue(newValue)); +void RMC01DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fSetSensitiveVolumeHeightCmd) { + fTheDetector->SetSensitiveVolumeHeight( + fSetSensitiveVolumeHeightCmd->GetNewDoubleValue(newValue)); } - - else if( command == fSetSensitiveVolumeRadiusCmd ){ - fTheDetector->SetSensitiveVolumeRadius( - fSetSensitiveVolumeRadiusCmd->GetNewDoubleValue(newValue)); + + else if (command == fSetSensitiveVolumeRadiusCmd) { + fTheDetector->SetSensitiveVolumeRadius( + fSetSensitiveVolumeRadiusCmd->GetNewDoubleValue(newValue)); } - - else if( command == fSetShieldingThicknessCmd ){ - fTheDetector->SetShieldingThickness( - fSetShieldingThicknessCmd->GetNewDoubleValue(newValue)); + + else if (command == fSetShieldingThicknessCmd) { + fTheDetector->SetShieldingThickness(fSetShieldingThicknessCmd->GetNewDoubleValue(newValue)); } } diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01DoubleWithWeightHit.cc b/examples/extended/biasing/ReverseMC01/src/RMC01DoubleWithWeightHit.cc index ec4befae678..3645825b770 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01DoubleWithWeightHit.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01DoubleWithWeightHit.cc @@ -44,23 +44,19 @@ G4Allocator RMC01DoubleWithWeightHitAllocator; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01DoubleWithWeightHit::RMC01DoubleWithWeightHit(G4double aValue, - G4double aWeight) -: G4VHit(), fValue(aValue), fWeight(aWeight) -{; +RMC01DoubleWithWeightHit::RMC01DoubleWithWeightHit(G4double aValue, G4double aWeight) + : G4VHit(), fValue(aValue), fWeight(aWeight) +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01DoubleWithWeightHit::~RMC01DoubleWithWeightHit() -{ -} +RMC01DoubleWithWeightHit::~RMC01DoubleWithWeightHit() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01DoubleWithWeightHit::RMC01DoubleWithWeightHit( - const RMC01DoubleWithWeightHit &right) - : G4VHit() +RMC01DoubleWithWeightHit::RMC01DoubleWithWeightHit(const RMC01DoubleWithWeightHit& right) : G4VHit() { fValue = right.fValue; fWeight = right.fWeight; @@ -68,19 +64,17 @@ RMC01DoubleWithWeightHit::RMC01DoubleWithWeightHit( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -const RMC01DoubleWithWeightHit& RMC01DoubleWithWeightHit::operator=( - const RMC01DoubleWithWeightHit &right) +const RMC01DoubleWithWeightHit& +RMC01DoubleWithWeightHit::operator=(const RMC01DoubleWithWeightHit& right) { fValue = right.fValue; fWeight = right.fWeight; - return *this; + return *this; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool RMC01DoubleWithWeightHit::operator== - (const RMC01DoubleWithWeightHit &right) const +G4bool RMC01DoubleWithWeightHit::operator==(const RMC01DoubleWithWeightHit& right) const { - return(fValue == right.fValue && fWeight == right.fWeight); + return (fValue == right.fValue && fWeight == right.fWeight); } - diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc b/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc index d16302786ba..1f5abc7e16f 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc @@ -39,41 +39,48 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RMC01EventAction.hh" -#include "G4Event.hh" + #include "RMC01AnalysisManager.hh" +#include "G4Event.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01EventAction::RMC01EventAction() - : G4UserEventAction() -{; +RMC01EventAction::RMC01EventAction() : G4UserEventAction() +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01EventAction::~RMC01EventAction() -{; +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01EventAction::BeginOfEventAction(const G4Event* anEvent ) +void RMC01EventAction::BeginOfEventAction(const G4Event* anEvent) { - G4int i_event=anEvent->GetEventID(); - G4bool print_nb=false; - if (i_event <100) print_nb =true; - else if (i_event<500 && (i_event/100)*100 == i_event) print_nb = true; - else if (i_event<5000 && (i_event/500)*500 == i_event) print_nb = true; - else if ((i_event/5000)*5000 == i_event) print_nb = true; - if (print_nb) G4cout<<"nb event "<GetEventID(); + G4bool print_nb = false; + if (i_event < 100) + print_nb = true; + else if (i_event < 500 && (i_event / 100) * 100 == i_event) + print_nb = true; + else if (i_event < 5000 && (i_event / 500) * 500 == i_event) + print_nb = true; + else if ((i_event / 5000) * 5000 == i_event) + print_nb = true; + if (print_nb) G4cout << "nb event " << i_event << std::endl; RMC01AnalysisManager::GetInstance()->BeginOfEvent(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RMC01EventAction::EndOfEventAction(const G4Event* anEvent) +void RMC01EventAction::EndOfEventAction(const G4Event* anEvent) { RMC01AnalysisManager::GetInstance()->EndOfEvent(anEvent); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01PrimaryGeneratorAction.cc b/examples/extended/biasing/ReverseMC01/src/RMC01PrimaryGeneratorAction.cc index 09e19a3f875..f7eb9ef40a1 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01PrimaryGeneratorAction.cc @@ -43,21 +43,23 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01PrimaryGeneratorAction::RMC01PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction(), - fParticleSource(0) -{fParticleSource = new G4GeneralParticleSource(); + : G4VUserPrimaryGeneratorAction(), fParticleSource(0) +{ + fParticleSource = new G4GeneralParticleSource(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01PrimaryGeneratorAction::~RMC01PrimaryGeneratorAction() -{delete fParticleSource; +{ + delete fParticleSource; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) -{fParticleSource->GeneratePrimaryVertex(anEvent); +{ + fParticleSource->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01RunAction.cc b/examples/extended/biasing/ReverseMC01/src/RMC01RunAction.cc index c9c3e8d11c0..9dd7da7a8a9 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01RunAction.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01RunAction.cc @@ -39,20 +39,21 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RMC01RunAction.hh" + #include "RMC01AnalysisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RMC01RunAction::RMC01RunAction() - : G4UserRunAction(), - fAnalysisManager(0) -{ fAnalysisManager = RMC01AnalysisManager::GetInstance(); +RMC01RunAction::RMC01RunAction() : G4UserRunAction(), fAnalysisManager(0) +{ + fAnalysisManager = RMC01AnalysisManager::GetInstance(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01RunAction::~RMC01RunAction() -{ if (fAnalysisManager) delete fAnalysisManager; +{ + if (fAnalysisManager) delete fAnalysisManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,7 +67,8 @@ void RMC01RunAction::BeginOfRunAction(const G4Run* aRun) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01RunAction::EndOfRunAction(const G4Run* aRun) -{ fAnalysisManager->EndOfRun(aRun); +{ + fAnalysisManager->EndOfRun(aRun); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01SD.cc b/examples/extended/biasing/ReverseMC01/src/RMC01SD.cc index 7a6f0972c8b..20efd789b7d 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01SD.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01SD.cc @@ -39,34 +39,37 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RMC01SD.hh" -#include "G4Step.hh" + #include "G4HCofThisEvent.hh" -#include "G4Track.hh" -#include "G4SDManager.hh" -#include "G4ios.hh" -#include "G4ParticleDefinition.hh" -#include "G4VProcess.hh" -#include "G4LogicalVolumeStore.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4ParticleDefinition.hh" #include "G4PhysicalVolumeStore.hh" +#include "G4SDManager.hh" +#include "G4Step.hh" +#include "G4Track.hh" #include "G4VPhysicalVolume.hh" +#include "G4VProcess.hh" +#include "G4ios.hh" -//#include "G4AdjointAnalysisManager.hh" -#include "G4THitsCollection.hh" -#include "G4RunManager.hh" +// #include "G4AdjointAnalysisManager.hh" #include "G4Electron.hh" #include "G4Gamma.hh" #include "G4Proton.hh" +#include "G4RunManager.hh" +#include "G4THitsCollection.hh" class G4Step; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01SD::RMC01SD(G4String name) -:G4VSensitiveDetector(name), - fTotalEventEdep(0.),fEventEdepCollection(0), - fProtonCurrentCollection(0),fGammaCurrentCollection(0), - fElectronCurrentCollection(0) + : G4VSensitiveDetector(name), + fTotalEventEdep(0.), + fEventEdepCollection(0), + fProtonCurrentCollection(0), + fGammaCurrentCollection(0), + fElectronCurrentCollection(0) { collectionName.insert("edep"); collectionName.insert("current_electron"); @@ -77,88 +80,89 @@ RMC01SD::RMC01SD(G4String name) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RMC01SD::~RMC01SD() -{; +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01SD::Initialize(G4HCofThisEvent* HCE) { - fTotalEventEdep=0.; + fTotalEventEdep = 0.; static G4int HCID = -1; - - fEventEdepCollection = new G4THitsCollection - (SensitiveDetectorName,collectionName[0]); + + fEventEdepCollection = + new G4THitsCollection(SensitiveDetectorName, collectionName[0]); HCID = GetCollectionID(0); - HCE->AddHitsCollection(HCID,fEventEdepCollection); - - fElectronCurrentCollection = new G4THitsCollection - (SensitiveDetectorName,collectionName[1]); + HCE->AddHitsCollection(HCID, fEventEdepCollection); + + fElectronCurrentCollection = + new G4THitsCollection(SensitiveDetectorName, collectionName[1]); HCID = GetCollectionID(1); - HCE->AddHitsCollection(HCID,fElectronCurrentCollection); - - fProtonCurrentCollection = new G4THitsCollection - (SensitiveDetectorName,collectionName[2]); + HCE->AddHitsCollection(HCID, fElectronCurrentCollection); + + fProtonCurrentCollection = + new G4THitsCollection(SensitiveDetectorName, collectionName[2]); HCID = GetCollectionID(2); - HCE->AddHitsCollection(HCID,fProtonCurrentCollection); - - fGammaCurrentCollection = new G4THitsCollection - (SensitiveDetectorName,collectionName[3]); + HCE->AddHitsCollection(HCID, fProtonCurrentCollection); + + fGammaCurrentCollection = + new G4THitsCollection(SensitiveDetectorName, collectionName[3]); HCID = GetCollectionID(3); - HCE->AddHitsCollection(HCID,fGammaCurrentCollection); + HCE->AddHitsCollection(HCID, fGammaCurrentCollection); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool RMC01SD::ProcessHits(G4Step*aStep,G4TouchableHistory* ) +G4bool RMC01SD::ProcessHits(G4Step* aStep, G4TouchableHistory*) { - G4double weight =aStep->GetTrack()->GetWeight(); - G4double edep= aStep->GetTotalEnergyDeposit(); - if (edep >0) fEventEdepCollection->insert( - new RMC01DoubleWithWeightHit(edep,weight)); - - G4StepPoint* preStepPoint =aStep->GetPreStepPoint(); - - if (preStepPoint->GetStepStatus() == fGeomBoundary ){ + G4double weight = aStep->GetTrack()->GetWeight(); + G4double edep = aStep->GetTotalEnergyDeposit(); + if (edep > 0) fEventEdepCollection->insert(new RMC01DoubleWithWeightHit(edep, weight)); + + G4StepPoint* preStepPoint = aStep->GetPreStepPoint(); + + if (preStepPoint->GetStepStatus() == fGeomBoundary) { // Entering the sensitive volume - weight=preStepPoint->GetWeight(); + weight = preStepPoint->GetWeight(); G4double eKin = preStepPoint->GetKineticEnergy(); G4ParticleDefinition* thePartDef = aStep->GetTrack()->GetDefinition(); - if (thePartDef == G4Electron::Electron()) fElectronCurrentCollection-> - insert(new RMC01DoubleWithWeightHit(eKin,weight)); - else if (thePartDef == G4Gamma::Gamma()) fGammaCurrentCollection-> - insert(new RMC01DoubleWithWeightHit(eKin,weight)); - else if (thePartDef == G4Proton::Proton()) fProtonCurrentCollection-> - insert(new RMC01DoubleWithWeightHit(eKin,weight)); - } - return true; -} + if (thePartDef == G4Electron::Electron()) + fElectronCurrentCollection->insert(new RMC01DoubleWithWeightHit(eKin, weight)); + else if (thePartDef == G4Gamma::Gamma()) + fGammaCurrentCollection->insert(new RMC01DoubleWithWeightHit(eKin, weight)); + else if (thePartDef == G4Proton::Proton()) + fProtonCurrentCollection->insert(new RMC01DoubleWithWeightHit(eKin, weight)); + } + return true; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01SD::EndOfEvent(G4HCofThisEvent*) { - fEventEdepCollection->insert( - new RMC01DoubleWithWeightHit(fTotalEventEdep,1.)); + fEventEdepCollection->insert(new RMC01DoubleWithWeightHit(fTotalEventEdep, 1.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01SD::Clear() -{; +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01SD::DrawAll() -{; -} +{ + ; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RMC01SD::PrintAll() -{; +{ + ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/common/common.out b/examples/extended/common/common.out index 1c4b8f604b3..24542227dfa 100644 --- a/examples/extended/common/common.out +++ b/examples/extended/common/common.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -41,14 +41,21 @@ Registered graphics systems are: RayTracerX (RayTracerX) Qt3D (Qt3D) TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK) + TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB) TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK) TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB) TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG) TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB) -Default graphics system is: TSG_OFFSCREEN (based on batch session). -Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation). -Note: Parameters specified on the command line will override these defaults. - Use "vis/open" without parameters to get these defaults. +You may choose a graphics system (driver) with a parameter of +the command "/vis/open" or "/vis/sceneHandler/create", +or you may omit the driver parameter and choose at run time: +- by argument in the construction of G4VisExecutive +- by environment variable "G4VIS_DEFAULT_DRIVER" +- by entry in "~/.g4session" +- by build flags. +- Note: This feature is not allowed in batch mode. +For further information see "examples/basic/B1/exampleB1.cc" +and "vis.mac". Registering model factories... @@ -120,15 +127,16 @@ See commands in /vis/modeling/trajectories/ for other options. Run terminated. Run Summary Number of events processed : 10 - User=0.000000s Real=0.000295s Sys=0.000000s + User=0.000000s Real=0.000293s Sys=0.000000s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x1d75580 +UserPhysicsList deleted 0x1fc51f0 +UserActionInitialization deleted 0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/extended/common/exampleCommon.cc b/examples/extended/common/exampleCommon.cc index 62d8eb300e5..3e37eb84cbd 100644 --- a/examples/extended/common/exampleCommon.cc +++ b/examples/extended/common/exampleCommon.cc @@ -32,18 +32,20 @@ #include "GpsPrimaryGeneratorAction.hh" #include "G4RunManager.hh" -#include "G4UImanager.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" using namespace Common; -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Construct the default run manager G4RunManager* runManager = new G4RunManager; @@ -67,11 +69,11 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( ! ui ) { + if (!ui) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/extended/common/exampleCommonNoVis.cc b/examples/extended/common/exampleCommonNoVis.cc index fc7bbbbe17b..78762e32deb 100644 --- a/examples/extended/common/exampleCommonNoVis.cc +++ b/examples/extended/common/exampleCommonNoVis.cc @@ -32,17 +32,19 @@ #include "GpsPrimaryGeneratorAction.hh" #include "G4RunManager.hh" -#include "G4UImanager.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" using namespace Common; -int main(int argc,char** argv) +int main(int argc, char** argv) { // Detect interactive mode (if no arguments) and define UI session // G4UIExecutive* ui = nullptr; - if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } // Construct the default run manager G4RunManager* runManager = new G4RunManager; @@ -59,11 +61,11 @@ int main(int argc,char** argv) // Process macro or start UI session // - if ( ! ui ) { + if (!ui) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } else { // interactive mode diff --git a/examples/extended/common/include/DetectorConstruction.hh b/examples/extended/common/include/DetectorConstruction.hh index 298d60500ba..f9fef041279 100644 --- a/examples/extended/common/include/DetectorConstruction.hh +++ b/examples/extended/common/include/DetectorConstruction.hh @@ -30,10 +30,11 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 -#include "G4VUserDetectorConstruction.hh" -#include "G4ThreeVector.hh" #include "CLHEP/Units/SystemOfUnits.h" +#include "G4ThreeVector.hh" +#include "G4VUserDetectorConstruction.hh" + class G4LogicalVolume; class G4Material; class G4GenericMessenger; @@ -46,13 +47,11 @@ namespace Common class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction( - const G4String& boxMaterialName = "G4_AIR", - G4double boxHx = 40*CLHEP::cm, - G4double boxHy = 40*CLHEP::cm, - G4double boxHz = 40*CLHEP::cm, - const G4String& worldMaterialName = "G4_AIR", - G4double worldSizeFactor = 1.25); + DetectorConstruction(const G4String& boxMaterialName = "G4_AIR", + G4double boxHx = 40 * CLHEP::cm, G4double boxHy = 40 * CLHEP::cm, + G4double boxHz = 40 * CLHEP::cm, + const G4String& worldMaterialName = "G4_AIR", + G4double worldSizeFactor = 1.25); ~DetectorConstruction() override; public: @@ -60,26 +59,25 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4VPhysicalVolume* Construct() override; // set methods - void SetBoxMaterial(const G4String& materialName); - void SetWorldMaterial(const G4String& materialName); - void SetBoxDimensions(G4ThreeVector dimensions); - void SetWorldSizeFactor(G4double factor); + void SetBoxMaterial(const G4String& materialName); + void SetWorldMaterial(const G4String& materialName); + void SetBoxDimensions(G4ThreeVector dimensions); + void SetWorldSizeFactor(G4double factor); private: void DefineCommands(); - G4GenericMessenger* fMessenger = nullptr; - G4String fBoxMaterialName; - G4String fWorldMaterialName; - G4ThreeVector fBoxDimensions; - G4double fWorldSizeFactor = 0.; - G4LogicalVolume* fBoxVolume = nullptr; - G4LogicalVolume* fWorldVolume = nullptr; + G4GenericMessenger* fMessenger = nullptr; + G4String fBoxMaterialName; + G4String fWorldMaterialName; + G4ThreeVector fBoxDimensions; + G4double fWorldSizeFactor = 0.; + G4LogicalVolume* fBoxVolume = nullptr; + G4LogicalVolume* fWorldVolume = nullptr; }; -} +} // namespace Common //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/common/include/DetectorConstruction0.hh b/examples/extended/common/include/DetectorConstruction0.hh index b8ffab7a98f..88322ff8f07 100644 --- a/examples/extended/common/include/DetectorConstruction0.hh +++ b/examples/extended/common/include/DetectorConstruction0.hh @@ -30,10 +30,11 @@ #ifndef DetectorConstruction0_h #define DetectorConstruction0_h 1 -#include "G4VUserDetectorConstruction.hh" -#include "G4ThreeVector.hh" #include "CLHEP/Units/SystemOfUnits.h" +#include "G4ThreeVector.hh" +#include "G4VUserDetectorConstruction.hh" + class G4LogicalVolume; class G4Material; class G4GenericMessenger; @@ -46,11 +47,8 @@ namespace Common class DetectorConstruction0 : public G4VUserDetectorConstruction { public: - DetectorConstruction0( - const G4String& materialName = "G4_AIR", - G4double hx = 50*CLHEP::cm, - G4double hy = 50*CLHEP::cm, - G4double hz = 50*CLHEP::cm); + DetectorConstruction0(const G4String& materialName = "G4_AIR", G4double hx = 50 * CLHEP::cm, + G4double hy = 50 * CLHEP::cm, G4double hz = 50 * CLHEP::cm); ~DetectorConstruction0() override; public: @@ -58,21 +56,20 @@ class DetectorConstruction0 : public G4VUserDetectorConstruction G4VPhysicalVolume* Construct() override; // set methods - void SetMaterial(const G4String& materialName); - void SetDimensions(G4ThreeVector dimensions); + void SetMaterial(const G4String& materialName); + void SetDimensions(G4ThreeVector dimensions); private: void DefineCommands(); - G4GenericMessenger* fMessenger = nullptr; - G4String fMaterialName; - G4ThreeVector fDimensions; - G4LogicalVolume* fWorldVolume = nullptr; + G4GenericMessenger* fMessenger = nullptr; + G4String fMaterialName; + G4ThreeVector fDimensions; + G4LogicalVolume* fWorldVolume = nullptr; }; -} +} // namespace Common //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/common/include/GeantinoPhysicsList.hh b/examples/extended/common/include/GeantinoPhysicsList.hh index e44e34ea2dd..71e58607197 100644 --- a/examples/extended/common/include/GeantinoPhysicsList.hh +++ b/examples/extended/common/include/GeantinoPhysicsList.hh @@ -37,7 +37,7 @@ namespace Common /// Physics list with geantino and charged geantino only -class GeantinoPhysicsList: public G4VUserPhysicsList +class GeantinoPhysicsList : public G4VUserPhysicsList { public: GeantinoPhysicsList(); @@ -49,7 +49,6 @@ class GeantinoPhysicsList: public G4VUserPhysicsList void ConstructProcess() override; }; -} +} // namespace Common #endif - diff --git a/examples/extended/common/include/GpsPrimaryGeneratorAction.hh b/examples/extended/common/include/GpsPrimaryGeneratorAction.hh index 90a215b37b6..b938313e491 100644 --- a/examples/extended/common/include/GpsPrimaryGeneratorAction.hh +++ b/examples/extended/common/include/GpsPrimaryGeneratorAction.hh @@ -44,7 +44,7 @@ namespace Common /// /// \author I. Hrivnacova; IPN Orsay -class GpsPrimaryGeneratorAction: public G4VUserPrimaryGeneratorAction +class GpsPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: GpsPrimaryGeneratorAction(); @@ -55,10 +55,9 @@ class GpsPrimaryGeneratorAction: public G4VUserPrimaryGeneratorAction private: // data members - G4GeneralParticleSource* fGeneralParticleSource = nullptr; + G4GeneralParticleSource* fGeneralParticleSource = nullptr; }; -} +} // namespace Common #endif - diff --git a/examples/extended/common/include/GunPrimaryGeneratorAction.hh b/examples/extended/common/include/GunPrimaryGeneratorAction.hh index d9775e3968b..e17e01b549b 100644 --- a/examples/extended/common/include/GunPrimaryGeneratorAction.hh +++ b/examples/extended/common/include/GunPrimaryGeneratorAction.hh @@ -30,12 +30,12 @@ #ifndef GunPrimaryGeneratorAction_h #define GunPrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" +#include "CLHEP/Units/SystemOfUnits.h" + #include "G4ThreeVector.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" -#include "CLHEP/Units/SystemOfUnits.h" - class G4ParticleGun; class G4Event; @@ -49,11 +49,10 @@ namespace Common class GunPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - GunPrimaryGeneratorAction( - const G4String& particleName = "geantino", - G4double energy = 1.*CLHEP::MeV, - G4ThreeVector position= G4ThreeVector(0,0,0), - G4ThreeVector momentumDirection = G4ThreeVector(0,0,1)); + GunPrimaryGeneratorAction(const G4String& particleName = "geantino", + G4double energy = 1. * CLHEP::MeV, + G4ThreeVector position = G4ThreeVector(0, 0, 0), + G4ThreeVector momentumDirection = G4ThreeVector(0, 0, 1)); ~GunPrimaryGeneratorAction() override; // methods @@ -61,9 +60,9 @@ class GunPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction private: // data members - G4ParticleGun* fParticleGun = nullptr; + G4ParticleGun* fParticleGun = nullptr; }; -} +} // namespace Common #endif diff --git a/examples/extended/common/src/DetectorConstruction.cc b/examples/extended/common/src/DetectorConstruction.cc index 272f6026977..df40a5bf6bc 100644 --- a/examples/extended/common/src/DetectorConstruction.cc +++ b/examples/extended/common/src/DetectorConstruction.cc @@ -29,27 +29,26 @@ #include "DetectorConstruction.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" #include "G4Box.hh" +#include "G4GenericMessenger.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" -#include "G4GenericMessenger.hh" namespace Common { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorConstruction::DetectorConstruction( - const G4String& boxMaterialName, - G4double boxHx, G4double boxHy, G4double boxHz, - const G4String& worldMaterialName, - G4double worldSizeFactor) - : fBoxMaterialName(boxMaterialName), - fWorldMaterialName(worldMaterialName), - fBoxDimensions(boxHx*2, boxHy*2, boxHz*2), - fWorldSizeFactor(worldSizeFactor) +DetectorConstruction::DetectorConstruction(const G4String& boxMaterialName, G4double boxHx, + G4double boxHy, G4double boxHz, + const G4String& worldMaterialName, + G4double worldSizeFactor) + : fBoxMaterialName(boxMaterialName), + fWorldMaterialName(worldMaterialName), + fBoxDimensions(boxHx * 2, boxHy * 2, boxHz * 2), + fWorldSizeFactor(worldSizeFactor) { DefineCommands(); } @@ -78,48 +77,41 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // World // - auto sWorld - = new G4Box("World", //name - worldDimensions.x(), //dimensions (half-lentghs) - worldDimensions.y(), - worldDimensions.z()); - - fWorldVolume - = new G4LogicalVolume(sWorld, //shape - worldMaterial, //material - "World"); //name - - auto pWorld - = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fWorldVolume, //logical volume - "World", //name - 0, //mother volume - false, //no boolean operation - 0); //copy number + auto sWorld = new G4Box("World", // name + worldDimensions.x(), // dimensions (half-lentghs) + worldDimensions.y(), worldDimensions.z()); + + fWorldVolume = new G4LogicalVolume(sWorld, // shape + worldMaterial, // material + "World"); // name + + auto pWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fWorldVolume, // logical volume + "World", // name + 0, // mother volume + false, // no boolean operation + 0); // copy number // Box // - auto sBox - = new G4Box("Box", //its name - fBoxDimensions.x(), //dimensions (half-lengths) - fBoxDimensions.y(), - fBoxDimensions.z()); - - fBoxVolume - = new G4LogicalVolume(sBox, //its shape - boxMaterial, //its material - "Box"); //its name - - new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fBoxVolume, //its logical volume - "Box", //its name - fWorldVolume, //its mother volume - false, //no boolean operation - 0); //copy number - - //always return the root volume + auto sBox = new G4Box("Box", // its name + fBoxDimensions.x(), // dimensions (half-lengths) + fBoxDimensions.y(), fBoxDimensions.z()); + + fBoxVolume = new G4LogicalVolume(sBox, // its shape + boxMaterial, // its material + "Box"); // its name + + new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fBoxVolume, // its logical volume + "Box", // its name + fWorldVolume, // its mother volume + false, // no boolean operation + 0); // copy number + + // always return the root volume // return pWorld; } @@ -131,13 +123,13 @@ void DetectorConstruction::SetBoxMaterial(const G4String& materialName) auto nistManager = G4NistManager::Instance(); auto newMaterial = nistManager->FindOrBuildMaterial(materialName); - if ( ! newMaterial ) { + if (!newMaterial) { G4cerr << "Material " << materialName << " not found." << G4endl; G4cerr << "The box material was not changed." << G4endl; return; } - if ( fBoxVolume ) fBoxVolume->SetMaterial(newMaterial); + if (fBoxVolume) fBoxVolume->SetMaterial(newMaterial); G4cout << "Material of box changed to " << materialName << G4endl; } @@ -148,13 +140,13 @@ void DetectorConstruction::SetWorldMaterial(const G4String& materialName) auto nistManager = G4NistManager::Instance(); auto newMaterial = nistManager->FindOrBuildMaterial(materialName); - if ( ! newMaterial ) { + if (!newMaterial) { G4cerr << "Material " << materialName << " not found." << G4endl; G4cerr << "The box material was not changed." << G4endl; return; } - if ( fWorldVolume ) fWorldVolume->SetMaterial(newMaterial); + if (fWorldVolume) fWorldVolume->SetMaterial(newMaterial); G4cout << "Material of box changed to " << materialName << G4endl; } @@ -162,8 +154,8 @@ void DetectorConstruction::SetWorldMaterial(const G4String& materialName) void DetectorConstruction::SetBoxDimensions(G4ThreeVector dimensions) { -/// Set box dimension (in half lengths). -/// This setting has effect only if called in PreInit> phase + /// Set box dimension (in half lengths). + /// This setting has effect only if called in PreInit> phase fBoxDimensions = dimensions; } @@ -172,8 +164,8 @@ void DetectorConstruction::SetBoxDimensions(G4ThreeVector dimensions) void DetectorConstruction::SetWorldSizeFactor(G4double factor) { -/// Set the multiplication factor from box dimensions to world dimensions. -/// This setting has effect only if called in PreInit> phase + /// Set the multiplication factor from box dimensions to world dimensions. + /// This setting has effect only if called in PreInit> phase fWorldSizeFactor = factor; } @@ -183,39 +175,31 @@ void DetectorConstruction::SetWorldSizeFactor(G4double factor) void DetectorConstruction::DefineCommands() { // Define /B5/detector command directory using generic messenger class - fMessenger = new G4GenericMessenger(this, - "/detector/", - "Detector control"); + fMessenger = new G4GenericMessenger(this, "/detector/", "Detector control"); // setBoxMaterial command - auto& setBoxMaterialCmd - = fMessenger->DeclareMethod("setBoxMaterial", - &DetectorConstruction::SetBoxMaterial, - "Set box material name."); + auto& setBoxMaterialCmd = fMessenger->DeclareMethod( + "setBoxMaterial", &DetectorConstruction::SetBoxMaterial, "Set box material name."); setBoxMaterialCmd.SetParameterName("boxMaterialName", false); setBoxMaterialCmd.SetDefaultValue("G4_AIR"); // setWorldMaterial command - auto& setWorldMaterialCmd - = fMessenger->DeclareMethod("setWorldMaterial", - &DetectorConstruction::SetWorldMaterial, - "Set world material name."); + auto& setWorldMaterialCmd = fMessenger->DeclareMethod( + "setWorldMaterial", &DetectorConstruction::SetWorldMaterial, "Set world material name."); setWorldMaterialCmd.SetParameterName("worldMaterialName", false); setWorldMaterialCmd.SetDefaultValue("G4_AIR"); // setBoxDimensions command - auto& setBoxDimensionsCmd - = fMessenger->DeclareMethodWithUnit("setBoxDimensions", "mm", - &DetectorConstruction::SetBoxDimensions, - "Set box dimensions (in half lentgh)."); + auto& setBoxDimensionsCmd = fMessenger->DeclareMethodWithUnit( + "setBoxDimensions", "mm", &DetectorConstruction::SetBoxDimensions, + "Set box dimensions (in half lentgh)."); setBoxDimensionsCmd.SetParameterName("boxDimensions", false); setBoxDimensionsCmd.SetStates(G4State_PreInit); // setWorldSizeFactor command - auto& setWorldSizeFactorCmd - = fMessenger->DeclareMethod("setWorldSizeFactor", - &DetectorConstruction::SetWorldSizeFactor, - "Set the multiplication factor from box dimensions to world dimensions."); + auto& setWorldSizeFactorCmd = fMessenger->DeclareMethod( + "setWorldSizeFactor", &DetectorConstruction::SetWorldSizeFactor, + "Set the multiplication factor from box dimensions to world dimensions."); setWorldSizeFactorCmd.SetParameterName("worldSizeFactor", false); setWorldSizeFactorCmd.SetRange("WorldSizeFactor >= 1"); setWorldSizeFactorCmd.SetStates(G4State_PreInit); @@ -223,4 +207,4 @@ void DetectorConstruction::DefineCommands() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace Common diff --git a/examples/extended/common/src/DetectorConstruction0.cc b/examples/extended/common/src/DetectorConstruction0.cc index 86b58026d0a..49f87bf09d5 100644 --- a/examples/extended/common/src/DetectorConstruction0.cc +++ b/examples/extended/common/src/DetectorConstruction0.cc @@ -29,23 +29,21 @@ #include "DetectorConstruction0.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" #include "G4Box.hh" +#include "G4GenericMessenger.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" -#include "G4GenericMessenger.hh" namespace Common { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorConstruction0::DetectorConstruction0( - const G4String& materialName, - G4double hx, G4double hy, G4double hz) - : fMaterialName(materialName), - fDimensions(hx, hy, hz) +DetectorConstruction0::DetectorConstruction0(const G4String& materialName, G4double hx, G4double hy, + G4double hz) + : fMaterialName(materialName), fDimensions(hx, hy, hz) { DefineCommands(); } @@ -69,27 +67,23 @@ G4VPhysicalVolume* DetectorConstruction0::Construct() // World // - auto sWorld - = new G4Box("World", //name - fDimensions.x(), //dimensions (half-lentghs) - fDimensions.y(), - fDimensions.z()); - - fWorldVolume - = new G4LogicalVolume(sWorld, //shape - material, //material - "World"); //name - - auto pWorld - = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fWorldVolume, //logical volume - "World", //name - 0, //mother volume - false, //no boolean operation - 0); //copy number - - //always return the root volume + auto sWorld = new G4Box("World", // name + fDimensions.x(), // dimensions (half-lentghs) + fDimensions.y(), fDimensions.z()); + + fWorldVolume = new G4LogicalVolume(sWorld, // shape + material, // material + "World"); // name + + auto pWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fWorldVolume, // logical volume + "World", // name + 0, // mother volume + false, // no boolean operation + 0); // copy number + + // always return the root volume // return pWorld; } @@ -101,13 +95,13 @@ void DetectorConstruction0::SetMaterial(const G4String& materialName) auto nistManager = G4NistManager::Instance(); auto newMaterial = nistManager->FindOrBuildMaterial(materialName); - if ( ! newMaterial ) { + if (!newMaterial) { G4cerr << "Material " << materialName << " not found." << G4endl; G4cerr << "The box material was not changed." << G4endl; return; } - if ( fWorldVolume ) fWorldVolume->SetMaterial(newMaterial); + if (fWorldVolume) fWorldVolume->SetMaterial(newMaterial); G4cout << "Material of box changed to " << materialName << G4endl; } @@ -115,8 +109,8 @@ void DetectorConstruction0::SetMaterial(const G4String& materialName) void DetectorConstruction0::SetDimensions(G4ThreeVector dimensions) { -/// Set world dimension (in half lengths). -/// This setting has effect only if called in PreInit> phase + /// Set world dimension (in half lengths). + /// This setting has effect only if called in PreInit> phase fDimensions = dimensions; } @@ -126,28 +120,23 @@ void DetectorConstruction0::SetDimensions(G4ThreeVector dimensions) void DetectorConstruction0::DefineCommands() { // Define /B5/detector command directory using generic messenger class - fMessenger = new G4GenericMessenger(this, - "/detector/", - "Detector control"); + fMessenger = new G4GenericMessenger(this, "/detector/", "Detector control"); // setMaterial command - auto& setMaterialCmd - = fMessenger->DeclareMethod("setMaterial", - &DetectorConstruction0::SetMaterial, - "Set world material name."); + auto& setMaterialCmd = fMessenger->DeclareMethod( + "setMaterial", &DetectorConstruction0::SetMaterial, "Set world material name."); setMaterialCmd.SetParameterName("materialName", false); setMaterialCmd.SetDefaultValue("G4_AIR"); setMaterialCmd.SetStates(G4State_PreInit); // setDimensions command - auto& setDimensionsCmd - = fMessenger->DeclareMethodWithUnit("setDimensions", "mm", - &DetectorConstruction0::SetDimensions, - "Set world dimensions (in half lentgh)."); + auto& setDimensionsCmd = + fMessenger->DeclareMethodWithUnit("setDimensions", "mm", &DetectorConstruction0::SetDimensions, + "Set world dimensions (in half lentgh)."); setDimensionsCmd.SetParameterName("dimensions", false); setDimensionsCmd.SetStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace Common diff --git a/examples/extended/common/src/GeantinoPhysicsList.cc b/examples/extended/common/src/GeantinoPhysicsList.cc index bd47a847c0a..576ba6982d7 100644 --- a/examples/extended/common/src/GeantinoPhysicsList.cc +++ b/examples/extended/common/src/GeantinoPhysicsList.cc @@ -28,8 +28,9 @@ /// \brief Implementation of the Common::GeantinoPhysicsList class #include "GeantinoPhysicsList.hh" -#include "G4Geantino.hh" + #include "G4ChargedGeantino.hh" +#include "G4Geantino.hh" namespace Common { @@ -66,4 +67,4 @@ void GeantinoPhysicsList::ConstructProcess() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} +} // namespace Common diff --git a/examples/extended/common/src/GpsPrimaryGeneratorAction.cc b/examples/extended/common/src/GpsPrimaryGeneratorAction.cc index b07a277e470..1921ac5f07a 100644 --- a/examples/extended/common/src/GpsPrimaryGeneratorAction.cc +++ b/examples/extended/common/src/GpsPrimaryGeneratorAction.cc @@ -40,7 +40,7 @@ namespace Common GpsPrimaryGeneratorAction::GpsPrimaryGeneratorAction() { - fGeneralParticleSource = new G4GeneralParticleSource(); + fGeneralParticleSource = new G4GeneralParticleSource(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -61,5 +61,4 @@ void GpsPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace Common diff --git a/examples/extended/common/src/GunPrimaryGeneratorAction.cc b/examples/extended/common/src/GunPrimaryGeneratorAction.cc index 6d48726ca92..d22a679a420 100644 --- a/examples/extended/common/src/GunPrimaryGeneratorAction.cc +++ b/examples/extended/common/src/GunPrimaryGeneratorAction.cc @@ -30,28 +30,25 @@ #include "GunPrimaryGeneratorAction.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" namespace Common { //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -GunPrimaryGeneratorAction::GunPrimaryGeneratorAction( - const G4String& particleName, - G4double energy, - G4ThreeVector position, - G4ThreeVector momentumDirection) +GunPrimaryGeneratorAction::GunPrimaryGeneratorAction(const G4String& particleName, G4double energy, + G4ThreeVector position, + G4ThreeVector momentumDirection) { G4int nofParticles = 1; - fParticleGun = new G4ParticleGun(nofParticles); + fParticleGun = new G4ParticleGun(nofParticles); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName); fParticleGun->SetParticleDefinition(particle); fParticleGun->SetParticleEnergy(energy); fParticleGun->SetParticlePosition(position); @@ -76,5 +73,4 @@ void GunPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -} - +} // namespace Common diff --git a/examples/extended/common/testCommon.cc b/examples/extended/common/testCommon.cc index 08cefe1f9eb..ddc670da82a 100644 --- a/examples/extended/common/testCommon.cc +++ b/examples/extended/common/testCommon.cc @@ -24,24 +24,24 @@ // ******************************************************************** // // -// +// /// \file common/testCommon.cc /// \brief Test program for the common classes #include "DetectorConstruction.hh" #include "DetectorConstruction0.hh" +#include "FTFP_BERT.hh" #include "GeantinoPhysicsList.hh" #include "GpsPrimaryGeneratorAction.hh" #include "GunPrimaryGeneratorAction.hh" #include "G4RunManager.hh" -#include "FTFP_BERT.hh" using namespace Common; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Test program which only instantiates classes defined in +// Test program which only instantiates classes defined in // examples/common int main() @@ -58,7 +58,7 @@ int main() // Instantiate all physics list classes auto geantinoPhysicsList = new GeantinoPhysicsList(); - + // Instantiate all primary generator actions classes auto gpsPrimaryGeneratorAction = new GpsPrimaryGeneratorAction(); auto gunPrimaryGeneratorAction = new GunPrimaryGeneratorAction(); diff --git a/examples/extended/electromagnetic/TestEm0/.README.txt b/examples/extended/electromagnetic/TestEm0/.README.txt index 3a4b9a87a58..28ca17ba46f 100644 --- a/examples/extended/electromagnetic/TestEm0/.README.txt +++ b/examples/extended/electromagnetic/TestEm0/.README.txt @@ -32,7 +32,8 @@ Idle> /run/beamOn Macros provided in this example: - muon.mac: muon incident - - ion.mac: generic ion incident + - ion.mac: generic ion incident + - xenonGas: illustrate gas definition \section TestEm0_s1 DirectAccess diff --git a/examples/extended/electromagnetic/TestEm0/CMakeLists.txt b/examples/extended/electromagnetic/TestEm0/CMakeLists.txt index aa427aefe71..d17c3770c42 100644 --- a/examples/extended/electromagnetic/TestEm0/CMakeLists.txt +++ b/examples/extended/electromagnetic/TestEm0/CMakeLists.txt @@ -36,7 +36,7 @@ target_link_libraries(DirectAccess ${Geant4_LIBRARIES} ) # relies on these scripts being in the current working directory. # set(TestEm0_SCRIPTS - TestEm0.in TestEm0.out ion.mac muon.mac + TestEm0.in TestEm0.out ion.mac muon.mac xenonGas.mac ) foreach(_script ${TestEm0_SCRIPTS}) diff --git a/examples/extended/electromagnetic/TestEm0/DirectAccess.cc b/examples/extended/electromagnetic/TestEm0/DirectAccess.cc index 1c1bbca8b0d..19734d4fd7b 100644 --- a/examples/extended/electromagnetic/TestEm0/DirectAccess.cc +++ b/examples/extended/electromagnetic/TestEm0/DirectAccess.cc @@ -27,45 +27,37 @@ /// \brief Main program of the electromagnetic/TestEm0 example // // -// +// // ------------------------------------------------------------ // // To print cross sections per atom and mean free path for simple material // -#include "G4Material.hh" - -#include "G4PEEffectFluoModel.hh" -#include "G4KleinNishinaCompton.hh" -#include "G4BetheHeitlerModel.hh" - -#include "G4eeToTwoGammaModel.hh" - -#include "G4MollerBhabhaModel.hh" -#include "G4SeltzerBergerModel.hh" - #include "G4BetheBlochModel.hh" +#include "G4BetheHeitlerModel.hh" #include "G4BraggModel.hh" - +#include "G4DataVector.hh" +#include "G4Electron.hh" +#include "G4Gamma.hh" +#include "G4KleinNishinaCompton.hh" +#include "G4Material.hh" +#include "G4MollerBhabhaModel.hh" #include "G4MuBetheBlochModel.hh" #include "G4MuBremsstrahlungModel.hh" #include "G4MuPairProductionModel.hh" - -#include "globals.hh" -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" - -#include "G4Gamma.hh" -#include "G4Positron.hh" -#include "G4Electron.hh" -#include "G4Proton.hh" #include "G4MuonPlus.hh" - -#include "G4DataVector.hh" #include "G4NistManager.hh" +#include "G4PEEffectFluoModel.hh" #include "G4ParticleTable.hh" +#include "G4Positron.hh" +#include "G4Proton.hh" +#include "G4SeltzerBergerModel.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" +#include "G4eeToTwoGammaModel.hh" +#include "globals.hh" -int main() { - +int main() +{ G4UnitDefinition::BuildUnitsTable(); G4ParticleDefinition* gamma = G4Gamma::Gamma(); @@ -77,12 +69,11 @@ int main() { partTable->SetReadiness(); G4DataVector cuts; - cuts.push_back(1*keV); + cuts.push_back(1 * keV); // define materials // - G4Material* material = - G4NistManager::Instance()->FindOrBuildMaterial("G4_Fe"); + G4Material* material = G4NistManager::Instance()->FindOrBuildMaterial("G4_Fe"); G4cout << *(G4Material::GetMaterialTable()) << G4endl; @@ -94,10 +85,10 @@ int main() { G4double A = material->GetA(); // initialise gamma processes (models) - // + // G4VEmModel* phot = new G4PEEffectFluoModel(); G4VEmModel* comp = new G4KleinNishinaCompton(); - G4VEmModel* conv = new G4BetheHeitlerModel(); + G4VEmModel* conv = new G4BetheHeitlerModel(); phot->Initialise(gamma, cuts); comp->Initialise(gamma, cuts); conv->Initialise(gamma, cuts); @@ -107,57 +98,51 @@ int main() { // compute CrossSection per atom and MeanFreePath // - G4double Emin = 1.01*MeV, Emax = 2.01*MeV, dE = 100*keV; + G4double Emin = 1.01 * MeV, Emax = 2.01 * MeV, dE = 100 * keV; - G4cout << "\n #### Gamma : CrossSectionPerAtom and MeanFreePath for " - << material->GetName() << G4endl; + G4cout << "\n #### Gamma : CrossSectionPerAtom and MeanFreePath for " << material->GetName() + << G4endl; G4cout << "\n Energy \t PhotoElec \t Compton \t Conversion \t"; - G4cout << "\t PhotoElec \t Compton \t Conversion" << G4endl; - + G4cout << "\t PhotoElec \t Compton \t Conversion" << G4endl; + for (G4double Energy = Emin; Energy <= Emax; Energy += dE) { - G4cout << "\n " << G4BestUnit (Energy, "Energy") - << "\t" - << G4BestUnit (phot->ComputeCrossSectionPerAtom(gamma,Energy,Z),"Surface") - << "\t" - << G4BestUnit (comp->ComputeCrossSectionPerAtom(gamma,Energy,Z),"Surface") - << "\t" - << G4BestUnit (conv->ComputeCrossSectionPerAtom(gamma,Energy,Z),"Surface") - << "\t \t" - << G4BestUnit (phot->ComputeMeanFreePath(gamma,Energy,material),"Length") - << "\t" - << G4BestUnit (comp->ComputeMeanFreePath(gamma,Energy,material),"Length") - << "\t" - << G4BestUnit (conv->ComputeMeanFreePath(gamma,Energy,material),"Length"); + G4cout << "\n " << G4BestUnit(Energy, "Energy") << "\t" + << G4BestUnit(phot->ComputeCrossSectionPerAtom(gamma, Energy, Z), "Surface") << "\t" + << G4BestUnit(comp->ComputeCrossSectionPerAtom(gamma, Energy, Z), "Surface") << "\t" + << G4BestUnit(conv->ComputeCrossSectionPerAtom(gamma, Energy, Z), "Surface") << "\t \t" + << G4BestUnit(phot->ComputeMeanFreePath(gamma, Energy, material), "Length") << "\t" + << G4BestUnit(comp->ComputeMeanFreePath(gamma, Energy, material), "Length") << "\t" + << G4BestUnit(conv->ComputeMeanFreePath(gamma, Energy, material), "Length"); } G4cout << G4endl; // initialise positron annihilation (model) - // + // G4VEmModel* anni = new G4eeToTwoGammaModel(); anni->Initialise(posit, cuts); - + // compute CrossSection per atom and MeanFreePath // - Emin = 1.01*MeV; Emax = 2.01*MeV; dE = 100*keV; + Emin = 1.01 * MeV; + Emax = 2.01 * MeV; + dE = 100 * keV; G4cout << "\n #### e+ annihilation : CrossSectionPerAtom and MeanFreePath" << " for " << material->GetName() << G4endl; G4cout << "\n Energy \t e+ annihil \t"; - G4cout << "\t e+ annihil" << G4endl; - + G4cout << "\t e+ annihil" << G4endl; + for (G4double Energy = Emin; Energy <= Emax; Energy += dE) { - G4cout << "\n " << G4BestUnit (Energy, "Energy") - << "\t" - << G4BestUnit (anni->ComputeCrossSectionPerAtom(posit,Energy,Z),"Surface") - << "\t \t" - << G4BestUnit (anni->ComputeMeanFreePath(posit,Energy,material),"Length"); + G4cout << "\n " << G4BestUnit(Energy, "Energy") << "\t" + << G4BestUnit(anni->ComputeCrossSectionPerAtom(posit, Energy, Z), "Surface") << "\t \t" + << G4BestUnit(anni->ComputeMeanFreePath(posit, Energy, material), "Length"); } G4cout << G4endl; // initialise electron processes (models) - // + // G4VEmModel* ioni = new G4MollerBhabhaModel(); G4VEmModel* brem = new G4SeltzerBergerModel(); ioni->Initialise(elec, cuts); @@ -165,170 +150,147 @@ int main() { // compute CrossSection per atom and MeanFreePath // - Emin = 1.01*MeV; Emax = 101.01*MeV; dE = 10*MeV; - G4double Ecut = 100*keV; + Emin = 1.01 * MeV; + Emax = 101.01 * MeV; + dE = 10 * MeV; + G4double Ecut = 100 * keV; G4cout << "\n ####electron: CrossSection, MeanFreePath and StoppingPower" - << " for " << material->GetName() - << ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl; - + << " for " << material->GetName() << ";\tEnergy cut = " << G4BestUnit(Ecut, "Energy") + << G4endl; + G4cout << "\n Energy \t ionization \t bremsstra \t"; - G4cout << "\t ionization \t bremsstra \t"; - G4cout << "\t ionization \t bremsstra" << G4endl; - + G4cout << "\t ionization \t bremsstra \t"; + G4cout << "\t ionization \t bremsstra" << G4endl; + for (G4double Energy = Emin; Energy <= Emax; Energy += dE) { - G4cout << "\n " << G4BestUnit (Energy, "Energy") - << "\t" - << G4BestUnit (ioni->ComputeCrossSectionPerAtom(elec,Energy,Z,A,Ecut), - "Surface") - << "\t" - << G4BestUnit (brem->ComputeCrossSectionPerAtom(elec,Energy,Z,A,Ecut), - "Surface") - << "\t \t" - << G4BestUnit (ioni->ComputeMeanFreePath(elec,Energy,material,Ecut), - "Length") - << "\t" - << G4BestUnit (brem->ComputeMeanFreePath(elec,Energy,material,Ecut), - "Length") - << "\t \t" - << G4BestUnit (ioni->ComputeDEDXPerVolume(material,elec,Energy,Ecut), - "Energy/Length") - << "\t" - << G4BestUnit (brem->ComputeDEDXPerVolume(material,elec,Energy,Ecut), - "Energy/Length"); + G4cout << "\n " << G4BestUnit(Energy, "Energy") << "\t" + << G4BestUnit(ioni->ComputeCrossSectionPerAtom(elec, Energy, Z, A, Ecut), "Surface") + << "\t" + << G4BestUnit(brem->ComputeCrossSectionPerAtom(elec, Energy, Z, A, Ecut), "Surface") + << "\t \t" + << G4BestUnit(ioni->ComputeMeanFreePath(elec, Energy, material, Ecut), "Length") << "\t" + << G4BestUnit(brem->ComputeMeanFreePath(elec, Energy, material, Ecut), "Length") + << "\t \t" + << G4BestUnit(ioni->ComputeDEDXPerVolume(material, elec, Energy, Ecut), "Energy/Length") + << "\t" + << G4BestUnit(brem->ComputeDEDXPerVolume(material, elec, Energy, Ecut), "Energy/Length"); } - + G4cout << G4endl; // initialise proton processes (models) - // + // ioni = new G4BetheBlochModel(); ioni->Initialise(prot, cuts); - + // compute CrossSection per atom and MeanFreePath // - Emin = 1.01*MeV; Emax = 102.01*MeV; dE = 10*MeV; - Ecut = 100*keV; + Emin = 1.01 * MeV; + Emax = 102.01 * MeV; + dE = 10 * MeV; + Ecut = 100 * keV; G4cout << "\n #### proton : CrossSection, MeanFreePath and StoppingPower" - << " for " << material->GetName() - << ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl; - + << " for " << material->GetName() << ";\tEnergy cut = " << G4BestUnit(Ecut, "Energy") + << G4endl; + G4cout << "\n Energy \t ionization \t"; - G4cout << "\t ionization \t"; - G4cout << "\t ionization" << G4endl; - + G4cout << "\t ionization \t"; + G4cout << "\t ionization" << G4endl; + for (G4double Energy = Emin; Energy <= Emax; Energy += dE) { - G4cout << "\n " << G4BestUnit (Energy, "Energy") - << "\t" - << G4BestUnit (ioni->ComputeCrossSectionPerAtom(prot,Energy,Z,A,Ecut), - "Surface") - << "\t \t" - << G4BestUnit (ioni->ComputeMeanFreePath(prot,Energy,material,Ecut), - "Length") - << "\t \t" - << G4BestUnit (ioni->ComputeDEDXPerVolume(material,prot,Energy,Ecut), - "Energy/Length"); + G4cout << "\n " << G4BestUnit(Energy, "Energy") << "\t" + << G4BestUnit(ioni->ComputeCrossSectionPerAtom(prot, Energy, Z, A, Ecut), "Surface") + << "\t \t" + << G4BestUnit(ioni->ComputeMeanFreePath(prot, Energy, material, Ecut), "Length") + << "\t \t" + << G4BestUnit(ioni->ComputeDEDXPerVolume(material, prot, Energy, Ecut), "Energy/Length"); } - + G4cout << G4endl; - + // low energy : Bragg Model ioni = new G4BraggModel(prot); ioni->Initialise(prot, cuts); - + // compute CrossSection per atom and MeanFreePath // - Emin = 1.1*keV; Emax = 2.01*MeV; dE = 300*keV; - Ecut = 10*keV; - + Emin = 1.1 * keV; + Emax = 2.01 * MeV; + dE = 300 * keV; + Ecut = 10 * keV; + G4cout << "\n #### proton : low energy model (Bragg) " - << ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl; - + << ";\tEnergy cut = " << G4BestUnit(Ecut, "Energy") << G4endl; + G4cout << "\n Energy \t ionization \t"; - G4cout << "\t ionization \t"; - G4cout << "\t ionization" << G4endl; - + G4cout << "\t ionization \t"; + G4cout << "\t ionization" << G4endl; + for (G4double Energy = Emin; Energy <= Emax; Energy += dE) { - G4cout << "\n " << G4BestUnit (Energy, "Energy") - << "\t" - << G4BestUnit (ioni->ComputeCrossSectionPerAtom(prot,Energy,Z,A,Ecut), - "Surface") - << "\t \t" - << G4BestUnit (ioni->ComputeMeanFreePath(prot,Energy,material,Ecut), - "Length") - << "\t \t" - << G4BestUnit (ioni->ComputeDEDXPerVolume(material,prot,Energy,Ecut), - "Energy/Length"); + G4cout << "\n " << G4BestUnit(Energy, "Energy") << "\t" + << G4BestUnit(ioni->ComputeCrossSectionPerAtom(prot, Energy, Z, A, Ecut), "Surface") + << "\t \t" + << G4BestUnit(ioni->ComputeMeanFreePath(prot, Energy, material, Ecut), "Length") + << "\t \t" + << G4BestUnit(ioni->ComputeDEDXPerVolume(material, prot, Energy, Ecut), "Energy/Length"); } - + G4cout << G4endl; - + // initialise muon processes (models) - // + // ioni = new G4MuBetheBlochModel(); brem = new G4MuBremsstrahlungModel(); G4VEmModel* pair = new G4MuPairProductionModel(); ioni->Initialise(muon, cuts); brem->Initialise(muon, cuts); pair->Initialise(muon, cuts); - + // compute CrossSection per atom and MeanFreePath // - Emin = 1.01*GeV; Emax = 101.01*GeV; dE = 10*GeV; - Ecut = 10*MeV; + Emin = 1.01 * GeV; + Emax = 101.01 * GeV; + dE = 10 * GeV; + Ecut = 10 * MeV; + + G4cout << "\n ####muon: CrossSection and MeanFreePath for " << material->GetName() + << ";\tEnergy cut = " << G4BestUnit(Ecut, "Energy") << G4endl; - G4cout << "\n ####muon: CrossSection and MeanFreePath for " - << material->GetName() - << ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl; - G4cout << "\n Energy \t ionization \t bremsstra \t pair_prod \t"; - G4cout << "\t ionization \t bremsstra \t pair_prod" << G4endl; - + G4cout << "\t ionization \t bremsstra \t pair_prod" << G4endl; + for (G4double Energy = Emin; Energy <= Emax; Energy += dE) { - G4cout << "\n " << G4BestUnit (Energy, "Energy") - << "\t" - << G4BestUnit (ioni->ComputeCrossSectionPerAtom(muon,Energy,Z,A,Ecut), - "Surface") - << "\t" - << G4BestUnit (brem->ComputeCrossSectionPerAtom(muon,Energy,Z,A,Ecut), - "Surface") - << "\t" - << G4BestUnit (pair->ComputeCrossSectionPerAtom(muon,Energy,Z,A,Ecut), - "Surface") - << "\t \t" - << G4BestUnit (ioni->ComputeMeanFreePath(muon,Energy,material,Ecut), - "Length") - << "\t" - << G4BestUnit (brem->ComputeMeanFreePath(muon,Energy,material,Ecut), - "Length") - << "\t" - << G4BestUnit (pair->ComputeMeanFreePath(muon,Energy,material,Ecut), - "Length"); + G4cout << "\n " << G4BestUnit(Energy, "Energy") << "\t" + << G4BestUnit(ioni->ComputeCrossSectionPerAtom(muon, Energy, Z, A, Ecut), "Surface") + << "\t" + << G4BestUnit(brem->ComputeCrossSectionPerAtom(muon, Energy, Z, A, Ecut), "Surface") + << "\t" + << G4BestUnit(pair->ComputeCrossSectionPerAtom(muon, Energy, Z, A, Ecut), "Surface") + << "\t \t" + << G4BestUnit(ioni->ComputeMeanFreePath(muon, Energy, material, Ecut), "Length") << "\t" + << G4BestUnit(brem->ComputeMeanFreePath(muon, Energy, material, Ecut), "Length") << "\t" + << G4BestUnit(pair->ComputeMeanFreePath(muon, Energy, material, Ecut), "Length"); } - + G4cout << G4endl; - - G4cout << "\n ####muon: StoppingPower for " - << material->GetName() - << ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl; - + + G4cout << "\n ####muon: StoppingPower for " << material->GetName() + << ";\tEnergy cut = " << G4BestUnit(Ecut, "Energy") << G4endl; + G4cout << "\n Energy \t ionization \t bremsstra \t pair_prod \t" << G4endl; - + for (G4double Energy = Emin; Energy <= Emax; Energy += dE) { - G4cout << "\n " << G4BestUnit (Energy, "Energy") - << "\t" - << G4BestUnit (ioni->ComputeDEDXPerVolume(material,muon,Energy,Ecut), - "Energy/Length") - << "\t" - << G4BestUnit (brem->ComputeDEDXPerVolume(material,muon,Energy,Ecut), - "Energy/Length") - << "\t" - << G4BestUnit (pair->ComputeDEDXPerVolume(material,muon,Energy,Ecut), - "Energy/Length"); + G4cout << "\n " << G4BestUnit(Energy, "Energy") << "\t" + << G4BestUnit(ioni->ComputeDEDXPerVolume(material, muon, Energy, Ecut), "Energy/Length") + << "\t" + << G4BestUnit(brem->ComputeDEDXPerVolume(material, muon, Energy, Ecut), "Energy/Length") + << "\t" + << G4BestUnit(pair->ComputeDEDXPerVolume(material, muon, Energy, Ecut), "Energy/Length"); } - - G4cout << G4endl; + + G4cout << G4endl; return EXIT_SUCCESS; } diff --git a/examples/extended/electromagnetic/TestEm0/History b/examples/extended/electromagnetic/TestEm0/History index 0ad0ffd8fe5..fb062175bfd 100644 --- a/examples/extended/electromagnetic/TestEm0/History +++ b/examples/extended/electromagnetic/TestEm0/History @@ -4,6 +4,10 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-04-09 Michel Maire (testem0-V11-02-00) +- DetectorConstruction: introduce Xenon gas +- new macro xenonGas.mac + ## 2023-03-11 Michel Maire (testem0-V11-01-00) - revision of all headers - RunAction: restore output format diff --git a/examples/extended/electromagnetic/TestEm0/README b/examples/extended/electromagnetic/TestEm0/README index 860f65e8553..360d7d40544 100644 --- a/examples/extended/electromagnetic/TestEm0/README +++ b/examples/extended/electromagnetic/TestEm0/README @@ -31,7 +31,8 @@ Macros provided in this example: - muon.mac: muon incident - - ion.mac: generic ion incident + - ion.mac: generic ion incident + - xenonGas.mac: illustrate gas definition DirectAccess ------------ diff --git a/examples/extended/electromagnetic/TestEm0/TestEm0.cc b/examples/extended/electromagnetic/TestEm0/TestEm0.cc index d87c6b77154..24434ab603b 100644 --- a/examples/extended/electromagnetic/TestEm0/TestEm0.cc +++ b/examples/extended/electromagnetic/TestEm0/TestEm0.cc @@ -32,25 +32,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" +#include "G4RunManagerFactory.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = 0; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //Construct a serial run manager + // Construct a serial run manager auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly); // set mandatory initialization classes @@ -59,25 +58,26 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(new PhysicsList); runManager->SetUserAction(prim = new PrimaryGeneratorAction(det)); - + // set user action classes - runManager->SetUserAction(new RunAction(det,prim)); + runManager->SetUserAction(new RunAction(det, prim)); - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode + if (ui) { + // interactive mode ui->SessionStart(); delete ui; - } else { - //batch mode + } + else { + // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination // delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm0/TestEm0.out b/examples/extended/electromagnetic/TestEm0/TestEm0.out index 04fcde84600..60e74c6af1e 100644 --- a/examples/extended/electromagnetic/TestEm0/TestEm0.out +++ b/examples/extended/electromagnetic/TestEm0/TestEm0.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -156,7 +156,7 @@ Index : 0 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 1 - User=0.000000s Real=0.000407s Sys=0.000000s + User=0.000000s Real=0.000379s Sys=0.000000s Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.356 cm Imean: 78.000 eV temperature: 293.15 K pressure: 1.00 atm @@ -225,7 +225,7 @@ Index : 1 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 1 - User=0.000000s Real=0.000200s Sys=0.000000s + User=0.000000s Real=0.000187s Sys=0.000000s ================== Deleting memory pools =================== Number of memory pools allocated: 9 of which, static: 0 Dynamic pools deleted: 9 / Total memory freed: 0.012 MB diff --git a/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh index eedc1423729..4c57cc86520 100644 --- a/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,36 +48,30 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction() override; + ~DetectorConstruction() override; public: + G4VPhysicalVolume* Construct() override; + void SetMaterial(const G4String&); + + const G4VPhysicalVolume* GetWorld() const { return fBox; }; + G4double GetSize() const { return fBoxSize; }; + const G4Material* GetMaterial() const { return fMaterial; }; - G4VPhysicalVolume* Construct() override; - void SetMaterial (const G4String&); - - const - G4VPhysicalVolume* GetWorld() const {return fBox;}; - G4double GetSize() const {return fBoxSize;}; - const G4Material* GetMaterial() const {return fMaterial;}; + void PrintParameters() const; - void PrintParameters() const; - private: - - G4VPhysicalVolume* fBox = nullptr; - G4double fBoxSize = 0.; - G4Material* fMaterial = nullptr; - - DetectorMessenger* fDetectorMessenger = nullptr; + G4VPhysicalVolume* fBox = nullptr; + G4double fBoxSize = 0.; + G4Material* fMaterial = nullptr; + + DetectorMessenger* fDetectorMessenger = nullptr; private: - - void DefineMaterials(); + void DefineMaterials(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh index 907a2f5fdc8..b88c47aeb8f 100644 --- a/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh @@ -42,25 +42,22 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fMaterCmd = nullptr; + DetectorConstruction* fDetector = nullptr; + + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fMaterCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh index 3f183d81816..7fa18e6b11f 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh @@ -41,21 +41,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; + ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh index 1d727085292..836fe6a98c6 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh @@ -46,25 +46,24 @@ class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: explicit PhysicsList(); - ~PhysicsList() override; - + ~PhysicsList() override; + void ConstructParticle() override; void ConstructProcess() override; - + void AddPhysicsList(const G4String& name); - + private: - G4VPhysicsConstructor* fEmPhysicsList = nullptr; - G4String fEmName = " "; - - PhysicsListMessenger* fMessenger = nullptr; + G4VPhysicsConstructor* fEmPhysicsList = nullptr; + G4String fEmName = " "; + + PhysicsListMessenger* fMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh index 44c8e6cccbe..ded4b32a2c4 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh @@ -43,25 +43,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; G4UIcmdWithAString* fListCmd = nullptr; - }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh index 6ae3b573778..476a30323df 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -45,21 +45,20 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; public: void SetDefaultKinematic(); void GeneratePrimaries(G4Event*) override; - - G4ParticleGun* GetParticleGun() {return fParticleGun;} + + G4ParticleGun* GetParticleGun() { return fParticleGun; } private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm0/include/RunAction.hh b/examples/extended/electromagnetic/TestEm0/include/RunAction.hh index a110c78ac76..271cda4fd95 100644 --- a/examples/extended/electromagnetic/TestEm0/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm0/include/RunAction.hh @@ -48,23 +48,22 @@ class RunAction : public G4UserRunAction { public: RunAction(DetectorConstruction*, PrimaryGeneratorAction*); - ~RunAction() override = default; + ~RunAction() override = default; public: void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; - + void EndOfRunAction(const G4Run*) override; + void GetCuts(); void CriticalEnergy(); - + private: - DetectorConstruction* fDetector = nullptr; - PrimaryGeneratorAction* fPrimary = nullptr; - G4double fRangeCut[3] = {0., 0., 0.}; + DetectorConstruction* fDetector = nullptr; + PrimaryGeneratorAction* fPrimary = nullptr; + G4double fRangeCut[3] = {0., 0., 0.}; G4double fEnergyCut[3] = {0., 0., 0.}; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc index b3a3d9c5e12..d4727e6e000 100644 --- a/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc @@ -29,42 +29,43 @@ // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" - -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" #include "G4SolidStore.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() { - fBoxSize = 1*mm; + fBoxSize = 1 * mm; DefineMaterials(); - SetMaterial("Germanium"); + SetMaterial("Germanium"); fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,83 +74,95 @@ void DetectorConstruction::DefineMaterials() // // define Elements // - G4double z,a; - - 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); - G4Element* Ge = new G4Element("Germanium","Ge", z=32., a= 72.59*g/mole); - G4Element* Pb = new G4Element("Lead" ,"Pb", z=82., a= 207.19*g/mole); - G4Element* Bi = new G4Element("Bismuth" ,"Bi", z=83., a= 208.98*g/mole); - + G4double z, a; + + 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); + G4Element* Ge = new G4Element("Germanium", "Ge", z = 32., a = 72.59 * g / mole); + G4Element* Pb = new G4Element("Lead", "Pb", z = 82., a = 207.19 * g / mole); + G4Element* Bi = new G4Element("Bismuth", "Bi", z = 83., a = 208.98 * g / mole); + // // define materials // G4double density; G4int ncomponents, natoms; - G4double fractionmass; - - G4Material* Air = - new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=70.*perCent); - Air->AddElement(O, fractionmass=30.*perCent); - - G4Material* H2l = - new G4Material("H2liquid", density= 70.8*mg/cm3, ncomponents=1); - H2l->AddElement(H, fractionmass=1.); - - G4Material* H2O = - new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); - ///H2O->SetChemicalFormula("H_2O"); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); - - G4Material* steam = - new G4Material("WaterSteam", density= 1.0*mg/cm3, ncomponents=1); - steam->AddMaterial(H2O, fractionmass=1.); - steam->GetIonisation()->SetMeanExcitationEnergy(71.6*eV); - - G4Material* BGO = - new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3); - BGO->AddElement(O , natoms=12); - BGO->AddElement(Ge, natoms= 3); - BGO->AddElement(Bi, natoms= 4); - - new G4Material("Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3); - new G4Material("Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3); - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3); - new G4Material("Copper" , z=29., a= 63.55*g/mole, density= 8.960*g/cm3); - new G4Material("Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3); - new G4Material("Silver" , z=47., a=107.87*g/mole, density= 10.50*g/cm3); - new G4Material("Tungsten" , z=74., a=183.85*g/mole, density= 19.30*g/cm3); - new G4Material("Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3); - new G4Material("Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3); - - G4Material* ams = - new G4Material("ams", density= 7.409*g/cm3, ncomponents=3); - ams->AddElement(Pb, fractionmass = 94.81*perCent); - ams->AddElement(C , fractionmass = 4.79*perCent); - ams->AddElement(H , fractionmass = 0.40*perCent); - - G4Material* argonGas = - new G4Material("ArgonGas", z=18, a=39.948*g/mole, density= 1.782*mg/cm3, - kStateGas, 273.15*kelvin, 1*atmosphere); - - G4Material* butane = - new G4Material("Isobutane",density= 2.42*mg/cm3, ncomponents=2, - kStateGas,273.15*kelvin, 1*atmosphere); - butane->AddElement(C, natoms=4); - butane->AddElement(H, natoms=10); - - G4Material* ArButane = - new G4Material("ArgonButane", density= 1.835*mg/cm3, ncomponents=2, - kStateGas,273.15*kelvin,1.*atmosphere); - ArButane->AddMaterial(argonGas, fractionmass=70*perCent); - ArButane->AddMaterial(butane , fractionmass=30*perCent); - + G4double fractionmass; + + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 70. * perCent); + Air->AddElement(O, fractionmass = 30. * perCent); + + G4Material* H2l = new G4Material("H2liquid", density = 70.8 * mg / cm3, ncomponents = 1); + H2l->AddElement(H, fractionmass = 1.); + + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); + /// H2O->SetChemicalFormula("H_2O"); + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); + + G4Material* steam = new G4Material("WaterSteam", density = 1.0 * mg / cm3, ncomponents = 1); + steam->AddMaterial(H2O, fractionmass = 1.); + steam->GetIonisation()->SetMeanExcitationEnergy(71.6 * eV); + + G4Material* BGO = new G4Material("BGO", density = 7.10 * g / cm3, ncomponents = 3); + BGO->AddElement(O, natoms = 12); + BGO->AddElement(Ge, natoms = 3); + BGO->AddElement(Bi, natoms = 4); + + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + new G4Material("Silicon", z = 14., a = 28.09 * g / mole, density = 2.330 * g / cm3); + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); + new G4Material("Copper", z = 29., a = 63.55 * g / mole, density = 8.960 * g / cm3); + new G4Material("Germanium", z = 32., a = 72.61 * g / mole, density = 5.323 * g / cm3); + new G4Material("Silver", z = 47., a = 107.87 * g / mole, density = 10.50 * g / cm3); + new G4Material("Tungsten", z = 74., a = 183.85 * g / mole, density = 19.30 * g / cm3); + new G4Material("Lead", z = 82., a = 207.19 * g / mole, density = 11.35 * g / cm3); + new G4Material("Uranium", z = 92., a = 238.03 * g / mole, density = 18.95 * g / cm3); + + G4Material* ams = new G4Material("ams", density = 7.409 * g / cm3, ncomponents = 3); + ams->AddElement(Pb, fractionmass = 94.81 * perCent); + ams->AddElement(C, fractionmass = 4.79 * perCent); + ams->AddElement(H, fractionmass = 0.40 * perCent); + + G4Material* argonGas = + new G4Material("ArgonGas", z = 18, a = 39.948 * g / mole, density = 1.782 * mg / cm3, kStateGas, + 273.15 * kelvin, 1 * atmosphere); + + G4Material* butane = new G4Material("Isobutane", density = 2.42 * mg / cm3, ncomponents = 2, + kStateGas, 273.15 * kelvin, 1 * atmosphere); + butane->AddElement(C, natoms = 4); + butane->AddElement(H, natoms = 10); + + G4Material* ArButane = new G4Material("ArgonButane", density = 1.835 * mg / cm3, ncomponents = 2, + kStateGas, 273.15 * kelvin, 1. * atmosphere); + ArButane->AddMaterial(argonGas, fractionmass = 70 * perCent); + ArButane->AddMaterial(butane, fractionmass = 30 * perCent); + + /// exercise: Xenon gas + // + G4Element* Xe = new G4Element("Xenon", "Xe", z = 54., a = 131.29 * g / mole); + + // XenonGas0 (NTP) + G4double temperature0 = 293.15 * kelvin; + G4double pressure0 = 1 * atmosphere; + G4double density0 = 2.953 * mg / cm3; + G4Material* matXe0 = + new G4Material("XenonGas0", density0, ncomponents = 1, kStateGas, temperature0, pressure0); + matXe0->AddElement(Xe, natoms = 1); + + // XenonGas1 + G4double temperature1 = 293.15 * kelvin; + G4double pressure1 = 50 * atmosphere; + G4double density1 = density0 * (pressure1 / pressure0) * (temperature0 / temperature1); + G4Material* matXe1 = + new G4Material("XenonGas1", density1, ncomponents = 1, kStateGas, temperature1, pressure1); + matXe1->AddElement(Xe, natoms = 1); + ////G4cout << *(G4Material::GetMaterialTable()) << G4endl; } @@ -158,26 +171,26 @@ void DetectorConstruction::DefineMaterials() G4VPhysicalVolume* DetectorConstruction::Construct() { // the geometry is created once - if(fBox) { return fBox; } - - G4Box* - sBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - G4LogicalVolume* - lBox = new G4LogicalVolume(sBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fBox = new G4PVPlacement(0, //no rotation - G4ThreeVector(0.,0.,0.), //at (0,0,0) - lBox, //its logical volume - fMaterial->GetName(), //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - - //always return the root volume + if (fBox) { + return fBox; + } + + G4Box* sBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + G4LogicalVolume* lBox = new G4LogicalVolume(sBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fBox = new G4PVPlacement(0, // no rotation + G4ThreeVector(0., 0., 0.), // at (0,0,0) + lBox, // its logical volume + fMaterial->GetName(), // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + + // always return the root volume // return fBox; } @@ -186,8 +199,8 @@ G4VPhysicalVolume* DetectorConstruction::Construct() void DetectorConstruction::PrintParameters() const { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -197,18 +210,20 @@ void DetectorConstruction::PrintParameters() const void DetectorConstruction::SetMaterial(const G4String& materialChoice) { // search the material by its name, or build it from nist data base - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); if (pttoMaterial) { fMaterial = pttoMaterial; - if(fBox) { fBox->GetLogicalVolume()->SetMaterial(fMaterial); } + if (fBox) { + fBox->GetLogicalVolume()->SetMaterial(fMaterial); + } G4RunManager::GetRunManager()->PhysicsHasBeenModified(); G4cout << "\n " << fMaterial << G4endl; - } else { - G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " - << materialChoice << " not found" << G4endl; - } + } + else { + G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " << materialChoice + << " not found" << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc index 5ca384f4992..5253a5c287c 100644 --- a/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc @@ -33,24 +33,24 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction* detector) -:fDetector(detector) +DetectorMessenger::DetectorMessenger(DetectorConstruction* detector) : fDetector(detector) { fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction commands"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,10 +64,11 @@ DetectorMessenger::~DetectorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc index 3c18646947c..df5211c37b2 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc @@ -28,47 +28,41 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BuilderType.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4KleinNishinaModel.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuMultipleScattering.hh" +#include "G4MuPairProduction.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" #include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" #include "G4RayleighScattering.hh" -#include "G4KleinNishinaModel.hh" - -#include "G4eMultipleScattering.hh" -#include "G4eIonisation.hh" +#include "G4SystemOfUnits.hh" #include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" #include "G4eplusAnnihilation.hh" - -#include "G4MuMultipleScattering.hh" -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4BuilderType.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) -:G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetVerbose(0); - SetPhysicsType(bElectromagnetic); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetVerbose(0); + SetPhysicsType(bElectromagnetic); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -76,74 +70,62 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ph->RegisterProcess(new G4RayleighScattering, particle); + if (particleName == "gamma") { + ph->RegisterProcess(new G4RayleighScattering, particle); ph->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* cs = new G4ComptonScattering; + G4ComptonScattering* cs = new G4ComptonScattering; cs->SetEmModel(new G4KleinNishinaModel()); ph->RegisterProcess(cs, particle); ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + } + else if (particleName == "e-") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); - ph->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + ph->RegisterProcess(new G4eBremsstrahlung(), particle); + } + else if (particleName == "e+") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); - ph->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - ph->RegisterProcess(new G4MuMultipleScattering(), particle); + ph->RegisterProcess(new G4eplusAnnihilation(), particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + ph->RegisterProcess(new G4MuMultipleScattering(), particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(new G4MuBremsstrahlung(), particle); ph->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); - ph->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4hPairProduction(), particle); + } + else if (particleName == "alpha" || particleName == "He3") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if (particleName == "GenericIon") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); ph->RegisterProcess(ionIoni, particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } @@ -151,4 +133,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc index b400392494e..f8551f947be 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc @@ -26,89 +26,87 @@ /// \file electromagnetic/TestEm0/src/PhysicsList.cc /// \brief Implementation of the PhysicsList class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" - + #include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" + +#include "G4EmLivermorePhysics.hh" +#include "G4EmParameters.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" - #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" -#include "G4EmParameters.hh" +#include "G4UnitsTable.hh" // Bosons #include "G4ChargedGeantino.hh" -#include "G4Geantino.hh" #include "G4Gamma.hh" +#include "G4Geantino.hh" #include "G4OpticalPhoton.hh" // leptons -#include "G4MuonPlus.hh" -#include "G4MuonMinus.hh" -#include "G4NeutrinoMu.hh" +#include "G4AntiNeutrinoE.hh" #include "G4AntiNeutrinoMu.hh" - #include "G4Electron.hh" -#include "G4Positron.hh" +#include "G4MuonMinus.hh" +#include "G4MuonPlus.hh" #include "G4NeutrinoE.hh" -#include "G4AntiNeutrinoE.hh" +#include "G4NeutrinoMu.hh" +#include "G4Positron.hh" // Mesons -#include "G4PionPlus.hh" -#include "G4PionMinus.hh" -#include "G4PionZero.hh" +#include "G4AntiKaonZero.hh" #include "G4Eta.hh" #include "G4EtaPrime.hh" - -#include "G4KaonPlus.hh" #include "G4KaonMinus.hh" +#include "G4KaonPlus.hh" #include "G4KaonZero.hh" -#include "G4AntiKaonZero.hh" #include "G4KaonZeroLong.hh" #include "G4KaonZeroShort.hh" +#include "G4PionMinus.hh" +#include "G4PionPlus.hh" +#include "G4PionZero.hh" // Baryons -#include "G4Proton.hh" +#include "G4AntiNeutron.hh" #include "G4AntiProton.hh" #include "G4Neutron.hh" -#include "G4AntiNeutron.hh" +#include "G4Proton.hh" // Nuclei -#include "G4Deuteron.hh" -#include "G4Triton.hh" #include "G4Alpha.hh" +#include "G4Deuteron.hh" #include "G4GenericIon.hh" +#include "G4Triton.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsList::PhysicsList() -{ +PhysicsList::PhysicsList() +{ fMessenger = new PhysicsListMessenger(this); - + // set default cut value - SetDefaultCutValue(1.0*mm); + SetDefaultCutValue(1.0 * mm); SetVerboseLevel(1); AddPhysicsList("emstandard_opt0"); - - G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV,1*GeV); - //add new units for cross sections - // - new G4UnitDefinition( "mm2/g", "mm2/g","Surface/Mass", mm2/g); - new G4UnitDefinition( "um2/mg", "um2/mg","Surface/Mass", um*um/mg); + G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100 * eV, 1 * GeV); + + // add new units for cross sections + // + new G4UnitDefinition("mm2/g", "mm2/g", "Surface/Mass", mm2 / g); + new G4UnitDefinition("um2/mg", "um2/mg", "Surface/Mass", um * um / mg); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -122,17 +120,17 @@ PhysicsList::~PhysicsList() void PhysicsList::ConstructParticle() { -// pseudo-particles + // pseudo-particles G4Geantino::GeantinoDefinition(); G4ChargedGeantino::ChargedGeantinoDefinition(); - -// gamma + + // gamma G4Gamma::GammaDefinition(); - -// optical photon + + // optical photon G4OpticalPhoton::OpticalPhotonDefinition(); -// leptons + // leptons G4Electron::ElectronDefinition(); G4Positron::PositronDefinition(); G4MuonPlus::MuonPlusDefinition(); @@ -141,9 +139,9 @@ void PhysicsList::ConstructParticle() G4NeutrinoE::NeutrinoEDefinition(); G4AntiNeutrinoE::AntiNeutrinoEDefinition(); G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -// mesons + // mesons G4PionPlus::PionPlusDefinition(); G4PionMinus::PionMinusDefinition(); G4PionZero::PionZeroDefinition(); @@ -156,13 +154,13 @@ void PhysicsList::ConstructParticle() G4KaonZeroLong::KaonZeroLongDefinition(); G4KaonZeroShort::KaonZeroShortDefinition(); -// barions + // barions G4Proton::ProtonDefinition(); G4AntiProton::AntiProtonDefinition(); G4Neutron::NeutronDefinition(); G4AntiNeutron::AntiNeutronDefinition(); -// ions + // ions G4Deuteron::DeuteronDefinition(); G4Triton::TritonDefinition(); G4Alpha::AlphaDefinition(); @@ -186,63 +184,60 @@ void PhysicsList::ConstructProcess() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>0) { + if (verboseLevel > 0) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } - + if (name == fEmName) return; if (name == "local") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt0"){ + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1"){ + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2"){ + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3"){ + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4"){ + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "empenelope"){ + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else if (name == "emlivermore"){ + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } - + // Em options // - G4EmParameters::Instance()->SetBuildCSDARange(true); + G4EmParameters::Instance()->SetBuildCSDARange(true); G4EmParameters::Instance()->SetGeneralProcessActive(false); } diff --git a/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc index 855032e10af..784687dcabb 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc @@ -33,22 +33,22 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) -:fPhysicsList(pPhys) -{ +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) +{ fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); - fListCmd->AvailableForStates(G4State_PreInit); + fListCmd->SetParameterName("PList", false); + fListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -61,11 +61,11 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc index 883b40d9b1e..5604454faea 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc /// \brief Implementation of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,16 +35,15 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction( DetectorConstruction* detector) -:fDetector(detector) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* detector) : fDetector(detector) { - fParticleGun = new G4ParticleGun(1); + fParticleGun = new G4ParticleGun(1); SetDefaultKinematic(); } @@ -59,23 +58,21 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::SetDefaultKinematic() { - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(100*MeV); - G4double position = -0.5*(fDetector->GetSize()); - fParticleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(100 * MeV); + G4double position = -0.5 * (fDetector->GetSize()); + fParticleGun->SetParticlePosition(G4ThreeVector(position, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm0/src/RunAction.cc b/examples/extended/electromagnetic/TestEm0/src/RunAction.cc index 71190dd6dab..5b3af79dbb9 100644 --- a/examples/extended/electromagnetic/TestEm0/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm0/src/RunAction.cc @@ -26,90 +26,86 @@ /// \file electromagnetic/TestEm0/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" -#include "G4Run.hh" -#include "G4ProcessManager.hh" -#include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" +#include "G4Electron.hh" #include "G4EmCalculator.hh" +#include "G4LossTableManager.hh" #include "G4PhysicalConstants.hh" -#include "G4SystemOfUnits.hh" -#include "G4Electron.hh" #include "G4Positron.hh" +#include "G4ProcessManager.hh" +#include "G4Run.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) -:fDetector(det), fPrimary(kin) -{ } + : fDetector(det), fPrimary(kin) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) { - //set precision for printing + // set precision for printing G4int prec = G4cout.precision(6); - - //instanciate EmCalculator + + // instanciate EmCalculator G4EmCalculator emCal; // emCal.SetVerbose(2); - - // get particle - G4ParticleDefinition* particle = fPrimary->GetParticleGun() - ->GetParticleDefinition(); + + // get particle + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4String partName = particle->GetParticleName(); - G4double charge = particle->GetPDGCharge(); - G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); - + G4double charge = particle->GetPDGCharge(); + G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); + // get material const G4Material* material = fDetector->GetMaterial(); - G4String matName = material->GetName(); - G4double density = material->GetDensity(); - G4double radl = material->GetRadlen(); + G4String matName = material->GetName(); + G4double density = material->GetDensity(); + G4double radl = material->GetRadlen(); - G4cout << "\n " << partName << " (" - << G4BestUnit(energy,"Energy") << ") in " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << "; radiation length: " - << G4BestUnit(radl, "Length") << ")" << G4endl; + G4cout << "\n " << partName << " (" << G4BestUnit(energy, "Energy") << ") in " + << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") + << "; radiation length: " << G4BestUnit(radl, "Length") << ")" << G4endl; - // get cuts + // get cuts GetCuts(); if (charge != 0.) { - G4cout << "\n Range cuts: \t gamma " - << std::setw(12) << G4BestUnit(fRangeCut[0],"Length") - << "\t e- " << std::setw(12) << G4BestUnit(fRangeCut[1],"Length"); - G4cout << "\n Energy cuts: \t gamma " - << std::setw(12) << G4BestUnit(fEnergyCut[0],"Energy") - << "\t e- " << std::setw(12) << G4BestUnit(fEnergyCut[1],"Energy") - << G4endl; - } - + G4cout << "\n Range cuts: \t gamma " << std::setw(12) << G4BestUnit(fRangeCut[0], "Length") + << "\t e- " << std::setw(12) << G4BestUnit(fRangeCut[1], "Length"); + G4cout << "\n Energy cuts: \t gamma " << std::setw(12) << G4BestUnit(fEnergyCut[0], "Energy") + << "\t e- " << std::setw(12) << G4BestUnit(fEnergyCut[1], "Energy") << G4endl; + } + // max energy transfert if (charge != 0.) { - G4double Mass_c2 = particle->GetPDGMass(); - G4double moverM = electron_mass_c2/Mass_c2; - G4double gamM1 = energy/Mass_c2, gam = gamM1 + 1., gamP1 = gam + 1.; - G4double Tmax = energy; - if(particle == G4Electron::Electron()) { - Tmax *= 0.5; - } else if(particle != G4Positron::Positron()) { - Tmax = (2*electron_mass_c2*gamM1*gamP1)/(1.+2*gam*moverM+moverM*moverM); - } - G4double range = emCal.GetCSDARange(Tmax,G4Electron::Electron(),material); - - G4cout << "\n Max_energy _transferable : " << G4BestUnit(Tmax,"Energy") - << " (" << G4BestUnit(range,"Length") << ")" << G4endl; + G4double Mass_c2 = particle->GetPDGMass(); + G4double moverM = electron_mass_c2 / Mass_c2; + G4double gamM1 = energy / Mass_c2, gam = gamM1 + 1., gamP1 = gam + 1.; + G4double Tmax = energy; + if (particle == G4Electron::Electron()) { + Tmax *= 0.5; + } + else if (particle != G4Positron::Positron()) { + Tmax = (2 * electron_mass_c2 * gamM1 * gamP1) / (1. + 2 * gam * moverM + moverM * moverM); + } + G4double range = emCal.GetCSDARange(Tmax, G4Electron::Electron(), material); + + G4cout << "\n Max_energy _transferable : " << G4BestUnit(Tmax, "Energy") << " (" + << G4BestUnit(range, "Length") << ")" << G4endl; } - + // get processList and extract EM processes (but not MultipleScattering) G4ProcessVector* plist = particle->GetProcessManager()->GetProcessList(); G4String procName; @@ -117,209 +113,200 @@ void RunAction::BeginOfRunAction(const G4Run*) std::vector emName; std::vector enerCut; size_t length = plist->size(); - for (size_t j=0; jGetProcessName(); - cut = fEnergyCut[1]; - if ((procName == "eBrem")||(procName == "muBrems")) cut = fEnergyCut[0]; - if (((*plist)[j]->GetProcessType() == fElectromagnetic) && - (procName != "msc")) { - emName.push_back(procName); - enerCut.push_back(cut); - } + for (size_t j = 0; j < length; j++) { + procName = (*plist)[j]->GetProcessName(); + cut = fEnergyCut[1]; + if ((procName == "eBrem") || (procName == "muBrems")) cut = fEnergyCut[0]; + if (((*plist)[j]->GetProcessType() == fElectromagnetic) && (procName != "msc")) { + emName.push_back(procName); + enerCut.push_back(cut); + } } - + // write html documentation, if requested - char* htmlDocName = std::getenv("G4PhysListName"); // file name - char* htmlDocDir = std::getenv("G4PhysListDocDir"); // directory + char* htmlDocName = std::getenv("G4PhysListName"); // file name + char* htmlDocDir = std::getenv("G4PhysListDocDir"); // directory if (htmlDocName && htmlDocDir) { G4LossTableManager::Instance()->DumpHtml(); } - + // print list of processes G4cout << "\n processes : "; - for (size_t j=0; jGetNumberOfElements() == 1) { G4double Z = material->GetZ(); G4double A = material->GetA(); - + std::vector sigma0; G4double sig, sigtot = 0.; - for (size_t j=0; j sigma0; std::vector sigma1; std::vector sigma2; G4double Sig, SigtotComp = 0., Sigtot = 0.; - for (size_t j=0; j 0.) lambda = 1/sigma1[j]; - G4cout << "\t" << std::setw(9) << G4BestUnit( lambda, "Length") << " "; + for (size_t j = 0; j < sigma1.size(); ++j) { + lambda = DBL_MAX; + if (sigma1[j] > 0.) lambda = 1 / sigma1[j]; + G4cout << "\t" << std::setw(9) << G4BestUnit(lambda, "Length") << " "; } - - //mean free path (g/cm2) - G4cout << "\n (g/cm2) : "; - for (size_t j=0; j 0.) lambda = 1/sigma2[j]; - G4cout << "\t" << std::setw(9) << G4BestUnit( lambda, "Mass/Surface"); + + // mean free path (g/cm2) + G4cout << "\n (g/cm2) : "; + for (size_t j = 0; j < sigma2.size(); ++j) { + lambda = DBL_MAX; + if (sigma2[j] > 0.) lambda = 1 / sigma2[j]; + G4cout << "\t" << std::setw(9) << G4BestUnit(lambda, "Mass/Surface"); } G4cout << G4endl; - + if (charge == 0.) { G4cout.precision(prec); - G4cout << "\n-----------------------------------------------------------\n" - << G4endl; + G4cout << "\n-----------------------------------------------------------\n" << G4endl; return; } - - //get stopping power + + // get stopping power std::vector dedx1; - std::vector dedx2; + std::vector dedx2; G4double dedx, dedxtot = 0.; size_t nproc = emName.size(); - for (size_t j=0; jMaxEnergyForCSDARange(); - if(energy < EmaxTable) { - G4double Range1 = emCal.GetCSDARange(energy,particle,material); - G4double Range2 = Range1*density; - - G4cout << "\n range from full dE/dx : " - << "\t" << std::setw(9) << G4BestUnit(Range1,"Length") - << " (" << std::setw(9) << G4BestUnit(Range2,"Mass/Surface") << ")"; + if (energy < EmaxTable) { + G4double Range1 = emCal.GetCSDARange(energy, particle, material); + G4double Range2 = Range1 * density; + + G4cout << "\n range from full dE/dx : " + << "\t" << std::setw(9) << G4BestUnit(Range1, "Length") << " (" << std::setw(9) + << G4BestUnit(Range2, "Mass/Surface") << ")"; } - //get transport mean free path (for multiple scattering) - G4double MSmfp1 = emCal.GetMeanFreePath(energy,particle,"msc",material); - G4double MSmfp2 = MSmfp1*density; - - //print transport mean free path - G4cout << "\n \n transport mean free path : " - << "\t" << std::setw(9) << G4BestUnit(MSmfp1,"Length") - << " (" << std::setw(9) << G4BestUnit(MSmfp2,"Mass/Surface") << ")"; + // get transport mean free path (for multiple scattering) + G4double MSmfp1 = emCal.GetMeanFreePath(energy, particle, "msc", material); + G4double MSmfp2 = MSmfp1 * density; + + // print transport mean free path + G4cout << "\n \n transport mean free path : " + << "\t" << std::setw(9) << G4BestUnit(MSmfp1, "Length") << " (" << std::setw(9) + << G4BestUnit(MSmfp2, "Mass/Surface") << ")"; if (particle == G4Electron::Electron()) CriticalEnergy(); - + G4cout << "\n-------------------------------------------------------------\n"; G4cout << G4endl; - - // reset default precision - G4cout.precision(prec); + + // reset default precision + G4cout.precision(prec); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EndOfRunAction(const G4Run* ) -{ } +void RunAction::EndOfRunAction(const G4Run*) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -328,32 +315,27 @@ void RunAction::EndOfRunAction(const G4Run* ) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::GetCuts() -{ - G4ProductionCutsTable* theCoupleTable = - G4ProductionCutsTable::GetProductionCutsTable(); - +{ + G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); const G4MaterialCutsCouple* couple = 0; G4int index = 0; - for (size_t i=0; iGetMaterialCutsCouple(i); - if (couple->GetMaterial() == fDetector->GetMaterial()) {index = i; break;} + for (size_t i = 0; i < numOfCouples; i++) { + couple = theCoupleTable->GetMaterialCutsCouple(i); + if (couple->GetMaterial() == fDetector->GetMaterial()) { + index = i; + break; + } } - - fRangeCut[0] = - (*(theCoupleTable->GetRangeCutsVector(idxG4GammaCut)))[index]; - fRangeCut[1] = - (*(theCoupleTable->GetRangeCutsVector(idxG4ElectronCut)))[index]; - fRangeCut[2] = - (*(theCoupleTable->GetRangeCutsVector(idxG4PositronCut)))[index]; - - fEnergyCut[0] = - (*(theCoupleTable->GetEnergyCutsVector(idxG4GammaCut)))[index]; - fEnergyCut[1] = - (*(theCoupleTable->GetEnergyCutsVector(idxG4ElectronCut)))[index]; - fEnergyCut[2] = - (*(theCoupleTable->GetEnergyCutsVector(idxG4PositronCut)))[index]; + fRangeCut[0] = (*(theCoupleTable->GetRangeCutsVector(idxG4GammaCut)))[index]; + fRangeCut[1] = (*(theCoupleTable->GetRangeCutsVector(idxG4ElectronCut)))[index]; + fRangeCut[2] = (*(theCoupleTable->GetRangeCutsVector(idxG4PositronCut)))[index]; + + fEnergyCut[0] = (*(theCoupleTable->GetEnergyCutsVector(idxG4GammaCut)))[index]; + fEnergyCut[1] = (*(theCoupleTable->GetEnergyCutsVector(idxG4ElectronCut)))[index]; + fEnergyCut[2] = (*(theCoupleTable->GetEnergyCutsVector(idxG4PositronCut)))[index]; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -364,48 +346,45 @@ void RunAction::CriticalEnergy() // Review of Particle Physics - Eur. Phys. J. C3 (1998) page 147 // G4EmCalculator emCal; - + const G4Material* material = fDetector->GetMaterial(); const G4double radl = material->GetRadlen(); - G4double ekin = 5*MeV; + G4double ekin = 5 * MeV; G4double deioni; - G4double err = 1., errmax = 0.001; - G4int iter = 0 , itermax = 10; + G4double err = 1., errmax = 0.001; + G4int iter = 0, itermax = 10; while (err > errmax && iter < itermax) { - iter++; - deioni = radl* - emCal.ComputeDEDX(ekin,G4Electron::Electron(),"eIoni",material); - err = std::abs(deioni - ekin)/ekin; + iter++; + deioni = radl * emCal.ComputeDEDX(ekin, G4Electron::Electron(), "eIoni", material); + err = std::abs(deioni - ekin) / ekin; ekin = deioni; } - G4cout << "\n \n critical energy (Rossi) : " - << "\t" << std::setw(8) << G4BestUnit(ekin,"Energy"); - - //Pdg formula (only for single material) - G4double pdga[2] = { 610*MeV, 710*MeV }; - G4double pdgb[2] = { 1.24, 0.92 }; + G4cout << "\n \n critical energy (Rossi) : " + << "\t" << std::setw(8) << G4BestUnit(ekin, "Energy"); + + // Pdg formula (only for single material) + G4double pdga[2] = {610 * MeV, 710 * MeV}; + G4double pdgb[2] = {1.24, 0.92}; G4double EcPdg = 0.; - + if (material->GetNumberOfElements() == 1) { G4int istat = 0; - if (material->GetState() == kStateGas) istat = 1; + if (material->GetState() == kStateGas) istat = 1; G4double Zeff = material->GetZ() + pdgb[istat]; - EcPdg = pdga[istat]/Zeff; - G4cout << "\t\t\t (from Pdg formula : " - << std::setw(8) << G4BestUnit(EcPdg,"Energy") << ")"; + EcPdg = pdga[istat] / Zeff; + G4cout << "\t\t\t (from Pdg formula : " << std::setw(8) << G4BestUnit(EcPdg, "Energy") << ")"; + } + + const G4double Es = 21.2052 * MeV; + G4double rMolier1 = Es / ekin, rMolier2 = rMolier1 * radl; + G4cout << "\n Moliere radius : " + << "\t" << std::setw(8) << rMolier1 << " X0 " + << "= " << std::setw(8) << G4BestUnit(rMolier2, "Length"); + + if (material->GetNumberOfElements() == 1) { + G4double rMPdg = radl * Es / EcPdg; + G4cout << "\t (from Pdg formula : " << std::setw(8) << G4BestUnit(rMPdg, "Length") << ")"; } - - const G4double Es = 21.2052*MeV; - G4double rMolier1 = Es/ekin, rMolier2 = rMolier1*radl; - G4cout << "\n Moliere radius : " - << "\t" << std::setw(8) << rMolier1 << " X0 " - << "= " << std::setw(8) << G4BestUnit(rMolier2,"Length"); - - if (material->GetNumberOfElements() == 1) { - G4double rMPdg = radl*Es/EcPdg; - G4cout << "\t (from Pdg formula : " - << std::setw(8) << G4BestUnit(rMPdg,"Length") << ")"; - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/xenonGas.mac b/examples/extended/electromagnetic/TestEm0/xenonGas.mac new file mode 100644 index 00000000000..1aee082124a --- /dev/null +++ b/examples/extended/electromagnetic/TestEm0/xenonGas.mac @@ -0,0 +1,20 @@ +# +# Macro file for "TestEm0.cc" +# +/control/verbose 0 +/run/verbose 1 +# +/testem/phys/addPhysics local +###/testem/phys/addPhysics emstandard_opt3 +# +/process/em/verbose 0 +/run/initialize +# +/gun/particle proton +/gun/energy 200 MeV +# +/testem/det/setMat XenonGas0 +/run/beamOn +# +/testem/det/setMat XenonGas1 +/run/beamOn diff --git a/examples/extended/electromagnetic/TestEm1/History b/examples/extended/electromagnetic/TestEm1/History index eb54f2441f0..f444e27df47 100644 --- a/examples/extended/electromagnetic/TestEm1/History +++ b/examples/extended/electromagnetic/TestEm1/History @@ -1,12 +1,10 @@ # Example TestEm1 History See `CONTRIBUTING.rst` for details of **required** info/format for each entry, -which **must** added in reverse chronological order (newest at the top). -It must **not** be used as a substitute for writing good git commit messages! +which **must** added in reverse chronological order (newest at the top). It must **not** +be used as a substitute for writing good git commit messages! -------------------------------------------------------------------------------- - -## 2024-01-30 Vladimir Ivanchenko (testem1-V11-01-02) +## 2024-01-30 Vladimir Ivanchenko (testem1-V11-02-00) - PrimaryGeneratorAction - added tiny shift of position of the particle gun from the world volume boundary. This fix removes a warning due to the new protection in G4ParticleGun diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.cc b/examples/extended/electromagnetic/TestEm1/TestEm1.cc index f2f4d54e6e9..11194f031a3 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.cc +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.cc @@ -31,70 +31,70 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) { ui = new G4UIExecutive(argc,argv); } + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } - //use G4SteppingVerboseWithUnits + // use G4SteppingVerboseWithUnits G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - //construct the run manager + // construct the run manager auto runManager = G4RunManagerFactory::CreateRunManager(); - if (argc==3) { - G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); - runManager->SetNumberOfThreads(nThreads); + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* det = new DetectorConstruction; runManager->SetUserInitialization(det); PhysicsList* phys = new PhysicsList(det); runManager->SetUserInitialization(phys); - //set user action classes + // set user action classes runManager->SetUserInitialization(new ActionInitialization(det)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.out b/examples/extended/electromagnetic/TestEm1/TestEm1.out index 12bc65905d4..1073199414c 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.out +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -274,7 +274,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -630,31 +630,31 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 2000 - User=1.270000s Real=1.338860s Sys=0.000000s + User=1.380000s Real=1.404061s Sys=0.000000s ======================== run summary ====================== The run is: 2000 e- of 100 MeV through 10 m of Aluminium (density: 2.7 g/cm3 ) - Total energy deposit: 99.798 MeV + Total energy deposit: 99.745 MeV NIEL energy calculated: 0 eV - Nb tracks/event neutral: 25.433 charged: 137.81 - Nb steps/event neutral: 140.09 charged: 203.68 + Nb tracks/event neutral: 25.148 charged: 136.44 + Nb steps/event neutral: 138.65 charged: 202.13 Process calls frequency : - CoulombScat= 1 Rayl= 17864 Transportation= 1762 - annihil= 2874 compt= 211452 conv= 2859 - eBrem= 46193 eIoni= 358211 msc= 79 - phot= 46247 + Rayl= 17960 Transportation= 1712 annihil= 2752 + compt= 209051 conv= 2740 eBrem= 45892 + eIoni= 355515 msc= 98 phot= 45851 + --------------------------------------------------------- Primary particle : - true Range = 11.088 cm rms = 3.8671 cm - proj Range = 9.6145 cm rms = 3.6153 cm - proj/true = 0.86712 - transverse dispersion at end = 1.6255 cm - mass true Range from simulation = 29.937 g/cm2 + true Range = 11.219 cm rms = 3.8494 cm + proj Range = 9.7916 cm rms = 3.5888 cm + proj/true = 0.8728 + transverse dispersion at end = 1.6095 cm + mass true Range from simulation = 30.29 g/cm2 from PhysicsTable (csda range) = 32.101 g/cm2 --------------------------------------------------------- @@ -662,7 +662,7 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1812789365238166452, 2069525414984418818, 563533851721436893, 584682328937093901, 255255089334727288, 1463478575082587552, 425194968669950432, 1791499861988058998, 180770078924181138, 17718282943961944, 1302260012940038058, 2002173908929797558, 2256388330665384795, 1781802648436633413, 1852047883959956171, 770138272748136062, 1762718979860257378} counter= 9sumtot= 139390772441541292 +N=17 V[N]={854000218025625534, 1602114986107378838, 637679287990482566, 1711667390386229696, 185089392026995872, 836753136868358252, 1610558643707216074, 407623396517643049, 1941980813285345262, 1046642763088244334, 813596839674692381, 993377439860321299, 1725773872740159511, 776090111936464000, 2226077302771218507, 1278715083816088941, 1199516723978670969} counter= 8sumtot= 1400513329071583477 --------------------------------------- # /gun/particle proton @@ -684,7 +684,7 @@ Index : 0 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1812789365238166452, 2069525414984418818, 563533851721436893, 584682328937093901, 255255089334727288, 1463478575082587552, 425194968669950432, 1791499861988058998, 180770078924181138, 17718282943961944, 1302260012940038058, 2002173908929797558, 2256388330665384795, 1781802648436633413, 1852047883959956171, 770138272748136062, 1762718979860257378} counter= 9sumtot= 139390772441541292 +N=17 V[N]={854000218025625534, 1602114986107378838, 637679287990482566, 1711667390386229696, 185089392026995872, 836753136868358252, 1610558643707216074, 407623396517643049, 1941980813285345262, 1046642763088244334, 813596839674692381, 993377439860321299, 1725773872740159511, 776090111936464000, 2226077302771218507, 1278715083816088941, 1199516723978670969} counter= 8sumtot= 1400513329071583477 --------------------------------------- --> Event 0 starts. --> Event 200 starts. @@ -699,29 +699,29 @@ N=17 V[N]={1812789365238166452, 2069525414984418818, 563533851721436893, 5846823 Run terminated. Run Summary Number of events processed : 2000 - User=0.080000s Real=0.085164s Sys=0.000000s + User=0.060000s Real=0.066881s Sys=0.000000s ======================== run summary ====================== The run is: 2000 proton of 100 MeV through 10 m of Aluminium (density: 2.7 g/cm3 ) Total energy deposit: 100 MeV - NIEL energy calculated: 169.11 eV + NIEL energy calculated: 166.82 eV Nb tracks/event neutral: 0 charged: 1.0095 - Nb steps/event neutral: 0 charged: 19.092 + Nb steps/event neutral: 0 charged: 19.075 Process calls frequency : - CoulombScat= 40 NoProcess= 19 hIoni= 38106 + CoulombScat= 41 NoProcess= 19 hIoni= 38070 ionIoni= 19 --------------------------------------------------------- Primary particle : - true Range = 3.7102 cm rms = 418.26 um - proj Range = 3.7021 cm rms = 425.73 um - proj/true = 0.99781 - transverse dispersion at end = 1.0901 mm - mass true Range from simulation = 10.018 g/cm2 + true Range = 3.7098 cm rms = 416.41 um + proj Range = 3.7016 cm rms = 426.73 um + proj/true = 0.9978 + transverse dispersion at end = 1.089 mm + mass true Range from simulation = 10.016 g/cm2 from PhysicsTable (csda range) = 10.012 g/cm2 --------------------------------------------------------- @@ -729,10 +729,10 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1996949746723726757, 447171506928720226, 2109616532686987814, 1063792736163508235, 721840735712454207, 1556558858957789787, 817405891191270221, 2088611763805805606, 2000727789219679941, 2035358119646993123, 969830983050619474, 1840093647854235003, 160172865715121966, 2019025645506772304, 646072754402028950, 1688533840492809367, 1818461435176378258} counter= 2sumtot= 921794761097961729 +N=17 V[N]={1686919498172074765, 133099857864031212, 346597858852179664, 2077717544792937691, 2174409252546454130, 791632923641533765, 1699067990644691197, 827361479598595751, 2146295106856041869, 2208002568941048432, 363166452655795377, 183250956946337389, 1836707271319745930, 422207256384990250, 177789897801475711, 2096233983661035106, 1227362404615834153} counter= 4sumtot= 1951078231585250784 --------------------------------------- # ================== Deleting memory pools =================== Number of memory pools allocated: 9 of which, static: 0 -Dynamic pools deleted: 9 / Total memory freed: 0.037 MB +Dynamic pools deleted: 9 / Total memory freed: 0.036 MB ============================================================ diff --git a/examples/extended/electromagnetic/TestEm1/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm1/include/ActionInitialization.hh index a4f47419dcc..dec9a6a88cb 100644 --- a/examples/extended/electromagnetic/TestEm1/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm1/include/ActionInitialization.hh @@ -41,16 +41,13 @@ class ActionInitialization : public G4VUserActionInitialization { public: ActionInitialization(DetectorConstruction*); - ~ActionInitialization() override = default; + ~ActionInitialization() override = default; void BuildForMaster() const override; void Build() const override; - + private: DetectorConstruction* fDetector = nullptr; - }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh index c9c632f0ad8..7795652f3c3 100644 --- a/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh @@ -34,9 +34,9 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 +#include "G4Cache.hh" #include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "G4Cache.hh" class G4LogicalVolume; class G4Material; @@ -49,31 +49,29 @@ class G4Box; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction() override; - + ~DetectorConstruction() override; + G4VPhysicalVolume* Construct() override; void ConstructSDandField() override; - - void SetSize (G4double); - void SetMaterial (const G4String&); - - inline const G4VPhysicalVolume* GetWorld() const {return fPBox;}; - inline G4double GetSize() const {return fBoxSize;}; - inline const G4Material* GetMaterial() const {return fMaterial;}; - - void PrintParameters(); - void DefineMaterials(); - + + void SetSize(G4double); + void SetMaterial(const G4String&); + + inline const G4VPhysicalVolume* GetWorld() const { return fPBox; }; + inline G4double GetSize() const { return fBoxSize; }; + inline const G4Material* GetMaterial() const { return fMaterial; }; + + void PrintParameters(); + void DefineMaterials(); + private: - - G4VPhysicalVolume* fPBox = nullptr; - G4LogicalVolume* fLBox = nullptr; - G4Box* fBox = nullptr; - - G4double fBoxSize = 0.; - G4Material* fMaterial = nullptr; + G4VPhysicalVolume* fPBox = nullptr; + G4LogicalVolume* fLBox = nullptr; + G4Box* fBox = nullptr; + + G4double fBoxSize = 0.; + G4Material* fMaterial = nullptr; DetectorMessenger* fDetectorMessenger = nullptr; G4Cache fFieldMessenger = nullptr; @@ -82,4 +80,3 @@ class DetectorConstruction : public G4VUserDetectorConstruction //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh index 663e1960343..005b248b1de 100644 --- a/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh @@ -44,26 +44,23 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fMaterCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; + DetectorConstruction* fDetector = nullptr; + + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fMaterCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/EventAction.hh b/examples/extended/electromagnetic/TestEm1/include/EventAction.hh index 61ff69d8909..f1cba1a7504 100644 --- a/examples/extended/electromagnetic/TestEm1/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/EventAction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm1/include/EventAction.hh /// \brief Definition of the EventAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -43,15 +43,15 @@ class EventAction : public G4UserEventAction { public: EventAction() = default; - ~EventAction() override = default; + ~EventAction() override = default; void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; - - inline void AddEdep(G4double Edep) {fTotalEnergyDeposit += Edep;}; - inline void AddNIEL(G4double Edep) {fNIEL += Edep;}; - inline G4double GetEnergyDeposit() {return fTotalEnergyDeposit;}; - + void EndOfEventAction(const G4Event*) override; + + inline void AddEdep(G4double Edep) { fTotalEnergyDeposit += Edep; }; + inline void AddNIEL(G4double Edep) { fNIEL += Edep; }; + inline G4double GetEnergyDeposit() { return fTotalEnergyDeposit; }; + private: G4double fTotalEnergyDeposit = 0.; G4double fNIEL = 0.; @@ -60,5 +60,3 @@ class EventAction : public G4UserEventAction //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh index 94ffcf2e815..225930fe860 100644 --- a/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh @@ -26,24 +26,23 @@ /// \file electromagnetic/TestEm1/include/HistoManager.hh /// \brief Definition of the HistoManager class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" - #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class HistoManager { public: - HistoManager(); - ~HistoManager() = default; + HistoManager(); + ~HistoManager() = default; private: void Book(); @@ -54,4 +53,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh index 5887af38340..d0629f8a3cd 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh @@ -40,21 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; + ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh index 6c5320c38b6..57fe4681f7c 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh @@ -47,31 +47,30 @@ class G4VProcess; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(DetectorConstruction*); - ~PhysicsList() override; + ~PhysicsList() override; void ConstructParticle() override; void ConstructProcess() override; void AddPhysicsList(const G4String& name); - + void AddDecay(); void AddRadioactiveDecay(); void AddStepMax(); void GetRange(G4double); - G4VProcess* GetProcess(const G4String&) const; + G4VProcess* GetProcess(const G4String&) const; - private: + private: G4VPhysicsConstructor* fEmPhysicsList = nullptr; - G4String fEmName = " "; - DetectorConstruction* fDet = nullptr; - PhysicsListMessenger* fMessenger = nullptr; + G4String fEmName = " "; + DetectorConstruction* fDet = nullptr; + PhysicsListMessenger* fMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh index 4d9cc0a4f16..a97ce51e4e1 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh @@ -43,26 +43,22 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithADoubleAndUnit* fRCmd = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; - + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithADoubleAndUnit* fRCmd = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh index d3696330dbb..e5f780be0d3 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -46,24 +46,23 @@ class PrimaryGeneratorMessenger; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; public: void SetDefaultKinematic(G4int); - void SetRndmBeam(G4double val) {fRndmBeam = val;} + void SetRndmBeam(G4double val) { fRndmBeam = val; } void GeneratePrimaries(G4Event*) override; - - G4ParticleGun* GetParticleGun() {return fParticleGun;} + + G4ParticleGun* GetParticleGun() { return fParticleGun; } private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; - G4double fRndmBeam = 0.; + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; + G4double fRndmBeam = 0.; PrimaryGeneratorMessenger* fGunMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh index 73bbb8efa45..d8994134300 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh @@ -43,23 +43,22 @@ class G4UIcmdWithADouble; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger : public G4UImessenger { public: PrimaryGeneratorMessenger(PrimaryGeneratorAction*); - ~PrimaryGeneratorMessenger() override; - + ~PrimaryGeneratorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - PrimaryGeneratorAction* fAction = nullptr; - - G4UIdirectory* fGunDir = nullptr; - G4UIcmdWithAnInteger* fDefaultCmd = nullptr; - G4UIcmdWithADouble* fRndmCmd = nullptr; + PrimaryGeneratorAction* fAction = nullptr; + + G4UIdirectory* fGunDir = nullptr; + G4UIcmdWithAnInteger* fDefaultCmd = nullptr; + G4UIcmdWithADouble* fRndmCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/Run.hh b/examples/extended/electromagnetic/TestEm1/include/Run.hh index 17b539c3a5b..a3660a51cc9 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Run.hh @@ -35,6 +35,7 @@ #include "G4Run.hh" #include "globals.hh" + #include class DetectorConstruction; @@ -46,41 +47,52 @@ class Run : public G4Run { public: Run(const DetectorConstruction*); - ~Run() override = default; + ~Run() override = default; void SetPrimary(const G4ParticleDefinition* particle, G4double energy); - - void CountTraks0(G4int nt) { fNbOfTraks0 += nt;} - void CountTraks1(G4int nt) { fNbOfTraks1 += nt;} - void CountSteps0(G4int ns) { fNbOfSteps0 += ns;} - void CountSteps1(G4int ns) { fNbOfSteps1 += ns;} + + void CountTraks0(G4int nt) { fNbOfTraks0 += nt; } + void CountTraks1(G4int nt) { fNbOfTraks1 += nt; } + void CountSteps0(G4int ns) { fNbOfSteps0 += ns; } + void CountSteps1(G4int ns) { fNbOfSteps1 += ns; } void CountProcesses(const G4String& procName); - - void AddEdep(G4double val) { fEdep += val;} - void AddNIEL(G4double val) { fNIEL += val;} - void AddTrueRange (G4double l) { fTrueRange += l; fTrueRange2 += l*l;} - void AddProjRange (G4double x) { fProjRange += x; fProjRange2 += x*x;} - void AddTransvDev (G4double y) { fTransvDev += y; fTransvDev2 += y*y;} - + + void AddEdep(G4double val) { fEdep += val; } + void AddNIEL(G4double val) { fNIEL += val; } + void AddTrueRange(G4double l) + { + fTrueRange += l; + fTrueRange2 += l * l; + } + void AddProjRange(G4double x) + { + fProjRange += x; + fProjRange2 += x * x; + } + void AddTransvDev(G4double y) + { + fTransvDev += y; + fTransvDev2 += y * y; + } + void Merge(const G4Run*) override; void EndOfRun(); - + private: - const DetectorConstruction* fDetector = nullptr; - const G4ParticleDefinition* fParticle = nullptr; - G4double fEkin = 0.; - - G4int fNbOfTraks0 = 0, fNbOfTraks1 = 0; - G4int fNbOfSteps0 = 0, fNbOfSteps1 = 0; - G4double fEdep = 0. , fNIEL = 0.; - G4double fTrueRange = 0., fTrueRange2 = 0.; - G4double fProjRange = 0., fProjRange2 = 0.; - G4double fTransvDev = 0., fTransvDev2 = 0.; + const DetectorConstruction* fDetector = nullptr; + const G4ParticleDefinition* fParticle = nullptr; + G4double fEkin = 0.; + + G4int fNbOfTraks0 = 0, fNbOfTraks1 = 0; + G4int fNbOfSteps0 = 0, fNbOfSteps1 = 0; + G4double fEdep = 0., fNIEL = 0.; + G4double fTrueRange = 0., fTrueRange2 = 0.; + G4double fProjRange = 0., fProjRange2 = 0.; + G4double fTransvDev = 0., fTransvDev2 = 0.; - std::map fProcCounter; + std::map fProcCounter; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/RunAction.hh b/examples/extended/electromagnetic/TestEm1/include/RunAction.hh index 97a788cdf3c..4a4f88e0c6b 100644 --- a/examples/extended/electromagnetic/TestEm1/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/RunAction.hh @@ -48,22 +48,20 @@ class HistoManager; class RunAction : public G4UserRunAction { public: - RunAction(const DetectorConstruction* det, - PrimaryGeneratorAction* prim=nullptr); - ~RunAction() override; + RunAction(const DetectorConstruction* det, PrimaryGeneratorAction* prim = nullptr); + ~RunAction() override; G4Run* GenerateRun() override; void BeginOfRunAction(const G4Run*) override; void EndOfRunAction(const G4Run*) override; - + private: const DetectorConstruction* fDetector = nullptr; - PrimaryGeneratorAction* fPrimary = nullptr; - Run* fRun = nullptr; - HistoManager* fHistoManager = nullptr; + PrimaryGeneratorAction* fPrimary = nullptr; + Run* fRun = nullptr; + HistoManager* fHistoManager = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm1/include/StackingAction.hh index 2e763a0b687..72e3fc21550 100644 --- a/examples/extended/electromagnetic/TestEm1/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/StackingAction.hh @@ -41,14 +41,12 @@ class StackingAction : public G4UserStackingAction { public: - StackingAction() = default; - ~StackingAction() override = default; - + StackingAction() = default; + ~StackingAction() override = default; + G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*) override; - }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/StepMax.hh b/examples/extended/electromagnetic/TestEm1/include/StepMax.hh index 00d79a228f3..8ffd05d6adb 100644 --- a/examples/extended/electromagnetic/TestEm1/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm1/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -45,32 +45,28 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { public: + StepMax(const G4String& processName = "UserMaxStep"); + ~StepMax(); - StepMax(const G4String& processName = "UserMaxStep"); - ~StepMax(); - - G4bool IsApplicable(const G4ParticleDefinition&) override; + G4bool IsApplicable(const G4ParticleDefinition&) override; - void SetMaxStep(G4double); + void SetMaxStep(G4double); - G4double GetMaxStep() {return fMaxChargedStep;}; + G4double GetMaxStep() { return fMaxChargedStep; }; - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) override; + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, G4double previousStepSize, + G4ForceCondition* condition) override; - G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; - G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) override; + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) override; private: + G4double fMaxChargedStep = DBL_MAX; - G4double fMaxChargedStep = DBL_MAX; - - StepMaxMessenger* fMess = nullptr; + StepMaxMessenger* fMess = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh index 6158e14334a..81518725605 100644 --- a/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh @@ -33,22 +33,22 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger() override; - + ~StepMaxMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: StepMax* fStepMax = nullptr; G4UIcmdWithADoubleAndUnit* fStepMaxCmd = nullptr; diff --git a/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh index b12f70e1312..3548e2164ca 100644 --- a/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh @@ -44,12 +44,12 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction(EventAction*); - ~SteppingAction() override = default; + ~SteppingAction() override = default; void UserSteppingAction(const G4Step*) override; private: - EventAction* fEventAction = nullptr; + EventAction* fEventAction = nullptr; G4NIELCalculator* fNIELCalculator = nullptr; }; diff --git a/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh index 8f3308b1f98..54710cc655e 100644 --- a/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh @@ -39,15 +39,15 @@ class PrimaryGeneratorAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { - - public: +class TrackingAction : public G4UserTrackingAction +{ + public: TrackingAction(PrimaryGeneratorAction*); - ~TrackingAction() override = default; - - void PreUserTrackingAction(const G4Track*) override; + ~TrackingAction() override = default; + + void PreUserTrackingAction(const G4Track*) override; void PostUserTrackingAction(const G4Track*) override; - + private: PrimaryGeneratorAction* fPrimary = nullptr; }; diff --git a/examples/extended/electromagnetic/TestEm1/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm1/src/ActionInitialization.cc index a51de5c9e38..c45eefa7ea2 100644 --- a/examples/extended/electromagnetic/TestEm1/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm1/src/ActionInitialization.cc @@ -28,38 +28,36 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + #include "DetectorConstruction.hh" +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" -#include "TrackingAction.hh" -#include "SteppingAction.hh" #include "StackingAction.hh" +#include "SteppingAction.hh" +#include "TrackingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* det) - : fDetector(det) -{ } +ActionInitialization::ActionInitialization(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::BuildForMaster() const { - SetUserAction(new RunAction(fDetector)); + SetUserAction(new RunAction(fDetector)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::Build() const { - PrimaryGeneratorAction* prim = new PrimaryGeneratorAction(fDetector); SetUserAction(prim); - RunAction* run = new RunAction(fDetector,prim); - SetUserAction(run); - + RunAction* run = new RunAction(fDetector, prim); + SetUserAction(run); + EventAction* event = new EventAction(); SetUserAction(event); @@ -68,7 +66,6 @@ void ActionInitialization::Build() const SetUserAction(new SteppingAction(event)); SetUserAction(new StackingAction()); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc index b242d2418ef..b60997261c2 100644 --- a/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc @@ -26,47 +26,47 @@ /// \file electromagnetic/TestEm1/src/DetectorConstruction.cc /// \brief Implementation of the DetectorConstruction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" +#include "G4AutoDelete.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" +#include "G4GlobalMagFieldMessenger.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" -#include "G4RunManager.hh" - -#include "G4GeometryManager.hh" +#include "G4PhysicalConstants.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" +#include "G4RunManager.hh" #include "G4SolidStore.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" -#include "G4PhysicalConstants.hh" - -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() { - fBoxSize = 10*m; + fBoxSize = 10 * m; DefineMaterials(); - SetMaterial("G4_Al"); + SetMaterial("G4_Al"); fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -75,139 +75,133 @@ void DetectorConstruction::DefineMaterials() // // define Elements // - G4double z,a; - - G4Element* H = new G4Element("Hydrogen" ,"H" , z= 1., a= 1.01*g/mole); - G4Element* C = new G4Element("Hydrogen" ,"C" , z= 6., a= 12.00*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); - G4Element* Ge = new G4Element("Germanium","Ge", z=32., a= 72.59*g/mole); - G4Element* Bi = new G4Element("Bismuth" ,"Bi", z=83., a= 208.98*g/mole); - + G4double z, a; + + G4Element* H = new G4Element("Hydrogen", "H", z = 1., a = 1.01 * g / mole); + G4Element* C = new G4Element("Hydrogen", "C", z = 6., a = 12.00 * 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); + G4Element* Ge = new G4Element("Germanium", "Ge", z = 32., a = 72.59 * g / mole); + G4Element* Bi = new G4Element("Bismuth", "Bi", z = 83., a = 208.98 * g / mole); + // // define materials // G4double density; G4int ncomponents, natoms; - G4double fractionmass; - - G4Material* Air = - new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=70.*perCent); - Air->AddElement(O, fractionmass=30.*perCent); - - G4Material* H2l = - new G4Material("H2liquid", density= 70.8*mg/cm3, ncomponents=1); - H2l->AddElement(H, fractionmass=1.); - - G4Material* H2O = - new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); - ///H2O->SetChemicalFormula("H_2O"); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); - - density = 0.001*mg/cm3; - G4Material* CO2 = new G4Material("CO2", density, ncomponents=2); - CO2->AddElement(C, natoms=1); - CO2->AddElement(O, natoms=2); + G4double fractionmass; + + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 70. * perCent); + Air->AddElement(O, fractionmass = 30. * perCent); + + G4Material* H2l = new G4Material("H2liquid", density = 70.8 * mg / cm3, ncomponents = 1); + H2l->AddElement(H, fractionmass = 1.); + + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); + /// H2O->SetChemicalFormula("H_2O"); + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); + + density = 0.001 * mg / cm3; + G4Material* CO2 = new G4Material("CO2", density, ncomponents = 2); + CO2->AddElement(C, natoms = 1); + CO2->AddElement(O, natoms = 2); G4Isotope* d = new G4Isotope("d", 1, 2, 0.0, 0); - G4Element* D = new G4Element("Heavy-Hydrogen" ,"D", ncomponents=1); + G4Element* D = new G4Element("Heavy-Hydrogen", "D", ncomponents = 1); D->AddIsotope(d, 1.0); - G4Material* D2 = - new G4Material("D2_gas", density= 0.036*mg/cm3, ncomponents=1); - D2->AddElement(D, natoms=2); - - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - - new G4Material("Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3); - - new G4Material("Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3); - - new G4Material("Chromium" , z=24., a= 51.99*g/mole, density= 7.140*g/cm3); - - new G4Material("Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3); - - G4Material* BGO = - new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3); - BGO->AddElement(O , natoms=12); - BGO->AddElement(Ge, natoms= 3); - BGO->AddElement(Bi, natoms= 4); - - new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3); - - new G4Material("Tungsten" , z=74., a=183.85*g/mole, density= 19.30*g/cm3); - - new G4Material("Gold" , z=79., a=196.97*g/mole, density= 19.32*g/cm3); - - new G4Material("Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3); - - new G4Material("Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3); - - - G4Material* argonGas = - new G4Material("ArgonGas", z=18, a=39.948*g/mole, density= 1.782*mg/cm3, - kStateGas, 273.15*kelvin, 1*atmosphere); - - G4Material* butane = - new G4Material("Isobutane",density= 2.42*mg/cm3, ncomponents=2, - kStateGas,273.15*kelvin, 1*atmosphere); - butane->AddElement(C, natoms=4); - butane->AddElement(H, natoms=10); - - G4Material* ArButane = - new G4Material("ArgonButane", density= 1.835*mg/cm3, ncomponents=2, - kStateGas,273.15*kelvin,1.*atmosphere); - ArButane->AddMaterial(argonGas, fractionmass=70*perCent); - ArButane->AddMaterial(butane , fractionmass=30*perCent); - - // example of vacuum - // - density = universe_mean_density; //from PhysicalConstants.h - new G4Material("Galactic", z=1., a=1.008*g/mole, density, - kStateGas,2.73*kelvin,3.e-18*pascal); - - // use Nist - // - G4NistManager* man = G4NistManager::Instance(); - - G4bool isotopes = false; - ///G4Element* O = man->FindOrBuildElement("O" , isotopes); - G4Element* Si = man->FindOrBuildElement("Si", isotopes); - G4Element* Lu = man->FindOrBuildElement("Lu", isotopes); - - G4Material* LSO = new G4Material("Lu2SiO5", 7.4*g/cm3, 3); - LSO->AddElement(Lu, 2); - LSO->AddElement(Si, 1); - LSO->AddElement(O , 5); - - ///G4cout << *(G4Material::GetMaterialTable()) << G4endl; + G4Material* D2 = new G4Material("D2_gas", density = 0.036 * mg / cm3, ncomponents = 1); + D2->AddElement(D, natoms = 2); + + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + + new G4Material("Silicon", z = 14., a = 28.09 * g / mole, density = 2.330 * g / cm3); + + new G4Material("Chromium", z = 24., a = 51.99 * g / mole, density = 7.140 * g / cm3); + + new G4Material("Germanium", z = 32., a = 72.61 * g / mole, density = 5.323 * g / cm3); + + G4Material* BGO = new G4Material("BGO", density = 7.10 * g / cm3, ncomponents = 3); + BGO->AddElement(O, natoms = 12); + BGO->AddElement(Ge, natoms = 3); + BGO->AddElement(Bi, natoms = 4); + + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); + + new G4Material("Tungsten", z = 74., a = 183.85 * g / mole, density = 19.30 * g / cm3); + + new G4Material("Gold", z = 79., a = 196.97 * g / mole, density = 19.32 * g / cm3); + + new G4Material("Lead", z = 82., a = 207.19 * g / mole, density = 11.35 * g / cm3); + + new G4Material("Uranium", z = 92., a = 238.03 * g / mole, density = 18.95 * g / cm3); + + G4Material* argonGas = + new G4Material("ArgonGas", z = 18, a = 39.948 * g / mole, density = 1.782 * mg / cm3, kStateGas, + 273.15 * kelvin, 1 * atmosphere); + + G4Material* butane = new G4Material("Isobutane", density = 2.42 * mg / cm3, ncomponents = 2, + kStateGas, 273.15 * kelvin, 1 * atmosphere); + butane->AddElement(C, natoms = 4); + butane->AddElement(H, natoms = 10); + + G4Material* ArButane = new G4Material("ArgonButane", density = 1.835 * mg / cm3, ncomponents = 2, + kStateGas, 273.15 * kelvin, 1. * atmosphere); + ArButane->AddMaterial(argonGas, fractionmass = 70 * perCent); + ArButane->AddMaterial(butane, fractionmass = 30 * perCent); + + // example of vacuum + // + density = universe_mean_density; // from PhysicalConstants.h + new G4Material("Galactic", z = 1., a = 1.008 * g / mole, density, kStateGas, 2.73 * kelvin, + 3.e-18 * pascal); + + // use Nist + // + G4NistManager* man = G4NistManager::Instance(); + + G4bool isotopes = false; + /// G4Element* O = man->FindOrBuildElement("O" , isotopes); + G4Element* Si = man->FindOrBuildElement("Si", isotopes); + G4Element* Lu = man->FindOrBuildElement("Lu", isotopes); + + G4Material* LSO = new G4Material("Lu2SiO5", 7.4 * g / cm3, 3); + LSO->AddElement(Lu, 2); + LSO->AddElement(Si, 1); + LSO->AddElement(O, 5); + + /// G4cout << *(G4Material::GetMaterialTable()) << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* DetectorConstruction::Construct() { - if(fPBox) { return fPBox; } - fBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - fLBox = new G4LogicalVolume(fBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fPBox = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fLBox, //its logical volume - fMaterial->GetName(), //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - + if (fPBox) { + return fPBox; + } + fBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + fLBox = new G4LogicalVolume(fBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fPBox = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fLBox, // its logical volume + fMaterial->GetName(), // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + PrintParameters(); - - //always return the root volume + + // always return the root volume // return fPBox; } @@ -216,8 +210,8 @@ G4VPhysicalVolume* DetectorConstruction::Construct() void DetectorConstruction::PrintParameters() { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << G4endl; G4cout << fMaterial << G4endl; } @@ -226,15 +220,17 @@ void DetectorConstruction::PrintParameters() void DetectorConstruction::SetMaterial(const G4String& materialChoice) { // search the material by its name - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); - + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + if (pttoMaterial) { fMaterial = pttoMaterial; - if ( fLBox ) { fLBox->SetMaterial(fMaterial); } - } else { - G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " - << materialChoice << " not found" << G4endl; + if (fLBox) { + fLBox->SetMaterial(fMaterial); + } + } + else { + G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " << materialChoice + << " not found" << G4endl; } G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } @@ -244,10 +240,10 @@ void DetectorConstruction::SetMaterial(const G4String& materialChoice) void DetectorConstruction::SetSize(G4double value) { fBoxSize = value; - if(fBox) { - fBox->SetXHalfLength(fBoxSize/2); - fBox->SetYHalfLength(fBoxSize/2); - fBox->SetZHalfLength(fBoxSize/2); + if (fBox) { + fBox->SetXHalfLength(fBoxSize / 2); + fBox->SetYHalfLength(fBoxSize / 2); + fBox->SetZHalfLength(fBoxSize / 2); } } @@ -255,18 +251,16 @@ void DetectorConstruction::SetSize(G4double value) void DetectorConstruction::ConstructSDandField() { - if ( fFieldMessenger.Get() == 0 ) { - // Create global magnetic field messenger. - // Uniform magnetic field is then created automatically if - // the field value is not zero. - G4ThreeVector fieldValue = G4ThreeVector(); - G4GlobalMagFieldMessenger* msg = - new G4GlobalMagFieldMessenger(fieldValue); - //msg->SetVerboseLevel(1); - G4AutoDelete::Register(msg); - fFieldMessenger.Put( msg ); - - } + if (fFieldMessenger.Get() == 0) { + // Create global magnetic field messenger. + // Uniform magnetic field is then created automatically if + // the field value is not zero. + G4ThreeVector fieldValue = G4ThreeVector(); + G4GlobalMagFieldMessenger* msg = new G4GlobalMagFieldMessenger(fieldValue); + // msg->SetVerboseLevel(1); + G4AutoDelete::Register(msg); + fFieldMessenger.Put(msg); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc index 1a0dd048225..e70808c690f 100644 --- a/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc @@ -33,34 +33,34 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) - : fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction commands"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fMaterCmd->SetToBeBroadcasted(false); - - fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize",this); + + fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize", this); fSizeCmd->SetGuidance("Set size of the box"); - fSizeCmd->SetParameterName("Size",false); + fSizeCmd->SetParameterName("Size", false); fSizeCmd->SetRange("Size>0."); fSizeCmd->SetUnitCategory("Length"); - fSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fSizeCmd->SetToBeBroadcasted(false); } @@ -69,21 +69,22 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; - delete fSizeCmd; + delete fSizeCmd; delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fSizeCmd ) - { fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));} - +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fSizeCmd) { + fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/EventAction.cc b/examples/extended/electromagnetic/TestEm1/src/EventAction.cc index fbf35cee552..e63c9094c7b 100644 --- a/examples/extended/electromagnetic/TestEm1/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/EventAction.cc @@ -50,10 +50,8 @@ void EventAction::BeginOfEventAction(const G4Event*) void EventAction::EndOfEventAction(const G4Event*) { - - G4AnalysisManager::Instance()->FillH1(4,fTotalEnergyDeposit); - G4AnalysisManager::Instance()->FillH1(7,fNIEL); + G4AnalysisManager::Instance()->FillH1(4, fTotalEnergyDeposit); + G4AnalysisManager::Instance()->FillH1(7, fNIEL); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc index 309952b3998..6ef420b2a4e 100644 --- a/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc @@ -26,11 +26,12 @@ /// \file electromagnetic/TestEm1/src/HistoManager.cc /// \brief Implementation of the HistoManager class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,29 +52,29 @@ void HistoManager::Book() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName(fFileName); analysisManager->SetVerboseLevel(1); - analysisManager->SetFirstHistoId(1); // start histogram numbering from 1 - analysisManager->SetActivation(true); // enable inactivation of histograms - + analysisManager->SetFirstHistoId(1); // start histogram numbering from 1 + analysisManager->SetActivation(true); // enable inactivation of histograms + // Define histograms start values const G4int kMaxHisto = 7; - const G4String id[] = { "1", "2", "3" , "4", "5", "6", "8" }; - const G4String title[] = - { "total track length of primary particle", //1 - "nb steps of primary particle", //2 - "step size of primary particle", //3 - "total energy deposit", //4 - "energy of charged secondaries at creation", //5 - "energy of neutral secondaries at creation", //6 - "NIEL energy deposit" //7 - }; + const G4String id[] = {"1", "2", "3", "4", "5", "6", "8"}; + const G4String title[] = { + "total track length of primary particle", // 1 + "nb steps of primary particle", // 2 + "step size of primary particle", // 3 + "total energy deposit", // 4 + "energy of charged secondaries at creation", // 5 + "energy of neutral secondaries at creation", // 6 + "NIEL energy deposit" // 7 + }; // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; kCreateH1(id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc index 876dc20e865..ea5bdc6b031 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc @@ -28,62 +28,54 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BuilderType.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4RayleighScattering.hh" +#include "G4IonParametrisedLossModel.hh" #include "G4KleinNishinaModel.hh" #include "G4LivermorePhotoElectricModel.hh" - -#include "G4eMultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuMultipleScattering.hh" -#include "G4MuIonisation.hh" +#include "G4LossTableManager.hh" +#include "G4MscStepLimitType.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuPairProduction.hh" - -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4MscStepLimitType.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4BuilderType.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetVerbose(0); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetStepFunction(0.1, 100*um); - param->SetStepFunctionMuHad(0.1, 50*um); - param->SetStepFunctionLightIons(0.1, 20*um); - param->SetStepFunctionIons(0.1, 1*um); - param->SetMscStepLimitType(fUseDistanceToBoundary); - param->SetDeexcitationIgnoreCut(true); - SetPhysicsType(bElectromagnetic); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetVerbose(0); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetStepFunction(0.1, 100 * um); + param->SetStepFunctionMuHad(0.1, 50 * um); + param->SetStepFunctionLightIons(0.1, 20 * um); + param->SetStepFunctionIons(0.1, 1 * um); + param->SetMscStepLimitType(fUseDistanceToBoundary); + param->SetDeexcitationIgnoreCut(true); + SetPhysicsType(bElectromagnetic); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -91,74 +83,62 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ph->RegisterProcess(new G4RayleighScattering, particle); + if (particleName == "gamma") { + ph->RegisterProcess(new G4RayleighScattering, particle); ph->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* cs = new G4ComptonScattering; + G4ComptonScattering* cs = new G4ComptonScattering; cs->SetEmModel(new G4KleinNishinaModel()); ph->RegisterProcess(cs, particle); ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + } + else if (particleName == "e-") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); - ph->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + ph->RegisterProcess(new G4eBremsstrahlung(), particle); + } + else if (particleName == "e+") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); - ph->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - ph->RegisterProcess(new G4MuMultipleScattering(), particle); + ph->RegisterProcess(new G4eplusAnnihilation(), particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + ph->RegisterProcess(new G4MuMultipleScattering(), particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(new G4MuBremsstrahlung(), particle); ph->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); - ph->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4hPairProduction(), particle); + } + else if (particleName == "alpha" || particleName == "He3") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if (particleName == "GenericIon") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); ph->RegisterProcess(ionIoni, particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } @@ -171,4 +151,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc index a1f21f69c52..7a42b5e0dca 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc @@ -25,74 +25,67 @@ // /// \file electromagnetic/TestEm1/src/PhysicsList.cc /// \brief Implementation of the PhysicsList class -// +// // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" - + +#include "DetectorConstruction.hh" #include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmParameters.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsSS.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" - -#include "DetectorConstruction.hh" - #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" -#include "G4EmParameters.hh" +#include "G4UnitsTable.hh" // particles -#include "G4BosonConstructor.hh" -#include "G4LeptonConstructor.hh" -#include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" -#include "G4ShortLivedConstructor.hh" +#include "StepMax.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BaryonConstructor.hh" +#include "G4BosonConstructor.hh" #include "G4Decay.hh" -#include "G4RadioactiveDecay.hh" +#include "G4Electron.hh" +#include "G4Gamma.hh" #include "G4GenericIon.hh" +#include "G4IonConstructor.hh" +#include "G4LeptonConstructor.hh" +#include "G4Material.hh" +#include "G4MesonConstructor.hh" #include "G4NuclideTable.hh" - +#include "G4PhysicsListHelper.hh" #include "G4ProcessManager.hh" -#include "StepMax.hh" -#include "G4Material.hh" - -#include "G4Gamma.hh" -#include "G4Electron.hh" #include "G4Proton.hh" -#include "G4GenericIon.hh" +#include "G4RadioactiveDecay.hh" +#include "G4ShortLivedConstructor.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsList::PhysicsList(DetectorConstruction* det) - : fDet(det) +PhysicsList::PhysicsList(DetectorConstruction* det) : fDet(det) { fMessenger = new PhysicsListMessenger(this); SetVerboseLevel(1); // EM physics - AddPhysicsList("emstandard_opt3"); - + AddPhysicsList("emstandard_opt3"); + // fix lower limit for cut - G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(10*eV, 1*GeV); - SetDefaultCutValue(1*mm); + G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(10 * eV, 1 * GeV); + SetDefaultCutValue(1 * mm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -106,23 +99,23 @@ PhysicsList::~PhysicsList() void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; - pBosonConstructor.ConstructParticle(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); - G4LeptonConstructor pLeptonConstructor; - pLeptonConstructor.ConstructParticle(); + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); - G4IonConstructor pIonConstructor; - pIonConstructor.ConstructParticle(); + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); + G4ShortLivedConstructor pShortLivedConstructor; + pShortLivedConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -136,19 +129,19 @@ void PhysicsList::ConstructProcess() // Electromagnetic physics list // fEmPhysicsList->ConstructProcess(); - + // Decay Process // AddDecay(); - + // Decay Process // - AddRadioactiveDecay(); + AddRadioactiveDecay(); // step limitation (as a full process) - // + // AddStepMax(); - + // example of Get process auto process = GetProcess("RadioactiveDecay"); if (process != nullptr) { @@ -160,82 +153,80 @@ void PhysicsList::ConstructProcess() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>0) { + if (verboseLevel > 0) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } - + if (name == fEmName) return; if (name == "local") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt0") { + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1") { + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2") { + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3") { + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emstandardSS") { + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "emstandardGS") { + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else if (name == "emstandardWVI") { + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else if (name == "emlivermore") { + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else if (name == "empenelope") { + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else if (name == "emlowenergy") { + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } - + // Em options // - G4EmParameters::Instance()->SetBuildCSDARange(true); + G4EmParameters::Instance()->SetBuildCSDARange(true); G4EmParameters::Instance()->SetGeneralProcessActive(false); } @@ -244,41 +235,41 @@ void PhysicsList::AddPhysicsList(const G4String& name) void PhysicsList::AddDecay() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Decay Process // G4Decay* fDecayProcess = new G4Decay(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); - if (fDecayProcess->IsApplicable(*particle) && !particle->IsShortLived()) - ph->RegisterProcess(fDecayProcess, particle); + if (fDecayProcess->IsApplicable(*particle) && !particle->IsShortLived()) + ph->RegisterProcess(fDecayProcess, particle); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::AddRadioactiveDecay() -{ +{ G4RadioactiveDecay* radioactiveDecay = new G4RadioactiveDecay(); - + G4bool armFlag = false; - radioactiveDecay->SetARM(armFlag); //Atomic Rearangement + radioactiveDecay->SetARM(armFlag); // Atomic Rearangement // atomic de-excitation module if (armFlag) { G4EmParameters::Instance()->SetAuger(true); G4EmParameters::Instance()->SetDeexcitationIgnoreCut(true); } - - G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); + + G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); ph->RegisterProcess(radioactiveDecay, G4GenericIon::GenericIon()); - + // mandatory for G4NuclideTable // - const G4double meanLife = 1*picosecond, halfLife = meanLife*std::log(2); + const G4double meanLife = 1 * picosecond, halfLife = meanLife * std::log(2); G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(halfLife); } @@ -289,9 +280,9 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process StepMax* stepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); @@ -311,11 +302,11 @@ void PhysicsList::GetRange(G4double val) G4ParticleDefinition* part; G4double cut; part = G4Electron::Electron(); - cut = G4LossTableManager::Instance()->GetRange(part,val,couple); - G4cout << "material : " << currMat->GetName() << G4endl; - G4cout << "particle : " << part->GetParticleName() << G4endl; - G4cout << "energy : " << G4BestUnit(val,"Energy") << G4endl; - G4cout << "range : " << G4BestUnit(cut,"Length") << G4endl; + cut = G4LossTableManager::Instance()->GetRange(part, val, couple); + G4cout << "material : " << currMat->GetName() << G4endl; + G4cout << "particle : " << part->GetParticleName() << G4endl; + G4cout << "energy : " << G4BestUnit(val, "Energy") << G4endl; + G4cout << "range : " << G4BestUnit(cut, "Length") << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -325,7 +316,7 @@ G4VProcess* PhysicsList::GetProcess(const G4String& processName) const G4ParticleDefinition* particle = G4GenericIon::GenericIon(); G4ProcessVector* procList = particle->GetProcessManager()->GetProcessList(); G4int nbProc = particle->GetProcessManager()->GetProcessListLength(); - for (G4int k=0; kGetProcessName() == processName) return process; } diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc index 0d8972e85f6..b450acba539 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc @@ -33,29 +33,29 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) -: fPhysicsList(pPhys) -{ +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) +{ fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - - fRCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/getRange",this); + + fRCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/getRange", this); fRCmd->SetGuidance("get the electron cut for the current material."); - fRCmd->SetParameterName("energy",false); + fRCmd->SetParameterName("energy", false); fRCmd->SetRange("energy>0."); - fRCmd->SetUnitCategory("Energy"); - fRCmd->AvailableForStates(G4State_Idle); + fRCmd->SetUnitCategory("Energy"); + fRCmd->AvailableForStates(G4State_Idle); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); - fListCmd->AvailableForStates(G4State_PreInit); + fListCmd->SetParameterName("PList", false); + fListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,14 +69,15 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if( command == fRCmd ) - { fPhysicsList->GetRange(fRCmd->GetNewDoubleValue(newValue));} - - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fRCmd) { + fPhysicsList->GetRange(fRCmd->GetNewDoubleValue(newValue)); + } + + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc index 19f9b1867ab..df282b9f093 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc /// \brief Implementation of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,21 +37,20 @@ #include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction( DetectorConstruction* det) - :fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { - fParticleGun = new G4ParticleGun(1); + fParticleGun = new G4ParticleGun(1); SetDefaultKinematic(1); - - //create a messenger for this class - fGunMessenger = new PrimaryGeneratorMessenger(this); + + // create a messenger for this class + fGunMessenger = new PrimaryGeneratorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,43 +58,41 @@ PrimaryGeneratorAction::PrimaryGeneratorAction( DetectorConstruction* det) PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete fParticleGun; - delete fGunMessenger; + delete fGunMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::SetDefaultKinematic(G4int front) { - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(100*MeV); - G4double position = 0.*cm; - if (front) position = -0.4999*(fDetector->GetSize()); - fParticleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(100 * MeV); + G4double position = 0. * cm; + if (front) position = -0.4999 * (fDetector->GetSize()); + fParticleGun->SetParticlePosition(G4ThreeVector(position, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - //randomize the beam, if requested. - if (fRndmBeam > 0.) - { - G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); - G4double rbeam = 0.5*(fDetector->GetSize())*fRndmBeam; - G4double x0 = oldPosition.x(); - G4double y0 = oldPosition.y() + (2*G4UniformRand()-1.)*rbeam; - G4double z0 = oldPosition.z() + (2*G4UniformRand()-1.)*rbeam; - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - fParticleGun->GeneratePrimaryVertex(anEvent); - fParticleGun->SetParticlePosition(oldPosition); - } - else fParticleGun->GeneratePrimaryVertex(anEvent); + // randomize the beam, if requested. + if (fRndmBeam > 0.) { + G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); + G4double rbeam = 0.5 * (fDetector->GetSize()) * fRndmBeam; + G4double x0 = oldPosition.x(); + G4double y0 = oldPosition.y() + (2 * G4UniformRand() - 1.) * rbeam; + G4double z0 = oldPosition.z() + (2 * G4UniformRand() - 1.) * rbeam; + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); + fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->SetParticlePosition(oldPosition); + } + else + fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc index f573724b52a..6a9e8fc9a69 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc @@ -31,33 +31,33 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PrimaryGeneratorMessenger.hh" -#include "G4UIdirectory.hh" + #include "PrimaryGeneratorAction.hh" -#include "G4UIcmdWithAnInteger.hh" + #include "G4UIcmdWithADouble.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( - PrimaryGeneratorAction* Gun) - :fAction(Gun) +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger(PrimaryGeneratorAction* Gun) : fAction(Gun) { fGunDir = new G4UIdirectory("/testem/gun/"); fGunDir->SetGuidance("gun control"); - - fDefaultCmd = new G4UIcmdWithAnInteger("/testem/gun/setDefault",this); + + fDefaultCmd = new G4UIcmdWithAnInteger("/testem/gun/setDefault", this); fDefaultCmd->SetGuidance("set/reset kinematic defined in PrimaryGenerator"); fDefaultCmd->SetGuidance("0=boxCenter, else=frontFace"); - fDefaultCmd->SetParameterName("position",true); + fDefaultCmd->SetParameterName("position", true); fDefaultCmd->SetDefaultValue(1); - fDefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm",this); + fDefaultCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm", this); fRndmCmd->SetGuidance("random lateral extension on the beam"); fRndmCmd->SetGuidance("in fraction of 0.5*sizeYZ"); - fRndmCmd->SetParameterName("rBeam",false); + fRndmCmd->SetParameterName("rBeam", false); fRndmCmd->SetRange("rBeam>=0.&&rBeam<=1."); - fRndmCmd->AvailableForStates(G4State_Idle); + fRndmCmd->AvailableForStates(G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,15 +71,15 @@ PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if (command == fDefaultCmd) - {fAction->SetDefaultKinematic(fDefaultCmd->GetNewIntValue(newValue));} - - if (command == fRndmCmd) - {fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue));} +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fDefaultCmd) { + fAction->SetDefaultKinematic(fDefaultCmd->GetNewIntValue(newValue)); + } + + if (command == fRndmCmd) { + fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm1/src/Run.cc b/examples/extended/electromagnetic/TestEm1/src/Run.cc index 69730768ef8..2233b0ceb19 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Run.cc @@ -26,46 +26,45 @@ /// \file electromagnetic/TestEm1/src/Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" + #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" #include "G4EmCalculator.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(const DetectorConstruction* det) -: fDetector(det) -{ } +Run::Run(const DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::SetPrimary(const G4ParticleDefinition* particle, G4double energy) -{ +{ fParticle = particle; fEkin = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::CountProcesses(const G4String& procName) +void Run::CountProcesses(const G4String& procName) { - std::map::iterator it = fProcCounter.find(procName); - if ( it == fProcCounter.end()) { + std::map::iterator it = fProcCounter.find(procName); + if (it == fProcCounter.end()) { fProcCounter[procName] = 1; } else { - fProcCounter[procName]++; + fProcCounter[procName]++; } } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::Merge(const G4Run* run) @@ -74,139 +73,146 @@ void Run::Merge(const G4Run* run) // pass information about primary particle fParticle = localRun->fParticle; - fEkin = localRun->fEkin; + fEkin = localRun->fEkin; // accumulate sums // - fNbOfTraks0 += localRun->fNbOfTraks0; - fNbOfTraks1 += localRun->fNbOfTraks1; + fNbOfTraks0 += localRun->fNbOfTraks0; + fNbOfTraks1 += localRun->fNbOfTraks1; fNbOfSteps0 += localRun->fNbOfSteps0; - fNbOfSteps1 += localRun->fNbOfSteps1; - fEdep += localRun->fEdep; - fNIEL += localRun->fNIEL; - fTrueRange += localRun->fTrueRange; + fNbOfSteps1 += localRun->fNbOfSteps1; + fEdep += localRun->fEdep; + fNIEL += localRun->fNIEL; + fTrueRange += localRun->fTrueRange; fTrueRange2 += localRun->fTrueRange2; - fProjRange += localRun->fProjRange; + fProjRange += localRun->fProjRange; fProjRange2 += localRun->fProjRange2; - fTransvDev += localRun->fTransvDev; - fTransvDev2 += localRun->fTransvDev2; - - //map: processes count - std::map::const_iterator it; - for (it = localRun->fProcCounter.begin(); - it !=localRun->fProcCounter.end(); ++it) { - + fTransvDev += localRun->fTransvDev; + fTransvDev2 += localRun->fTransvDev2; + + // map: processes count + std::map::const_iterator it; + for (it = localRun->fProcCounter.begin(); it != localRun->fProcCounter.end(); ++it) { G4String procName = it->first; - G4int localCount = it->second; - if ( fProcCounter.find(procName) == fProcCounter.end()) { + G4int localCount = it->second; + if (fProcCounter.find(procName) == fProcCounter.end()) { fProcCounter[procName] = localCount; } else { fProcCounter[procName] += localCount; - } + } } - - G4Run::Merge(run); -} + + G4Run::Merge(run); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::EndOfRun() { - G4int prec = 5, wid = prec + 2; + G4int prec = 5, wid = prec + 2; G4int dfprec = G4cout.precision(prec); - - //run condition - // - G4String partName = fParticle->GetParticleName(); + + // run condition + // + G4String partName = fParticle->GetParticleName(); const G4Material* material = fDetector->GetMaterial(); - G4double density = material->GetDensity(); - + G4double density = material->GetDensity(); + G4cout << "\n ======================== run summary ======================\n"; G4cout << "\n The run is: " << numberOfEvent << " " << partName << " of " - << G4BestUnit(fEkin,"Energy") << " through " - << G4BestUnit(fDetector->GetSize(),"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; - - if (numberOfEvent == 0) { G4cout.precision(dfprec); return;} - - G4double dNbOfEvents = (G4double)numberOfEvent; - G4cout << "\n Total energy deposit: " - << G4BestUnit(fEdep/dNbOfEvents, "Energy") << G4endl; - G4cout << " NIEL energy calculated: " - << G4BestUnit(fNIEL/dNbOfEvents, "Energy") << G4endl; - - //nb of tracks and steps per event - // + << G4BestUnit(fEkin, "Energy") << " through " << G4BestUnit(fDetector->GetSize(), "Length") + << " of " << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") + << ")" << G4endl; + + if (numberOfEvent == 0) { + G4cout.precision(dfprec); + return; + } + + G4double dNbOfEvents = (G4double)numberOfEvent; + G4cout << "\n Total energy deposit: " << G4BestUnit(fEdep / dNbOfEvents, "Energy") << G4endl; + G4cout << " NIEL energy calculated: " << G4BestUnit(fNIEL / dNbOfEvents, "Energy") << G4endl; + + // nb of tracks and steps per event + // G4cout << "\n Nb tracks/event" - << " neutral: " << std::setw(wid) << fNbOfTraks0/dNbOfEvents - << " charged: " << std::setw(wid) << fNbOfTraks1/dNbOfEvents - << "\n Nb steps/event" - << " neutral: " << std::setw(wid) << fNbOfSteps0/dNbOfEvents - << " charged: " << std::setw(wid) << fNbOfSteps1/dNbOfEvents - << G4endl; - - //frequency of processes + << " neutral: " << std::setw(wid) << fNbOfTraks0 / dNbOfEvents + << " charged: " << std::setw(wid) << fNbOfTraks1 / dNbOfEvents << "\n Nb steps/event" + << " neutral: " << std::setw(wid) << fNbOfSteps0 / dNbOfEvents + << " charged: " << std::setw(wid) << fNbOfSteps1 / dNbOfEvents << G4endl; + + // frequency of processes // G4cout << "\n Process calls frequency :" << G4endl; - G4int index = 0; - std::map::iterator it; + G4int index = 0; + std::map::iterator it; for (it = fProcCounter.begin(); it != fProcCounter.end(); it++) { - G4String procName = it->first; - G4int count = it->second; - G4String space = " "; if (++index%3 == 0) space = "\n"; - G4cout << " " << std::setw(20) << procName << "="<< std::setw(7) << count - << space; - } + G4String procName = it->first; + G4int count = it->second; + G4String space = " "; + if (++index % 3 == 0) space = "\n"; + G4cout << " " << std::setw(20) << procName << "=" << std::setw(7) << count << space; + } G4cout << G4endl; - - //compute true and projected ranges, and transverse dispersion + + // compute true and projected ranges, and transverse dispersion + // + fTrueRange /= numberOfEvent; + fTrueRange2 /= numberOfEvent; + G4double trueRms = fTrueRange2 - fTrueRange * fTrueRange; + if (trueRms > 0.) + trueRms = std::sqrt(trueRms); + else + trueRms = 0.; + + fProjRange /= numberOfEvent; + fProjRange2 /= numberOfEvent; + G4double projRms = fProjRange2 - fProjRange * fProjRange; + if (projRms > 0.) + projRms = std::sqrt(projRms); + else + projRms = 0.; + + fTransvDev /= 2 * numberOfEvent; + fTransvDev2 /= 2 * numberOfEvent; + G4double trvsRms = fTransvDev2 - fTransvDev * fTransvDev; + if (trvsRms > 0.) + trvsRms = std::sqrt(trvsRms); + else + trvsRms = 0.; + + // compare true range with csda range from PhysicsTables // - fTrueRange /= numberOfEvent; fTrueRange2 /= numberOfEvent; - G4double trueRms = fTrueRange2 - fTrueRange*fTrueRange; - if (trueRms>0.) trueRms = std::sqrt(trueRms); else trueRms = 0.; - - fProjRange /= numberOfEvent; fProjRange2 /= numberOfEvent; - G4double projRms = fProjRange2 - fProjRange*fProjRange; - if (projRms>0.) projRms = std::sqrt(projRms); else projRms = 0.; - - fTransvDev /= 2*numberOfEvent; fTransvDev2 /= 2*numberOfEvent; - G4double trvsRms = fTransvDev2 - fTransvDev*fTransvDev; - if (trvsRms>0.) trvsRms = std::sqrt(trvsRms); else trvsRms = 0.; - - //compare true range with csda range from PhysicsTables - // G4EmCalculator emCalculator; G4double rangeTable = 0.; if (fParticle->GetPDGCharge() != 0.) - rangeTable = emCalculator.GetCSDARange(fEkin,fParticle,material); - + rangeTable = emCalculator.GetCSDARange(fEkin, fParticle, material); + G4cout << "\n---------------------------------------------------------\n"; - G4cout << " Primary particle : " ; - G4cout << "\n true Range = " << G4BestUnit(fTrueRange,"Length") - << " rms = " << G4BestUnit(trueRms, "Length"); - - G4cout << "\n proj Range = " << G4BestUnit(fProjRange,"Length") - << " rms = " << G4BestUnit(projRms, "Length"); - - G4cout << "\n proj/true = " << fProjRange/fTrueRange; - - G4cout << "\n transverse dispersion at end = " - << G4BestUnit(trvsRms,"Length"); - - G4cout << "\n mass true Range from simulation = " - << G4BestUnit(fTrueRange*density, "Mass/Surface") - << "\n from PhysicsTable (csda range) = " - << G4BestUnit(rangeTable*density, "Mass/Surface"); + G4cout << " Primary particle : "; + G4cout << "\n true Range = " << G4BestUnit(fTrueRange, "Length") + << " rms = " << G4BestUnit(trueRms, "Length"); + + G4cout << "\n proj Range = " << G4BestUnit(fProjRange, "Length") + << " rms = " << G4BestUnit(projRms, "Length"); + + G4cout << "\n proj/true = " << fProjRange / fTrueRange; + + G4cout << "\n transverse dispersion at end = " << G4BestUnit(trvsRms, "Length"); + + G4cout << "\n mass true Range from simulation = " + << G4BestUnit(fTrueRange * density, "Mass/Surface") + << "\n from PhysicsTable (csda range) = " + << G4BestUnit(rangeTable * density, "Mass/Surface"); G4cout << "\n---------------------------------------------------------\n"; G4cout << G4endl; - - // remove all contents in fProcCounter + + // remove all contents in fProcCounter fProcCounter.clear(); - - //restore default format - G4cout.precision(dfprec); + + // restore default format + G4cout.precision(dfprec); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/RunAction.cc b/examples/extended/electromagnetic/TestEm1/src/RunAction.cc index 4cd4c9a4fdf..96ff6f86548 100644 --- a/examples/extended/electromagnetic/TestEm1/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/RunAction.cc @@ -26,14 +26,15 @@ /// \file electromagnetic/TestEm1/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" #include "Run.hh" #include "G4Run.hh" @@ -42,10 +43,9 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(const DetectorConstruction* det, - PrimaryGeneratorAction* kin) - :fDetector(det),fPrimary(kin) -{ +RunAction::RunAction(const DetectorConstruction* det, PrimaryGeneratorAction* kin) + : fDetector(det), fPrimary(kin) +{ fHistoManager = new HistoManager(); } @@ -59,50 +59,48 @@ RunAction::~RunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ - fRun = new Run(fDetector); +{ + fRun = new Run(fDetector); return fRun; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) -{ +{ // show Rndm status - if (isMaster) G4Random::showEngineStatus(); - + if (isMaster) G4Random::showEngineStatus(); + // keep run condition - if ( fPrimary ) { - G4ParticleDefinition* particle - = fPrimary->GetParticleGun()->GetParticleDefinition(); + if (fPrimary) { + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); fRun->SetPrimary(particle, energy); - } - - //histograms + } + + // histograms // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); - } - + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::EndOfRunAction(const G4Run*) { - // compute and print statistic + // compute and print statistic if (isMaster) fRun->EndOfRun(); - - //save histograms - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + + // save histograms + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + if (analysisManager->IsActive()) { analysisManager->Write(); analysisManager->CloseFile(); - } - + } + // show Rndm status - if (isMaster) G4Random::showEngineStatus(); + if (isMaster) G4Random::showEngineStatus(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm1/src/StackingAction.cc index e2719ba90c2..56e54ab8283 100644 --- a/examples/extended/electromagnetic/TestEm1/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/StackingAction.cc @@ -31,28 +31,30 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StackingAction.hh" + #include "HistoManager.hh" #include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* track) -{ - //keep primary particle +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* track) +{ + // keep primary particle if (track->GetParentID() == 0) return fUrgent; // - //energy spectrum of secondaries + // energy spectrum of secondaries // G4double energy = track->GetKineticEnergy(); G4double charge = track->GetDefinition()->GetPDGCharge(); G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - - if (charge != 0.) analysisManager->FillH1(5,energy); - else analysisManager->FillH1(6,energy); + + if (charge != 0.) + analysisManager->FillH1(5, energy); + else + analysisManager->FillH1(6, energy); return fUrgent; } diff --git a/examples/extended/electromagnetic/TestEm1/src/StepMax.cc b/examples/extended/electromagnetic/TestEm1/src/StepMax.cc index 8c7a0372f86..90c22086cd1 100644 --- a/examples/extended/electromagnetic/TestEm1/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm1/src/StepMax.cc @@ -31,19 +31,22 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::StepMax(const G4String& processName) - : G4VDiscreteProcess(processName) +StepMax::StepMax(const G4String& processName) : G4VDiscreteProcess(processName) { fMess = new StepMaxMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,13 +57,15 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep(G4double step) {fMaxChargedStep = step;} +void StepMax::SetMaxStep(G4double step) +{ + fMaxChargedStep = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track&, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; @@ -72,16 +77,16 @@ G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track&, G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) +G4double StepMax::GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) { - return fMaxChargedStep; -} + return fMaxChargedStep; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc index 254894b9dd4..78046257a62 100644 --- a/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc @@ -33,16 +33,16 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -:fStepMax(stepM) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); +StepMaxMessenger::StepMaxMessenger(StepMax* stepM) : fStepMax(stepM) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); } @@ -57,9 +57,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc index 6936e95718d..099acfac6d4 100644 --- a/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc @@ -31,38 +31,37 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" -#include "Run.hh" + #include "EventAction.hh" #include "HistoManager.hh" +#include "Run.hh" +#include "G4ICRU49NuclearStoppingModel.hh" +#include "G4NIELCalculator.hh" #include "G4RunManager.hh" #include "G4SteppingManager.hh" -#include "G4VProcess.hh" #include "G4UnitsTable.hh" -#include "G4NIELCalculator.hh" -#include "G4ICRU49NuclearStoppingModel.hh" +#include "G4VProcess.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(EventAction* event) - :fEventAction(event) +SteppingAction::SteppingAction(EventAction* event) : fEventAction(event) { - fNIELCalculator = new G4NIELCalculator(new G4ICRU49NuclearStoppingModel(),1); + fNIELCalculator = new G4NIELCalculator(new G4ICRU49NuclearStoppingModel(), 1); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -///SteppingAction::~SteppingAction() +/// SteppingAction::~SteppingAction() ///{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) { - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - + G4double EdepStep = aStep->GetTotalEnergyDeposit(); if (EdepStep > 0.) { @@ -70,31 +69,29 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) fEventAction->AddEdep(EdepStep); } G4double niel = fNIELCalculator->ComputeNIEL(aStep); - if(niel > 0.) { + if (niel > 0.) { run->AddNIEL(niel); fEventAction->AddNIEL(niel); } - const G4VProcess* process = - aStep->GetPostStepPoint()->GetProcessDefinedStep(); + const G4VProcess* process = aStep->GetPostStepPoint()->GetProcessDefinedStep(); if (process) run->CountProcesses(process->GetProcessName()); // step length of primary particle - G4int ID = aStep->GetTrack()->GetTrackID(); + G4int ID = aStep->GetTrack()->GetTrackID(); G4double steplen = aStep->GetStepLength(); - if (ID == 1) analysisManager->FillH1(3,steplen); + if (ID == 1) analysisManager->FillH1(3, steplen); -/* - //debug: charge and mass - // - G4int stepNb = aStep->GetTrack()->GetCurrentStepNumber(); - G4StepPoint* postPoint = aStep->GetPostStepPoint(); - G4double charge = postPoint->GetCharge(); - G4double mass = postPoint->GetMass(); - G4cout << "\n step= " << stepNb << " charge= " << charge - << " mass= " << G4BestUnit(mass, "Energy"); -*/ + /* + //debug: charge and mass + // + G4int stepNb = aStep->GetTrack()->GetCurrentStepNumber(); + G4StepPoint* postPoint = aStep->GetPostStepPoint(); + G4double charge = postPoint->GetCharge(); + G4double mass = postPoint->GetMass(); + G4cout << "\n step= " << stepNb << " charge= " << charge + << " mass= " << G4BestUnit(mass, "Energy"); + */ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc index 89f47c07172..7f219728ddb 100644 --- a/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc @@ -26,110 +26,106 @@ /// \file electromagnetic/TestEm1/src/TrackingAction.cc /// \brief Implementation of the TrackingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "TrackingAction.hh" + +#include "HistoManager.hh" #include "PrimaryGeneratorAction.hh" #include "Run.hh" -#include "HistoManager.hh" #include "G4RunManager.hh" -#include "G4Track.hh" - #include "G4SystemOfUnits.hh" +#include "G4Track.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackingAction::TrackingAction(PrimaryGeneratorAction* prim) - :fPrimary(prim) -{ } +TrackingAction::TrackingAction(PrimaryGeneratorAction* prim) : fPrimary(prim) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void TrackingAction::PreUserTrackingAction(const G4Track*) { -/* - //debug - const G4DynamicParticle* dynamic = aTrack->GetDynamicParticle(); - G4double dynamCharge = dynamic->GetCharge(); - G4int occup = dynamic->GetTotalOccupancy(); - G4double pdgMass = dynamic->GetParticleDefinition()->GetPDGMass(); - G4double invarMass = dynamic->Get4Momentum().m(); - G4double dynamMass = dynamic->GetMass(); - G4double dif1 = invarMass - pdgMass; - G4double dif2 = dynamMass - pdgMass; - - G4cout - << "\n Begin of track :" - << "\n charge= " << dynamCharge << " occupancy= " << occup - << "\n pdgMass= " << G4BestUnit (pdgMass , "Energy") -/// << "\n invarMass= " << G4BestUnit (invarMass, "Energy") -/// << " invar-pdg= " << G4BestUnit (dif1 , "Energy") - << "\n dynamMass= " << G4BestUnit (dynamMass, "Energy") - << " dynam-pdg= " << G4BestUnit (dif2 , "Energy") - << G4endl; -*/ + /* + //debug + const G4DynamicParticle* dynamic = aTrack->GetDynamicParticle(); + G4double dynamCharge = dynamic->GetCharge(); + G4int occup = dynamic->GetTotalOccupancy(); + G4double pdgMass = dynamic->GetParticleDefinition()->GetPDGMass(); + G4double invarMass = dynamic->Get4Momentum().m(); + G4double dynamMass = dynamic->GetMass(); + G4double dif1 = invarMass - pdgMass; + G4double dif2 = dynamMass - pdgMass; + + G4cout + << "\n Begin of track :" + << "\n charge= " << dynamCharge << " occupancy= " << occup + << "\n pdgMass= " << G4BestUnit (pdgMass , "Energy") + /// << "\n invarMass= " << G4BestUnit (invarMass, "Energy") + /// << " invar-pdg= " << G4BestUnit (dif1 , "Energy") + << "\n dynamMass= " << G4BestUnit (dynamMass, "Energy") + << " dynam-pdg= " << G4BestUnit (dif2 , "Energy") + << G4endl; + */ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void TrackingAction::PostUserTrackingAction(const G4Track* aTrack) { - //increase nb of processed tracks - //count nb of steps of this track - G4int nbSteps = aTrack->GetCurrentStepNumber(); + // increase nb of processed tracks + // count nb of steps of this track + G4int nbSteps = aTrack->GetCurrentStepNumber(); G4double Trleng = aTrack->GetTrackLength(); - - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - + + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + if (aTrack->GetDefinition()->GetPDGCharge() == 0.) { - run->CountTraks0(1); + run->CountTraks0(1); run->CountSteps0(nbSteps); - - } else { - run->CountTraks1(1); + } + else { + run->CountTraks1(1); run->CountSteps1(nbSteps); } - - //true and projected ranges for primary particle + + // true and projected ranges for primary particle if (aTrack->GetTrackID() == 1) { run->AddTrueRange(Trleng); G4ThreeVector vertex = fPrimary->GetParticleGun()->GetParticlePosition(); - G4ThreeVector position = aTrack->GetPosition() - vertex; + G4ThreeVector position = aTrack->GetPosition() - vertex; run->AddProjRange(position.x()); run->AddTransvDev(position.y()); run->AddTransvDev(position.z()); - + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - analysisManager->FillH1(1,Trleng); - analysisManager->FillH1(2,(float)nbSteps); + analysisManager->FillH1(1, Trleng); + analysisManager->FillH1(2, (float)nbSteps); } -/* - //debug - const G4DynamicParticle* dynamic = aTrack->GetDynamicParticle(); - G4double dynamCharge = dynamic->GetCharge(); - G4int occup = dynamic->GetTotalOccupancy(); - G4double pdgMass = dynamic->GetParticleDefinition()->GetPDGMass(); - G4double invarMass = dynamic->Get4Momentum().m(); - G4double dynamMass = dynamic->GetMass(); - G4double dif1 = invarMass - pdgMass; - G4double dif2 = dynamMass - pdgMass; - - G4cout - << "\n End of track :" - << "\n charge= " << dynamCharge << " occupancy= " << occup - << "\n pdgMass= " << G4BestUnit (pdgMass , "Energy") -/// << "\n invarMass= " << G4BestUnit (invarMass, "Energy") -/// << " invar-pdg= " << G4BestUnit (dif1 , "Energy") - << "\n dynamMass= " << G4BestUnit (dynamMass, "Energy") - << " dynam-pdg= " << G4BestUnit (dif2 , "Energy") - << G4endl; -*/ + /* + //debug + const G4DynamicParticle* dynamic = aTrack->GetDynamicParticle(); + G4double dynamCharge = dynamic->GetCharge(); + G4int occup = dynamic->GetTotalOccupancy(); + G4double pdgMass = dynamic->GetParticleDefinition()->GetPDGMass(); + G4double invarMass = dynamic->Get4Momentum().m(); + G4double dynamMass = dynamic->GetMass(); + G4double dif1 = invarMass - pdgMass; + G4double dif2 = dynamMass - pdgMass; + + G4cout + << "\n End of track :" + << "\n charge= " << dynamCharge << " occupancy= " << occup + << "\n pdgMass= " << G4BestUnit (pdgMass , "Energy") + /// << "\n invarMass= " << G4BestUnit (invarMass, "Energy") + /// << " invar-pdg= " << G4BestUnit (dif1 , "Energy") + << "\n dynamMass= " << G4BestUnit (dynamMass, "Energy") + << " dynam-pdg= " << G4BestUnit (dif2 , "Energy") + << G4endl; + */ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.cc b/examples/extended/electromagnetic/TestEm10/TestEm10.cc index 24558992396..baf732eb778 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.cc +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.cc @@ -32,36 +32,34 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "Randomize.hh" - #include "DetectorConstruction.hh" +#include "EventAction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "StackingAction.hh" +#include "G4RunManagerFactory.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) +int main(int argc, char** argv) { - - //detect interactive mode (if no arguments) and define UI session + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //choose the Random engine + // choose the Random engine CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); - //construct a serial run manager + // construct a serial run manager auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly); - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* detector; detector = new DetectorConstruction; @@ -71,7 +69,7 @@ int main(int argc,char** argv) runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList(detector)); - //set user action classes + // set user action classes runManager->SetUserAction(new PrimaryGeneratorAction()); RunAction* runAction = new RunAction; @@ -80,29 +78,29 @@ int main(int argc,char** argv) EventAction* eventAction = new EventAction(runAction); runManager->SetUserAction(eventAction); - runManager->SetUserAction( new StackingAction ); + runManager->SetUserAction(new StackingAction); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.out b/examples/extended/electromagnetic/TestEm10/TestEm10.out index e44f3dbbf6b..36160599f8d 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.out +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -215,10 +215,10 @@ Lorentz Factor XTR photon number 8.085e+04 3.154 9.283e+04 3.154 -total time for build X-ray TR energy loss tables = 0.43 s +total time for build X-ray TR energy loss tables = 0.37 s Build angle for energy distribution according the current radiator -total time for build X-ray TR angle for energy loss tables = 1.43 s +total time for build X-ray TR angle for energy loss tables = 1.5 s msc: for e+ SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== @@ -242,7 +242,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -308,7 +308,7 @@ Lorentz Factor XTR photon number total time for build X-ray TR energy loss tables = 0.38 s Build angle for energy distribution according the current radiator -total time for build X-ray TR angle for energy loss tables = 1.47 s +total time for build X-ray TR angle for energy loss tables = 1.46 s msc: for proton SubType= 10 ===== EM models for the G4Region DefaultRegionForTheWorld ====== @@ -632,7 +632,7 @@ Index : 2 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 1000 - User=0.250000s Real=0.304928s Sys=0.000000s + User=0.260000s Real=0.308644s Sys=0.000000s ================== run summary ===================== End of Run TotNbofEvents = 1000 Mean energy deposit in absorber = 0.0479535 +-0.0189569 MeV @@ -646,6 +646,6 @@ Run Summary ... write file : testem10.root - done ... close file : testem10.root - done ================== Deleting memory pools =================== -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 0.045 MB +Number of memory pools allocated: 10 of which, static: 0 +Dynamic pools deleted: 10 / Total memory freed: 0.043 MB ============================================================ diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorALICE06.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorALICE06.hh index 41ab2939a4f..6f26d37cce2 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorALICE06.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorALICE06.hh @@ -28,20 +28,20 @@ // // // -// Simplified setup for ALICE XTR test beam (~2004). +// Simplified setup for ALICE XTR test beam (~2004). // Runs by : Test salice.mac #ifndef DetectorALICE06_h #define DetectorALICE06_h 1 -#include "globals.hh" - #include "RadiatorDescription.hh" +#include "globals.hh" + class G4VPhysicalVolume; class G4UniformMagField; -class DetectorALICE06 +class DetectorALICE06 { public: DetectorALICE06(); diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorBari05.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorBari05.hh index 16c16a11f6b..bfad31d9b76 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorBari05.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorBari05.hh @@ -35,13 +35,13 @@ #ifndef DetectorBari05_h #define DetectorBari05_h 1 -#include "globals.hh" - #include "RadiatorDescription.hh" +#include "globals.hh" + class G4VPhysicalVolume; -class DetectorBari05 +class DetectorBari05 { public: DetectorBari05(); @@ -55,7 +55,7 @@ class DetectorBari05 private: // data members - RadiatorDescription* fRadiatorDescription; + RadiatorDescription* fRadiatorDescription; }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorBarr90.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorBarr90.hh index fb8f65f7676..cdd513ec466 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorBarr90.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorBarr90.hh @@ -33,13 +33,13 @@ #ifndef DetectorBarr90_h #define DetectorBarr90_h 1 -#include "globals.hh" - #include "RadiatorDescription.hh" +#include "globals.hh" + class G4VPhysicalVolume; -class DetectorBarr90 +class DetectorBarr90 { public: DetectorBarr90(); @@ -53,7 +53,7 @@ class DetectorBarr90 private: // data members - RadiatorDescription* fRadiatorDescription; + RadiatorDescription* fRadiatorDescription; }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorConstruction.hh index 18f76714745..ccd0b57a0cf 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorConstruction.hh @@ -32,12 +32,11 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 -#include "G4VUserDetectorConstruction.hh" - #include "RadiatorDescription.hh" -#include "globals.hh" +#include "G4VUserDetectorConstruction.hh" #include "G4ios.hh" +#include "globals.hh" class DetectorMessenger; @@ -55,13 +54,13 @@ class DetectorConstruction : public G4VUserDetectorConstruction void SetDetectorSetUp(G4String setup) { fSetUp = setup; } RadiatorDescription* GetRadiatorDescription() const; - G4Material* GetAbsorberMaterial() const; + G4Material* GetAbsorberMaterial() const; private: // data members - DetectorMessenger* fDetectorMessenger; //pointer to the Messenger + DetectorMessenger* fDetectorMessenger; // pointer to the Messenger RadiatorDescription* fRadiatorDescription; - G4String fSetUp; + G4String fSetUp; }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorHarris73.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorHarris73.hh index 25d7928b973..f7b7d74e8c8 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorHarris73.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorHarris73.hh @@ -33,13 +33,13 @@ #ifndef DetectorHarris73_h #define DetectorHarris73_h 1 -#include "globals.hh" - #include "RadiatorDescription.hh" +#include "globals.hh" + class G4VPhysicalVolume; -class DetectorHarris73 +class DetectorHarris73 { public: DetectorHarris73(); @@ -53,7 +53,7 @@ class DetectorHarris73 private: // data members - RadiatorDescription* fRadiatorDescription; + RadiatorDescription* fRadiatorDescription; }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorMessenger.hh index f16ddb0d005..b869e1a19c8 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorMessenger.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -36,26 +36,25 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; class G4UIcmdWithAString; -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: DetectorMessenger(DetectorConstruction* detector); ~DetectorMessenger(); - + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - DetectorConstruction* fDetector; - G4UIdirectory* fDirectory; - G4UIcmdWithAString* fDetectorSetUpCmd; + DetectorConstruction* fDetector; + G4UIdirectory* fDirectory; + G4UIcmdWithAString* fDetectorSetUpCmd; }; #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorSimpleALICE.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorSimpleALICE.hh index ea56e57b145..2fef5e97b11 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorSimpleALICE.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorSimpleALICE.hh @@ -28,19 +28,19 @@ // // // -// Simplified setup for ALICE XTR test beam (~2004). +// Simplified setup for ALICE XTR test beam (~2004). // Runs by : Test salice.mac #ifndef DetectorSimpleALICE_h #define DetectorSimpleALICE_h 1 -#include "globals.hh" - #include "RadiatorDescription.hh" +#include "globals.hh" + class G4VPhysicalVolume; -class DetectorSimpleALICE +class DetectorSimpleALICE { public: DetectorSimpleALICE(); @@ -54,7 +54,7 @@ class DetectorSimpleALICE private: // data members - RadiatorDescription* fRadiatorDescription; + RadiatorDescription* fRadiatorDescription; }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/include/DetectorWatase86.hh b/examples/extended/electromagnetic/TestEm10/include/DetectorWatase86.hh index fa1b9d9971b..3633f3789d9 100644 --- a/examples/extended/electromagnetic/TestEm10/include/DetectorWatase86.hh +++ b/examples/extended/electromagnetic/TestEm10/include/DetectorWatase86.hh @@ -33,13 +33,13 @@ #ifndef DetectorWatase86_h #define DetectorWatase86_h 1 -#include "globals.hh" - #include "RadiatorDescription.hh" +#include "globals.hh" + class G4VPhysicalVolume; -class DetectorWatase86 +class DetectorWatase86 { public: DetectorWatase86(); @@ -53,7 +53,7 @@ class DetectorWatase86 private: // data members - RadiatorDescription* fRadiatorDescription; + RadiatorDescription* fRadiatorDescription; }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/include/EventAction.hh b/examples/extended/electromagnetic/TestEm10/include/EventAction.hh index 812c9a7facd..dbb883bbd3d 100644 --- a/examples/extended/electromagnetic/TestEm10/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/EventAction.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -50,15 +50,13 @@ class EventAction : public G4UserEventAction ~EventAction(); virtual void BeginOfEventAction(const G4Event*); - virtual void EndOfEventAction(const G4Event*); + virtual void EndOfEventAction(const G4Event*); + + void SetVerboseLevel(G4int level) { fVerboseLevel = level; } - void SetVerboseLevel(G4int level) { fVerboseLevel = level; } - private: RunAction* fRunAction; - G4int fVerboseLevel; + G4int fVerboseLevel; }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm10/include/Materials.hh b/examples/extended/electromagnetic/TestEm10/include/Materials.hh index 2a6f0578665..243c68b5c50 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Materials.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Materials.hh @@ -29,12 +29,12 @@ // // // ------------------------------------------------------------- -// GEANT 4 class +// GEANT 4 class // // ---------- Materials------- -// Originally Created in Test30 by Vladimir Ivanchenko, 12 March 2002 -// -// Modified for Test by V. Grichine, 30 Jan 2006 +// Originally Created in Test30 by Vladimir Ivanchenko, 12 March 2002 +// +// Modified for Test by V. Grichine, 30 Jan 2006 // // @@ -51,19 +51,14 @@ class Materials Materials(); ~Materials(); - static Materials* GetInstance(); - - G4Material* GetMaterial(const G4String&); - - private: + static Materials* GetInstance(); + G4Material* GetMaterial(const G4String&); + + private: void Initialise(); static Materials* fgInstance; }; #endif - - - - diff --git a/examples/extended/electromagnetic/TestEm10/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm10/include/PhysicsList.hh index 1d6e4aefd2b..6775eaa09e8 100644 --- a/examples/extended/electromagnetic/TestEm10/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm10/include/PhysicsList.hh @@ -52,38 +52,35 @@ class DetectorConstruction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { -public: + public: + PhysicsList(DetectorConstruction* ptr); + virtual ~PhysicsList(); - PhysicsList(DetectorConstruction* ptr); - virtual ~PhysicsList(); + virtual void ConstructParticle(); - virtual void ConstructParticle(); + virtual void ConstructProcess(); - virtual void ConstructProcess(); - - void AddPhysicsList(const G4String& name); + void AddPhysicsList(const G4String& name); - void SetXTRModel(const G4String& name); + void SetXTRModel(const G4String& name); -private: + private: + void AddStepMax(); - void AddStepMax(); + G4VPhysicsConstructor* fEmPhysicsList; + G4VPhysicsConstructor* fDecayPhysicsList; - G4VPhysicsConstructor* fEmPhysicsList; - G4VPhysicsConstructor* fDecayPhysicsList; + TransitionRadiationPhysics* fXTRPhysicsList; - TransitionRadiationPhysics* fXTRPhysicsList; + G4String fEmName; + G4int fVerbose; - G4String fEmName; - G4int fVerbose; - - PhysicsListMessenger* fMessenger; - static G4ThreadLocal StepMax* fStepMaxProcess; + PhysicsListMessenger* fMessenger; + static G4ThreadLocal StepMax* fStepMaxProcess; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/PhysicsListMessenger.hh index e49f671a8ef..e3edfda88aa 100644 --- a/examples/extended/electromagnetic/TestEm10/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/PhysicsListMessenger.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -36,29 +36,27 @@ #ifndef PhysicsListMessenger_h #define PhysicsListMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class PhysicsList; class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { -public: - PhysicsListMessenger(PhysicsList*); - ~PhysicsListMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - -private: + public: + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger(); - PhysicsList* fList; + void SetNewValue(G4UIcommand*, G4String); - G4UIcmdWithAString* fXTRModelCmd; - G4UIcmdWithAString* fListCmd; + private: + PhysicsList* fList; + + G4UIcmdWithAString* fXTRModelCmd; + G4UIcmdWithAString* fListCmd; }; #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm10/include/PrimaryGeneratorAction.hh index 7138597fe3a..029dd581043 100644 --- a/examples/extended/electromagnetic/TestEm10/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/PrimaryGeneratorAction.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -53,7 +53,7 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction virtual void GeneratePrimaries(G4Event*); private: - G4ParticleGun* fParticleGun; + G4ParticleGun* fParticleGun; }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/include/RadiatorDescription.hh b/examples/extended/electromagnetic/TestEm10/include/RadiatorDescription.hh index 79bca400633..1f240f0702b 100644 --- a/examples/extended/electromagnetic/TestEm10/include/RadiatorDescription.hh +++ b/examples/extended/electromagnetic/TestEm10/include/RadiatorDescription.hh @@ -40,18 +40,21 @@ class G4Material; struct RadiatorDescription { - RadiatorDescription() - : fLogicalVolume(0), fFoilMaterial(0), fGasMaterial(0), - fFoilThickness(0.), fGasThickness(0.), fFoilNumber(0) {} - - G4LogicalVolume* fLogicalVolume; - G4Material* fFoilMaterial; - G4Material* fGasMaterial; - G4double fFoilThickness; - G4double fGasThickness; - G4int fFoilNumber; + RadiatorDescription() + : fLogicalVolume(0), + fFoilMaterial(0), + fGasMaterial(0), + fFoilThickness(0.), + fGasThickness(0.), + fFoilNumber(0) + {} + + G4LogicalVolume* fLogicalVolume; + G4Material* fFoilMaterial; + G4Material* fGasMaterial; + G4double fFoilThickness; + G4double fGasThickness; + G4int fFoilNumber; }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm10/include/RunAction.hh b/examples/extended/electromagnetic/TestEm10/include/RunAction.hh index c9f4ef4f0f3..218573eab6d 100644 --- a/examples/extended/electromagnetic/TestEm10/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/RunAction.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -53,18 +53,18 @@ class RunAction : public G4UserRunAction public: virtual void BeginOfRunAction(const G4Run*); - virtual void EndOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); + + void SetRndmFreq(G4int val) { fRndmFreq = val; } + G4int GetRndmFreq() { return fRndmFreq; } - void SetRndmFreq(G4int val) { fRndmFreq = val; } - G4int GetRndmFreq() { return fRndmFreq; } private: // methods void BookHisto(); // data members RunMessenger* fRunMessenger; - G4int fRndmFreq; + G4int fRndmFreq; }; #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/RunMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/RunMessenger.hh index 14ddcdce4c5..7c4d61b9b62 100644 --- a/examples/extended/electromagnetic/TestEm10/include/RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/RunMessenger.hh @@ -49,20 +49,19 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class RunMessenger: public G4UImessenger +class RunMessenger : public G4UImessenger { public: - RunMessenger(RunAction* runAction); - ~RunMessenger(); + RunMessenger(RunAction* runAction); + ~RunMessenger(); - virtual void SetNewValue(G4UIcommand* ,G4String ); + virtual void SetNewValue(G4UIcommand*, G4String); private: - RunAction* fRunAction; - G4UIdirectory* fRndmDir; - G4UIcmdWithAnInteger* fRndmSaveCmd; - G4UIcmdWithAString* fRndmReadCmd; + RunAction* fRunAction; + G4UIdirectory* fRndmDir; + G4UIcmdWithAnInteger* fRndmSaveCmd; + G4UIcmdWithAString* fRndmReadCmd; }; #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/SensitiveDetector.hh b/examples/extended/electromagnetic/TestEm10/include/SensitiveDetector.hh index ce44490228e..a7f8c224b02 100644 --- a/examples/extended/electromagnetic/TestEm10/include/SensitiveDetector.hh +++ b/examples/extended/electromagnetic/TestEm10/include/SensitiveDetector.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -37,7 +37,6 @@ #define SensitiveDetector_h 1 #include "G4VSensitiveDetector.hh" - #include "globals.hh" class DetectorConstruction; @@ -52,15 +51,14 @@ class SensitiveDetector : public G4VSensitiveDetector { public: SensitiveDetector(G4String); - ~SensitiveDetector(); + ~SensitiveDetector(); - virtual void Initialize(G4HCofThisEvent*); - virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); - virtual void EndOfEvent(G4HCofThisEvent*); + virtual void Initialize(G4HCofThisEvent*); + virtual G4bool ProcessHits(G4Step*, G4TouchableHistory*); + virtual void EndOfEvent(G4HCofThisEvent*); private: - G4double fEdep; + G4double fEdep; }; #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm10/include/StackingAction.hh index 5908450de49..a44a9dc687c 100644 --- a/examples/extended/electromagnetic/TestEm10/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/StackingAction.hh @@ -46,11 +46,10 @@ class StackingAction : public G4UserStackingAction public: StackingAction(); ~StackingAction(); - + virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/StepMax.hh b/examples/extended/electromagnetic/TestEm10/include/StepMax.hh index bb55a4a25a6..c652c5c45d3 100644 --- a/examples/extended/electromagnetic/TestEm10/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm10/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -44,36 +44,31 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { -public: + public: + StepMax(const G4String& processName = "UserMaxStep"); + ~StepMax(); - StepMax(const G4String& processName = "UserMaxStep"); - ~StepMax(); + void SetMaxStep(G4double); - void SetMaxStep(G4double); + inline G4double GetMaxStep() { return fMaxChargedStep; }; - inline G4double GetMaxStep() { return fMaxChargedStep; }; + virtual G4bool IsApplicable(const G4ParticleDefinition&); - virtual G4bool IsApplicable(const G4ParticleDefinition&); + virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); + virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*); - virtual G4double - GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*); + private: + G4double fMaxChargedStep; + G4double fProposedStep; -private: - - G4double fMaxChargedStep; - G4double fProposedStep; - - StepMaxMessenger* fMessenger; + StepMaxMessenger* fMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm10/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/StepMaxMessenger.hh index 61e3ca21375..e2d1be7c24f 100644 --- a/examples/extended/electromagnetic/TestEm10/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/StepMaxMessenger.hh @@ -33,26 +33,25 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { -public: - - StepMaxMessenger(StepMax*); - ~StepMaxMessenger(); - - virtual void SetNewValue(G4UIcommand*, G4String); - -private: - StepMax* fStepMax; - G4UIcmdWithADoubleAndUnit* fStepMaxCmd; + public: + StepMaxMessenger(StepMax*); + ~StepMaxMessenger(); + + virtual void SetNewValue(G4UIcommand*, G4String); + + private: + StepMax* fStepMax; + G4UIcmdWithADoubleAndUnit* fStepMaxCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm10/include/TransitionRadiationPhysics.hh b/examples/extended/electromagnetic/TestEm10/include/TransitionRadiationPhysics.hh index e1640b794bf..0764108f75a 100644 --- a/examples/extended/electromagnetic/TestEm10/include/TransitionRadiationPhysics.hh +++ b/examples/extended/electromagnetic/TestEm10/include/TransitionRadiationPhysics.hh @@ -43,38 +43,28 @@ class DetectorConstruction; class TransitionRadiationPhysics : public G4VPhysicsConstructor { -public: - TransitionRadiationPhysics(G4int verb, DetectorConstruction* ptr); - virtual ~TransitionRadiationPhysics(); + public: + TransitionRadiationPhysics(G4int verb, DetectorConstruction* ptr); + virtual ~TransitionRadiationPhysics(); - // This method is dummy for physics - 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(); + // This method is dummy for physics + virtual void ConstructParticle() {}; - inline void SetXTRModel(const G4String& name) { fXTRModel = name; }; + // 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: + inline void SetXTRModel(const G4String& name) { fXTRModel = name; }; - DetectorConstruction* fDetector; - G4int fVerbose; - G4String fXTRModel; - - static G4ThreadLocal G4VXTRenergyLoss* fXTRProcess; + private: + DetectorConstruction* fDetector; + G4int fVerbose; + G4String fXTRModel; + static G4ThreadLocal G4VXTRenergyLoss* fXTRProcess; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm10/include/XTRTransparentRegRadModel.hh b/examples/extended/electromagnetic/TestEm10/include/XTRTransparentRegRadModel.hh index 3f6928aa450..02d8d4f07ae 100644 --- a/examples/extended/electromagnetic/TestEm10/include/XTRTransparentRegRadModel.hh +++ b/examples/extended/electromagnetic/TestEm10/include/XTRTransparentRegRadModel.hh @@ -27,23 +27,22 @@ /// \file electromagnetic/TestEm10/include/XTRTransparentRegRadModel.hh /// \brief Definition of the XTRTransparentRegRadModel class // -// +// /////////////////////////////////////////////////////////////////////////// -// -// Process describing a radiator of X-ray transition radiation. +// +// Process describing a radiator of X-ray transition radiation. // Thicknesses of plates and gas gaps are fixed. // We suppose that: // formation zone ~ mean thickness << absorption length // for each material and in the range 1-100 keV. This allows us to simplify // interference effects in radiator stack (GetStackFactor method). -// -// +// +// // History: // -// 05.04.05 V. Grichine, first version +// 05.04.05 V. Grichine, first version // - #ifndef XTRTransparentRegRadModel_h #define XTRTransparentRegRadModel_h 1 @@ -51,20 +50,19 @@ class XTRTransparentRegRadModel : public G4VXTRenergyLoss { -public: - - XTRTransparentRegRadModel (G4LogicalVolume *anEnvelope,G4Material*,G4Material*, - G4double,G4double,G4int, - const G4String & processName = "XTRTransparentRegRadModel"); - ~XTRTransparentRegRadModel (); + public: + XTRTransparentRegRadModel(G4LogicalVolume* anEnvelope, G4Material*, G4Material*, G4double, + G4double, G4int, + const G4String& processName = "XTRTransparentRegRadModel"); + ~XTRTransparentRegRadModel(); - // reimplementation of base class function in analytical way + // reimplementation of base class function in analytical way - G4double SpectralXTRdEdx(G4double energy); + G4double SpectralXTRdEdx(G4double energy); - // Pure virtual function from base class + // Pure virtual function from base class - G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle); + G4double GetStackFactor(G4double energy, G4double gamma, G4double varAngle); }; #endif diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorALICE06.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorALICE06.cc index b1c4e990eff..0c6305dfdd7 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorALICE06.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorALICE06.cc @@ -31,38 +31,35 @@ // #include "DetectorALICE06.hh" -#include "SensitiveDetector.hh" + #include "Materials.hh" +#include "SensitiveDetector.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4FieldManager.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" - #include "G4Region.hh" - -#include "G4UnitsTable.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4TransportationManager.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" #include "G4ios.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorALICE06::DetectorALICE06() - : fRadiatorDescription(0) -{} +DetectorALICE06::DetectorALICE06() : fRadiatorDescription(0) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorALICE06::~DetectorALICE06() { // delete fRadiatorDescription; - // the description is deleted in detector construction + // the description is deleted in detector construction } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -74,82 +71,78 @@ G4VPhysicalVolume* DetectorALICE06::Construct() G4cout << "DetectorALICE06 setup" << G4endl; - G4double worldSizeZ = 600.*cm; - G4double worldSizeR = 22.*cm; + G4double worldSizeZ = 600. * cm; + G4double worldSizeR = 22. * cm; // Radiator and detector parameters - G4double radThickness = 0.020*mm; - G4double gasGap = 0.500*mm; - G4double foilGasRatio = radThickness/(radThickness+gasGap); - G4int foilNumber = 120; + G4double radThickness = 0.020 * mm; + G4double gasGap = 0.500 * mm; + G4double foilGasRatio = radThickness / (radThickness + gasGap); + G4int foilNumber = 120; - G4double absorberThickness = 37*mm; - G4double absorberRadius = 100.*mm; + G4double absorberThickness = 37 * mm; + G4double absorberRadius = 100. * mm; - G4double electrodeThick = 100.0*micrometer; - G4double pipeLength = 160.0*cm; - G4double mylarThick = 20.0*micrometer; - G4double detGap = 0.01*mm; + G4double electrodeThick = 100.0 * micrometer; + G4double pipeLength = 160.0 * cm; + G4double mylarThick = 20.0 * micrometer; + G4double detGap = 0.01 * mm; - G4double startZ = 100.0*mm; + G4double startZ = 100.0 * mm; // Materials // // Change to create materials using NIST - G4Material* air = Materials::GetInstance()->GetMaterial("Air"); - G4Material* ch2 = Materials::GetInstance()->GetMaterial("CH2"); + G4Material* air = Materials::GetInstance()->GetMaterial("Air"); + G4Material* ch2 = Materials::GetInstance()->GetMaterial("CH2"); G4Material* xe15CO2 = Materials::GetInstance()->GetMaterial("Xe15CO2"); G4double foilDensity = ch2->GetDensity(); - G4double gasDensity = air->GetDensity(); - G4double totDensity = foilDensity*foilGasRatio - + gasDensity*(1.0-foilGasRatio); + G4double gasDensity = air->GetDensity(); + G4double totDensity = foilDensity * foilGasRatio + gasDensity * (1.0 - foilGasRatio); - G4double fractionFoil = foilDensity*foilGasRatio/totDensity; - G4double fractionGas = 1.0 - fractionFoil; + G4double fractionFoil = foilDensity * foilGasRatio / totDensity; + G4double fractionGas = 1.0 - fractionFoil; G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2); radiatorMat->AddMaterial(ch2, fractionFoil); radiatorMat->AddMaterial(air, fractionGas); // Radiator description fRadiatorDescription = new RadiatorDescription; - fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; - fRadiatorDescription->fGasMaterial = air; // CO2; // He; // + fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; + fRadiatorDescription->fGasMaterial = air; // CO2; // He; // fRadiatorDescription->fFoilThickness = radThickness; - fRadiatorDescription->fGasThickness = gasGap; + fRadiatorDescription->fGasThickness = gasGap; fRadiatorDescription->fFoilNumber = foilNumber; - - G4Material* worldMaterial = air; // CO2; + + G4Material* worldMaterial = air; // CO2; G4Material* absorberMaterial = xe15CO2; // Volumes // - - G4VSolid* solidWorld - = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.); - - G4LogicalVolume* logicWorld - = new G4LogicalVolume(solidWorld, worldMaterial, "World"); - G4VPhysicalVolume* physicsWorld - = new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); + G4VSolid* solidWorld = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ / 2.); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, worldMaterial, "World"); + + G4VPhysicalVolume* physicsWorld = + new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); // TR radiator envelope - G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap; - G4double radZ = startZ + 0.5*radThick; + G4double radThick = foilNumber * (radThickness + gasGap) - gasGap + detGap; + G4double radZ = startZ + 0.5 * radThick; + + G4VSolid* solidRadiator = + new G4Box("Radiator", 1.1 * absorberRadius, 1.1 * absorberRadius, 0.5 * radThick); - G4VSolid* solidRadiator - = new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick); + G4LogicalVolume* logicRadiator = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); + + new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), "Radiator", logicRadiator, physicsWorld, false, + 0); - G4LogicalVolume* logicRadiator - = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - - new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), - "Radiator", logicRadiator, physicsWorld, false, 0 ); - fRadiatorDescription->fLogicalVolume = logicRadiator; // Create region for radiator @@ -160,54 +153,52 @@ G4VPhysicalVolume* DetectorALICE06::Construct() // Drift Electrode on both sides of Radiator // (not placed) - G4double zElectrode1 = radZ - radThick/2. - electrodeThick/2.; - G4double zElectrode2 = radZ + radThick/2. + electrodeThick/2.; + G4double zElectrode1 = radZ - radThick / 2. - electrodeThick / 2.; + G4double zElectrode2 = radZ + radThick / 2. + electrodeThick / 2.; - G4cout << "zElectrode1 = " << zElectrode1/mm << " mm" <AddRootLogicalVolume(logicAbsorber); @@ -215,26 +206,23 @@ G4VPhysicalVolume* DetectorALICE06::Construct() // Sensitive Detectors: Absorber SensitiveDetector* sd = new SensitiveDetector("AbsorberSD"); - G4SDManager::GetSDMpointer()->AddNewDetector(sd ); + G4SDManager::GetSDMpointer()->AddNewDetector(sd); logicAbsorber->SetSensitiveDetector(sd); // Print geometry parameters - G4cout << "\n The WORLD is made of " - << worldSizeZ/mm << "mm of " << worldMaterial->GetName(); - G4cout << ", the transverse size (R) of the world is " - << worldSizeR/mm << " mm. " << G4endl; - G4cout << " The ABSORBER is made of " - << absorberThickness/mm << "mm of " << absorberMaterial->GetName(); - G4cout << ", the transverse size (R) is " - << absorberRadius/mm << " mm. " << G4endl; - G4cout << " Z position of the (middle of the) absorber " - << absorberZ/mm << " mm." << G4endl; - - G4cout << "radZ = " << radZ/mm << " mm" << G4endl; - G4cout << "startZ = " << startZ/mm<< " mm" << G4endl; - - G4cout << "fRadThick = " << radThick/mm << " mm"<GetName(); + G4cout << ", the transverse size (R) of the world is " << worldSizeR / mm << " mm. " << G4endl; + G4cout << " The ABSORBER is made of " << absorberThickness / mm << "mm of " + << absorberMaterial->GetName(); + G4cout << ", the transverse size (R) is " << absorberRadius / mm << " mm. " << G4endl; + G4cout << " Z position of the (middle of the) absorber " << absorberZ / mm << " mm." << G4endl; + + G4cout << "radZ = " << radZ / mm << " mm" << G4endl; + G4cout << "startZ = " << startZ / mm << " mm" << G4endl; + + G4cout << "fRadThick = " << radThick / mm << " mm" << G4endl; G4cout << "fFoilNumber = " << foilNumber << G4endl; G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl; G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl; diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorBari05.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorBari05.cc index 6a783c8ad83..c1536789968 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorBari05.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorBari05.cc @@ -31,36 +31,33 @@ // #include "DetectorBari05.hh" -#include "SensitiveDetector.hh" + #include "Materials.hh" +#include "SensitiveDetector.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4FieldManager.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" - #include "G4Region.hh" - -#include "G4UnitsTable.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4TransportationManager.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorBari05::DetectorBari05() - : fRadiatorDescription(0) -{} +DetectorBari05::DetectorBari05() : fRadiatorDescription(0) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorBari05::~DetectorBari05() { // delete fRadiatorDescription; - // the description is deleted in detector construction + // the description is deleted in detector construction } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -72,99 +69,93 @@ G4VPhysicalVolume* DetectorBari05::Construct() G4cout << "DetectorBari05 setup" << G4endl; - G4double worldSizeZ = 600.*cm; - G4double worldSizeR = 22.*cm; + G4double worldSizeZ = 600. * cm; + G4double worldSizeR = 22. * cm; // Radiator and detector parameters - G4double radThickness = 0.0055*mm; // Reg2 - G4double gasGap = 0.23*mm; // Reg2 - G4double foilGasRatio = radThickness/(radThickness+gasGap); - G4double foilNumber = 191; // Reg2 + G4double radThickness = 0.0055 * mm; // Reg2 + G4double gasGap = 0.23 * mm; // Reg2 + G4double foilGasRatio = radThickness / (radThickness + gasGap); + G4double foilNumber = 191; // Reg2 - G4double absorberThickness = 0.4*mm; - G4double absorberRadius = 100.*mm; + G4double absorberThickness = 0.4 * mm; + G4double absorberRadius = 100. * mm; - G4double electrodeThick = 100.0*micrometer; - G4double pipeLength = 50.0*cm; - G4double mylarThick = 20.0*micrometer; - G4double detGap = 0.01*mm; + G4double electrodeThick = 100.0 * micrometer; + G4double pipeLength = 50.0 * cm; + G4double mylarThick = 20.0 * micrometer; + G4double detGap = 0.01 * mm; - G4double startZ = 100.0*mm; + G4double startZ = 100.0 * mm; // Preparation of mixed radiator material - // Materials // // Change to create materials using NIST - G4Material* air = Materials::GetInstance()->GetMaterial("Air"); - G4Material* ch2 = Materials::GetInstance()->GetMaterial("CH2"); - G4Material* he = Materials::GetInstance()->GetMaterial("He"); - G4Material* si = Materials::GetInstance()->GetMaterial("Si"); - - G4double foilDensity = ch2->GetDensity(); - G4double gasDensity = air->GetDensity(); - G4double totDensity = foilDensity*foilGasRatio - + gasDensity*(1.0-foilGasRatio); - - G4double fractionFoil = foilDensity*foilGasRatio/totDensity; - G4double fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity; + G4Material* air = Materials::GetInstance()->GetMaterial("Air"); + G4Material* ch2 = Materials::GetInstance()->GetMaterial("CH2"); + G4Material* he = Materials::GetInstance()->GetMaterial("He"); + G4Material* si = Materials::GetInstance()->GetMaterial("Si"); + + G4double foilDensity = ch2->GetDensity(); + G4double gasDensity = air->GetDensity(); + G4double totDensity = foilDensity * foilGasRatio + gasDensity * (1.0 - foilGasRatio); + + G4double fractionFoil = foilDensity * foilGasRatio / totDensity; + G4double fractionGas = gasDensity * (1.0 - foilGasRatio) / totDensity; G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2); radiatorMat->AddMaterial(ch2, fractionFoil); radiatorMat->AddMaterial(air, fractionGas); // Radiator description fRadiatorDescription = new RadiatorDescription; - fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; - fRadiatorDescription->fGasMaterial = air; // CO2; // He; // + fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; + fRadiatorDescription->fGasMaterial = air; // CO2; // He; // fRadiatorDescription->fFoilThickness = radThickness; - fRadiatorDescription->fGasThickness = gasGap; + fRadiatorDescription->fGasThickness = gasGap; fRadiatorDescription->fFoilNumber = foilNumber; // pipe material is assumed to be He + small admixture of air foilGasRatio = 0.99999; - foilDensity = 1.2928*mg/cm3; // Air - gasDensity = 0.178*mg/cm3; // He - totDensity = foilDensity*foilGasRatio + gasDensity*(1.0-foilGasRatio); + foilDensity = 1.2928 * mg / cm3; // Air + gasDensity = 0.178 * mg / cm3; // He + totDensity = foilDensity * foilGasRatio + gasDensity * (1.0 - foilGasRatio); - fractionFoil = foilDensity*foilGasRatio/totDensity; - fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity; + fractionFoil = foilDensity * foilGasRatio / totDensity; + fractionGas = gasDensity * (1.0 - foilGasRatio) / totDensity; G4Material* pipeMat = new G4Material("pipeMat", totDensity, 2); pipeMat->AddMaterial(air, fractionFoil); pipeMat->AddMaterial(he, fractionGas); - - G4Material* worldMaterial = air; // CO2; + G4Material* worldMaterial = air; // CO2; G4Material* absorberMaterial = si; // Volumes // - - G4VSolid* solidWorld - = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.); - - G4LogicalVolume* logicWorld - = new G4LogicalVolume(solidWorld, worldMaterial, "World"); - G4VPhysicalVolume* physicsWorld - = new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); + G4VSolid* solidWorld = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ / 2.); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, worldMaterial, "World"); + + G4VPhysicalVolume* physicsWorld = + new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); // TR radiator envelope - G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap; - G4double radZ = startZ + 0.5*radThick; + G4double radThick = foilNumber * (radThickness + gasGap) - gasGap + detGap; + G4double radZ = startZ + 0.5 * radThick; - G4VSolid* solidRadiator - = new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick); + G4VSolid* solidRadiator = + new G4Box("Radiator", 1.1 * absorberRadius, 1.1 * absorberRadius, 0.5 * radThick); - G4LogicalVolume* logicRadiator - = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - - new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), - "Radiator", logicRadiator, physicsWorld, false, 0 ); + G4LogicalVolume* logicRadiator = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); + + new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), "Radiator", logicRadiator, physicsWorld, false, + 0); fRadiatorDescription->fLogicalVolume = logicRadiator; @@ -176,53 +167,51 @@ G4VPhysicalVolume* DetectorBari05::Construct() // Drift Electrode on both sides of Radiator: // (not placed) - G4double zElectrode1 = radZ - radThick/2. - electrodeThick/2.; - G4double zElectrode2 = radZ + radThick/2. + electrodeThick/2.; + G4double zElectrode1 = radZ - radThick / 2. - electrodeThick / 2.; + G4double zElectrode2 = radZ + radThick / 2. + electrodeThick / 2.; - G4cout << "zElectrode1 = " << zElectrode1/mm << " mm" << G4endl; - G4cout << "zElectrode2 = " << zElectrode2/mm << " mm" << G4endl; - G4cout << "electrodeThick = " << electrodeThick/mm << " mm" << G4endl << G4endl; + G4cout << "zElectrode1 = " << zElectrode1 / mm << " mm" << G4endl; + G4cout << "zElectrode2 = " << zElectrode2 / mm << " mm" << G4endl; + G4cout << "electrodeThick = " << electrodeThick / mm << " mm" << G4endl << G4endl; // Helium Pipe // (not placed) - G4double pipeDist = 1.*cm; //Distance between pipe and radiator / absorber - G4double zPipe = zElectrode2 + electrodeThick/2. + pipeLength/2. + pipeDist/2.; + G4double pipeDist = 1. * cm; // Distance between pipe and radiator / absorber + G4double zPipe = zElectrode2 + electrodeThick / 2. + pipeLength / 2. + pipeDist / 2.; - G4cout << "zPipe = " << zPipe/mm << " mm" << G4endl; - G4cout << "pipeLength = " << pipeLength/mm << " mm" << G4endl << G4endl; + G4cout << "zPipe = " << zPipe / mm << " mm" << G4endl; + G4cout << "pipeLength = " << pipeLength / mm << " mm" << G4endl << G4endl; // Mylar Foil on both sides of helium pipe // (not placed) - G4double zMylar1 = zPipe - pipeLength/2. - mylarThick/2 - 0.01*mm; - G4double zMylar2 = zPipe + pipeLength/2. + mylarThick/2 + 0.01*mm; + G4double zMylar1 = zPipe - pipeLength / 2. - mylarThick / 2 - 0.01 * mm; + G4double zMylar2 = zPipe + pipeLength / 2. + mylarThick / 2 + 0.01 * mm; + + G4cout << "zMylar1 = " << zMylar1 / mm << " mm" << G4endl; + G4cout << "zMylar2 = " << zMylar2 / mm << " mm" << G4endl; + G4cout << "fMylarThick = " << mylarThick / mm << " mm" << G4endl << G4endl; - G4cout << "zMylar1 = " << zMylar1/mm << " mm" << G4endl; - G4cout << "zMylar2 = " << zMylar2/mm << " mm" << G4endl; - G4cout << "fMylarThick = " << mylarThick/mm << " mm" << G4endl << G4endl; - // Mylar Foil on Chamber // (not placed) - G4double zMylar = zElectrode2 + electrodeThick/2. + mylarThick/2. + 1.0*mm; - zMylar += ( pipeLength + pipeDist ); - - G4cout << "zMylar = " << zMylar/mm <<" mm" <AddNewDetector(sd ); + G4SDManager::GetSDMpointer()->AddNewDetector(sd); logicAbsorber->SetSensitiveDetector(sd); // Print geometry parameters - G4cout << "\n The WORLD is made of " - << worldSizeZ/mm << "mm of " << worldMaterial->GetName(); - G4cout << ", the transverse size (R) of the world is " - << worldSizeR/mm << " mm. " << G4endl; - G4cout << " The ABSORBER is made of " - << absorberThickness/mm << "mm of " << absorberMaterial->GetName(); - G4cout << ", the transverse size (R) is " - << absorberRadius/mm << " mm. " << G4endl; - G4cout << " Z position of the (middle of the) absorber " - << absorberZ/mm << " mm." << G4endl; - - G4cout << "radZ = " << radZ/mm << " mm" << G4endl; - G4cout << "startZ = " << startZ/mm<< " mm" << G4endl; - - G4cout << "fRadThick = " << radThick/mm << " mm"<GetName(); + G4cout << ", the transverse size (R) of the world is " << worldSizeR / mm << " mm. " << G4endl; + G4cout << " The ABSORBER is made of " << absorberThickness / mm << "mm of " + << absorberMaterial->GetName(); + G4cout << ", the transverse size (R) is " << absorberRadius / mm << " mm. " << G4endl; + G4cout << " Z position of the (middle of the) absorber " << absorberZ / mm << " mm." << G4endl; + + G4cout << "radZ = " << radZ / mm << " mm" << G4endl; + G4cout << "startZ = " << startZ / mm << " mm" << G4endl; + + G4cout << "fRadThick = " << radThick / mm << " mm" << G4endl; G4cout << "fFoilNumber = " << foilNumber << G4endl; G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl; G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl; diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorBarr90.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorBarr90.cc index 43c7555972a..cfa4f7079b9 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorBarr90.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorBarr90.cc @@ -31,36 +31,33 @@ // #include "DetectorBarr90.hh" -#include "SensitiveDetector.hh" + #include "Materials.hh" +#include "SensitiveDetector.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4FieldManager.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" - #include "G4Region.hh" - -#include "G4UnitsTable.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4TransportationManager.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorBarr90::DetectorBarr90() - : fRadiatorDescription(0) -{} +DetectorBarr90::DetectorBarr90() : fRadiatorDescription(0) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorBarr90::~DetectorBarr90() { // delete fRadiatorDescription; - // the description is deleted in detector construction + // the description is deleted in detector construction } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -72,26 +69,26 @@ G4VPhysicalVolume* DetectorBarr90::Construct() G4cout << "DetectorBarr90 setup" << G4endl; - G4double worldSizeZ = 400.*cm; - G4double worldSizeR = 20.*cm; + G4double worldSizeZ = 400. * cm; + G4double worldSizeR = 20. * cm; // Radiator and detector parameters - G4double radThickness = 0.019*mm; - G4double gasGap = 0.6*mm; - G4double foilGasRatio = radThickness/(radThickness+gasGap); - G4double foilNumber = 350; + G4double radThickness = 0.019 * mm; + G4double gasGap = 0.6 * mm; + G4double foilGasRatio = radThickness / (radThickness + gasGap); + G4double foilNumber = 350; + + G4double absorberThickness = 50.0 * mm; + G4double absorberRadius = 100. * mm; - G4double absorberThickness = 50.0*mm; - G4double absorberRadius = 100.*mm; + G4double electrodeThick = 10.0 * micrometer; + G4double windowThick = 51.0 * micrometer; + G4double gapThick = 10.0 * cm; + G4double detGap = 0.01 * mm; - G4double electrodeThick = 10.0*micrometer; - G4double windowThick = 51.0*micrometer; - G4double gapThick = 10.0*cm; - G4double detGap = 0.01*mm; + G4double startZ = 100.0 * mm; - G4double startZ = 100.0*mm; - // Materials // @@ -102,52 +99,48 @@ G4VPhysicalVolume* DetectorBarr90::Construct() G4Material* xe55he15ch4 = Materials::GetInstance()->GetMaterial("Xe55He15CH4"); G4double foilDensity = ch2->GetDensity(); - G4double gasDensity = co2->GetDensity(); - G4double totDensity = foilDensity*foilGasRatio - + gasDensity*(1.0-foilGasRatio); + G4double gasDensity = co2->GetDensity(); + G4double totDensity = foilDensity * foilGasRatio + gasDensity * (1.0 - foilGasRatio); - G4double fractionFoil = foilDensity*foilGasRatio/totDensity; - G4double fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity; + G4double fractionFoil = foilDensity * foilGasRatio / totDensity; + G4double fractionGas = gasDensity * (1.0 - foilGasRatio) / totDensity; G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2); radiatorMat->AddMaterial(ch2, fractionFoil); radiatorMat->AddMaterial(co2, fractionGas); // Radiator description fRadiatorDescription = new RadiatorDescription; - fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; - fRadiatorDescription->fGasMaterial = co2; // CO2; // He; // + fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; + fRadiatorDescription->fGasMaterial = co2; // CO2; // He; // fRadiatorDescription->fFoilThickness = radThickness; - fRadiatorDescription->fGasThickness = gasGap; + fRadiatorDescription->fGasThickness = gasGap; fRadiatorDescription->fFoilNumber = foilNumber; - G4Material* worldMaterial = air; // CO2; + G4Material* worldMaterial = air; // CO2; G4Material* absorberMaterial = xe55he15ch4; // Volumes // - - G4VSolid* solidWorld - = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.); - - G4LogicalVolume* logicWorld - = new G4LogicalVolume(solidWorld, worldMaterial, "World"); - G4VPhysicalVolume* physicsWorld - = new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); + G4VSolid* solidWorld = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ / 2.); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, worldMaterial, "World"); + + G4VPhysicalVolume* physicsWorld = + new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); // TR radiator envelope - G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap; - G4double radZ = startZ + 0.5*radThick; + G4double radThick = foilNumber * (radThickness + gasGap) - gasGap + detGap; + G4double radZ = startZ + 0.5 * radThick; + + G4VSolid* solidRadiator = + new G4Box("Radiator", 1.1 * absorberRadius, 1.1 * absorberRadius, 0.5 * radThick); - G4VSolid* solidRadiator - = new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick); + G4LogicalVolume* logicRadiator = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - G4LogicalVolume* logicRadiator - = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - - new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), - "Radiator", logicRadiator, physicsWorld, false, 0 ); + new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), "Radiator", logicRadiator, physicsWorld, false, + 0); fRadiatorDescription->fLogicalVolume = logicRadiator; @@ -156,25 +149,23 @@ G4VPhysicalVolume* DetectorBarr90::Construct() G4Region* radRegion = new G4Region("XTRradiator"); radRegion->AddRootLogicalVolume(logicRadiator); - G4double windowZ = startZ + radThick + windowThick/2. + 15.0*mm; + G4double windowZ = startZ + radThick + windowThick / 2. + 15.0 * mm; - G4double gapZ = windowZ + windowThick/2. + gapThick/2. + 0.01*mm; + G4double gapZ = windowZ + windowThick / 2. + gapThick / 2. + 0.01 * mm; - G4double electrodeZ = gapZ + gapThick/2. + electrodeThick/2. + 0.01*mm; + G4double electrodeZ = gapZ + gapThick / 2. + electrodeThick / 2. + 0.01 * mm; // Absorber - G4double absorberZ = electrodeZ + electrodeThick/2. + - + absorberThickness/2. + 0.01*mm; + G4double absorberZ = electrodeZ + electrodeThick / 2. + +absorberThickness / 2. + 0.01 * mm; - G4VSolid* solidAbsorber - = new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness/2.); + G4VSolid* solidAbsorber = + new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness / 2.); - G4LogicalVolume* logicAbsorber - = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); + G4LogicalVolume* logicAbsorber = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); - new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), - "Absorber", logicAbsorber, physicsWorld, false, 0); + new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), "Absorber", logicAbsorber, physicsWorld, + false, 0); G4Region* regGasDet = new G4Region("XTRdEdxDetector"); regGasDet->AddRootLogicalVolume(logicAbsorber); @@ -182,26 +173,23 @@ G4VPhysicalVolume* DetectorBarr90::Construct() // Sensitive Detectors: Absorber SensitiveDetector* sd = new SensitiveDetector("AbsorberSD"); - G4SDManager::GetSDMpointer()->AddNewDetector(sd ); + G4SDManager::GetSDMpointer()->AddNewDetector(sd); logicAbsorber->SetSensitiveDetector(sd); // Print geometry parameters - G4cout << "\n The WORLD is made of " - << worldSizeZ/mm << "mm of " << worldMaterial->GetName(); - G4cout << ", the transverse size (R) of the world is " - << worldSizeR/mm << " mm. " << G4endl; - G4cout << " The ABSORBER is made of " - << absorberThickness/mm << "mm of " << absorberMaterial->GetName(); - G4cout << ", the transverse size (R) is " - << absorberRadius/mm << " mm. " << G4endl; - G4cout << " Z position of the (middle of the) absorber " - << absorberZ/mm << " mm." << G4endl; - - G4cout << "radZ = " << radZ/mm << " mm" << G4endl; - G4cout << "startZ = " << startZ/mm<< " mm" << G4endl; - - G4cout << "fRadThick = " << radThick/mm << " mm"<GetName(); + G4cout << ", the transverse size (R) of the world is " << worldSizeR / mm << " mm. " << G4endl; + G4cout << " The ABSORBER is made of " << absorberThickness / mm << "mm of " + << absorberMaterial->GetName(); + G4cout << ", the transverse size (R) is " << absorberRadius / mm << " mm. " << G4endl; + G4cout << " Z position of the (middle of the) absorber " << absorberZ / mm << " mm." << G4endl; + + G4cout << "radZ = " << radZ / mm << " mm" << G4endl; + G4cout << "startZ = " << startZ / mm << " mm" << G4endl; + + G4cout << "fRadThick = " << radThick / mm << " mm" << G4endl; G4cout << "fFoilNumber = " << foilNumber << G4endl; G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl; G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl; @@ -211,4 +199,3 @@ G4VPhysicalVolume* DetectorBarr90::Construct() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorConstruction.cc index 176ce7d55bc..02c3d9f68d8 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorConstruction.cc @@ -31,30 +31,28 @@ // #include "DetectorConstruction.hh" -#include "DetectorSimpleALICE.hh" + #include "DetectorALICE06.hh" #include "DetectorBari05.hh" -#include "DetectorHarris73.hh" -#include "DetectorWatase86.hh" #include "DetectorBarr90.hh" +#include "DetectorHarris73.hh" #include "DetectorMessenger.hh" +#include "DetectorSimpleALICE.hh" +#include "DetectorWatase86.hh" #include "Materials.hh" -#include "G4Region.hh" -#include "G4RegionStore.hh" -#include "G4ProductionCuts.hh" -#include "G4LogicalVolumeStore.hh" #include "G4LogicalVolume.hh" -#include "G4ios.hh" - +#include "G4LogicalVolumeStore.hh" +#include "G4ProductionCuts.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" #include "G4SystemOfUnits.hh" +#include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() - :G4VUserDetectorConstruction(), - fRadiatorDescription(0), - fSetUp("simpleALICE") + : G4VUserDetectorConstruction(), fRadiatorDescription(0), fSetUp("simpleALICE") { fDetectorMessenger = new DetectorMessenger(this); } @@ -73,63 +71,55 @@ DetectorConstruction::~DetectorConstruction() G4VPhysicalVolume* DetectorConstruction::Construct() { G4VPhysicalVolume* world = nullptr; - if( fSetUp == "simpleALICE" ) - { - DetectorSimpleALICE simpleALICE; + if (fSetUp == "simpleALICE") { + DetectorSimpleALICE simpleALICE; world = simpleALICE.Construct(); fRadiatorDescription = simpleALICE.GetRadiatorDescription(); } - else if( fSetUp == "alice06" ) - { - DetectorALICE06 alice06; + else if (fSetUp == "alice06") { + DetectorALICE06 alice06; world = alice06.Construct(); fRadiatorDescription = alice06.GetRadiatorDescription(); } - else if( fSetUp == "bari05" ) - { - DetectorBari05 bari05; + else if (fSetUp == "bari05") { + DetectorBari05 bari05; world = bari05.Construct(); fRadiatorDescription = bari05.GetRadiatorDescription(); } - else if( fSetUp == "harris73" ) - { - DetectorHarris73 harris73; + else if (fSetUp == "harris73") { + DetectorHarris73 harris73; world = harris73.Construct(); fRadiatorDescription = harris73.GetRadiatorDescription(); } - else if( fSetUp == "watase86" ) - { - DetectorWatase86 watase86; + else if (fSetUp == "watase86") { + DetectorWatase86 watase86; world = watase86.Construct(); fRadiatorDescription = watase86.GetRadiatorDescription(); } - else if( fSetUp == "barr90" ) - { - DetectorBarr90 barr90; + else if (fSetUp == "barr90") { + DetectorBarr90 barr90; world = barr90.Construct(); fRadiatorDescription = barr90.GetRadiatorDescription(); } - else - { - G4cout << "Experimental setup is unsupported. Check /XTRdetector/setup " - <size(); - G4double cut = 1.*CLHEP::mm; - for(size_t i=0; iGetProductionCuts()) { + if (!reg->GetProductionCuts()) { G4ProductionCuts* cuts = new G4ProductionCuts(); - cuts->SetProductionCut(cut,"gamma"); - cuts->SetProductionCut(cut,"e-"); - cuts->SetProductionCut(cut,"e+"); - cuts->SetProductionCut(cut,"proton"); + cuts->SetProductionCut(cut, "gamma"); + cuts->SetProductionCut(cut, "e-"); + cuts->SetProductionCut(cut, "e+"); + cuts->SetProductionCut(cut, "proton"); reg->SetProductionCuts(cuts); } } @@ -140,7 +130,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct() RadiatorDescription* DetectorConstruction::GetRadiatorDescription() const { - if ( ! fRadiatorDescription ) { + if (!fRadiatorDescription) { G4cout << "RadiatorDescription is not defined" << G4endl; } return fRadiatorDescription; @@ -150,10 +140,9 @@ RadiatorDescription* DetectorConstruction::GetRadiatorDescription() const G4Material* DetectorConstruction::GetAbsorberMaterial() const { - G4LogicalVolume* lv - = G4LogicalVolumeStore::GetInstance()->GetVolume("Absorber"); + G4LogicalVolume* lv = G4LogicalVolumeStore::GetInstance()->GetVolume("Absorber"); - if ( ! lv ) { + if (!lv) { G4cerr << "Absorber logical volume is not defined." << G4endl; return 0; } @@ -162,4 +151,3 @@ G4Material* DetectorConstruction::GetAbsorberMaterial() const } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorHarris73.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorHarris73.cc index dc6d6e5f51f..99c1f88a6bb 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorHarris73.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorHarris73.cc @@ -31,36 +31,33 @@ // #include "DetectorHarris73.hh" -#include "SensitiveDetector.hh" + #include "Materials.hh" +#include "SensitiveDetector.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4FieldManager.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" - #include "G4Region.hh" - -#include "G4UnitsTable.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4TransportationManager.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorHarris73::DetectorHarris73() - : fRadiatorDescription(0) -{} +DetectorHarris73::DetectorHarris73() : fRadiatorDescription(0) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorHarris73::~DetectorHarris73() { // delete fRadiatorDescription; - // the description is deleted in detector construction + // the description is deleted in detector construction } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -72,110 +69,104 @@ G4VPhysicalVolume* DetectorHarris73::Construct() G4cout << "DetectorHarris73 setup" << G4endl; - G4double worldSizeZ = 400.*cm; - G4double worldSizeR = 20.*cm; + G4double worldSizeZ = 400. * cm; + G4double worldSizeR = 20. * cm; // Radiator and detector parameters - G4double radThickness = 0.0127*mm; - G4double gasGap = 0.762*mm; - G4double foilGasRatio = radThickness/(radThickness+gasGap); - G4double foilNumber = 100; + G4double radThickness = 0.0127 * mm; + G4double gasGap = 0.762 * mm; + G4double foilGasRatio = radThickness / (radThickness + gasGap); + G4double foilNumber = 100; - G4double absorberThickness = 15.0*mm; - G4double absorberRadius = 100.*mm; + G4double absorberThickness = 15.0 * mm; + G4double absorberRadius = 100. * mm; - G4double windowThick = 51.0*micrometer; - G4double electrodeThick = 10.0*micrometer; - G4double gapThick = 10.0*cm; - G4double detGap = 0.01*mm; + G4double windowThick = 51.0 * micrometer; + G4double electrodeThick = 10.0 * micrometer; + G4double gapThick = 10.0 * cm; + G4double detGap = 0.01 * mm; - G4double startZ = 100.0*mm; + G4double startZ = 100.0 * mm; // Materials // // Change to create materials using NIST - G4Material* air = Materials::GetInstance()->GetMaterial("Air"); + G4Material* air = Materials::GetInstance()->GetMaterial("Air"); G4Material* mylar = Materials::GetInstance()->GetMaterial("Mylar"); G4Material* kr7ch4 = Materials::GetInstance()->GetMaterial("Kr7CH4"); - // Preparation of mixed radiator material + // Preparation of mixed radiator material G4double foilDensity = mylar->GetDensity(); - G4double gasDensity = air->GetDensity(); - G4double totDensity = foilDensity*foilGasRatio - + gasDensity*(1.0-foilGasRatio); + G4double gasDensity = air->GetDensity(); + G4double totDensity = foilDensity * foilGasRatio + gasDensity * (1.0 - foilGasRatio); - G4double fractionFoil = foilDensity*foilGasRatio/totDensity; - G4double fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity; + G4double fractionFoil = foilDensity * foilGasRatio / totDensity; + G4double fractionGas = gasDensity * (1.0 - foilGasRatio) / totDensity; G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2); radiatorMat->AddMaterial(mylar, fractionFoil); radiatorMat->AddMaterial(air, fractionGas); // Radiator description fRadiatorDescription = new RadiatorDescription; - fRadiatorDescription->fFoilMaterial = mylar; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; - fRadiatorDescription->fGasMaterial = air; // CO2; // He; // + fRadiatorDescription->fFoilMaterial = mylar; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; + fRadiatorDescription->fGasMaterial = air; // CO2; // He; // fRadiatorDescription->fFoilThickness = radThickness; - fRadiatorDescription->fGasThickness = gasGap; + fRadiatorDescription->fGasThickness = gasGap; fRadiatorDescription->fFoilNumber = foilNumber; - G4Material* worldMaterial = air; // CO2; + G4Material* worldMaterial = air; // CO2; G4Material* absorberMaterial = kr7ch4; // Volumes // - - G4VSolid* solidWorld - = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.); - - G4LogicalVolume* logicWorld - = new G4LogicalVolume(solidWorld, worldMaterial, "World"); - G4VPhysicalVolume* physicsWorld - = new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); + G4VSolid* solidWorld = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ / 2.); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, worldMaterial, "World"); + + G4VPhysicalVolume* physicsWorld = + new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); // TR radiator envelope - G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap; - G4double radZ = startZ + 0.5*radThick; + G4double radThick = foilNumber * (radThickness + gasGap) - gasGap + detGap; + G4double radZ = startZ + 0.5 * radThick; + + G4VSolid* solidRadiator = + new G4Box("Radiator", 1.1 * absorberRadius, 1.1 * absorberRadius, 0.5 * radThick); - G4VSolid* solidRadiator - = new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick); + G4LogicalVolume* logicRadiator = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - G4LogicalVolume* logicRadiator - = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - fRadiatorDescription->fLogicalVolume = logicRadiator; - - new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), - "Radiator", logicRadiator, physicsWorld, false, 0 ); + + new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), "Radiator", logicRadiator, physicsWorld, false, + 0); // create region for radiator G4Region* radRegion = new G4Region("XTRradiator"); radRegion->AddRootLogicalVolume(logicRadiator); - G4double windowZ = startZ + radThick + windowThick/2. + 15.0*mm; + G4double windowZ = startZ + radThick + windowThick / 2. + 15.0 * mm; - G4double gapZ = windowZ + windowThick/2. + gapThick/2. + 0.01*mm; + G4double gapZ = windowZ + windowThick / 2. + gapThick / 2. + 0.01 * mm; - G4double electrodeZ = gapZ + gapThick/2. + electrodeThick/2. + 0.01*mm; + G4double electrodeZ = gapZ + gapThick / 2. + electrodeThick / 2. + 0.01 * mm; // Absorber - G4double absorberZ = electrodeZ + electrodeThick/2. - + absorberThickness/2. + 0.01*mm; + G4double absorberZ = electrodeZ + electrodeThick / 2. + absorberThickness / 2. + 0.01 * mm; - G4VSolid* solidAbsorber - = new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness/2.); + G4VSolid* solidAbsorber = + new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness / 2.); - G4LogicalVolume* logicAbsorber - = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); + G4LogicalVolume* logicAbsorber = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); - new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), - "Absorber", logicAbsorber, physicsWorld, false, 0); + new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), "Absorber", logicAbsorber, physicsWorld, + false, 0); G4Region* regGasDet = new G4Region("XTRdEdxDetector"); regGasDet->AddRootLogicalVolume(logicAbsorber); @@ -183,26 +174,23 @@ G4VPhysicalVolume* DetectorHarris73::Construct() // Sensitive Detectors: Absorber SensitiveDetector* sd = new SensitiveDetector("AbsorberSD"); - G4SDManager::GetSDMpointer()->AddNewDetector(sd ); + G4SDManager::GetSDMpointer()->AddNewDetector(sd); logicAbsorber->SetSensitiveDetector(sd); // Print geometry parameters - G4cout << "\n The WORLD is made of " - << worldSizeZ/mm << "mm of " << worldMaterial->GetName(); - G4cout << ", the transverse size (R) of the world is " - << worldSizeR/mm << " mm. " << G4endl; - G4cout << " The ABSORBER is made of " - << absorberThickness/mm << "mm of " << absorberMaterial->GetName(); - G4cout << ", the transverse size (R) is " - << absorberRadius/mm << " mm. " << G4endl; - G4cout << " Z position of the (middle of the) absorber " - << absorberZ/mm << " mm." << G4endl; - - G4cout << "radZ = " << radZ/mm << " mm" << G4endl; - G4cout << "startZ = " << startZ/mm<< " mm" << G4endl; - - G4cout << "fRadThick = " << radThick/mm << " mm"<GetName(); + G4cout << ", the transverse size (R) of the world is " << worldSizeR / mm << " mm. " << G4endl; + G4cout << " The ABSORBER is made of " << absorberThickness / mm << "mm of " + << absorberMaterial->GetName(); + G4cout << ", the transverse size (R) is " << absorberRadius / mm << " mm. " << G4endl; + G4cout << " Z position of the (middle of the) absorber " << absorberZ / mm << " mm." << G4endl; + + G4cout << "radZ = " << radZ / mm << " mm" << G4endl; + G4cout << "startZ = " << startZ / mm << " mm" << G4endl; + + G4cout << "fRadThick = " << radThick / mm << " mm" << G4endl; G4cout << "fFoilNumber = " << foilNumber << G4endl; G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl; G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl; @@ -212,4 +200,3 @@ G4VPhysicalVolume* DetectorHarris73::Construct() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorMessenger.cc index 025ebe13b94..3c90690bb48 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorMessenger.cc @@ -28,25 +28,24 @@ // // // -// +// #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorMessenger::DetectorMessenger(DetectorConstruction* detector) - : G4UImessenger(), - fDetector(detector), - fDirectory(0) -{ + : G4UImessenger(), fDetector(detector), fDirectory(0) +{ fDirectory = new G4UIdirectory("/XTRdetector/"); fDirectory->SetGuidance(" detector control."); - - fDetectorSetUpCmd = new G4UIcmdWithAString("/XTRdetector/setup",this); + + fDetectorSetUpCmd = new G4UIcmdWithAString("/XTRdetector/setup", this); fDetectorSetUpCmd->SetGuidance("Select setup for comparison with experiment"); fDetectorSetUpCmd->SetParameterName("choice", true); fDetectorSetUpCmd->SetDefaultValue("simpleALICE"); @@ -58,15 +57,15 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction* detector) DetectorMessenger::~DetectorMessenger() { - delete fDetectorSetUpCmd; + delete fDetectorSetUpCmd; delete fDirectory; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if ( command == fDetectorSetUpCmd ) { +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fDetectorSetUpCmd) { fDetector->SetDetectorSetUp(newValue); } } diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorSimpleALICE.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorSimpleALICE.cc index 88b8a966297..18ac8524989 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorSimpleALICE.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorSimpleALICE.cc @@ -31,36 +31,33 @@ // #include "DetectorSimpleALICE.hh" -#include "SensitiveDetector.hh" + #include "Materials.hh" +#include "SensitiveDetector.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4FieldManager.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" - #include "G4Region.hh" - -#include "G4UnitsTable.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4TransportationManager.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorSimpleALICE::DetectorSimpleALICE() - : fRadiatorDescription(0) -{} +DetectorSimpleALICE::DetectorSimpleALICE() : fRadiatorDescription(0) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorSimpleALICE::~DetectorSimpleALICE() { // delete fRadiatorDescription; - // the description is deleted in detector construction + // the description is deleted in detector construction } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -72,41 +69,40 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct() G4cout << "DetectorSimpleALICE setup" << G4endl; - G4double worldSizeZ = 400.*cm; - G4double worldSizeR = 20.*cm; + G4double worldSizeZ = 400. * cm; + G4double worldSizeR = 20. * cm; // Radiator and detector parameters - G4double radThickness = 0.020*mm; - G4double gasGap = 0.250*mm; - G4double foilGasRatio = radThickness/(radThickness+gasGap); - G4int foilNumber = 220; + G4double radThickness = 0.020 * mm; + G4double gasGap = 0.250 * mm; + G4double foilGasRatio = radThickness / (radThickness + gasGap); + G4int foilNumber = 220; - G4double absorberThickness = 38.3*mm; - G4double absorberRadius = 100.*mm; + G4double absorberThickness = 38.3 * mm; + G4double absorberRadius = 100. * mm; - G4double windowThick = 51.0*micrometer; - G4double electrodeThick = 10.0*micrometer; - G4double gapThick = 10.0*cm; - G4double detGap = 0.01*mm; + G4double windowThick = 51.0 * micrometer; + G4double electrodeThick = 10.0 * micrometer; + G4double gapThick = 10.0 * cm; + G4double detGap = 0.01 * mm; - G4double startZ = 100.0*mm; + G4double startZ = 100.0 * mm; // Materials // // Change to create materials using NIST - G4Material* air = Materials::GetInstance()->GetMaterial("Air"); + G4Material* air = Materials::GetInstance()->GetMaterial("Air"); G4Material* mylar = Materials::GetInstance()->GetMaterial("Mylar"); G4Material* xe15CO2 = Materials::GetInstance()->GetMaterial("Xe15CO2"); G4double foilDensity = mylar->GetDensity(); - G4double gasDensity = air->GetDensity(); - G4double totDensity = foilDensity*foilGasRatio - + gasDensity*(1.0-foilGasRatio); + G4double gasDensity = air->GetDensity(); + G4double totDensity = foilDensity * foilGasRatio + gasDensity * (1.0 - foilGasRatio); - G4double fractionFoil = foilDensity*foilGasRatio/totDensity; - G4double fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity; + G4double fractionFoil = foilDensity * foilGasRatio / totDensity; + G4double fractionGas = gasDensity * (1.0 - foilGasRatio) / totDensity; G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2); radiatorMat->AddMaterial(mylar, fractionFoil); @@ -114,42 +110,38 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct() // Radiator description fRadiatorDescription = new RadiatorDescription; - fRadiatorDescription->fFoilMaterial = mylar; + fRadiatorDescription->fFoilMaterial = mylar; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; - fRadiatorDescription->fGasMaterial = air; // CO2; // He; // + fRadiatorDescription->fGasMaterial = air; // CO2; // He; // fRadiatorDescription->fFoilThickness = radThickness; - fRadiatorDescription->fGasThickness = gasGap; + fRadiatorDescription->fGasThickness = gasGap; fRadiatorDescription->fFoilNumber = foilNumber; - G4Material* worldMaterial = air; // CO2; + G4Material* worldMaterial = air; // CO2; G4Material* absorberMaterial = xe15CO2; // Volumes // - - G4VSolid* solidWorld - = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.); - - G4LogicalVolume* logicWorld - = new G4LogicalVolume(solidWorld, worldMaterial, "World"); - G4VPhysicalVolume* physicsWorld - = new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); + G4VSolid* solidWorld = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ / 2.); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, worldMaterial, "World"); + + G4VPhysicalVolume* physicsWorld = + new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); // TR radiator envelope - G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap; - G4double radZ = startZ + 0.5*radThick; + G4double radThick = foilNumber * (radThickness + gasGap) - gasGap + detGap; + G4double radZ = startZ + 0.5 * radThick; + + G4VSolid* solidRadiator = + new G4Box("Radiator", 1.1 * absorberRadius, 1.1 * absorberRadius, 0.5 * radThick); - G4VSolid* solidRadiator - = new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, - 0.5*radThick); + G4LogicalVolume* logicRadiator = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - G4LogicalVolume* logicRadiator - = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - - new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), - "Radiator", logicRadiator, physicsWorld, false, 0 ); + new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), "Radiator", logicRadiator, physicsWorld, false, + 0); fRadiatorDescription->fLogicalVolume = logicRadiator; @@ -160,21 +152,18 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct() // Absorber - G4VSolid* solidAbsorber - = new G4Box("Absorber", absorberRadius, absorberRadius, - absorberThickness/2.); + G4VSolid* solidAbsorber = + new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness / 2.); - G4LogicalVolume* logicAbsorber - = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); + G4LogicalVolume* logicAbsorber = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); - G4double windowZ = startZ + radThick + windowThick/2. + 15.0*mm; - G4double gapZ = windowZ + windowThick/2. + gapThick/2. + 0.01*mm; - G4double electrodeZ = gapZ + gapThick/2. + electrodeThick/2. + 0.01*mm; - G4double absorberZ = electrodeZ + electrodeThick/2. - + absorberThickness/2. + 0.01*mm; + G4double windowZ = startZ + radThick + windowThick / 2. + 15.0 * mm; + G4double gapZ = windowZ + windowThick / 2. + gapThick / 2. + 0.01 * mm; + G4double electrodeZ = gapZ + gapThick / 2. + electrodeThick / 2. + 0.01 * mm; + G4double absorberZ = electrodeZ + electrodeThick / 2. + absorberThickness / 2. + 0.01 * mm; - new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), - "Absorber", logicAbsorber, physicsWorld, false, 0); + new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), "Absorber", logicAbsorber, physicsWorld, + false, 0); G4Region* regGasDet = new G4Region("XTRdEdxDetector"); regGasDet->AddRootLogicalVolume(logicAbsorber); @@ -182,26 +171,23 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct() // Sensitive Detectors: Absorber SensitiveDetector* sd = new SensitiveDetector("AbsorberSD"); - G4SDManager::GetSDMpointer()->AddNewDetector(sd ); + G4SDManager::GetSDMpointer()->AddNewDetector(sd); logicAbsorber->SetSensitiveDetector(sd); // Print geometry parameters - G4cout << "\n The WORLD is made of " - << worldSizeZ/mm << "mm of " << worldMaterial->GetName(); - G4cout << ", the transverse size (R) of the world is " - << worldSizeR/mm << " mm. " << G4endl; - G4cout << " The ABSORBER is made of " - << absorberThickness/mm << "mm of " << absorberMaterial->GetName(); - G4cout << ", the transverse size (R) is " - << absorberRadius/mm << " mm. " << G4endl; - G4cout << " Z position of the (middle of the) absorber " - << absorberZ/mm << " mm." << G4endl; - - G4cout << "radZ = " << radZ/mm << " mm" << G4endl; - G4cout << "startZ = " << startZ/mm<< " mm" << G4endl; - - G4cout << "fRadThick = " << radThick/mm << " mm"<GetName(); + G4cout << ", the transverse size (R) of the world is " << worldSizeR / mm << " mm. " << G4endl; + G4cout << " The ABSORBER is made of " << absorberThickness / mm << "mm of " + << absorberMaterial->GetName(); + G4cout << ", the transverse size (R) is " << absorberRadius / mm << " mm. " << G4endl; + G4cout << " Z position of the (middle of the) absorber " << absorberZ / mm << " mm." << G4endl; + + G4cout << "radZ = " << radZ / mm << " mm" << G4endl; + G4cout << "startZ = " << startZ / mm << " mm" << G4endl; + + G4cout << "fRadThick = " << radThick / mm << " mm" << G4endl; G4cout << "fFoilNumber = " << foilNumber << G4endl; G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl; G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl; diff --git a/examples/extended/electromagnetic/TestEm10/src/DetectorWatase86.cc b/examples/extended/electromagnetic/TestEm10/src/DetectorWatase86.cc index fcc4a4d0bf9..1335e3f07eb 100644 --- a/examples/extended/electromagnetic/TestEm10/src/DetectorWatase86.cc +++ b/examples/extended/electromagnetic/TestEm10/src/DetectorWatase86.cc @@ -31,36 +31,33 @@ // #include "DetectorWatase86.hh" -#include "SensitiveDetector.hh" + #include "Materials.hh" +#include "SensitiveDetector.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4FieldManager.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" - #include "G4Region.hh" - -#include "G4UnitsTable.hh" +#include "G4SDManager.hh" #include "G4SystemOfUnits.hh" +#include "G4TransportationManager.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorWatase86::DetectorWatase86() - : fRadiatorDescription(0) -{} +DetectorWatase86::DetectorWatase86() : fRadiatorDescription(0) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorWatase86::~DetectorWatase86() { // delete fRadiatorDescription; - // the description is deleted in detector construction + // the description is deleted in detector construction } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -72,25 +69,25 @@ G4VPhysicalVolume* DetectorWatase86::Construct() G4cout << "DetectorWatase86 setup" << G4endl; - G4double worldSizeZ = 400.*cm; - G4double worldSizeR = 20.*cm; + G4double worldSizeZ = 400. * cm; + G4double worldSizeR = 20. * cm; // Radiator and detector parameters - G4double radThickness = 0.04*mm; - G4double gasGap = 0.126*mm; - G4double foilGasRatio = radThickness/(radThickness+gasGap); - G4double foilNumber = 300; + G4double radThickness = 0.04 * mm; + G4double gasGap = 0.126 * mm; + G4double foilGasRatio = radThickness / (radThickness + gasGap); + G4double foilNumber = 300; - G4double absorberThickness = 30.0*mm; - G4double absorberRadius = 100.*mm; + G4double absorberThickness = 30.0 * mm; + G4double absorberRadius = 100. * mm; - G4double windowThick = 51.0*micrometer; - G4double electrodeThick = 10.0*micrometer; - G4double gapThick = 10.0*cm; - G4double detGap = 0.01*mm; + G4double windowThick = 51.0 * micrometer; + G4double electrodeThick = 10.0 * micrometer; + G4double gapThick = 10.0 * cm; + G4double detGap = 0.01 * mm; - G4double startZ = 100.0*mm; + G4double startZ = 100.0 * mm; // Materials // @@ -101,52 +98,48 @@ G4VPhysicalVolume* DetectorWatase86::Construct() G4Material* xe10CH4 = Materials::GetInstance()->GetMaterial("Xe10CH4"); G4double foilDensity = li->GetDensity(); - G4double gasDensity = he->GetDensity(); - G4double totDensity = foilDensity*foilGasRatio - + gasDensity*(1.0-foilGasRatio); + G4double gasDensity = he->GetDensity(); + G4double totDensity = foilDensity * foilGasRatio + gasDensity * (1.0 - foilGasRatio); - G4double fractionFoil = foilDensity*foilGasRatio/totDensity; - G4double fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity; + G4double fractionFoil = foilDensity * foilGasRatio / totDensity; + G4double fractionGas = gasDensity * (1.0 - foilGasRatio) / totDensity; G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2); radiatorMat->AddMaterial(li, fractionFoil); radiatorMat->AddMaterial(he, fractionGas); // Radiator description fRadiatorDescription = new RadiatorDescription; - fRadiatorDescription->fFoilMaterial = li; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; - fRadiatorDescription->fGasMaterial = he; // CO2; // He; // + fRadiatorDescription->fFoilMaterial = li; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ; + fRadiatorDescription->fGasMaterial = he; // CO2; // He; // fRadiatorDescription->fFoilThickness = radThickness; - fRadiatorDescription->fGasThickness = gasGap; + fRadiatorDescription->fGasThickness = gasGap; fRadiatorDescription->fFoilNumber = foilNumber; - G4Material* worldMaterial = he; // CO2; + G4Material* worldMaterial = he; // CO2; G4Material* absorberMaterial = xe10CH4; // Volumes // - - G4VSolid* solidWorld - = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.); - - G4LogicalVolume* logicWorld - = new G4LogicalVolume(solidWorld, worldMaterial, "World"); - G4VPhysicalVolume* physicsWorld - = new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); + G4VSolid* solidWorld = new G4Box("World", worldSizeR, worldSizeR, worldSizeZ / 2.); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, worldMaterial, "World"); + + G4VPhysicalVolume* physicsWorld = + new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0); // TR radiator envelope - G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap; - G4double radZ = startZ + 0.5*radThick; + G4double radThick = foilNumber * (radThickness + gasGap) - gasGap + detGap; + G4double radZ = startZ + 0.5 * radThick; + + G4VSolid* solidRadiator = + new G4Box("Radiator", 1.1 * absorberRadius, 1.1 * absorberRadius, 0.5 * radThick); - G4VSolid* solidRadiator - = new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick); + G4LogicalVolume* logicRadiator = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - G4LogicalVolume* logicRadiator - = new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator"); - - new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), - "Radiator", logicRadiator, physicsWorld, false, 0 ); + new G4PVPlacement(0, G4ThreeVector(0, 0, radZ), "Radiator", logicRadiator, physicsWorld, false, + 0); fRadiatorDescription->fLogicalVolume = logicRadiator; @@ -155,25 +148,23 @@ G4VPhysicalVolume* DetectorWatase86::Construct() G4Region* radRegion = new G4Region("XTRradiator"); radRegion->AddRootLogicalVolume(logicRadiator); - G4double windowZ = startZ + radThick + windowThick/2. + 15.0*mm; + G4double windowZ = startZ + radThick + windowThick / 2. + 15.0 * mm; - G4double gapZ = windowZ + windowThick/2. + gapThick/2. + 0.01*mm; + G4double gapZ = windowZ + windowThick / 2. + gapThick / 2. + 0.01 * mm; - G4double electrodeZ = gapZ + gapThick/2. + electrodeThick/2. + 0.01*mm; + G4double electrodeZ = gapZ + gapThick / 2. + electrodeThick / 2. + 0.01 * mm; // Absorber - G4double absorberZ = electrodeZ + electrodeThick/2. - + absorberThickness/2. + 0.01*mm; + G4double absorberZ = electrodeZ + electrodeThick / 2. + absorberThickness / 2. + 0.01 * mm; - G4VSolid* solidAbsorber - = new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness/2.); + G4VSolid* solidAbsorber = + new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness / 2.); - G4LogicalVolume* logicAbsorber - = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); + G4LogicalVolume* logicAbsorber = new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber"); - new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), - "Absorber", logicAbsorber, physicsWorld, false, 0); + new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ), "Absorber", logicAbsorber, physicsWorld, + false, 0); G4Region* regGasDet = new G4Region("XTRdEdxDetector"); regGasDet->AddRootLogicalVolume(logicAbsorber); @@ -181,26 +172,23 @@ G4VPhysicalVolume* DetectorWatase86::Construct() // Sensitive Detectors: Absorber SensitiveDetector* sd = new SensitiveDetector("AbsorberSD"); - G4SDManager::GetSDMpointer()->AddNewDetector(sd ); + G4SDManager::GetSDMpointer()->AddNewDetector(sd); logicAbsorber->SetSensitiveDetector(sd); // Print geometry parameters - G4cout << "\n The WORLD is made of " - << worldSizeZ/mm << "mm of " << worldMaterial->GetName(); - G4cout << ", the transverse size (R) of the world is " - << worldSizeR/mm << " mm. " << G4endl; - G4cout << " The ABSORBER is made of " - << absorberThickness/mm << "mm of " << absorberMaterial->GetName(); - G4cout << ", the transverse size (R) is " - << absorberRadius/mm << " mm. " << G4endl; - G4cout << " Z position of the (middle of the) absorber " - << absorberZ/mm << " mm." << G4endl; - - G4cout << "radZ = " << radZ/mm << " mm" << G4endl; - G4cout << "startZ = " << startZ/mm<< " mm" << G4endl; - - G4cout << "fRadThick = " << radThick/mm << " mm"<GetName(); + G4cout << ", the transverse size (R) of the world is " << worldSizeR / mm << " mm. " << G4endl; + G4cout << " The ABSORBER is made of " << absorberThickness / mm << "mm of " + << absorberMaterial->GetName(); + G4cout << ", the transverse size (R) is " << absorberRadius / mm << " mm. " << G4endl; + G4cout << " Z position of the (middle of the) absorber " << absorberZ / mm << " mm." << G4endl; + + G4cout << "radZ = " << radZ / mm << " mm" << G4endl; + G4cout << "startZ = " << startZ / mm << " mm" << G4endl; + + G4cout << "fRadThick = " << radThick / mm << " mm" << G4endl; G4cout << "fFoilNumber = " << foilNumber << G4endl; G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl; G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl; @@ -210,4 +198,3 @@ G4VPhysicalVolume* DetectorWatase86::Construct() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm10/src/EventAction.cc b/examples/extended/electromagnetic/TestEm10/src/EventAction.cc index da5a4b2b87a..038c3a109a4 100644 --- a/examples/extended/electromagnetic/TestEm10/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/EventAction.cc @@ -28,49 +28,47 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "EventAction.hh" + #include "RunAction.hh" -#include "G4RunManager.hh" #include "G4Event.hh" +#include "G4RunManager.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... EventAction::EventAction(RunAction* runAction) -: G4UserEventAction(), - fRunAction(runAction), fVerboseLevel(0) + : G4UserEventAction(), fRunAction(runAction), fVerboseLevel(0) { G4RunManager::GetRunManager()->SetPrintProgress(10000); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -EventAction::~EventAction() -{} +EventAction::~EventAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void EventAction::BeginOfEventAction(const G4Event*) -{} +void EventAction::BeginOfEventAction(const G4Event*) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void EventAction::EndOfEventAction(const G4Event* event) -{ +{ // save rndm status - if (fRunAction->GetRndmFreq() == 2) { - CLHEP::HepRandom::saveEngineStatus("endOfEvent.rndm"); - + if (fRunAction->GetRndmFreq() == 2) { + CLHEP::HepRandom::saveEngineStatus("endOfEvent.rndm"); + // show rndm status G4int eventNb = event->GetEventID(); G4int printModulo = G4RunManager::GetRunManager()->GetPrintProgress(); - if (eventNb%printModulo == 0) { + if (eventNb % printModulo == 0) { G4cout << "\n---> End of Event: " << eventNb << G4endl; CLHEP::HepRandom::showEngineStatus(); } diff --git a/examples/extended/electromagnetic/TestEm10/src/Materials.cc b/examples/extended/electromagnetic/TestEm10/src/Materials.cc index 3d033474a1a..9b13057a7bf 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Materials.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Materials.cc @@ -28,34 +28,38 @@ /// \brief Implementation of the Materials class // // -// -// GEANT 4 class +// +// GEANT 4 class // // History: based on object model of // Materials -// Originally Created in Test30 by Vladimir Ivanchenko, 12 March 2002 -// +// Originally Created in Test30 by Vladimir Ivanchenko, 12 March 2002 +// // Modified for Test by V. Grichine, 29 Jan 2006 // is filled with XTR related materials, plastics, gas mixtures, etc - #include "Materials.hh" -#include "G4UnitsTable.hh" #include "G4Material.hh" #include "G4MaterialTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Materials* Materials::fgInstance = 0; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + Materials* Materials::GetInstance() { - if ( ! fgInstance ) { + if (!fgInstance) { fgInstance = new Materials(); } return fgInstance; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Materials::Materials() { @@ -63,38 +67,41 @@ Materials::Materials() Initialise(); } -Materials::~Materials() -{} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Materials::~Materials() {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Materials::Initialise() { - G4String name, symbol; - G4double a, z; - G4double density, fractionmass; + G4String name, symbol; + G4double a, z; + G4double density, fractionmass; G4int nel, ncomponents; // define Elements - - a = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); - a = 6.94*g/mole; - G4Element* elLi = new G4Element(name="Lithium",symbol="Li" , z= 3., a); + a = 1.01 * g / mole; + G4Element* elH = new G4Element(name = "Hydrogen", symbol = "H", z = 1., a); - a = 9.01*g/mole; - G4Element* elBe = new G4Element(name="Berillium",symbol="Be" , z= 4., a); + a = 6.94 * g / mole; + G4Element* elLi = new G4Element(name = "Lithium", symbol = "Li", z = 3., a); - a = 12.01*g/mole; - G4Element* elC = new G4Element(name="Carbon", symbol="C", z=6., a); + a = 9.01 * g / mole; + G4Element* elBe = new G4Element(name = "Berillium", symbol = "Be", z = 4., a); - a = 14.01*g/mole; - G4Element* elN = new G4Element(name="Nitrogen",symbol="N" , z= 7., 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 = 14.01 * g / mole; + G4Element* elN = new G4Element(name = "Nitrogen", symbol = "N", z = 7., a); - a = 39.948*g/mole; - G4Element* elAr = new G4Element(name="Argon", symbol="Ar", z=18., a); + a = 16.00 * g / mole; + G4Element* elO = new G4Element(name = "Oxygen", symbol = "O", z = 8., a); + + a = 39.948 * g / mole; + G4Element* elAr = new G4Element(name = "Argon", symbol = "Ar", z = 18., a); /* a = 131.29*g/mole; @@ -109,10 +116,9 @@ void Materials::Initialise() // Detector windows, electrodes // Al for electrodes - density = 2.700*g/cm3; - a = 26.98*g/mole; - new G4Material(name="Al", z=13., a, density); - + density = 2.700 * g / cm3; + a = 26.98 * g / mole; + new G4Material(name = "Al", z = 13., a, density); ///////// // @@ -121,53 +127,52 @@ void Materials::Initialise() // TRT_CH2 - density = 0.935*g/cm3; - G4Material* TRT_CH2 = new G4Material(name="TRT_CH2",density, nel=2); - TRT_CH2->AddElement(elC,1); - TRT_CH2->AddElement(elH,2); + density = 0.935 * g / cm3; + G4Material* TRT_CH2 = new G4Material(name = "TRT_CH2", density, nel = 2); + TRT_CH2->AddElement(elC, 1); + TRT_CH2->AddElement(elH, 2); // Radiator - density = 0.059*g/cm3; - G4Material* Radiator = new G4Material(name="Radiator",density, nel=2); - Radiator->AddElement(elC,1); - Radiator->AddElement(elH,2); + density = 0.059 * g / cm3; + G4Material* Radiator = new G4Material(name = "Radiator", density, nel = 2); + Radiator->AddElement(elC, 1); + Radiator->AddElement(elH, 2); // Carbon Fiber - density = 0.145*g/cm3; - G4Material* CarbonFiber = new G4Material(name="CarbonFiber",density, nel=1); - CarbonFiber->AddElement(elC,1); + density = 0.145 * g / cm3; + G4Material* CarbonFiber = new G4Material(name = "CarbonFiber", density, nel = 1); + CarbonFiber->AddElement(elC, 1); // Lithium - density = 0.534*g/cm3; - G4Material* Li = new G4Material(name="Li",density, nel=1); - Li->AddElement(elLi,1); + density = 0.534 * g / cm3; + G4Material* Li = new G4Material(name = "Li", density, nel = 1); + Li->AddElement(elLi, 1); // Beryllium - density = 1.848*g/cm3; - G4Material* Be = new G4Material(name="Be",density, nel=1); - Be->AddElement(elBe,1); - + density = 1.848 * g / cm3; + G4Material* Be = new G4Material(name = "Be", density, nel = 1); + Be->AddElement(elBe, 1); // Mylar - density = 1.39*g/cm3; - G4Material* Mylar = new G4Material(name="Mylar", density, nel=3); - Mylar->AddElement(elO,2); - Mylar->AddElement(elC,5); - Mylar->AddElement(elH,4); + density = 1.39 * g / cm3; + G4Material* Mylar = new G4Material(name = "Mylar", density, nel = 3); + Mylar->AddElement(elO, 2); + Mylar->AddElement(elC, 5); + Mylar->AddElement(elH, 4); // Kapton Dupont de Nemur (density: 1.396-1.430, get middle ) - density = 1.413*g/cm3; - G4Material* Kapton = new G4Material(name="Kapton", density, nel=4); - Kapton->AddElement(elO,5); - Kapton->AddElement(elC,22); - Kapton->AddElement(elN,2); - Kapton->AddElement(elH,10); + density = 1.413 * g / cm3; + G4Material* Kapton = new G4Material(name = "Kapton", density, nel = 4); + Kapton->AddElement(elO, 5); + Kapton->AddElement(elC, 22); + Kapton->AddElement(elN, 2); + Kapton->AddElement(elH, 10); // Kapton (polyimide) ??? since = Mylar C5H4O2 @@ -179,9 +184,9 @@ void Materials::Initialise() // Polypropelene - G4Material* CH2 = new G4Material ("CH2" , 0.91*g/cm3, 2); - CH2->AddElement(elH,2); - CH2->AddElement(elC,1); + G4Material* CH2 = new G4Material("CH2", 0.91 * g / cm3, 2); + CH2->AddElement(elH, 2); + CH2->AddElement(elC, 1); //////////////////////////// // @@ -189,58 +194,58 @@ void Materials::Initialise() // Helium as detector gas, STP - density = 0.178*mg/cm3; - a = 4.0026*g/mole; - G4Material* He = new G4Material(name="He",z=2., a, density ); + density = 0.178 * mg / cm3; + a = 4.0026 * g / mole; + G4Material* He = new G4Material(name = "He", z = 2., a, density); // Neon as detector gas, STP - density = 0.900*mg/cm3; - a = 20.179*g/mole; - new G4Material(name="Ne",z=10., a, density ); + density = 0.900 * mg / cm3; + a = 20.179 * g / mole; + new G4Material(name = "Ne", z = 10., a, density); // Argon as detector gas, STP - density = 1.7836*mg/cm3; // STP - G4Material* Argon = new G4Material(name="Argon" , density, ncomponents=1); + density = 1.7836 * mg / cm3; // STP + G4Material* Argon = new G4Material(name = "Argon", density, ncomponents = 1); Argon->AddElement(elAr, 1); // Krypton as detector gas, STP - density = 3.700*mg/cm3; - a = 83.80*g/mole; - G4Material* Kr = new G4Material(name="Kr",z=36., a, density ); + density = 3.700 * mg / cm3; + a = 83.80 * g / mole; + G4Material* Kr = new G4Material(name = "Kr", z = 36., a, density); // Xenon as detector gas, STP - density = 5.858*mg/cm3; - a = 131.29*g/mole; - G4Material* Xe = new G4Material(name="Xenon",z=54., a, density ); + density = 5.858 * mg / cm3; + a = 131.29 * g / mole; + G4Material* Xe = new G4Material(name = "Xenon", z = 54., a, density); -///////////////////////////////// -// -// Hydrocarbones, metane and others + ///////////////////////////////// + // + // Hydrocarbones, metane and others // Metane, STP - density = 0.7174*mg/cm3; - G4Material* metane = new G4Material(name="CH4",density,nel=2); - metane->AddElement(elC,1); - metane->AddElement(elH,4); + density = 0.7174 * mg / cm3; + G4Material* metane = new G4Material(name = "CH4", density, nel = 2); + metane->AddElement(elC, 1); + metane->AddElement(elH, 4); // Propane, STP - density = 2.005*mg/cm3 ; - G4Material* propane = new G4Material(name="C3H8",density,nel=2); - propane->AddElement(elC,3); - propane->AddElement(elH,8); + density = 2.005 * mg / cm3; + G4Material* propane = new G4Material(name = "C3H8", density, nel = 2); + propane->AddElement(elC, 3); + propane->AddElement(elH, 8); // iso-Butane (methylpropane), STP - density = 2.67*mg/cm3; - G4Material* isobutane = new G4Material(name="isoC4H10",density,nel=2); - isobutane->AddElement(elC,4); - isobutane->AddElement(elH,10); + density = 2.67 * mg / cm3; + G4Material* isobutane = new G4Material(name = "isoC4H10", density, nel = 2); + isobutane->AddElement(elC, 4); + isobutane->AddElement(elH, 10); ///////////////////////// // @@ -248,29 +253,29 @@ void Materials::Initialise() // Carbon dioxide, STP - density = 1.977*mg/cm3; - G4Material* CO2 = new G4Material(name="CO2", density, nel=2, - kStateGas,273.15*kelvin,1.*atmosphere); - CO2->AddElement(elC,1); - CO2->AddElement(elO,2); + density = 1.977 * mg / cm3; + G4Material* CO2 = + new G4Material(name = "CO2", density, nel = 2, kStateGas, 273.15 * kelvin, 1. * atmosphere); + CO2->AddElement(elC, 1); + CO2->AddElement(elO, 2); // Carbon dioxide, STP - density = 1.977*273.*mg/cm3/293.; - G4Material* CarbonDioxide = new G4Material(name="CO2_2", density, nel=2); - CarbonDioxide->AddElement(elC,1); - CarbonDioxide->AddElement(elO,2); + density = 1.977 * 273. * mg / cm3 / 293.; + G4Material* CarbonDioxide = new G4Material(name = "CO2_2", density, nel = 2); + CarbonDioxide->AddElement(elC, 1); + CarbonDioxide->AddElement(elO, 2); // Nitrogen, STP - density = 1.25053*mg/cm3; // STP - G4Material* Nitrogen = new G4Material(name="N2" , density, ncomponents=1); + density = 1.25053 * mg / cm3; // STP + G4Material* Nitrogen = new G4Material(name = "N2", density, ncomponents = 1); Nitrogen->AddElement(elN, 2); // Oxygen, STP - density = 1.4289*mg/cm3; // STP - G4Material* Oxygen = new G4Material(name="O2" , density, ncomponents=1); + density = 1.4289 * mg / cm3; // STP + G4Material* Oxygen = new G4Material(name = "O2", density, ncomponents = 1); Oxygen->AddElement(elO, 2); /* ***************************** @@ -294,11 +299,11 @@ void Materials::Initialise() // Dry Air (average composition with Ar), STP - density = 1.2928*mg/cm3 ; // STP - G4Material* Air = new G4Material(name="Air" , density, ncomponents=3); - Air->AddMaterial( Nitrogen, fractionmass = 0.7557 ); - Air->AddMaterial( Oxygen, fractionmass = 0.2315 ); - Air->AddMaterial( Argon, fractionmass = 0.0128 ); + density = 1.2928 * mg / cm3; // STP + G4Material* Air = new G4Material(name = "Air", density, ncomponents = 3); + Air->AddMaterial(Nitrogen, fractionmass = 0.7557); + Air->AddMaterial(Oxygen, fractionmass = 0.2315); + Air->AddMaterial(Argon, fractionmass = 0.0128); //////////////////////////////////////////////////////////////////////////// // @@ -306,99 +311,88 @@ void Materials::Initialise() // 85% Xe + 15% CO2, STP - density = 4.9*mg/cm3; - G4Material* Xe15CO2 = new G4Material(name="Xe15CO2" , density, ncomponents=2); - Xe15CO2->AddMaterial( Xe, fractionmass = 0.979); - Xe15CO2->AddMaterial( CarbonDioxide, fractionmass = 0.021); + density = 4.9 * mg / cm3; + G4Material* Xe15CO2 = new G4Material(name = "Xe15CO2", density, ncomponents = 2); + Xe15CO2->AddMaterial(Xe, fractionmass = 0.979); + Xe15CO2->AddMaterial(CarbonDioxide, fractionmass = 0.021); // 80% Xe + 20% CO2, STP - density = 5.0818*mg/cm3; - G4Material* Xe20CO2 = new G4Material(name="Xe20CO2" , density, ncomponents=2); - Xe20CO2->AddMaterial( Xe, fractionmass = 0.922 ); - Xe20CO2->AddMaterial( CarbonDioxide, fractionmass = 0.078 ); + density = 5.0818 * mg / cm3; + G4Material* Xe20CO2 = new G4Material(name = "Xe20CO2", density, ncomponents = 2); + Xe20CO2->AddMaterial(Xe, fractionmass = 0.922); + Xe20CO2->AddMaterial(CarbonDioxide, fractionmass = 0.078); // 70% Xe + 27% CO2 + 3% O2, 20 1 atm ATLAS straw tube mixture - density = 4.358*mg/cm3; - G4Material* Xe27CO23O2 = new G4Material(name="Xe27CO23O2" , density, ncomponents=3); - Xe27CO23O2->AddMaterial( Xe, fractionmass = 0.87671); - Xe27CO23O2->AddMaterial( CarbonDioxide, fractionmass = 0.11412); - Xe27CO23O2->AddMaterial( Oxygen, fractionmass = 0.00917); + density = 4.358 * mg / cm3; + G4Material* Xe27CO23O2 = new G4Material(name = "Xe27CO23O2", density, ncomponents = 3); + Xe27CO23O2->AddMaterial(Xe, fractionmass = 0.87671); + Xe27CO23O2->AddMaterial(CarbonDioxide, fractionmass = 0.11412); + Xe27CO23O2->AddMaterial(Oxygen, fractionmass = 0.00917); // 80% Kr + 20% CO2, STP - density = 3.601*mg/cm3; - G4Material* Kr20CO2 = new G4Material(name="Kr20CO2", density, - ncomponents=2); - Kr20CO2->AddMaterial( Kr, fractionmass = 0.89 ); - Kr20CO2->AddMaterial( CarbonDioxide, fractionmass = 0.11 ); + density = 3.601 * mg / cm3; + G4Material* Kr20CO2 = new G4Material(name = "Kr20CO2", density, ncomponents = 2); + Kr20CO2->AddMaterial(Kr, fractionmass = 0.89); + Kr20CO2->AddMaterial(CarbonDioxide, fractionmass = 0.11); // Xe + 55% He + 15% CH4 ; NIM A294 (1990) 465-472; STP - density = 1.963*273.*mg/cm3/293.; - G4Material* Xe55He15CH4 = new G4Material(name="Xe55He15CH4",density, - ncomponents=3); + density = 1.963 * 273. * mg / cm3 / 293.; + G4Material* Xe55He15CH4 = new G4Material(name = "Xe55He15CH4", density, ncomponents = 3); Xe55He15CH4->AddMaterial(Xe, 0.895); Xe55He15CH4->AddMaterial(He, 0.050); - Xe55He15CH4->AddMaterial(metane,0.055); + Xe55He15CH4->AddMaterial(metane, 0.055); // 90% Xe + 10% CH4, STP ; NIM A248 (1986) 379-388 - density = 5.344*mg/cm3; - G4Material* Xe10CH4 = new G4Material(name="Xe10CH4" , density, - ncomponents=2); - Xe10CH4->AddMaterial( Xe, fractionmass = 0.987 ) ; - Xe10CH4->AddMaterial( metane, fractionmass = 0.013 ) ; + density = 5.344 * mg / cm3; + G4Material* Xe10CH4 = new G4Material(name = "Xe10CH4", density, ncomponents = 2); + Xe10CH4->AddMaterial(Xe, fractionmass = 0.987); + Xe10CH4->AddMaterial(metane, fractionmass = 0.013); // 95% Xe + 5% CH4, STP ; NIM A214 (1983) 261-268 - density = 5.601*mg/cm3; - G4Material* Xe5CH4 = new G4Material(name="Xe5CH4" , density, - ncomponents=2); - Xe5CH4->AddMaterial( Xe, fractionmass = 0.994 ); - Xe5CH4->AddMaterial( metane, fractionmass = 0.006 ); + density = 5.601 * mg / cm3; + G4Material* Xe5CH4 = new G4Material(name = "Xe5CH4", density, ncomponents = 2); + Xe5CH4->AddMaterial(Xe, fractionmass = 0.994); + Xe5CH4->AddMaterial(metane, fractionmass = 0.006); // 80% Xe + 20% CH4, STP ; NIM A253 (1987) 235-244 - density = 4.83*mg/cm3; - G4Material* Xe20CH4 = new G4Material(name="Xe20CH4" , density, - ncomponents=2); - Xe20CH4->AddMaterial( Xe, fractionmass = 0.97 ); - Xe20CH4->AddMaterial( metane, fractionmass = 0.03 ); + density = 4.83 * mg / cm3; + G4Material* Xe20CH4 = new G4Material(name = "Xe20CH4", density, ncomponents = 2); + Xe20CH4->AddMaterial(Xe, fractionmass = 0.97); + Xe20CH4->AddMaterial(metane, fractionmass = 0.03); // 93% Ar + 7% CH4, STP ; NIM 107 (1973) 413-422 - density = 1.709*mg/cm3; - G4Material* Ar7CH4 = new G4Material(name="Ar7CH4" , density, - ncomponents=2); - Ar7CH4->AddMaterial( Argon, fractionmass = 0.971 ); - Ar7CH4->AddMaterial( metane, fractionmass = 0.029 ); + density = 1.709 * mg / cm3; + G4Material* Ar7CH4 = new G4Material(name = "Ar7CH4", density, ncomponents = 2); + Ar7CH4->AddMaterial(Argon, fractionmass = 0.971); + Ar7CH4->AddMaterial(metane, fractionmass = 0.029); // 93% Kr + 7% CH4, STP ; NIM 107 (1973) 413-422 - density = 3.491*mg/cm3; - G4Material* Kr7CH4 = new G4Material(name="Kr7CH4" , density, - ncomponents=2); - Kr7CH4->AddMaterial( Kr, fractionmass = 0.986 ); - Kr7CH4->AddMaterial( metane, fractionmass = 0.014 ); + density = 3.491 * mg / cm3; + G4Material* Kr7CH4 = new G4Material(name = "Kr7CH4", density, ncomponents = 2); + Kr7CH4->AddMaterial(Kr, fractionmass = 0.986); + Kr7CH4->AddMaterial(metane, fractionmass = 0.014); // 0.5*(95% Xe + 5% CH4)+0.5*(93% Ar + 7% CH4), STP ; NIM A214 (1983) 261-268 - density = 3.655*mg/cm3; - G4Material* XeArCH4 = new G4Material(name="XeArCH4" , density, - ncomponents=2); - XeArCH4->AddMaterial( Xe5CH4, fractionmass = 0.766 ); - XeArCH4->AddMaterial( Ar7CH4, fractionmass = 0.234 ); + density = 3.655 * mg / cm3; + G4Material* XeArCH4 = new G4Material(name = "XeArCH4", density, ncomponents = 2); + XeArCH4->AddMaterial(Xe5CH4, fractionmass = 0.766); + XeArCH4->AddMaterial(Ar7CH4, fractionmass = 0.234); // Silicon as detector material - density = 2.330*g/cm3; - a = 28.09*g/mole; - new G4Material(name="Si", z=14., a, density); - - - + density = 2.330 * g / cm3; + a = 28.09 * g / mole; + new G4Material(name = "Si", z = 14., a, density); /* G4Material* ma; @@ -450,27 +444,16 @@ void Materials::Initialise() ma->AddElement(N, 0.7); ma->AddElement(O, 0.3); */ - - - } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Material* Materials::GetMaterial(const G4String& name) -{ - +{ // const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4Material* ma = G4Material::GetMaterial(name); - + G4Material* ma = G4Material::GetMaterial(name); + G4cout << "Material is selected: " << ma->GetName() << G4endl; return ma; -} - - - - - - - - +} diff --git a/examples/extended/electromagnetic/TestEm10/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm10/src/PhysicsList.cc index de0d4842e76..44840bffb77 100644 --- a/examples/extended/electromagnetic/TestEm10/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm10/src/PhysicsList.cc @@ -42,43 +42,39 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" + #include "DetectorConstruction.hh" +#include "PhysicsListMessenger.hh" +#include "StepMax.hh" +#include "TransitionRadiationPhysics.hh" +#include "G4DecayPhysics.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmParameters.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsSS.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" -#include "G4DecayPhysics.hh" -#include "TransitionRadiationPhysics.hh" - -#include "G4EmParameters.hh" - -#include "StepMax.hh" - #include "G4ProcessManager.hh" -//#include "G4ParticleTypes.hh" -//#include "G4ParticleTable.hh" +// #include "G4ParticleTypes.hh" +// #include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" G4ThreadLocal StepMax* PhysicsList::fStepMaxProcess = nullptr; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsList::PhysicsList(DetectorConstruction* ptr) -: G4VModularPhysicsList(), - fVerbose(1) +PhysicsList::PhysicsList(DetectorConstruction* ptr) : G4VModularPhysicsList(), fVerbose(1) { - SetDefaultCutValue(1*CLHEP::mm); + SetDefaultCutValue(1 * CLHEP::mm); SetVerboseLevel(fVerbose); - + fMessenger = new PhysicsListMessenger(this); // Decay Physics is always defined to define all particles @@ -116,7 +112,7 @@ void PhysicsList::ConstructProcess() AddTransportation(); fEmPhysicsList->ConstructProcess(); fDecayPhysicsList->ConstructProcess(); - fXTRPhysicsList->ConstructProcess(); + fXTRPhysicsList->ConstructProcess(); AddStepMax(); } @@ -130,78 +126,65 @@ void PhysicsList::AddPhysicsList(const G4String& name) if (name == fEmName) { return; - - } else if (name == "emstandard_opt0") { - + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(fVerbose); - - } else if (name == "emstandard_opt1") { - + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(fVerbose); - - } else if (name == "emstandard_opt2") { - + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(fVerbose); - - } else if (name == "emstandard_opt3") { - + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(fVerbose); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(fVerbose); - - } else if (name == "emstandardWVI") { - + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(fVerbose); - - } else if (name == "emstandardSS") { - + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(fVerbose); - - } else if (name == "emstandardGS") { - + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(fVerbose); - - } else if (name == "emlivermore") { - + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(fVerbose); - - } else if (name == "empenelope") { - + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(fVerbose); - - } else if (name == "emlowenergy") { - + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(fVerbose); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } @@ -219,19 +202,16 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process fStepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()) - { + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (fStepMaxProcess->IsApplicable(*particle)) - { + if (fStepMaxProcess->IsApplicable(*particle)) { pmanager->AddDiscreteProcess(fStepMaxProcess); } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm10/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/PhysicsListMessenger.cc index 4a52540d0a2..4d27c1e87c5 100644 --- a/examples/extended/electromagnetic/TestEm10/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/PhysicsListMessenger.cc @@ -32,21 +32,21 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" + #include "G4UIcmdWithAString.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* aList) - : G4UImessenger(),fList(aList) +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* aList) : G4UImessenger(), fList(aList) { - fXTRModelCmd = new G4UIcmdWithAString("/emphyslist/setXTRModel",this); + fXTRModelCmd = new G4UIcmdWithAString("/emphyslist/setXTRModel", this); fXTRModelCmd->SetGuidance("Set XTR model"); - fXTRModelCmd->SetParameterName("XTRModel",false); - fXTRModelCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fXTRModelCmd->SetParameterName("XTRModel", false); + fXTRModelCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); } @@ -62,9 +62,12 @@ PhysicsListMessenger::~PhysicsListMessenger() void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fXTRModelCmd ) { fList->SetXTRModel(newValue); } - else if( command == fListCmd ) { fList->AddPhysicsList(newValue); } + if (command == fXTRModelCmd) { + fList->SetXTRModel(newValue); + } + else if (command == fListCmd) { + fList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/examples/extended/electromagnetic/TestEm10/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm10/src/PrimaryGeneratorAction.cc index 3b88f01083e..d61de2fb8b6 100644 --- a/examples/extended/electromagnetic/TestEm10/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/PrimaryGeneratorAction.cc @@ -36,19 +36,17 @@ #include "PrimaryGeneratorAction.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction() - : G4VUserPrimaryGeneratorAction(), - fParticleGun(0) +PrimaryGeneratorAction::PrimaryGeneratorAction() : G4VUserPrimaryGeneratorAction(), fParticleGun(0) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic @@ -56,8 +54,8 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() G4ParticleDefinition* particle = particleTable->FindParticle("proton"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - fParticleGun->SetParticleEnergy(100.*GeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); + fParticleGun->SetParticleEnergy(100. * GeV); fParticleGun->SetParticlePosition(G4ThreeVector()); } diff --git a/examples/extended/electromagnetic/TestEm10/src/RunAction.cc b/examples/extended/electromagnetic/TestEm10/src/RunAction.cc index bb83cdf4930..cebff09df62 100644 --- a/examples/extended/electromagnetic/TestEm10/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/RunAction.cc @@ -28,24 +28,22 @@ // // // -// +// #include "RunAction.hh" + #include "RunMessenger.hh" #include "G4AnalysisManager.hh" -#include "G4Run.hh" -#include "G4ios.hh" - #include "G4PhysicalConstants.hh" +#include "G4Run.hh" #include "G4SystemOfUnits.hh" +#include "G4ios.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -RunAction::RunAction() - : G4UserRunAction(), - fRunMessenger(0), fRndmFreq(1) +RunAction::RunAction() : G4UserRunAction(), fRunMessenger(0), fRndmFreq(1) { fRunMessenger = new RunMessenger(this); @@ -70,50 +68,47 @@ void RunAction::BookHisto() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName("testem10"); analysisManager->SetVerboseLevel(1); - analysisManager->SetFirstHistoId(1); // start histogram numbering from 1 - analysisManager->SetActivation(true); // enable inactivation of histograms - + analysisManager->SetFirstHistoId(1); // start histogram numbering from 1 + analysisManager->SetActivation(true); // enable inactivation of histograms + // Define histograms start values const G4int kMaxHisto = 5; - const G4String id[] = - { "1", "2", "3", "4", "5"}; - const G4String title[] = - { "Edep", // 1 - "XTR Gamma spectrum", // 2 - "Secondary Gamma spectrum" , // 3 - "Secondary e- spectrum", // 4 - "Edep.old"}; // 5 - // Default values (to be reset via /analysis/h1/set command) + const G4String id[] = {"1", "2", "3", "4", "5"}; + const G4String title[] = {"Edep", // 1 + "XTR Gamma spectrum", // 2 + "Secondary Gamma spectrum", // 3 + "Secondary e- spectrum", // 4 + "Edep.old"}; // 5 + // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; kCreateH1(id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void RunAction::BeginOfRunAction(const G4Run* aRun) -{ +{ G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; - + // save Rndm status - if (fRndmFreq > 0) { + if (fRndmFreq > 0) { CLHEP::HepRandom::showEngineStatus(); CLHEP::HepRandom::saveEngineStatus("beginOfRun.rndm"); - } + } // histograms G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -123,34 +118,31 @@ void RunAction::EndOfRunAction(const G4Run* run) // print run statisctics G4int nofEvents = run->GetNumberOfEvent(); G4cout << " ================== run summary =====================" << G4endl; - G4cout << " End of Run TotNbofEvents = " << nofEvents << G4endl ; + G4cout << " End of Run TotNbofEvents = " << nofEvents << G4endl; G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->GetH1(1) ) { - G4cout << " Mean energy deposit in absorber = " - << analysisManager->GetH1(1)->mean()/MeV << " +-" - << analysisManager->GetH1(1)->rms()/MeV << " MeV " << G4endl; + if (analysisManager->GetH1(1)) { + G4cout << " Mean energy deposit in absorber = " << analysisManager->GetH1(1)->mean() / MeV + << " +-" << analysisManager->GetH1(1)->rms() / MeV << " MeV " << G4endl; } - if ( analysisManager->GetH1(2) ) { - G4cout << " Total number of XTR gammas = " - << analysisManager->GetH1(2)->entries() << G4endl; + if (analysisManager->GetH1(2)) { + G4cout << " Total number of XTR gammas = " << analysisManager->GetH1(2)->entries() << G4endl; } - if ( analysisManager->GetH1(3) ) { - G4cout << " Total number of all gammas = " - << analysisManager->GetH1(3)->entries() << G4endl; + if (analysisManager->GetH1(3)) { + G4cout << " Total number of all gammas = " << analysisManager->GetH1(3)->entries() << G4endl; } // save Rndm status - if (fRndmFreq == 1) { + if (fRndmFreq == 1) { CLHEP::HepRandom::showEngineStatus(); CLHEP::HepRandom::saveEngineStatus("endOfRun.rndm"); } - //save histograms - if ( analysisManager->IsActive() ) { + // save histograms + if (analysisManager->IsActive()) { analysisManager->Write(); analysisManager->CloseFile(); - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm10/src/RunMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/RunMessenger.cc index 7154dbbd027..dd9e303cbaf 100644 --- a/examples/extended/electromagnetic/TestEm10/src/RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/RunMessenger.cc @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -36,46 +36,45 @@ #include "RunMessenger.hh" #include "RunAction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAnInteger.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIdirectory.hh" #include "G4ios.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... RunMessenger::RunMessenger(RunAction* runAction) - : G4UImessenger(), - fRunAction(runAction), - fRndmDir(0), fRndmSaveCmd(0), fRndmReadCmd(0) + : G4UImessenger(), fRunAction(runAction), fRndmDir(0), fRndmSaveCmd(0), fRndmReadCmd(0) { fRndmDir = new G4UIdirectory("/rndm/"); fRndmDir->SetGuidance("Rndm status control."); - - fRndmSaveCmd = new G4UIcmdWithAnInteger("/rndm/save",this); + + fRndmSaveCmd = new G4UIcmdWithAnInteger("/rndm/save", this); fRndmSaveCmd->SetGuidance("set frequency to save rndm status on external files."); fRndmSaveCmd->SetGuidance("freq = 0 not saved"); fRndmSaveCmd->SetGuidance("freq > 0 saved on: beginOfRun.rndm"); fRndmSaveCmd->SetGuidance("freq = 1 saved on: endOfRun.rndm"); - fRndmSaveCmd->SetGuidance("freq = 2 saved on: endOfEvent.rndm"); - fRndmSaveCmd->SetParameterName("frequency",false); + fRndmSaveCmd->SetGuidance("freq = 2 saved on: endOfEvent.rndm"); + fRndmSaveCmd->SetParameterName("frequency", false); fRndmSaveCmd->SetRange("frequency>=0 && frequency<=2"); - fRndmSaveCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fRndmReadCmd = new G4UIcmdWithAString("/rndm/read",this); + fRndmSaveCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fRndmReadCmd = new G4UIcmdWithAString("/rndm/read", this); fRndmReadCmd->SetGuidance("get rndm status from an external file."); - fRndmReadCmd->SetParameterName("fileName",true); - fRndmReadCmd->SetDefaultValue ("beginOfRun.rndm"); - fRndmReadCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fRndmReadCmd->SetParameterName("fileName", true); + fRndmReadCmd->SetDefaultValue("beginOfRun.rndm"); + fRndmReadCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... RunMessenger::~RunMessenger() { - delete fRndmSaveCmd; - delete fRndmReadCmd; - delete fRndmDir; + delete fRndmSaveCmd; + delete fRndmReadCmd; + delete fRndmDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -85,14 +84,12 @@ void RunMessenger::SetNewValue(G4UIcommand* command, G4String newValues) if (command == fRndmSaveCmd) { fRunAction->SetRndmFreq(fRndmSaveCmd->GetNewIntValue(newValues)); } - + if (command == fRndmReadCmd) { G4cout << "\n---> rndm status restored from file: " << newValues << G4endl; CLHEP::HepRandom::restoreEngineStatus(newValues); CLHEP::HepRandom::showEngineStatus(); - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - diff --git a/examples/extended/electromagnetic/TestEm10/src/SensitiveDetector.cc b/examples/extended/electromagnetic/TestEm10/src/SensitiveDetector.cc index 38c5410b16a..5f41ae1f8e4 100644 --- a/examples/extended/electromagnetic/TestEm10/src/SensitiveDetector.cc +++ b/examples/extended/electromagnetic/TestEm10/src/SensitiveDetector.cc @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,20 +36,17 @@ #include "SensitiveDetector.hh" #include "G4AnalysisManager.hh" -#include "G4Step.hh" +#include "G4Step.hh" #include "G4UnitsTable.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SensitiveDetector::SensitiveDetector(G4String name) - : G4VSensitiveDetector(name), fEdep(0.) -{} +SensitiveDetector::SensitiveDetector(G4String name) : G4VSensitiveDetector(name), fEdep(0.) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SensitiveDetector::~SensitiveDetector() -{} +SensitiveDetector::~SensitiveDetector() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,10 +63,10 @@ G4bool SensitiveDetector::ProcessHits(G4Step* step, G4TouchableHistory*) fEdep += edep; // verbose level can be set via /hits/verbose command - if (verboseLevel>1) { - G4cout << " Energy added to the hit: " << G4BestUnit(edep, "Energy") << G4endl; + if (verboseLevel > 1) { + G4cout << " Energy added to the hit: " << G4BestUnit(edep, "Energy") << G4endl; } - + return true; } @@ -82,9 +79,9 @@ void SensitiveDetector::EndOfEvent(G4HCofThisEvent*) analysisManager->FillH1(5, fEdep); // verbose level can be set via /hits/verbose command - if (verboseLevel>0) { + if (verboseLevel > 0) { G4cout << " Absorber: total energy: " << G4BestUnit(fEdep, "Energy") << G4endl; - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm10/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm10/src/StackingAction.cc index 6de84979ac8..d4ea4e863c2 100644 --- a/examples/extended/electromagnetic/TestEm10/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/StackingAction.cc @@ -33,43 +33,41 @@ #include "StackingAction.hh" #include "G4AnalysisManager.hh" -#include "G4Track.hh" -#include "G4Gamma.hh" #include "G4Electron.hh" #include "G4EmProcessSubType.hh" +#include "G4Gamma.hh" +#include "G4Track.hh" #include "G4VProcess.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingAction::StackingAction() - : G4UserStackingAction() -{} +StackingAction::StackingAction() : G4UserStackingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingAction::~StackingAction() -{} +StackingAction::~StackingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* track) +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* track) { // do nothing if primary particle - if (track->GetParentID() == 0) { return fUrgent; } + if (track->GetParentID() == 0) { + return fUrgent; + } - //count secondary particles + // count secondary particles G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); // - //energy spectrum of secondaries + // energy spectrum of secondaries // G4double energy = track->GetKineticEnergy(); - // Gamma + // Gamma if (track->GetDefinition() == G4Gamma::Gamma()) { // XTR gamma - // G4int processSubType + // G4int processSubType // = track->GetCreatorProcess()->GetProcessSubType(); // if ( processSubType == fTransitionRadiation) { G4String creatorProcessName = track->GetCreatorProcess()->GetProcessName(); @@ -85,7 +83,7 @@ StackingAction::ClassifyNewTrack(const G4Track* track) if (track->GetDefinition() == G4Electron::Electron()) { analysisManager->FillH1(4, energy); } - + return fUrgent; } diff --git a/examples/extended/electromagnetic/TestEm10/src/StepMax.cc b/examples/extended/electromagnetic/TestEm10/src/StepMax.cc index 8e427c43083..a76e24e4a07 100644 --- a/examples/extended/electromagnetic/TestEm10/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm10/src/StepMax.cc @@ -31,24 +31,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" + #include "G4VPhysicalVolume.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMax::StepMax(const G4String& processName) - : G4VDiscreteProcess(processName), - fMaxChargedStep(DBL_MAX), - fMessenger(0) + : G4VDiscreteProcess(processName), fMaxChargedStep(DBL_MAX), fMessenger(0) { fMessenger = new StepMaxMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() -{ - delete fMessenger; +StepMax::~StepMax() +{ + delete fMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,17 +60,15 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep(G4double step) +void StepMax::SetMaxStep(G4double step) { fMaxChargedStep = step; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double -StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, - G4double, - G4ForceCondition* condition) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; diff --git a/examples/extended/electromagnetic/TestEm10/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/StepMaxMessenger.cc index 2edb368d0ec..b5450309573 100644 --- a/examples/extended/electromagnetic/TestEm10/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/StepMaxMessenger.cc @@ -33,20 +33,21 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMaxMessenger::StepMaxMessenger(StepMax* stepM) - :G4UImessenger(),fStepMax(stepM),fStepMaxCmd(0) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepmax",this); + : G4UImessenger(), fStepMax(stepM), fStepMaxCmd(0) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepmax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); - fStepMaxCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fStepMaxCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,9 +60,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm10/src/TransitionRadiationPhysics.cc b/examples/extended/electromagnetic/TestEm10/src/TransitionRadiationPhysics.cc index 0fd3234080f..59979ce4f09 100644 --- a/examples/extended/electromagnetic/TestEm10/src/TransitionRadiationPhysics.cc +++ b/examples/extended/electromagnetic/TestEm10/src/TransitionRadiationPhysics.cc @@ -28,133 +28,94 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "TransitionRadiationPhysics.hh" + #include "DetectorConstruction.hh" -#include "G4VXTRenergyLoss.hh" -#include "G4ProcessManager.hh" +#include "XTRTransparentRegRadModel.hh" + #include "G4Electron.hh" +#include "G4GammaXTRadiator.hh" #include "G4Positron.hh" - -#include "G4VXTRenergyLoss.hh" +#include "G4ProcessManager.hh" #include "G4RegularXTRadiator.hh" -#include "G4TransparentRegXTRadiator.hh" -#include "G4GammaXTRadiator.hh" #include "G4StrawTubeXTRadiator.hh" - +#include "G4TransparentRegXTRadiator.hh" +#include "G4VXTRenergyLoss.hh" #include "G4XTRGammaRadModel.hh" #include "G4XTRRegularRadModel.hh" #include "G4XTRTransparentRegRadModel.hh" -#include "XTRTransparentRegRadModel.hh" -G4ThreadLocal -G4VXTRenergyLoss* TransitionRadiationPhysics::fXTRProcess = nullptr; +G4ThreadLocal G4VXTRenergyLoss* TransitionRadiationPhysics::fXTRProcess = nullptr; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TransitionRadiationPhysics::TransitionRadiationPhysics(G4int verb, - DetectorConstruction* ptr) - : G4VPhysicsConstructor("XTR"), - fDetector(ptr), - fVerbose(verb), - fXTRModel("transpM") +TransitionRadiationPhysics::TransitionRadiationPhysics(G4int verb, DetectorConstruction* ptr) + : G4VPhysicsConstructor("XTR"), fDetector(ptr), fVerbose(verb), fXTRModel("transpM") {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TransitionRadiationPhysics::~TransitionRadiationPhysics() -{} +TransitionRadiationPhysics::~TransitionRadiationPhysics() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void TransitionRadiationPhysics::ConstructProcess() { - if("dummy" == fXTRModel) { return; } - if(0 < fVerbose) { - G4cout<< "TransitionRadiationPhysics: XTR model <" << fXTRModel - << ">" <" << G4endl; } RadiatorDescription* rDescription = fDetector->GetRadiatorDescription(); - if(fXTRModel == "gammaR" ) { - - fXTRProcess = new G4GammaXTRadiator(rDescription->fLogicalVolume, - 100., 100., - rDescription->fFoilMaterial, - rDescription->fGasMaterial, - rDescription->fFoilThickness, - rDescription->fGasThickness, - rDescription->fFoilNumber, - "GammaXTRadiator"); + if (fXTRModel == "gammaR") { + fXTRProcess = new G4GammaXTRadiator(rDescription->fLogicalVolume, 100., 100., + rDescription->fFoilMaterial, rDescription->fGasMaterial, + rDescription->fFoilThickness, rDescription->fGasThickness, + rDescription->fFoilNumber, "GammaXTRadiator"); } - else if(fXTRModel == "gammaM" ) - { - fXTRProcess = new G4XTRGammaRadModel(rDescription->fLogicalVolume, - 100., 100., - rDescription->fFoilMaterial, - rDescription->fGasMaterial, - rDescription->fFoilThickness, - rDescription->fGasThickness, - rDescription->fFoilNumber, - "GammaXTRadiator"); + else if (fXTRModel == "gammaM") { + fXTRProcess = new G4XTRGammaRadModel(rDescription->fLogicalVolume, 100., 100., + rDescription->fFoilMaterial, rDescription->fGasMaterial, + rDescription->fFoilThickness, rDescription->fGasThickness, + rDescription->fFoilNumber, "GammaXTRadiator"); } - else if(fXTRModel == "strawR" ) - { - fXTRProcess = new G4StrawTubeXTRadiator(rDescription->fLogicalVolume, - rDescription->fFoilMaterial, - rDescription->fGasMaterial, - 0.53, - 3.14159, - fDetector->GetAbsorberMaterial(), - true, - "strawXTRadiator"); + else if (fXTRModel == "strawR") { + fXTRProcess = new G4StrawTubeXTRadiator( + rDescription->fLogicalVolume, rDescription->fFoilMaterial, rDescription->fGasMaterial, 0.53, + 3.14159, fDetector->GetAbsorberMaterial(), true, "strawXTRadiator"); } - else if(fXTRModel == "regR" ) - { - fXTRProcess = new G4RegularXTRadiator(rDescription->fLogicalVolume, - rDescription->fFoilMaterial, - rDescription->fGasMaterial, - rDescription->fFoilThickness, - rDescription->fGasThickness, - rDescription->fFoilNumber, - "RegularXTRadiator"); + else if (fXTRModel == "regR") { + fXTRProcess = new G4RegularXTRadiator(rDescription->fLogicalVolume, rDescription->fFoilMaterial, + rDescription->fGasMaterial, rDescription->fFoilThickness, + rDescription->fGasThickness, rDescription->fFoilNumber, + "RegularXTRadiator"); } - else if(fXTRModel == "transpR" ) - { - // G4TransparentRegXTRadiator* - fXTRProcess = new G4TransparentRegXTRadiator(rDescription->fLogicalVolume, - rDescription->fFoilMaterial, - rDescription->fGasMaterial, - rDescription->fFoilThickness, - rDescription->fGasThickness, - rDescription->fFoilNumber, - "RegularXTRadiator"); + else if (fXTRModel == "transpR") { + // G4TransparentRegXTRadiator* + fXTRProcess = new G4TransparentRegXTRadiator( + rDescription->fLogicalVolume, rDescription->fFoilMaterial, rDescription->fGasMaterial, + rDescription->fFoilThickness, rDescription->fGasThickness, rDescription->fFoilNumber, + "RegularXTRadiator"); } - else if(fXTRModel == "regM" ) - { - fXTRProcess = new G4XTRRegularRadModel(rDescription->fLogicalVolume, - rDescription->fFoilMaterial, - rDescription->fGasMaterial, - rDescription->fFoilThickness, - rDescription->fGasThickness, - rDescription->fFoilNumber, - "RegularXTRadiator"); - + else if (fXTRModel == "regM") { + fXTRProcess = new G4XTRRegularRadModel( + rDescription->fLogicalVolume, rDescription->fFoilMaterial, rDescription->fGasMaterial, + rDescription->fFoilThickness, rDescription->fGasThickness, rDescription->fFoilNumber, + "RegularXTRadiator"); } - else if(fXTRModel == "transpM" ) - { - fXTRProcess = new XTRTransparentRegRadModel(rDescription->fLogicalVolume, - rDescription->fFoilMaterial, - rDescription->fGasMaterial, - rDescription->fFoilThickness, - rDescription->fGasThickness, - rDescription->fFoilNumber, - "RegularXTRadiator"); - } - if(!fXTRProcess) { - if(0 < fVerbose) { - G4cout<< "TransitionRadiationPhysics: XTR model <" << fXTRModel - << "> is not known - no XTR process defined" <fLogicalVolume, rDescription->fFoilMaterial, rDescription->fGasMaterial, + rDescription->fFoilThickness, rDescription->fGasThickness, rDescription->fFoilNumber, + "RegularXTRadiator"); + } + if (!fXTRProcess) { + if (0 < fVerbose) { + G4cout << "TransitionRadiationPhysics: XTR model <" << fXTRModel + << "> is not known - no XTR process defined" << G4endl; } - return; + return; } fXTRProcess->SetVerboseLevel(fVerbose); @@ -169,4 +130,3 @@ void TransitionRadiationPhysics::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm10/src/XTRTransparentRegRadModel.cc b/examples/extended/electromagnetic/TestEm10/src/XTRTransparentRegRadModel.cc index 3933d90c4b7..21301074552 100644 --- a/examples/extended/electromagnetic/TestEm10/src/XTRTransparentRegRadModel.cc +++ b/examples/extended/electromagnetic/TestEm10/src/XTRTransparentRegRadModel.cc @@ -29,51 +29,52 @@ // // -#include - #include "XTRTransparentRegRadModel.hh" -#include "Randomize.hh" -#include "G4Integrator.hh" + #include "G4Gamma.hh" +#include "G4Integrator.hh" #include "G4PhysicalConstants.hh" +#include "Randomize.hh" + +#include using namespace std; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + //////////////////////////////////////////////////////////////////////////// // // Constructor, destructor -XTRTransparentRegRadModel::XTRTransparentRegRadModel(G4LogicalVolume *anEnvelope, - G4Material* foilMat,G4Material* gasMat, - G4double a, G4double b, G4int n, - const G4String& processName) : - G4VXTRenergyLoss(anEnvelope,foilMat,gasMat,a,b,n,processName) +XTRTransparentRegRadModel::XTRTransparentRegRadModel(G4LogicalVolume* anEnvelope, + G4Material* foilMat, G4Material* gasMat, + G4double a, G4double b, G4int n, + const G4String& processName) + : G4VXTRenergyLoss(anEnvelope, foilMat, gasMat, a, b, n, processName) { - G4cout<<"Regular transparent X-ray TR radiator EM process is called"< kMin) kMin++; @@ -111,60 +111,54 @@ G4double XTRTransparentRegRadModel::SpectralXTRdEdx(G4double energy) // kMax = G4int(tmp); // if(kMax < 0) kMax = 0; // kMax += kMin; - - kMax = kMin + 9; // 5; // 9; // kMin + G4int(tmp); + kMax = kMin + 9; // 5; // 9; // kMin + G4int(tmp); // tmp /= fGamma; // if( G4int(tmp) < kMin ) kMin = G4int(tmp); // G4cout<<"kMin = "<SetNumberOfThreads(nThreads); + + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* det = new DetectorConstruction; runManager->SetUserInitialization(det); @@ -76,27 +74,27 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(new ActionInitialization(det, phys)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm11/TestEm11.out b/examples/extended/electromagnetic/TestEm11/TestEm11.out index 8793165ee53..644e1576dcd 100644 --- a/examples/extended/electromagnetic/TestEm11/TestEm11.out +++ b/examples/extended/electromagnetic/TestEm11/TestEm11.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -235,7 +235,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -546,32 +546,32 @@ Index : 1 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 20000 - User=0.770000s Real=0.824748s Sys=0.000000s + User=1.100000s Real=1.135229s Sys=0.000000s ======================== run summary ===================== The run is 20000 e- of 500.00 keV through 1 absorbers: 1 1.00 mm of G4_Si (density: 2.33 g/cm3 ) - Edep in absorber 1 = 450.260 keV (18.817 keV-->500.000 keV) - Energy leakage = 49.740 keV (8.040 keV-->481.183 keV) + Edep in absorber 1 = 447.180 keV (18.269 keV-->500.000 keV) + Energy leakage = 52.820 keV (5.072 keV-->481.731 keV) Energy total = 500.000 keV (500.000 keV-->500.000 keV) - Track length of primary track = 885.708 um +- 190.262 um + Track length of primary track = 881.351 um +- 193.309 um Range from EmCalculator = 942.776 um (from full dE/dx) - Projected range = 324.348 um +- 193.880 um + Projected range = 323.879 um +- 193.234 um - Nb of steps of primary track = 11.41 +- 2.86 Step size= 80.444 um +- 20.879 um + Nb of steps of primary track = 14.61 +- 5.07 Step size= 66.099 um +- 23.531 um - absorbed = 78.69 % transmit = 4.96 % reflected = 16.34 % + absorbed = 77.59 % transmit = 5.58 % reflected = 16.82 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 154048955, 2063978683 + Current couple of seeds = 1091870006, 631061454 ---------------------------------------- ================== Deleting memory pools =================== -Number of memory pools allocated: 11 of which, static: 0 -Dynamic pools deleted: 11 / Total memory freed: 0.016 MB +Number of memory pools allocated: 9 of which, static: 0 +Dynamic pools deleted: 9 / Total memory freed: 0.015 MB ============================================================ diff --git a/examples/extended/electromagnetic/TestEm11/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm11/include/ActionInitialization.hh index 094cc84aaa4..42b3b6a8e4f 100644 --- a/examples/extended/electromagnetic/TestEm11/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm11/include/ActionInitialization.hh @@ -42,16 +42,14 @@ class ActionInitialization : public G4VUserActionInitialization { public: ActionInitialization(DetectorConstruction*, PhysicsList*); - ~ActionInitialization() override = default; + ~ActionInitialization() override = default; void BuildForMaster() const override; void Build() const override; - + private: DetectorConstruction* fDetector = nullptr; PhysicsList* fPhysics = nullptr; }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh index 56c6ff93ed7..18488f03978 100644 --- a/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh @@ -33,9 +33,9 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 +#include "G4Cache.hh" #include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "G4Cache.hh" class G4Box; class G4LogicalVolume; @@ -43,7 +43,7 @@ class G4VPhysicalVolume; class G4Material; class DetectorMessenger; -const G4int kMaxAbsor = 10; // 0 + 9 +const G4int kMaxAbsor = 10; // 0 + 9 class G4GlobalMagFieldMessenger; @@ -51,63 +51,57 @@ class G4GlobalMagFieldMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { -public: - - DetectorConstruction(); - ~DetectorConstruction() override; - -public: - - void SetNbOfAbsor (G4int); - void SetAbsorMaterial (G4int,const G4String&); - void SetAbsorThickness(G4int,G4double); - - void SetAbsorSizeYZ (G4double); - void SetNbOfDivisions (G4int,G4int); - - G4VPhysicalVolume* Construct() override; - void ConstructSDandField() override; - -public: - - G4int GetNbOfAbsor() {return fNbOfAbsor;} - G4Material* GetAbsorMaterial (G4int i) {return fAbsorMaterial[i];}; - G4double GetAbsorThickness(G4int i) {return fAbsorThickness[i];}; - G4double GetXfront (G4int i) {return fXfront[i];}; - - G4double GetAbsorSizeX() {return fAbsorSizeX;}; - G4double GetAbsorSizeYZ() {return fAbsorSizeYZ;}; - - G4int GetNbOfDivisions(G4int i) {return fNbOfDivisions[i];}; - - void PrintParameters(); - -private: - - G4int fNbOfAbsor = 1; - G4Material* fAbsorMaterial [kMaxAbsor]; - G4double fAbsorThickness[kMaxAbsor]; - G4double fXfront[kMaxAbsor]; - - G4int fNbOfDivisions[kMaxAbsor]; - - G4double fAbsorSizeX = 0.; - G4double fAbsorSizeYZ = 0.; - G4Material* fDefaultMaterial = nullptr; - - G4VPhysicalVolume* fPhysiWorld = nullptr; - - DetectorMessenger* fDetectorMessenger = nullptr; - G4Cache fFieldMessenger = nullptr; - -private: - - void DefineMaterials(); - void ComputeParameters(); - G4VPhysicalVolume* ConstructVolumes(); + public: + DetectorConstruction(); + ~DetectorConstruction() override; + + public: + void SetNbOfAbsor(G4int); + void SetAbsorMaterial(G4int, const G4String&); + void SetAbsorThickness(G4int, G4double); + + void SetAbsorSizeYZ(G4double); + void SetNbOfDivisions(G4int, G4int); + + G4VPhysicalVolume* Construct() override; + void ConstructSDandField() override; + + public: + G4int GetNbOfAbsor() { return fNbOfAbsor; } + G4Material* GetAbsorMaterial(G4int i) { return fAbsorMaterial[i]; }; + G4double GetAbsorThickness(G4int i) { return fAbsorThickness[i]; }; + G4double GetXfront(G4int i) { return fXfront[i]; }; + + G4double GetAbsorSizeX() { return fAbsorSizeX; }; + G4double GetAbsorSizeYZ() { return fAbsorSizeYZ; }; + + G4int GetNbOfDivisions(G4int i) { return fNbOfDivisions[i]; }; + + void PrintParameters(); + + private: + G4int fNbOfAbsor = 1; + G4Material* fAbsorMaterial[kMaxAbsor]; + G4double fAbsorThickness[kMaxAbsor]; + G4double fXfront[kMaxAbsor]; + + G4int fNbOfDivisions[kMaxAbsor]; + + G4double fAbsorSizeX = 0.; + G4double fAbsorSizeYZ = 0.; + G4Material* fDefaultMaterial = nullptr; + + G4VPhysicalVolume* fPhysiWorld = nullptr; + + DetectorMessenger* fDetectorMessenger = nullptr; + G4Cache fFieldMessenger = nullptr; + + private: + void DefineMaterials(); + void ComputeParameters(); + G4VPhysicalVolume* ConstructVolumes(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh index e47ae0426c4..d00b1e5d712 100644 --- a/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh @@ -33,8 +33,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -45,28 +45,25 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAnInteger* fNbAbsorCmd = nullptr; - G4UIcommand* fAbsorCmd = nullptr; - G4UIcommand* fNdivCmd = nullptr; + DetectorConstruction* fDetector = nullptr; + + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAnInteger* fNbAbsorCmd = nullptr; + G4UIcommand* fAbsorCmd = nullptr; + G4UIcommand* fNdivCmd = nullptr; G4UIcmdWithADoubleAndUnit* fSizeYZCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/EventAction.hh b/examples/extended/electromagnetic/TestEm11/include/EventAction.hh index 40ae65e4ae1..af82a7ca192 100644 --- a/examples/extended/electromagnetic/TestEm11/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/EventAction.hh @@ -33,9 +33,10 @@ #ifndef EventAction_h #define EventAction_h 1 +#include "DetectorConstruction.hh" + #include "G4UserEventAction.hh" #include "globals.hh" -#include "DetectorConstruction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -43,24 +44,22 @@ class EventAction : public G4UserEventAction { public: EventAction(DetectorConstruction*); - ~EventAction() override = default; + ~EventAction() override = default; public: void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; - + void EndOfEventAction(const G4Event*) override; + void AddEdep(G4int k, G4double edep); - void AddEleak (G4double eleak); - + void AddEleak(G4double eleak); + private: DetectorConstruction* fDetector = nullptr; - G4double fEdepAbsor[kMaxAbsor]; - G4double fEnergyLeak = 0.; + G4double fEdepAbsor[kMaxAbsor]; + G4double fEnergyLeak = 0.; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh index 66a44a2dd23..328c386b2de 100644 --- a/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh @@ -27,16 +27,15 @@ /// \brief Definition of the HistoManager class // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" - #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -44,7 +43,7 @@ class HistoManager { public: HistoManager(); - ~HistoManager() = default; + ~HistoManager() = default; private: void Book(); @@ -54,4 +53,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh index da88bc57c55..9e3811b1424 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh @@ -41,21 +41,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; + ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh index 653d6982b97..660567d82b1 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh @@ -46,11 +46,11 @@ class PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); - ~PhysicsList() override; + ~PhysicsList() override; void ConstructParticle() override; @@ -60,17 +60,16 @@ class PhysicsList: public G4VModularPhysicsList void AddRadioactiveDecay(); void AddStepMax(); - StepMax* GetStepMaxProcess() {return fStepMaxProcess;}; + StepMax* GetStepMaxProcess() { return fStepMaxProcess; }; private: - G4String fEmName = " "; + G4String fEmName = " "; G4VPhysicsConstructor* fEmPhysicsList = nullptr; static G4ThreadLocal StepMax* fStepMaxProcess; - PhysicsListMessenger* fMessenger = nullptr; + PhysicsListMessenger* fMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh index 68f1efc2d4e..a018b233da1 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh @@ -33,8 +33,8 @@ #ifndef PhysicsListMessenger_h #define PhysicsListMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class PhysicsList; class G4UIdirectory; @@ -42,24 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; + + G4UIdirectory* fPhysDir = nullptr; G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh index 86fba6ced05..84c6f8b56fa 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -46,24 +46,23 @@ class PrimaryGeneratorMessenger; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; public: - void SetDefaultKinematic(); - void SetRndmBeam(G4double val) {fRndmBeam = val;} + void SetDefaultKinematic(); + void SetRndmBeam(G4double val) { fRndmBeam = val; } void GeneratePrimaries(G4Event*) override; - - G4ParticleGun* GetParticleGun() {return fParticleGun;} - + + G4ParticleGun* GetParticleGun() { return fParticleGun; } + private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; - G4double fRndmBeam = 0.; + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; + G4double fRndmBeam = 0.; PrimaryGeneratorMessenger* fGunMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh index 1d3734a182c..cebb4f2e402 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh @@ -43,22 +43,21 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger : public G4UImessenger { public: PrimaryGeneratorMessenger(PrimaryGeneratorAction*); - ~PrimaryGeneratorMessenger() override; - + ~PrimaryGeneratorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - PrimaryGeneratorAction* fAction = nullptr; - G4UIdirectory* fGunDir = nullptr; - G4UIcmdWithoutParameter* fDefaultCmd = nullptr; + PrimaryGeneratorAction* fAction = nullptr; + G4UIdirectory* fGunDir = nullptr; + G4UIcmdWithoutParameter* fDefaultCmd = nullptr; G4UIcmdWithADoubleAndUnit* fRndmCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/Run.hh b/examples/extended/electromagnetic/TestEm11/include/Run.hh index 310bd5d103c..e1944362032 100644 --- a/examples/extended/electromagnetic/TestEm11/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm11/include/Run.hh @@ -46,47 +46,46 @@ class Run : public G4Run { public: Run(DetectorConstruction* detector); - ~Run() override = default; + ~Run() override = default; public: - void SetPrimary(G4ParticleDefinition* particle, G4double energy); - - void AddEdep (G4int i, G4double e); - void AddTotEdep (G4double e); - void AddEleak (G4double); - void AddEtotal (G4double); - void AddTrackLength (G4double t); - void AddProjRange (G4double x); - void AddStepSize (G4int nb, G4double st); - void AddTrackStatus (G4int i); - - void SetCsdaRange (G4int i, G4double value); + void SetPrimary(G4ParticleDefinition* particle, G4double energy); + + void AddEdep(G4int i, G4double e); + void AddTotEdep(G4double e); + void AddEleak(G4double); + void AddEtotal(G4double); + void AddTrackLength(G4double t); + void AddProjRange(G4double x); + void AddStepSize(G4int nb, G4double st); + void AddTrackStatus(G4int i); + + void SetCsdaRange(G4int i, G4double value); void SetXfrontNorm(G4int i, G4double value); - - G4double GetCsdaRange (G4int i); - G4double GetXfrontNorm(G4int i); - + + G4double GetCsdaRange(G4int i); + G4double GetXfrontNorm(G4int i); + void Merge(const G4Run*) override; void EndOfRun(); - + private: - DetectorConstruction* fDetector = nullptr; - G4ParticleDefinition* fParticle = nullptr; - G4double fEkin = 0.; - - G4double fTrackLen = 0., fTrackLen2 = 0.; - G4double fProjRange = 0., fProjRange2 = 0.; - G4int fNbOfSteps = 0 , fNbOfSteps2 = 0; - G4double fStepSize = 0., fStepSize2 = 0.; - G4int fStatus[3]; - - G4double fEdeposit[kMaxAbsor], fEmin[kMaxAbsor], fEmax[kMaxAbsor]; - G4double fTotEdep[3], fEleak[3], fEtotal[3]; - G4double fCsdaRange[kMaxAbsor]; - G4double fXfrontNorm[kMaxAbsor]; + DetectorConstruction* fDetector = nullptr; + G4ParticleDefinition* fParticle = nullptr; + G4double fEkin = 0.; + + G4double fTrackLen = 0., fTrackLen2 = 0.; + G4double fProjRange = 0., fProjRange2 = 0.; + G4int fNbOfSteps = 0, fNbOfSteps2 = 0; + G4double fStepSize = 0., fStepSize2 = 0.; + G4int fStatus[3]; + + G4double fEdeposit[kMaxAbsor], fEmin[kMaxAbsor], fEmax[kMaxAbsor]; + G4double fTotEdep[3], fEleak[3], fEtotal[3]; + G4double fCsdaRange[kMaxAbsor]; + G4double fXfrontNorm[kMaxAbsor]; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/RunAction.hh b/examples/extended/electromagnetic/TestEm11/include/RunAction.hh index 10394b05439..ade50863381 100644 --- a/examples/extended/electromagnetic/TestEm11/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/RunAction.hh @@ -33,9 +33,10 @@ #ifndef RunAction_h #define RunAction_h 1 +#include "DetectorConstruction.hh" + #include "G4UserRunAction.hh" #include "globals.hh" -#include "DetectorConstruction.hh" class Run; class PhysicsList; @@ -47,23 +48,22 @@ class HistoManager; class RunAction : public G4UserRunAction { public: - RunAction(DetectorConstruction*, PhysicsList*,PrimaryGeneratorAction*); - ~RunAction() override; + RunAction(DetectorConstruction*, PhysicsList*, PrimaryGeneratorAction*); + ~RunAction() override; public: - void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; - G4Run* GenerateRun() override; + void BeginOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; + G4Run* GenerateRun() override; private: - DetectorConstruction* fDetector = nullptr; - PhysicsList* fPhysics = nullptr; + DetectorConstruction* fDetector = nullptr; + PhysicsList* fPhysics = nullptr; PrimaryGeneratorAction* fPrimary = nullptr; - Run* fRun = nullptr; - HistoManager* fHistoManager = nullptr; + Run* fRun = nullptr; + HistoManager* fHistoManager = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/StepMax.hh b/examples/extended/electromagnetic/TestEm11/include/StepMax.hh index 5b28c145ef9..1598451cfd2 100644 --- a/examples/extended/electromagnetic/TestEm11/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm11/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -45,35 +45,33 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { public: - - StepMax(const G4String& processName = "UserMaxStep", - G4ProcessType type = fUserDefined); + StepMax(const G4String& processName = "UserMaxStep", G4ProcessType type = fUserDefined); ~StepMax() override; - G4bool IsApplicable(const G4ParticleDefinition&) override; + G4bool IsApplicable(const G4ParticleDefinition&) override; - void SetMaxStep1(G4double); - void SetMaxStep2(G4double); - void ApplyMaxStep2(G4bool); + void SetMaxStep1(G4double); + void SetMaxStep2(G4double); + void ApplyMaxStep2(G4bool); - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, G4ForceCondition* condition) override; + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, G4double previousStepSize, + G4ForceCondition* condition) override; - G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; - G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) override - {return DBL_MAX;}; + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) override + { + return DBL_MAX; + }; private: + G4double fMaxStep1 = DBL_MAX; + G4double fMaxStep2 = DBL_MAX; + G4bool fApplyMaxStep2 = true; - G4double fMaxStep1 = DBL_MAX; - G4double fMaxStep2 = DBL_MAX; - G4bool fApplyMaxStep2 = true; - - StepMaxMessenger* fMess = nullptr; + StepMaxMessenger* fMess = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh index d2fea51ab27..afd86d08ba2 100644 --- a/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh @@ -33,8 +33,8 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithABool; @@ -42,18 +42,18 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger() override; - + ~StepMaxMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - StepMax* fStepMax = nullptr; + StepMax* fStepMax = nullptr; G4UIcmdWithADoubleAndUnit* fStepMax1Cmd = nullptr; - G4UIcmdWithABool* fStepMax2Cmd = nullptr; + G4UIcmdWithABool* fStepMax2Cmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh index ea993027caf..1fd0a00cc14 100644 --- a/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh @@ -44,14 +44,14 @@ class EventAction; class SteppingAction : public G4UserSteppingAction { public: - SteppingAction(DetectorConstruction*,EventAction*); - ~SteppingAction() = default; + SteppingAction(DetectorConstruction*, EventAction*); + ~SteppingAction() = default; void UserSteppingAction(const G4Step*) override; - + private: DetectorConstruction* fDetector = nullptr; - EventAction* fEventAction = nullptr; + EventAction* fEventAction = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh index fa4fc854ce3..1ace3805ff2 100644 --- a/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh @@ -41,17 +41,17 @@ class EventAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { - - public: +class TrackingAction : public G4UserTrackingAction +{ + public: TrackingAction(DetectorConstruction*, EventAction*); - ~TrackingAction() = default; - + ~TrackingAction() = default; + void PostUserTrackingAction(const G4Track*) override; - + private: DetectorConstruction* fDetector = nullptr; - EventAction* fEventAct = nullptr; + EventAction* fEventAct = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm11/src/ActionInitialization.cc index 48c674100ed..ce59a0da044 100644 --- a/examples/extended/electromagnetic/TestEm11/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm11/src/ActionInitialization.cc @@ -28,18 +28,18 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" -#include "TrackingAction.hh" #include "SteppingAction.hh" +#include "TrackingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* detector, - PhysicsList* physics) - : fDetector(detector), fPhysics(physics) -{ } +ActionInitialization::ActionInitialization(DetectorConstruction* detector, PhysicsList* physics) + : fDetector(detector), fPhysics(physics) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,15 +55,15 @@ void ActionInitialization::Build() const { PrimaryGeneratorAction* kinematics = new PrimaryGeneratorAction(fDetector); SetUserAction(kinematics); - + SetUserAction(new RunAction(fDetector, fPhysics, kinematics)); - + EventAction* eventAction = new EventAction(fDetector); SetUserAction(eventAction); - + SetUserAction(new TrackingAction(fDetector, eventAction)); - + SetUserAction(new SteppingAction(fDetector, eventAction)); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc index 83a861046c6..70c255a9831 100644 --- a/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc @@ -31,28 +31,28 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4NistManager.hh" -#include "G4Material.hh" +#include "G4AutoDelete.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" +#include "G4GlobalMagFieldMessenger.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4UniformMagField.hh" - -#include "G4GeometryManager.hh" +#include "G4PhysicalConstants.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" +#include "G4RunManager.hh" #include "G4SolidStore.hh" - +#include "G4SystemOfUnits.hh" #include "G4UImanager.hh" +#include "G4UniformMagField.hh" #include "G4UnitsTable.hh" -#include "G4PhysicalConstants.hh" -#include "G4SystemOfUnits.hh" -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" -#include "G4RunManager.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -61,17 +61,17 @@ DetectorConstruction::DetectorConstruction() { // default parameter values of the absorbers fNbOfAbsor = 1; - fAbsorThickness[0] = 0.*mm; //dummy, for initialization - fAbsorThickness[1] = 1.*mm; - fAbsorSizeYZ = 1.*mm; - for (G4int iAbs=0; iAbsFindOrBuildMaterial("G4_Al"); man->FindOrBuildMaterial("G4_Si"); man->FindOrBuildMaterial("G4_Fe"); - man->FindOrBuildMaterial("G4_Cu"); + man->FindOrBuildMaterial("G4_Cu"); man->FindOrBuildMaterial("G4_Ge"); man->FindOrBuildMaterial("G4_Mo"); man->FindOrBuildMaterial("G4_Ta"); man->FindOrBuildMaterial("G4_W"); man->FindOrBuildMaterial("G4_Au"); - man->FindOrBuildMaterial("G4_Pb"); + man->FindOrBuildMaterial("G4_Pb"); man->FindOrBuildMaterial("G4_PbWO4"); man->FindOrBuildMaterial("G4_SODIUM_IODIDE"); - + man->FindOrBuildMaterial("G4_AIR"); man->FindOrBuildMaterial("G4_WATER"); - - G4Element* H = man->FindOrBuildElement("H"); + + G4Element* H = man->FindOrBuildElement("H"); G4Element* O = man->FindOrBuildElement("O"); - - G4Material* H2O = - new G4Material("Water", 1.000*g/cm3, 2); + + G4Material* H2O = new G4Material("Water", 1.000 * g / cm3, 2); H2O->AddElement(H, 2); H2O->AddElement(O, 1); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); - - G4double density = universe_mean_density; //from PhysicalConstants.h - G4double pressure = 3.e-18*pascal; - G4double temperature = 2.73*kelvin; - G4Material* Galactic = - new G4Material("Galactic", 1., 1.008*g/mole, density, - kStateGas,temperature,pressure); - + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); + + G4double density = universe_mean_density; // from PhysicalConstants.h + G4double pressure = 3.e-18 * pascal; + G4double temperature = 2.73 * kelvin; + G4Material* Galactic = + new G4Material("Galactic", 1., 1.008 * g / mole, density, kStateGas, temperature, pressure); + fDefaultMaterial = Galactic; - + // G4cout << *(G4Material::GetMaterialTable()) << G4endl; } @@ -140,7 +138,7 @@ void DetectorConstruction::ComputeParameters() { // Compute total thickness of absorbers fAbsorSizeX = 0.; - for (G4int iAbs=1; iAbs<=fNbOfAbsor; iAbs++) { + for (G4int iAbs = 1; iAbs <= fNbOfAbsor; iAbs++) { fAbsorSizeX += fAbsorThickness[iAbs]; } } @@ -161,75 +159,69 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() // // World // - G4Box* solidWorld = - new G4Box("World", //name - fAbsorSizeX/2,fAbsorSizeYZ/2,fAbsorSizeYZ/2); //size - - G4LogicalVolume* logicWorld = - new G4LogicalVolume(solidWorld, //solid - fDefaultMaterial, //material - "World"); //name - - fPhysiWorld = - new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - logicWorld, //logical volume - "World", //name - 0, //mother volume - false, //no boolean operation - 0); //copy number - + G4Box* solidWorld = new G4Box("World", // name + fAbsorSizeX / 2, fAbsorSizeYZ / 2, fAbsorSizeYZ / 2); // size + + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // solid + fDefaultMaterial, // material + "World"); // name + + fPhysiWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + logicWorld, // logical volume + "World", // name + 0, // mother volume + false, // no boolean operation + 0); // copy number + // // Absorbers // - fXfront[0] = -0.5*fAbsorSizeX; + fXfront[0] = -0.5 * fAbsorSizeX; // - for (G4int k=1; k<=fNbOfAbsor; k++) { + for (G4int k = 1; k <= fNbOfAbsor; k++) { G4Material* material = fAbsorMaterial[k]; G4String matname = material->GetName(); - + G4Box* solidAbsor = - new G4Box(matname,fAbsorThickness[k]/2,fAbsorSizeYZ/2,fAbsorSizeYZ/2); - - G4LogicalVolume* logicAbsor = - new G4LogicalVolume(solidAbsor, // solid - material, // material - matname); // name - - fXfront[k] = fXfront[k-1] + fAbsorThickness[k-1]; - G4double xcenter = fXfront[k]+0.5*fAbsorThickness[k]; - G4ThreeVector position = G4ThreeVector(xcenter,0.,0.); - - new G4PVPlacement(0, //no rotation - position, //position - logicAbsor, //logical volume - matname, //name - logicWorld, //mother - false, //no boulean operat - k); //copy number - + new G4Box(matname, fAbsorThickness[k] / 2, fAbsorSizeYZ / 2, fAbsorSizeYZ / 2); + + G4LogicalVolume* logicAbsor = new G4LogicalVolume(solidAbsor, // solid + material, // material + matname); // name + + fXfront[k] = fXfront[k - 1] + fAbsorThickness[k - 1]; + G4double xcenter = fXfront[k] + 0.5 * fAbsorThickness[k]; + G4ThreeVector position = G4ThreeVector(xcenter, 0., 0.); + + new G4PVPlacement(0, // no rotation + position, // position + logicAbsor, // logical volume + matname, // name + logicWorld, // mother + false, // no boulean operat + k); // copy number + // divisions, if any // - G4double LayerThickness = fAbsorThickness[k]/fNbOfDivisions[k]; - G4Box* solidLayer = - new G4Box(matname,LayerThickness/2,fAbsorSizeYZ/2,fAbsorSizeYZ/2); - - G4LogicalVolume* logicLayer = - new G4LogicalVolume(solidLayer, //solid - material, //material - matname); //name - - new G4PVReplica(matname, //name - logicLayer, //logical volume - logicAbsor, //mother - kXAxis, //axis of replication - fNbOfDivisions[k], //number of replica - LayerThickness); //witdth of replica + G4double LayerThickness = fAbsorThickness[k] / fNbOfDivisions[k]; + G4Box* solidLayer = new G4Box(matname, LayerThickness / 2, fAbsorSizeYZ / 2, fAbsorSizeYZ / 2); + + G4LogicalVolume* logicLayer = new G4LogicalVolume(solidLayer, // solid + material, // material + matname); // name + + new G4PVReplica(matname, // name + logicLayer, // logical volume + logicAbsor, // mother + kXAxis, // axis of replication + fNbOfDivisions[k], // number of replica + LayerThickness); // witdth of replica } PrintParameters(); - //always return the physical World + // always return the physical World // return fPhysiWorld; } @@ -240,14 +232,12 @@ void DetectorConstruction::PrintParameters() { G4cout << "\n-------------------------------------------------------------" << "\n ---> The Absorber is " << fNbOfAbsor << " layers of:"; - for (G4int i=1; i<=fNbOfAbsor; i++) - { - G4cout << "\n \t" << std::setw(16) << fAbsorMaterial[i]->GetName() <<": " - << std::setw(6) << G4BestUnit(fAbsorThickness[i],"Length") - << " divided in " << fNbOfDivisions[i] << " slices"; - } - G4cout << "\n-------------------------------------------------------------\n" - << G4endl; + for (G4int i = 1; i <= fNbOfAbsor; i++) { + G4cout << "\n \t" << std::setw(16) << fAbsorMaterial[i]->GetName() << ": " << std::setw(6) + << G4BestUnit(fAbsorThickness[i], "Length") << " divided in " << fNbOfDivisions[i] + << " slices"; + } + G4cout << "\n-------------------------------------------------------------\n" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -256,53 +246,51 @@ void DetectorConstruction::SetNbOfAbsor(G4int ival) { // set the number of Absorbers // - if (ival < 1 || ival > (kMaxAbsor-1)) - { G4cout << "\n ---> warning from SetfNbOfAbsor: " - << ival << " must be at least 1 and and most " << kMaxAbsor-1 - << ". Command refused" << G4endl; - return; - } + if (ival < 1 || ival > (kMaxAbsor - 1)) { + G4cout << "\n ---> warning from SetfNbOfAbsor: " << ival << " must be at least 1 and and most " + << kMaxAbsor - 1 << ". Command refused" << G4endl; + return; + } fNbOfAbsor = ival; G4RunManager::GetRunManager()->ReinitializeGeometry(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorConstruction::SetAbsorMaterial(G4int iabs,const G4String& material) +void DetectorConstruction::SetAbsorMaterial(G4int iabs, const G4String& material) { // search the material by its name // - if (iabs > fNbOfAbsor || iabs <= 0) - { G4cout << "\n --->warning from SetfAbsorMaterial: absor number " - << iabs << " out of range. Command refused" << G4endl; - return; - } - - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(material); + if (iabs > fNbOfAbsor || iabs <= 0) { + G4cout << "\n --->warning from SetfAbsorMaterial: absor number " << iabs + << " out of range. Command refused" << G4endl; + return; + } + + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(material); if (pttoMaterial) { - fAbsorMaterial[iabs] = pttoMaterial; - G4RunManager::GetRunManager()->PhysicsHasBeenModified(); - G4cout << "\n " << pttoMaterial << G4endl; + fAbsorMaterial[iabs] = pttoMaterial; + G4RunManager::GetRunManager()->PhysicsHasBeenModified(); + G4cout << "\n " << pttoMaterial << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorConstruction::SetAbsorThickness(G4int iabs,G4double val) +void DetectorConstruction::SetAbsorThickness(G4int iabs, G4double val) { // change Absorber thickness // - if (iabs > fNbOfAbsor || iabs <= 0) - { G4cout << "\n --->warning from SetfAbsorThickness: absor number " - << iabs << " out of range. Command refused" << G4endl; - return; - } - if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetfAbsorThickness: thickness " - << val << " out of range. Command refused" << G4endl; - return; - } + if (iabs > fNbOfAbsor || iabs <= 0) { + G4cout << "\n --->warning from SetfAbsorThickness: absor number " << iabs + << " out of range. Command refused" << G4endl; + return; + } + if (val <= DBL_MIN) { + G4cout << "\n --->warning from SetfAbsorThickness: thickness " << val + << " out of range. Command refused" << G4endl; + return; + } fAbsorThickness[iabs] = val; G4RunManager::GetRunManager()->ReinitializeGeometry(); } @@ -313,11 +301,11 @@ void DetectorConstruction::SetAbsorSizeYZ(G4double val) { // change the transverse size // - if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetfAbsorSizeYZ: thickness " - << val << " out of range. Command refused" << G4endl; - return; - } + if (val <= DBL_MIN) { + G4cout << "\n --->warning from SetfAbsorSizeYZ: thickness " << val + << " out of range. Command refused" << G4endl; + return; + } fAbsorSizeYZ = val; G4RunManager::GetRunManager()->ReinitializeGeometry(); } @@ -328,17 +316,17 @@ void DetectorConstruction::SetNbOfDivisions(G4int iabs, G4int ival) { // set the number of divisions // - if (iabs > fNbOfAbsor || iabs < 1) - { G4cout << "\n --->warning from SetNbOfDivisions: absor number " - << iabs << " out of range. Command refused" << G4endl; - return; - } - - if (ival < 1) - { G4cout << "\n --->warning from SetNbOfDivisions: " - << ival << " must be at least 1. Command refused" << G4endl; - return; - } + if (iabs > fNbOfAbsor || iabs < 1) { + G4cout << "\n --->warning from SetNbOfDivisions: absor number " << iabs + << " out of range. Command refused" << G4endl; + return; + } + + if (ival < 1) { + G4cout << "\n --->warning from SetNbOfDivisions: " << ival + << " must be at least 1. Command refused" << G4endl; + return; + } fNbOfDivisions[iabs] = ival; G4RunManager::GetRunManager()->ReinitializeGeometry(); } @@ -347,18 +335,16 @@ void DetectorConstruction::SetNbOfDivisions(G4int iabs, G4int ival) void DetectorConstruction::ConstructSDandField() { - if ( fFieldMessenger.Get() == 0 ) { - // Create global magnetic field messenger. - // Uniform magnetic field is then created automatically if - // the field value is not zero. - G4ThreeVector fieldValue = G4ThreeVector(); - G4GlobalMagFieldMessenger* msg = - new G4GlobalMagFieldMessenger(fieldValue); - //msg->SetVerboseLevel(1); - G4AutoDelete::Register(msg); - fFieldMessenger.Put( msg ); - } + if (fFieldMessenger.Get() == 0) { + // Create global magnetic field messenger. + // Uniform magnetic field is then created automatically if + // the field value is not zero. + G4ThreeVector fieldValue = G4ThreeVector(); + G4GlobalMagFieldMessenger* msg = new G4GlobalMagFieldMessenger(fieldValue); + // msg->SetVerboseLevel(1); + G4AutoDelete::Register(msg); + fFieldMessenger.Put(msg); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc index e9811607037..ade919f30a9 100644 --- a/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc @@ -32,89 +32,88 @@ #include "DetectorMessenger.hh" -#include - #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcommand.hh" -#include "G4UIparameter.hh" -#include "G4UIcmdWithAnInteger.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAnInteger.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIcommand.hh" +#include "G4UIdirectory.hh" +#include "G4UIparameter.hh" + +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance(" detector control."); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction commands"); - - fNbAbsorCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfAbsor",this); + + fNbAbsorCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfAbsor", this); fNbAbsorCmd->SetGuidance("Set number of Absorbers."); - fNbAbsorCmd->SetParameterName("NbAbsor",false); + fNbAbsorCmd->SetParameterName("NbAbsor", false); fNbAbsorCmd->SetRange("NbAbsor>0"); - fNbAbsorCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fNbAbsorCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fNbAbsorCmd->SetToBeBroadcasted(false); - - fAbsorCmd = new G4UIcommand("/testem/det/setAbsor",this); + + fAbsorCmd = new G4UIcommand("/testem/det/setAbsor", this); fAbsorCmd->SetGuidance("Set the absor nb, the material, the thickness."); fAbsorCmd->SetGuidance(" absor number : from 1 to NbOfAbsor"); fAbsorCmd->SetGuidance(" material name"); fAbsorCmd->SetGuidance(" thickness (with unit) : t>0."); // - G4UIparameter* AbsNbPrm = new G4UIparameter("AbsorNb",'i',false); + G4UIparameter* AbsNbPrm = new G4UIparameter("AbsorNb", 'i', false); AbsNbPrm->SetGuidance("absor number : from 1 to NbOfAbsor"); AbsNbPrm->SetParameterRange("AbsorNb>0"); fAbsorCmd->SetParameter(AbsNbPrm); // - G4UIparameter* MatPrm = new G4UIparameter("material",'s',false); + G4UIparameter* MatPrm = new G4UIparameter("material", 's', false); MatPrm->SetGuidance("material name"); fAbsorCmd->SetParameter(MatPrm); - // - G4UIparameter* ThickPrm = new G4UIparameter("thickness",'d',false); + // + G4UIparameter* ThickPrm = new G4UIparameter("thickness", 'd', false); ThickPrm->SetGuidance("thickness of absorber"); ThickPrm->SetParameterRange("thickness>0."); fAbsorCmd->SetParameter(ThickPrm); // - G4UIparameter* unitPrm = new G4UIparameter("unit",'s',false); + G4UIparameter* unitPrm = new G4UIparameter("unit", 's', false); unitPrm->SetGuidance("unit of thickness"); G4String unitList = G4UIcommand::UnitsList(G4UIcommand::CategoryOf("mm")); unitPrm->SetParameterCandidates(unitList); fAbsorCmd->SetParameter(unitPrm); // - fAbsorCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsorCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fAbsorCmd->SetToBeBroadcasted(false); - - fNdivCmd = new G4UIcommand("/testem/det/nDivAbsor",this); + + fNdivCmd = new G4UIcommand("/testem/det/nDivAbsor", this); fNdivCmd->SetGuidance("Divide the absor nb : number of divisions"); fNdivCmd->SetGuidance(" absor number : from 1 to NbOfAbsor"); fNdivCmd->SetGuidance(" number of divisions >= 0"); // - G4UIparameter* AbsNbPar = new G4UIparameter("AbsorNb",'i',false); + G4UIparameter* AbsNbPar = new G4UIparameter("AbsorNb", 'i', false); AbsNbPar->SetGuidance("absor number : from 1 to NbOfAbsor"); AbsNbPar->SetParameterRange("AbsorNb>0"); fNdivCmd->SetParameter(AbsNbPar); // - G4UIparameter* NdivPrm = new G4UIparameter("NdivNb",'i',false); + G4UIparameter* NdivPrm = new G4UIparameter("NdivNb", 'i', false); NdivPrm->SetGuidance("nb of divisions > 0"); NdivPrm->SetParameterRange("NdivNb>0"); fNdivCmd->SetParameter(NdivPrm); // - fNdivCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fNdivCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fNdivCmd->SetToBeBroadcasted(false); - - fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSizeYZ",this); + + fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSizeYZ", this); fSizeYZCmd->SetGuidance("Set sizeYZ of the absorber"); - fSizeYZCmd->SetParameterName("SizeYZ",false); + fSizeYZCmd->SetParameterName("SizeYZ", false); fSizeYZCmd->SetRange("SizeYZ>0."); fSizeYZCmd->SetUnitCategory("Length"); - fSizeYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fSizeYZCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fSizeYZCmd->SetToBeBroadcasted(false); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -123,42 +122,42 @@ DetectorMessenger::~DetectorMessenger() { delete fNbAbsorCmd; delete fAbsorCmd; - delete fNdivCmd; + delete fNdivCmd; delete fSizeYZCmd; - delete fDetDir; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == fNbAbsorCmd ) - { fDetector->SetNbOfAbsor(fNbAbsorCmd->GetNewIntValue(newValue));} - - if (command == fAbsorCmd) - { - G4int num; G4double tick; - G4String unt, mat; - std::istringstream is(newValue); - is >> num >> mat >> tick >> unt; - G4String material=mat; - tick *= G4UIcommand::ValueOf(unt); - fDetector->SetAbsorMaterial (num,material); - fDetector->SetAbsorThickness(num,tick); - } - - if (command == fNdivCmd) - { - G4int num, ndiv; - std::istringstream is(newValue); - is >> num >> ndiv; - fDetector->SetNbOfDivisions (num,ndiv); - } - - if( command == fSizeYZCmd ) - { fDetector->SetAbsorSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue));} - +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fNbAbsorCmd) { + fDetector->SetNbOfAbsor(fNbAbsorCmd->GetNewIntValue(newValue)); + } + + if (command == fAbsorCmd) { + G4int num; + G4double tick; + G4String unt, mat; + std::istringstream is(newValue); + is >> num >> mat >> tick >> unt; + G4String material = mat; + tick *= G4UIcommand::ValueOf(unt); + fDetector->SetAbsorMaterial(num, material); + fDetector->SetAbsorThickness(num, tick); + } + + if (command == fNdivCmd) { + G4int num, ndiv; + std::istringstream is(newValue); + is >> num >> ndiv; + fDetector->SetNbOfDivisions(num, ndiv); + } + + if (command == fSizeYZCmd) { + fDetector->SetAbsorSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/EventAction.cc b/examples/extended/electromagnetic/TestEm11/src/EventAction.cc index 336fb45811b..47e56172c70 100644 --- a/examples/extended/electromagnetic/TestEm11/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/EventAction.cc @@ -32,8 +32,8 @@ #include "EventAction.hh" -#include "Run.hh" #include "HistoManager.hh" +#include "Run.hh" #include "G4Event.hh" #include "G4EventManager.hh" @@ -41,32 +41,32 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(DetectorConstruction* det) -: fDetector(det) -{ } +EventAction::EventAction(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::BeginOfEventAction(const G4Event*) { - //energy deposited per event - for (G4int k=0; k( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - - //plot energy deposited per event + // get Run + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + // plot energy deposited per event // G4AnalysisManager* analysis = G4AnalysisManager::Instance(); - + G4double TotalEdep(0.); - for (G4int k=1; k<=fDetector->GetNbOfAbsor(); k++) { + for (G4int k = 1; k <= fDetector->GetNbOfAbsor(); k++) { if (fEdepAbsor[k] > 0.) { - run->AddEdep(k,fEdepAbsor[k]); + run->AddEdep(k, fEdepAbsor[k]); analysis->FillH1(10 + k, fEdepAbsor[k]); TotalEdep += fEdepAbsor[k]; } } - - if (TotalEdep > 0.) run->AddTotEdep(TotalEdep); + + if (TotalEdep > 0.) run->AddTotEdep(TotalEdep); if (fEnergyLeak > 0.) run->AddEleak(fEnergyLeak); G4double Etotal = TotalEdep + fEnergyLeak; if (Etotal > 0.) run->AddEtotal(Etotal); - - analysis->FillH1( 2,TotalEdep); - analysis->FillH1( 9,fEnergyLeak); - analysis->FillH1(10,Etotal); + + analysis->FillH1(2, TotalEdep); + analysis->FillH1(9, fEnergyLeak); + analysis->FillH1(10, Etotal); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc index 896c4af6495..b533a1f71fc 100644 --- a/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc @@ -27,12 +27,14 @@ /// \brief Implementation of the HistoManager class // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "DetectorConstruction.hh" + #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -57,41 +59,39 @@ void HistoManager::Book() // Define histograms start values const G4int kMaxHisto = 10; - const G4String id[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", - "10","11","12","13","14","15","16","17","18","19", - "20","21","22"}; + const G4String id[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", + "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22"}; - const G4String title[] = - { "dummy", //0 - "Edep (MeV/mm) along absorbers", //1 - "total Energy deposited in absorbers", //2 - "true track length of the primary particle", //3 - "true step size of the primary particle", //4 - "projected range of the primary particle", //5 - "true track length of charged secondaries", //6 - "true step size of charged secondaries", //7 - "Edep (MeV.cm2/g) along x/r0", //8 - "total Energy leakage", //9 - "total Energy : Edep + Eleak" //10 - }; + const G4String title[] = { + "dummy", // 0 + "Edep (MeV/mm) along absorbers", // 1 + "total Energy deposited in absorbers", // 2 + "true track length of the primary particle", // 3 + "true step size of the primary particle", // 4 + "projected range of the primary particle", // 5 + "true track length of charged secondaries", // 6 + "true step size of charged secondaries", // 7 + "Edep (MeV.cm2/g) along x/r0", // 8 + "total Energy leakage", // 9 + "total Energy : Edep + Eleak" // 10 + }; // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; k<=kMaxHisto; k++) { + for (G4int k = 0; k <= kMaxHisto; k++) { G4int ih = analysisManager->CreateH1(id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } - + G4String title2; - for (G4int k=1; kCreateH1(id[kMaxHisto+k], title2, nbins, vmin, vmax); + G4int ih = analysisManager->CreateH1(id[kMaxHisto + k], title2, nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } } diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc index 876dc20e865..ea5bdc6b031 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc @@ -28,62 +28,54 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BuilderType.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4RayleighScattering.hh" +#include "G4IonParametrisedLossModel.hh" #include "G4KleinNishinaModel.hh" #include "G4LivermorePhotoElectricModel.hh" - -#include "G4eMultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuMultipleScattering.hh" -#include "G4MuIonisation.hh" +#include "G4LossTableManager.hh" +#include "G4MscStepLimitType.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuPairProduction.hh" - -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4MscStepLimitType.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4BuilderType.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetVerbose(0); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetStepFunction(0.1, 100*um); - param->SetStepFunctionMuHad(0.1, 50*um); - param->SetStepFunctionLightIons(0.1, 20*um); - param->SetStepFunctionIons(0.1, 1*um); - param->SetMscStepLimitType(fUseDistanceToBoundary); - param->SetDeexcitationIgnoreCut(true); - SetPhysicsType(bElectromagnetic); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetVerbose(0); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetStepFunction(0.1, 100 * um); + param->SetStepFunctionMuHad(0.1, 50 * um); + param->SetStepFunctionLightIons(0.1, 20 * um); + param->SetStepFunctionIons(0.1, 1 * um); + param->SetMscStepLimitType(fUseDistanceToBoundary); + param->SetDeexcitationIgnoreCut(true); + SetPhysicsType(bElectromagnetic); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -91,74 +83,62 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ph->RegisterProcess(new G4RayleighScattering, particle); + if (particleName == "gamma") { + ph->RegisterProcess(new G4RayleighScattering, particle); ph->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* cs = new G4ComptonScattering; + G4ComptonScattering* cs = new G4ComptonScattering; cs->SetEmModel(new G4KleinNishinaModel()); ph->RegisterProcess(cs, particle); ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + } + else if (particleName == "e-") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); - ph->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + ph->RegisterProcess(new G4eBremsstrahlung(), particle); + } + else if (particleName == "e+") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); - ph->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - ph->RegisterProcess(new G4MuMultipleScattering(), particle); + ph->RegisterProcess(new G4eplusAnnihilation(), particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + ph->RegisterProcess(new G4MuMultipleScattering(), particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(new G4MuBremsstrahlung(), particle); ph->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); - ph->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4hPairProduction(), particle); + } + else if (particleName == "alpha" || particleName == "He3") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if (particleName == "GenericIon") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); ph->RegisterProcess(ionIoni, particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } @@ -171,4 +151,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc index 0cf8087c234..192106a916c 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc @@ -31,42 +31,40 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsSS.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" - #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // particles +#include "StepMax.hh" + +#include "G4BaryonConstructor.hh" #include "G4BosonConstructor.hh" +#include "G4Decay.hh" +#include "G4GenericIon.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -#include "G4Decay.hh" +#include "G4NuclideTable.hh" #include "G4PhysicsListHelper.hh" #include "G4RadioactiveDecay.hh" -#include "G4GenericIon.hh" -#include "G4NuclideTable.hh" -#include "StepMax.hh" +#include "G4ShortLivedConstructor.hh" G4ThreadLocal StepMax* PhysicsList::fStepMaxProcess = nullptr; @@ -80,9 +78,9 @@ PhysicsList::PhysicsList() // EM physics fEmPhysicsList = new PhysListEmStandard(fEmName = "local"); - + G4LossTableManager::Instance(); - SetDefaultCutValue(1.*mm); + SetDefaultCutValue(1. * mm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -97,23 +95,23 @@ PhysicsList::~PhysicsList() void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; - pBosonConstructor.ConstructParticle(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); - G4LeptonConstructor pLeptonConstructor; - pLeptonConstructor.ConstructParticle(); + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); - G4IonConstructor pIonConstructor; - pIonConstructor.ConstructParticle(); + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); + G4ShortLivedConstructor pShortLivedConstructor; + pShortLivedConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -125,11 +123,11 @@ void PhysicsList::ConstructProcess() // transportation // AddTransportation(); - + // electromagnetic physics list // fEmPhysicsList->ConstructProcess(); - + // Em options // G4EmParameters* param = G4EmParameters::Instance(); @@ -138,13 +136,13 @@ void PhysicsList::ConstructProcess() // decay process // AddDecay(); - + // radioactive decay Process // AddRadioactiveDecay(); - + // step limitation (as a full process) - // + // AddStepMax(); } @@ -152,7 +150,7 @@ void PhysicsList::ConstructProcess() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>-1) { + if (verboseLevel > -1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } @@ -162,67 +160,65 @@ void PhysicsList::AddPhysicsList(const G4String& name) fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt0") { + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1") { + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2") { + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3") { + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emstandardSS") { + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "emstandardGS") { + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else if (name == "emstandardWVI") { + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else if (name == "emlowenergy") { + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(); - - } else if (name == "emlivermore") { + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else if (name == "empenelope") { + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } @@ -233,13 +229,13 @@ void PhysicsList::AddDecay() // decay process // G4Decay* decay = new G4Decay(); - G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); + G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); - if (decay->IsApplicable(*particle) && !particle->IsShortLived()) { + if (decay->IsApplicable(*particle) && !particle->IsShortLived()) { ph->RegisterProcess(decay, particle); } } @@ -247,24 +243,24 @@ void PhysicsList::AddDecay() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::AddRadioactiveDecay() -{ +{ G4RadioactiveDecay* radioactiveDecay = new G4RadioactiveDecay(); - G4bool armFlag = false; - radioactiveDecay->SetARM(armFlag); //Atomic Rearangement - + G4bool armFlag = false; + radioactiveDecay->SetARM(armFlag); // Atomic Rearangement + // atomic de-excitation module, if needed if (armFlag) { G4EmParameters::Instance()->SetAuger(true); G4EmParameters::Instance()->SetDeexcitationIgnoreCut(true); } - G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); + G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); ph->RegisterProcess(radioactiveDecay, G4GenericIon::GenericIon()); - + // mandatory for G4NuclideTable // - const G4double meanLife = 1*picosecond, halfLife = meanLife*std::log(2); + const G4double meanLife = 1 * picosecond, halfLife = meanLife * std::log(2); G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(halfLife); } @@ -275,13 +271,13 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process fStepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if(fStepMaxProcess->IsApplicable(*particle) && !particle->IsShortLived()) + if (fStepMaxProcess->IsApplicable(*particle) && !particle->IsShortLived()) pmanager->AddDiscreteProcess(fStepMaxProcess); } } diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc index e53d10743b0..36ca3c58a67 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc @@ -33,20 +33,20 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) - : fPhysicsList(pPhys) +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) { fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); fListCmd->SetToBeBroadcasted(false); } @@ -61,11 +61,11 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc index d8709f8eeb9..b93809eba58 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc @@ -36,22 +36,21 @@ #include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) - :fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { - fParticleGun = new G4ParticleGun(1); + fParticleGun = new G4ParticleGun(1); SetDefaultKinematic(); - - //create a messenger for this class - fGunMessenger = new PrimaryGeneratorMessenger(this); + + // create a messenger for this class + fGunMessenger = new PrimaryGeneratorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,45 +58,42 @@ PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete fParticleGun; - delete fGunMessenger; + delete fGunMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::SetDefaultKinematic() { - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(500*keV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - G4double position = -0.4999*(fDetector->GetAbsorSizeX()); - fParticleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); + fParticleGun->SetParticleEnergy(500 * keV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + G4double position = -0.4999 * (fDetector->GetAbsorSizeX()); + fParticleGun->SetParticlePosition(G4ThreeVector(position, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event - - //randomize the beam, if requested. + // this function is called at the begining of event + + // randomize the beam, if requested. // - if (fRndmBeam > 0.) - { - G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); - if (fRndmBeam > fDetector->GetAbsorSizeYZ()) - fRndmBeam = fDetector->GetAbsorSizeYZ(); - G4double rbeam = 0.5*fRndmBeam; - G4double x0 = oldPosition.x(); - G4double y0 = oldPosition.y() + (2*G4UniformRand()-1.)*rbeam; - G4double z0 = oldPosition.z() + (2*G4UniformRand()-1.)*rbeam; - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - fParticleGun->GeneratePrimaryVertex(anEvent); - fParticleGun->SetParticlePosition(oldPosition); - } + if (fRndmBeam > 0.) { + G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); + if (fRndmBeam > fDetector->GetAbsorSizeYZ()) fRndmBeam = fDetector->GetAbsorSizeYZ(); + G4double rbeam = 0.5 * fRndmBeam; + G4double x0 = oldPosition.x(); + G4double y0 = oldPosition.y() + (2 * G4UniformRand() - 1.) * rbeam; + G4double z0 = oldPosition.z() + (2 * G4UniformRand() - 1.) * rbeam; + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); + fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->SetParticlePosition(oldPosition); + } - else fParticleGun->GeneratePrimaryVertex(anEvent); + else + fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc index fcbc6fb2a56..92d380c9791 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc @@ -33,29 +33,28 @@ #include "PrimaryGeneratorMessenger.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithoutParameter.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( - PrimaryGeneratorAction* Gun) -:fAction(Gun) -{ +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger(PrimaryGeneratorAction* Gun) : fAction(Gun) +{ fGunDir = new G4UIdirectory("/testem/gun/"); fGunDir->SetGuidance("gun control"); - fDefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault",this); + fDefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault", this); fDefaultCmd->SetGuidance("set/reset kinematic defined in PrimaryGenerator"); - fDefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fDefaultCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fRndmCmd = new G4UIcmdWithADoubleAndUnit("/testem/gun/rndm",this); + fRndmCmd = new G4UIcmdWithADoubleAndUnit("/testem/gun/rndm", this); fRndmCmd->SetGuidance("random lateral extension on the beam"); - fRndmCmd->SetParameterName("rBeam",false); + fRndmCmd->SetParameterName("rBeam", false); fRndmCmd->SetRange("rBeam>=0."); fRndmCmd->SetUnitCategory("Length"); - fRndmCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fRndmCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,15 +68,15 @@ PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if (command == fDefaultCmd) - {fAction->SetDefaultKinematic();} - - if (command == fRndmCmd) - {fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue));} +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fDefaultCmd) { + fAction->SetDefaultKinematic(); + } + + if (command == fRndmCmd) { + fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm11/src/Run.cc b/examples/extended/electromagnetic/TestEm11/src/Run.cc index 0bcfb8f9ee0..8b13b9ecc3c 100644 --- a/examples/extended/electromagnetic/TestEm11/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm11/src/Run.cc @@ -26,53 +26,57 @@ /// \file electromagnetic/TestEm11/src/Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" -#include "DetectorConstruction.hh" +#include "DetectorConstruction.hh" #include "EventAction.hh" #include "HistoManager.hh" #include "PrimaryGeneratorAction.hh" -#include "G4Material.hh" #include "G4Event.hh" +#include "G4Material.hh" #include "G4SystemOfUnits.hh" #include "G4UnitsTable.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(DetectorConstruction* detector) -: fDetector(detector) +Run::Run(DetectorConstruction* detector) : fDetector(detector) { - for (G4int i=0; i<3; ++i) { - fStatus[i] = 0; fTotEdep[i] = fEleak[i] = fEtotal[i]= 0.; + for (G4int i = 0; i < 3; ++i) { + fStatus[i] = 0; + fTotEdep[i] = fEleak[i] = fEtotal[i] = 0.; } fTotEdep[1] = fEleak[1] = fEtotal[1] = joule; - - for (G4int i=0; i 0.) { - fEdeposit[i] += e; + fEdeposit[i] += e; if (e < fEmin[i]) fEmin[i] = e; if (e > fEmax[i]) fEmax[i] = e; } @@ -80,10 +84,10 @@ void Run::AddEdep (G4int i, G4double e) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::AddTotEdep (G4double e) +void Run::AddTotEdep(G4double e) { if (e > 0.) { - fTotEdep[0] += e; + fTotEdep[0] += e; if (e < fTotEdep[1]) fTotEdep[1] = e; if (e > fTotEdep[2]) fTotEdep[2] = e; } @@ -91,10 +95,10 @@ void Run::AddTotEdep (G4double e) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::AddEleak (G4double e) +void Run::AddEleak(G4double e) { if (e > 0.) { - fEleak[0] += e; + fEleak[0] += e; if (e < fEleak[1]) fEleak[1] = e; if (e > fEleak[2]) fEleak[2] = e; } @@ -102,290 +106,289 @@ void Run::AddEleak (G4double e) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::AddEtotal (G4double e) +void Run::AddEtotal(G4double e) { if (e > 0.) { - fEtotal[0] += e; + fEtotal[0] += e; if (e < fEtotal[1]) fEtotal[1] = e; if (e > fEtotal[2]) fEtotal[2] = e; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::AddTrackLength (G4double t) + +void Run::AddTrackLength(G4double t) { - fTrackLen += t; - fTrackLen2 += t*t; + fTrackLen += t; + fTrackLen2 += t * t; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::AddProjRange (G4double x) + +void Run::AddProjRange(G4double x) { - fProjRange += x; - fProjRange2 += x*x; + fProjRange += x; + fProjRange2 += x * x; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::AddStepSize (G4int nb, G4double st) + +void Run::AddStepSize(G4int nb, G4double st) { - fNbOfSteps += nb; - fNbOfSteps2 += nb*nb; - fStepSize += st ; - fStepSize2 += st*st; + fNbOfSteps += nb; + fNbOfSteps2 += nb * nb; + fStepSize += st; + fStepSize2 += st * st; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::AddTrackStatus (G4int i) + +void Run::AddTrackStatus(G4int i) { - fStatus[i]++ ; + fStatus[i]++; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::SetCsdaRange (G4int i, G4double value) + +void Run::SetCsdaRange(G4int i, G4double value) { - fCsdaRange[i] = value; + fCsdaRange[i] = value; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::SetXfrontNorm (G4int i, G4double value) + +void Run::SetXfrontNorm(G4int i, G4double value) { - fXfrontNorm[i] = value; + fXfrontNorm[i] = value; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double Run::GetCsdaRange (G4int i) + +G4double Run::GetCsdaRange(G4int i) { return fCsdaRange[i]; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double Run::GetXfrontNorm (G4int i) + +G4double Run::GetXfrontNorm(G4int i) { return fXfrontNorm[i]; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::Merge(const G4Run* run) { const Run* localRun = static_cast(run); - + // pass information about primary particle fParticle = localRun->fParticle; - fEkin = localRun->fEkin; + fEkin = localRun->fEkin; // accumulate sums - fTrackLen += localRun->fTrackLen; - fTrackLen2 += localRun->fTrackLen2; - fProjRange += localRun->fProjRange; + fTrackLen += localRun->fTrackLen; + fTrackLen2 += localRun->fTrackLen2; + fProjRange += localRun->fProjRange; fProjRange2 += localRun->fProjRange2; - fNbOfSteps += localRun->fNbOfSteps ; + fNbOfSteps += localRun->fNbOfSteps; fNbOfSteps2 += localRun->fNbOfSteps2; - fStepSize += localRun->fStepSize; - fStepSize2 += localRun->fStepSize2; - + fStepSize += localRun->fStepSize; + fStepSize2 += localRun->fStepSize2; + G4int nbOfAbsor = fDetector->GetNbOfAbsor(); - for (G4int i=1; i<=nbOfAbsor; ++i) { - fEdeposit[i] += localRun->fEdeposit[i]; - fCsdaRange[i] = localRun->fCsdaRange[i]; + for (G4int i = 1; i <= nbOfAbsor; ++i) { + fEdeposit[i] += localRun->fEdeposit[i]; + fCsdaRange[i] = localRun->fCsdaRange[i]; fXfrontNorm[i] = localRun->fXfrontNorm[i]; // min, max - G4double min,max; - min = localRun->fEmin[i]; max = localRun->fEmax[i]; + G4double min, max; + min = localRun->fEmin[i]; + max = localRun->fEmax[i]; if (fEmin[i] > min) fEmin[i] = min; if (fEmax[i] < max) fEmax[i] = max; - } - - for (G4int i=0; i<3; ++i) fStatus[i] += localRun->fStatus[i]; - + } + + for (G4int i = 0; i < 3; ++i) + fStatus[i] += localRun->fStatus[i]; + // total Edep fTotEdep[0] += localRun->fTotEdep[0]; - G4double min,max; - min = localRun->fTotEdep[1]; max = localRun->fTotEdep[2]; + G4double min, max; + min = localRun->fTotEdep[1]; + max = localRun->fTotEdep[2]; if (fTotEdep[1] > min) fTotEdep[1] = min; if (fTotEdep[2] < max) fTotEdep[2] = max; // Eleak fEleak[0] += localRun->fEleak[0]; - min = localRun->fEleak[1]; max = localRun->fEleak[2]; + min = localRun->fEleak[1]; + max = localRun->fEleak[2]; if (fEleak[1] > min) fEleak[1] = min; if (fEleak[2] < max) fEleak[2] = max; - + // Etotal fEtotal[0] += localRun->fEtotal[0]; - min = localRun->fEtotal[1]; max = localRun->fEtotal[2]; + min = localRun->fEtotal[1]; + max = localRun->fEtotal[2]; if (fEtotal[1] > min) fEtotal[1] = min; if (fEtotal[2] < max) fEtotal[2] = max; - - G4Run::Merge(run); -} + + G4Run::Merge(run); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::EndOfRun() +void Run::EndOfRun() { std::ios::fmtflags mode = G4cout.flags(); - G4cout.setf(std::ios::fixed,std::ios::floatfield); + G4cout.setf(std::ios::fixed, std::ios::floatfield); G4int prec = G4cout.precision(2); - - //run conditions - // + + // run conditions + // G4String partName = fParticle->GetParticleName(); - G4int nbOfAbsor = fDetector->GetNbOfAbsor(); - + G4int nbOfAbsor = fDetector->GetNbOfAbsor(); + G4cout << "\n ======================== run summary =====================\n"; - G4cout - << "\n The run is " << numberOfEvent << " "<< partName << " of " - << G4BestUnit(fEkin,"Energy") - << " through " << nbOfAbsor << " absorbers: \n"; - for (G4int i=1; i<= nbOfAbsor; i++) { - G4Material* material = fDetector->GetAbsorMaterial(i); - G4double thickness = fDetector->GetAbsorThickness(i); - G4double density = material->GetDensity(); - G4cout << std::setw(5) << i - << std::setw(10) << G4BestUnit(thickness,"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; - } + G4cout << "\n The run is " << numberOfEvent << " " << partName << " of " + << G4BestUnit(fEkin, "Energy") << " through " << nbOfAbsor << " absorbers: \n"; + for (G4int i = 1; i <= nbOfAbsor; i++) { + G4Material* material = fDetector->GetAbsorMaterial(i); + G4double thickness = fDetector->GetAbsorThickness(i); + G4double density = material->GetDensity(); + G4cout << std::setw(5) << i << std::setw(10) << G4BestUnit(thickness, "Length") << " of " + << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") << ")" + << G4endl; + } if (numberOfEvent == 0) { - G4cout.setf(mode,std::ios::floatfield); - G4cout.precision(prec); + G4cout.setf(mode, std::ios::floatfield); + G4cout.precision(prec); return; } - + G4cout.precision(3); - G4double rms (0); - - //Edep in absorbers - // - for (G4int i=1; i<= nbOfAbsor; i++) { - fEdeposit[i] /= numberOfEvent; - - G4cout - << "\n Edep in absorber " << i << " = " - << G4BestUnit(fEdeposit[i],"Energy") - << "\t(" << G4BestUnit(fEmin[i], "Energy") - << "-->" << G4BestUnit(fEmax[i], "Energy") - << ")"; + G4double rms(0); + + // Edep in absorbers + // + for (G4int i = 1; i <= nbOfAbsor; i++) { + fEdeposit[i] /= numberOfEvent; + + G4cout << "\n Edep in absorber " << i << " = " << G4BestUnit(fEdeposit[i], "Energy") << "\t(" + << G4BestUnit(fEmin[i], "Energy") << "-->" << G4BestUnit(fEmax[i], "Energy") << ")"; } G4cout << G4endl; if (nbOfAbsor > 1) { fTotEdep[0] /= numberOfEvent; - G4cout - << "\n Edep in all absorbers = " << G4BestUnit(fTotEdep[0],"Energy") - << "\t(" << G4BestUnit(fTotEdep[1], "Energy") - << "-->" << G4BestUnit(fTotEdep[2], "Energy") - << ")" << G4endl; + G4cout << "\n Edep in all absorbers = " << G4BestUnit(fTotEdep[0], "Energy") << "\t(" + << G4BestUnit(fTotEdep[1], "Energy") << "-->" << G4BestUnit(fTotEdep[2], "Energy") << ")" + << G4endl; } - - //Eleak - // + + // Eleak + // fEleak[0] /= numberOfEvent; - G4cout - << " Energy leakage = " << G4BestUnit(fEleak[0],"Energy") - << "\t(" << G4BestUnit(fEleak[1], "Energy") - << "-->" << G4BestUnit(fEleak[2], "Energy") - << ")" << G4endl; - - //Etotal - // + G4cout << " Energy leakage = " << G4BestUnit(fEleak[0], "Energy") << "\t(" + << G4BestUnit(fEleak[1], "Energy") << "-->" << G4BestUnit(fEleak[2], "Energy") << ")" + << G4endl; + + // Etotal + // fEtotal[0] /= numberOfEvent; - G4cout - << " Energy total = " << G4BestUnit(fEtotal[0],"Energy") - << "\t(" << G4BestUnit(fEtotal[1], "Energy") - << "-->" << G4BestUnit(fEtotal[2], "Energy") - << ")" << G4endl; - - //compute track length of primary track + G4cout << " Energy total = " << G4BestUnit(fEtotal[0], "Energy") << "\t(" + << G4BestUnit(fEtotal[1], "Energy") << "-->" << G4BestUnit(fEtotal[2], "Energy") << ")" + << G4endl; + + // compute track length of primary track // - fTrackLen /= numberOfEvent; fTrackLen2 /= numberOfEvent; - rms = fTrackLen2 - fTrackLen*fTrackLen; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout.precision(3); - G4cout - << "\n Track length of primary track = " << G4BestUnit(fTrackLen,"Length") - << " +- " << G4BestUnit( rms,"Length"); - - //compare with csda range + fTrackLen /= numberOfEvent; + fTrackLen2 /= numberOfEvent; + rms = fTrackLen2 - fTrackLen * fTrackLen; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout.precision(3); + G4cout << "\n Track length of primary track = " << G4BestUnit(fTrackLen, "Length") << " +- " + << G4BestUnit(rms, "Length"); + + // compare with csda range // G4int NbOfAbsor = fDetector->GetNbOfAbsor(); if (NbOfAbsor == 1) { - G4cout - << "\n Range from EmCalculator = " << G4BestUnit(fCsdaRange[1],"Length") - << " (from full dE/dx)" << G4endl; + G4cout << "\n Range from EmCalculator = " << G4BestUnit(fCsdaRange[1], "Length") + << " (from full dE/dx)" << G4endl; } - - //compute projected range of primary track + + // compute projected range of primary track // - fProjRange /= numberOfEvent; fProjRange2 /= numberOfEvent; - rms = fProjRange2 - fProjRange*fProjRange; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout - << "\n Projected range = " << G4BestUnit(fProjRange,"Length") - << " +- " << G4BestUnit( rms,"Length") - << G4endl; - - //nb of steps and step size of primary track + fProjRange /= numberOfEvent; + fProjRange2 /= numberOfEvent; + rms = fProjRange2 - fProjRange * fProjRange; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout << "\n Projected range = " << G4BestUnit(fProjRange, "Length") << " +- " + << G4BestUnit(rms, "Length") << G4endl; + + // nb of steps and step size of primary track // G4double dNofEvents = double(numberOfEvent); - G4double fNbSteps = fNbOfSteps/dNofEvents, - fNbSteps2 = fNbOfSteps2/dNofEvents; - rms = fNbSteps2 - fNbSteps*fNbSteps; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout.precision(2); + G4double fNbSteps = fNbOfSteps / dNofEvents, fNbSteps2 = fNbOfSteps2 / dNofEvents; + rms = fNbSteps2 - fNbSteps * fNbSteps; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout.precision(2); G4cout << "\n Nb of steps of primary track = " << fNbSteps << " +- " << rms; - - fStepSize /= numberOfEvent; fStepSize2 /= numberOfEvent; - rms = fStepSize2 - fStepSize*fStepSize; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout.precision(3); - G4cout - << "\t Step size= " << G4BestUnit(fStepSize,"Length") - << " +- " << G4BestUnit( rms,"Length") - << G4endl; - - //transmission coefficients + + fStepSize /= numberOfEvent; + fStepSize2 /= numberOfEvent; + rms = fStepSize2 - fStepSize * fStepSize; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout.precision(3); + G4cout << "\t Step size= " << G4BestUnit(fStepSize, "Length") << " +- " + << G4BestUnit(rms, "Length") << G4endl; + + // transmission coefficients + // + G4double absorbed = 100. * fStatus[0] / dNofEvents; + G4double transmit = 100. * fStatus[1] / dNofEvents; + G4double reflected = 100. * fStatus[2] / dNofEvents; + + G4cout.precision(2); + G4cout << "\n absorbed = " << absorbed << " %" + << " transmit = " << transmit << " %" + << " reflected = " << reflected << " % \n" + << G4endl; + + // normalize histograms of longitudinal energy profile // - G4double absorbed = 100.*fStatus[0]/dNofEvents; - G4double transmit = 100.*fStatus[1]/dNofEvents; - G4double reflected = 100.*fStatus[2]/dNofEvents; - - G4cout.precision(2); - G4cout - << "\n absorbed = " << absorbed << " %" - << " transmit = " << transmit << " %" - << " reflected = " << reflected << " % \n" << G4endl; - - // normalize histograms of longitudinal energy profile - // - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - G4int ih = 1; - G4double binWidth = analysisManager->GetH1Width(ih) - *analysisManager->GetH1Unit(ih); - G4double fac = (1./(numberOfEvent*binWidth))*(mm/MeV); - analysisManager->ScaleH1(ih,fac); - - ih = 8; - binWidth = analysisManager->GetH1Width(ih); - fac = (1./(numberOfEvent*binWidth))*(g/(MeV*cm2)); - analysisManager->ScaleH1(ih,fac); - - // reset default formats - G4cout.setf(mode,std::ios::floatfield); + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + G4int ih = 1; + G4double binWidth = analysisManager->GetH1Width(ih) * analysisManager->GetH1Unit(ih); + G4double fac = (1. / (numberOfEvent * binWidth)) * (mm / MeV); + analysisManager->ScaleH1(ih, fac); + + ih = 8; + binWidth = analysisManager->GetH1Width(ih); + fac = (1. / (numberOfEvent * binWidth)) * (g / (MeV * cm2)); + analysisManager->ScaleH1(ih, fac); + + // reset default formats + G4cout.setf(mode, std::ios::floatfield); G4cout.precision(prec); } diff --git a/examples/extended/electromagnetic/TestEm11/src/RunAction.cc b/examples/extended/electromagnetic/TestEm11/src/RunAction.cc index ff6ce6200cf..5dbca627ad8 100644 --- a/examples/extended/electromagnetic/TestEm11/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/RunAction.cc @@ -26,31 +26,29 @@ /// \file electromagnetic/TestEm11/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + +#include "HistoManager.hh" #include "PhysicsList.hh" -#include "StepMax.hh" #include "PrimaryGeneratorAction.hh" -#include "HistoManager.hh" #include "Run.hh" +#include "StepMax.hh" -#include "G4Run.hh" #include "G4EmCalculator.hh" #include "G4EmParameters.hh" - -#include "G4UnitsTable.hh" +#include "G4Run.hh" #include "G4SystemOfUnits.hh" - +#include "G4UnitsTable.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, - PrimaryGeneratorAction* kin) -:fDetector(det),fPhysics(phys),fPrimary(kin) +RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, PrimaryGeneratorAction* kin) + : fDetector(det), fPhysics(phys), fPrimary(kin) { // Book predefined histograms fHistoManager = new HistoManager(); @@ -66,90 +64,85 @@ RunAction::~RunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ - fRun = new Run(fDetector); +{ + fRun = new Run(fDetector); return fRun; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) -{ +{ // show Rndm status - if (isMaster) { - G4Random::showEngineStatus(); - G4EmParameters::Instance()->Dump(); - } - + if (isMaster) { + G4Random::showEngineStatus(); + G4EmParameters::Instance()->Dump(); + } + // keep run condition - if ( fPrimary ) { - G4ParticleDefinition* particle - = fPrimary->GetParticleGun()->GetParticleDefinition(); + if (fPrimary) { + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); fRun->SetPrimary(particle, energy); } - - //histograms + + // histograms // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); } - + if (!fPrimary) return; - - //set StepMax from histos 1 and 8 + + // set StepMax from histos 1 and 8 // G4double stepMax = DBL_MAX; G4int ih = 1; if (analysisManager->GetH1Activation(ih)) { - stepMax = analysisManager->GetH1Width(ih) - *analysisManager->GetH1Unit(ih); - } - + stepMax = analysisManager->GetH1Width(ih) * analysisManager->GetH1Unit(ih); + } + ih = 8; - G4ParticleDefinition* particle = fPrimary->GetParticleGun() - ->GetParticleDefinition(); + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); if (particle->GetPDGCharge() != 0.) { G4double width = analysisManager->GetH1Width(ih); - if (width == 0.) width = 1.; + if (width == 0.) width = 1.; G4EmCalculator emCalculator; G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); G4int nbOfAbsor = fDetector->GetNbOfAbsor(); - for (G4int i=1; i<= nbOfAbsor; i++) { + for (G4int i = 1; i <= nbOfAbsor; i++) { G4Material* material = fDetector->GetAbsorMaterial(i); - G4double newCsdaRange - = emCalculator.GetCSDARange(energy,particle,material); + G4double newCsdaRange = emCalculator.GetCSDARange(energy, particle, material); fRun->SetCsdaRange(i, newCsdaRange); - if (analysisManager->GetH1Activation(ih)) - stepMax = std::min(stepMax, width*newCsdaRange); - if (i>1) { - G4double thickness = fDetector->GetAbsorThickness(i-1); - G4double xfrontNorm = fRun->GetXfrontNorm(i-1); - G4double csdaRange = fRun->GetCsdaRange(i-1); - G4double newXfrontNorm = xfrontNorm + thickness/csdaRange; + if (analysisManager->GetH1Activation(ih)) stepMax = std::min(stepMax, width * newCsdaRange); + if (i > 1) { + G4double thickness = fDetector->GetAbsorThickness(i - 1); + G4double xfrontNorm = fRun->GetXfrontNorm(i - 1); + G4double csdaRange = fRun->GetCsdaRange(i - 1); + G4double newXfrontNorm = xfrontNorm + thickness / csdaRange; fRun->SetXfrontNorm(i, newXfrontNorm); - } - } - } - fPhysics->GetStepMaxProcess()->SetMaxStep2(stepMax); + } + } + } + fPhysics->GetStepMaxProcess()->SetMaxStep2(stepMax); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::EndOfRunAction(const G4Run*) -{ - if (isMaster) fRun->EndOfRun(); - +{ + if (isMaster) fRun->EndOfRun(); + // save histograms G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->Write(); analysisManager->CloseFile(); - } - + } + // show Rndm status - if (isMaster) G4Random::showEngineStatus(); + if (isMaster) G4Random::showEngineStatus(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/StepMax.cc b/examples/extended/electromagnetic/TestEm11/src/StepMax.cc index 1a939948139..15b6ce877af 100644 --- a/examples/extended/electromagnetic/TestEm11/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm11/src/StepMax.cc @@ -31,12 +31,13 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMax::StepMax(const G4String& processName, G4ProcessType type) - : G4VDiscreteProcess(processName,type) + : G4VDiscreteProcess(processName, type) { fMaxStep1 = fMaxStep2 = DBL_MAX; fApplyMaxStep2 = true; @@ -45,7 +46,10 @@ StepMax::StepMax(const G4String& processName, G4ProcessType type) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,37 +60,46 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep1(G4double step) {fMaxStep1 = step;} +void StepMax::SetMaxStep1(G4double step) +{ + fMaxStep1 = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep2(G4double step) {fMaxStep2 = step;} +void StepMax::SetMaxStep2(G4double step) +{ + fMaxStep2 = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::ApplyMaxStep2(G4bool value) {fApplyMaxStep2 = value;} +void StepMax::ApplyMaxStep2(G4bool value) +{ + fApplyMaxStep2 = value; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track&, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; - if (fApplyMaxStep2) return fMaxStep2; - else return fMaxStep1; + if (fApplyMaxStep2) + return fMaxStep2; + else + return fMaxStep1; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc index d6bc8f4069b..3bd4ebd6036 100644 --- a/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc @@ -33,23 +33,23 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithABool.hh" #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -:fStepMax(stepM) +StepMaxMessenger::StepMaxMessenger(StepMax* stepM) : fStepMax(stepM) { - fStepMax1Cmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); + fStepMax1Cmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMax1Cmd->SetGuidance("Set max allowed step length"); - fStepMax1Cmd->SetParameterName("mxStep1",false); + fStepMax1Cmd->SetParameterName("mxStep1", false); fStepMax1Cmd->SetRange("mxStep1>0."); fStepMax1Cmd->SetUnitCategory("Length"); - - fStepMax2Cmd = new G4UIcmdWithABool("/testem/applyAutomaticStepMax",this); + + fStepMax2Cmd = new G4UIcmdWithABool("/testem/applyAutomaticStepMax", this); fStepMax2Cmd->SetGuidance("apply StepMax computed from histograms"); - fStepMax2Cmd->SetParameterName("mxStep2",true); + fStepMax2Cmd->SetParameterName("mxStep2", true); fStepMax2Cmd->SetDefaultValue(true); } @@ -58,18 +58,20 @@ StepMaxMessenger::StepMaxMessenger(StepMax* stepM) StepMaxMessenger::~StepMaxMessenger() { delete fStepMax1Cmd; - delete fStepMax2Cmd; + delete fStepMax2Cmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMax1Cmd) - { fStepMax->SetMaxStep1(fStepMax1Cmd->GetNewDoubleValue(newValue));} - - if (command == fStepMax2Cmd) - { fStepMax->ApplyMaxStep2(fStepMax2Cmd->GetNewBoolValue(newValue));} +{ + if (command == fStepMax1Cmd) { + fStepMax->SetMaxStep1(fStepMax1Cmd->GetNewDoubleValue(newValue)); + } + + if (command == fStepMax2Cmd) { + fStepMax->ApplyMaxStep2(fStepMax2Cmd->GetNewBoolValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc index 78762d78be7..6f7e89ad6bd 100644 --- a/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc @@ -31,70 +31,69 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" + #include "DetectorConstruction.hh" #include "EventAction.hh" -#include "Run.hh" #include "HistoManager.hh" +#include "Run.hh" -#include "G4SteppingManager.hh" #include "G4RunManager.hh" +#include "G4SteppingManager.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(DetectorConstruction* det, EventAction* event) -:fDetector(det), fEventAction(event) -{ } + : fDetector(det), fEventAction(event) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* step) { - G4double edep = step->GetTotalEnergyDeposit(); - if (edep <= 0.) return; - - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - - //longitudinal profile of deposited energy - //randomize point of energy deposotion - // - G4StepPoint* prePoint = step->GetPreStepPoint(); - G4StepPoint* postPoint = step->GetPostStepPoint(); - G4ThreeVector P1 = prePoint ->GetPosition(); - G4ThreeVector P2 = postPoint->GetPosition(); - G4ThreeVector point = P1 + G4UniformRand()*(P2 - P1); - if (step->GetTrack()->GetDefinition()->GetPDGCharge() == 0.) point = P2; - G4double x = point.x(); - G4double xshifted = x + 0.5*fDetector->GetAbsorSizeX(); - analysisManager->FillH1(1, xshifted, edep); + G4double edep = step->GetTotalEnergyDeposit(); + if (edep <= 0.) return; - //"normalized" histogram - // - Run* run - = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - G4int iabs = prePoint->GetTouchableHandle()->GetCopyNumber(1); - G4double csdaRange = run->GetCsdaRange(iabs); - if (csdaRange > 0.) { - G4double density = fDetector->GetAbsorMaterial(iabs)->GetDensity(); - G4double xfront = fDetector->GetXfront(iabs); - G4double xfrontNorm = run->GetXfrontNorm(iabs); - G4double xnorm = xfrontNorm + (x - xfront)/csdaRange; - analysisManager->FillH1(8, xnorm, edep/(csdaRange*density)); - } - - //total energy deposit in absorber - // - fEventAction->AddEdep(iabs, edep); - - //step size of primary particle or charged secondaries - // - G4double steplen = step->GetStepLength(); - const G4Track* track = step->GetTrack(); - if (track->GetTrackID() == 1) analysisManager->FillH1(4, steplen); - else if (track->GetDefinition()->GetPDGCharge() != 0.) - analysisManager->FillH1(7, steplen); + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + + // longitudinal profile of deposited energy + // randomize point of energy deposotion + // + G4StepPoint* prePoint = step->GetPreStepPoint(); + G4StepPoint* postPoint = step->GetPostStepPoint(); + G4ThreeVector P1 = prePoint->GetPosition(); + G4ThreeVector P2 = postPoint->GetPosition(); + G4ThreeVector point = P1 + G4UniformRand() * (P2 - P1); + if (step->GetTrack()->GetDefinition()->GetPDGCharge() == 0.) point = P2; + G4double x = point.x(); + G4double xshifted = x + 0.5 * fDetector->GetAbsorSizeX(); + analysisManager->FillH1(1, xshifted, edep); + + //"normalized" histogram + // + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + G4int iabs = prePoint->GetTouchableHandle()->GetCopyNumber(1); + G4double csdaRange = run->GetCsdaRange(iabs); + if (csdaRange > 0.) { + G4double density = fDetector->GetAbsorMaterial(iabs)->GetDensity(); + G4double xfront = fDetector->GetXfront(iabs); + G4double xfrontNorm = run->GetXfrontNorm(iabs); + G4double xnorm = xfrontNorm + (x - xfront) / csdaRange; + analysisManager->FillH1(8, xnorm, edep / (csdaRange * density)); + } + + // total energy deposit in absorber + // + fEventAction->AddEdep(iabs, edep); + + // step size of primary particle or charged secondaries + // + G4double steplen = step->GetStepLength(); + const G4Track* track = step->GetTrack(); + if (track->GetTrackID() == 1) + analysisManager->FillH1(4, steplen); + else if (track->GetDefinition()->GetPDGCharge() != 0.) + analysisManager->FillH1(7, steplen); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc index 781481e771a..a01d6018811 100644 --- a/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc @@ -33,74 +33,74 @@ #include "TrackingAction.hh" #include "DetectorConstruction.hh" -#include "Run.hh" #include "EventAction.hh" #include "HistoManager.hh" +#include "Run.hh" -#include "G4Track.hh" -#include "G4StepStatus.hh" #include "G4RunManager.hh" +#include "G4StepStatus.hh" +#include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackingAction::TrackingAction(DetectorConstruction* det,EventAction* evt) -:fDetector(det),fEventAct(evt) -{ } +TrackingAction::TrackingAction(DetectorConstruction* det, EventAction* evt) + : fDetector(det), fEventAct(evt) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void TrackingAction::PostUserTrackingAction(const G4Track* track) { - G4int trackID = track->GetTrackID(); - - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - Run* run - = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - - //track length of primary particle or charged secondaries - // - G4double tracklen = track->GetTrackLength(); - if (trackID == 1) { + G4int trackID = track->GetTrackID(); + + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + // track length of primary particle or charged secondaries + // + G4double tracklen = track->GetTrackLength(); + if (trackID == 1) { run->AddTrackLength(tracklen); analysisManager->FillH1(3, tracklen); - } else if (track->GetDefinition()->GetPDGCharge() != 0.) + } + else if (track->GetDefinition()->GetPDGCharge() != 0.) analysisManager->FillH1(6, tracklen); - - //extract projected range of primary particle - // - if (trackID == 1) { - G4double x = track->GetPosition().x() + 0.5*fDetector->GetAbsorSizeX(); - run->AddProjRange(x); - analysisManager->FillH1(5, x); - } - - //mean step size of primary particle - // - if (trackID == 1) { - G4int nbOfSteps = track->GetCurrentStepNumber(); - G4double stepSize = tracklen/nbOfSteps; - run->AddStepSize(nbOfSteps,stepSize); - } - - //status of primary particle : absorbed, transmited, reflected ? - // - if (trackID == 1) { - G4int flag = 0; - if (!track->GetNextVolume()) { - if (track->GetMomentumDirection().x() > 0.) flag = 1; - else flag = 2; + + // extract projected range of primary particle + // + if (trackID == 1) { + G4double x = track->GetPosition().x() + 0.5 * fDetector->GetAbsorSizeX(); + run->AddProjRange(x); + analysisManager->FillH1(5, x); + } + + // mean step size of primary particle + // + if (trackID == 1) { + G4int nbOfSteps = track->GetCurrentStepNumber(); + G4double stepSize = tracklen / nbOfSteps; + run->AddStepSize(nbOfSteps, stepSize); + } + + // status of primary particle : absorbed, transmited, reflected ? + // + if (trackID == 1) { + G4int flag = 0; + if (!track->GetNextVolume()) { + if (track->GetMomentumDirection().x() > 0.) + flag = 1; + else + flag = 2; + } + run->AddTrackStatus(flag); } - run->AddTrackStatus(flag); - } - + // where are we ? G4StepStatus status = track->GetStep()->GetPostStepPoint()->GetStepStatus(); - if (status == fWorldBoundary) { - G4double energy = track->GetKineticEnergy(); - fEventAct->AddEleak(energy); - } + if (status == fWorldBoundary) { + G4double energy = track->GetKineticEnergy(); + fEventAct->AddEleak(energy); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm12/History b/examples/extended/electromagnetic/TestEm12/History index 93f56905176..c5ea0f007ce 100644 --- a/examples/extended/electromagnetic/TestEm12/History +++ b/examples/extended/electromagnetic/TestEm12/History @@ -4,6 +4,9 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-02-20 Sebastien Incerti (testem12-V11-02-00) +- added comments to dna.mac + ## 2023-05-12 Michel Maire (testem12-V11-01-00) - revision of all headers @@ -13,7 +16,7 @@ be used as a substitute for writing good git commit messages! --- # History entries prior to 11.0 - + 06-10-21 I. Hrivnacova (testem12-V10-07-04) - Migration to new G4AnalysisManager.hh header; define the default output file type (root). @@ -28,16 +31,16 @@ be used as a substitute for writing good git commit messages! 10-02-21 V.Ivanchenko (testem12-V10-07-01) - fixed README - + 18-12-20 mma (testem12-V10-07-00) - updated PhysListEmStandard.cc - + 27-10-20 mma (testem12-V10-06-00) - add macros description in Readme 09-09-18 SI (testem12-V10-04-04) - updated dna.mac - + 04-06-18 mma (testem12-V10-04-03) - SteppingAction.cc : Photoelectric, edep at end of step @@ -71,9 +74,9 @@ be used as a substitute for writing good git commit messages! - RunAction - added dump of EM parameters - TestEm12.cc - set default number of threads 4 - DetectorConstruction, DetectorMessenger - allow to change number - of layers only in the PreInit state; do not clean and + of layers only in the PreInit state; do not clean and reinitialise geometry when change sphere radii - + 04-07-16 I. Hrivnacova (testem12-V10-02-03) - Fixes for Doxygen documentation @@ -94,7 +97,7 @@ be used as a substitute for writing good git commit messages! 12-05-15 V.Ivant (testem12-V10-01-00) - PhysicsList - use G4EmStandardPhysicsGS from physics_list library - + 24-10-14 mma (testem12-V10-00-04) - PhysListEmStandard : fUseSafetyPlus - use G4EmStandardPhysicsSS and WVI @@ -107,8 +110,8 @@ be used as a substitute for writing good git commit messages! - remove PhysicsList::SetCuts(). Update macros 21-04-04 V.Ivanchenko (testem12-V10-00-01) -- PhysicsList - added emlowenergy and dna_option1 physics lists - +- PhysicsList - added emlowenergy and dna_option1 physics lists + 19-01-14 mma (testem12-V10-00-00) - MT: ActionInitialization, TestEm12.cc - MT: RunAction, Run, EventAction, TrackingAction, SteppingAction @@ -116,37 +119,37 @@ be used as a substitute for writing good git commit messages! - rm EventActionMessenger. Cleanup all macros 21-11-13 V.Ivanchenko (testem12-V09-06-11) -- PhysListEmStandardWVI and PhysListEmStandardSS - reduced low-energy - threashold for the single scattering model to 10 eV +- PhysListEmStandardWVI and PhysListEmStandardSS - reduced low-energy + threashold for the single scattering model to 10 eV 28-07-13 P.Gumplinger (testem12-V09-06-10) - fix clang32 compilation warning -11-07-13 I.Hrivnacova (testem12-V09-06-09) -- In HistoManager: use new analysis manager method SetH1Activation() - +11-07-13 I.Hrivnacova (testem12-V09-06-09) +- In HistoManager: use new analysis manager method SetH1Activation() + 20-06-13 mma (testem12-V09-06-08) - SteppingVerbose: use G4Step::GetSecondaryInCurrentStep(). 07-06-13 mma (testem12-V09-06-07) - Cosmetic in SteppingAction. - + 18-04-13 mma (testem12-V09-06-06) - use G4AnalysisManager - + 01-04-13 A.Dotti (testem12-V09-06-03,testem12-V09-06-04,testem12-V09-06-05) - New G4VUserPhysicsList interface needed for MT - -22-03-13 mma (testem12-V09-06-02) + +22-03-13 mma (testem12-V09-06-02) - PhysListEmStandard: suppress Msc96 - -28-02-13 I. Hrivnacova (testem12-V09-06-01) + +28-02-13 I. Hrivnacova (testem12-V09-06-01) - When building materials with NistManager - do not set fromIsotopes argument (which was set to false), + do not set fromIsotopes argument (which was set to false), as since 9.6 all materials have to be built from isotopes. (Thanks to V. Ivantchenko for pointing at this.) -13-02-13 I.Hrivnacova +13-02-13 I.Hrivnacova - Applied coding guidelines (virtual keyword, data members initialization) 11-12-12 V.Ivant (testem12-V09-06-00) @@ -154,20 +157,20 @@ be used as a substitute for writing good git commit messages! 20-10-12 mma (testem12-V09-05-09) - PhysListEmStandard: use G4UrbanMsc96 - + 15-10-12 mma (testem12-V09-05-08) - RunAction: do not save random seed - coding convention: virtual 12-10-12 V.Ivant (testem12-V09-05-07) - Added Opt4 Physics List and decreased limit on cuts - + 30-04-12 mma (testem12-V09-05-06) - StepMaxMessenger : printing correction - + 12-04-12 mma (testem12-V09-05-04) - all classes : apply G4 coding conventions - + 05-03-12 mma (testem12-V09-05-03) - HistoManager.hh and .cc : migrate to new g4tools histogramming system Do not need aida anymore, nor G4ANALYSIS_USE @@ -176,37 +179,37 @@ be used as a substitute for writing good git commit messages! 09-02-12 V.Ivant (testem12-V09-05-02) - PhysListEmStandardSS,PhysListEmStandardSSI, - PhysListEmStandardWVI - more correct process order - + PhysListEmStandardWVI - more correct process order + 06-02-12 mma (testem12-V09-05-01) - modify StepMax mechanism. Add command /testem/StepMax 29-01-12 S. Incerti, V. Ivantchenko (testem12-V09-05-00) -- Added new physics list: PhysListEmStandardSSM, which uses +- Added new physics list: PhysListEmStandardSSM, which uses G4eSingleCoulombScatteringModel 21-11-11 V.Ivant (testem12-V09-04-10) - PhysListEmStandardGS, PhysListEmStandardWVI - low energy threshold for Coulomb scattering model is reduced to 10 eV for e+- and to 100 eV for muons and hadrons - + 08-11-11 mma (testem12-V09-04-09) - modify SteppingVerbose for OutOfWorld - + 06-11-11 mma (testem12-V09-04-08) - add back PhysListEmStandardGS, PhysListEmStandardWVI - + 31-10-11 mma (testem12-V09-04-07) - PhysListEmStandard : msc95 by default -- remove PhysListEmStandardGS, PhysListEmStandardWVI - +- remove PhysListEmStandardGS, PhysListEmStandardWVI + 05-06-11 mma (testem12-V09-04-06) - PhysListEmStandard migrated to the new approach based on G4PhysicsListHelper - + 17-05-11 seb-mma (testem12-V09-04-05) - PhysicsList : add G4EmDNAPhysics - new macro dna.mac - + 08-04-11 mma (testem12-V09-04-03) - PhysicsList : set back default lowest production cut (990 eV) - update PhysListEmStandard for msc95 and deexcitation (see ref-03) @@ -214,7 +217,7 @@ be used as a substitute for writing good git commit messages! 28-03-11 V.Ivant (testem12-V09-04-02) - Reduced statistic in TestEm12.in - removed obsolete Set methods in PhysListEmStandard - + 20-02-11 mma (testem12-V09-04-01) - update PhysListEmStandard for deexcitation - PhysicsList : set lowest production cut to 100 eV @@ -223,89 +226,89 @@ be used as a substitute for writing good git commit messages! 05-01-11 V.Ivant (testem12-V09-04-00) - Minor cleanup of SS physics constructor - + 05-12-10 mma (testem12-V09-03-05) - subdirectory berger : results of EGSnrc simulation - + 09-11-10 M.Asai (testem12-V09-03-04) - Fix AIDA file option. - + 06-06-10 J.Perl (testem12-V09-03-03) - Remove unused variable in EventAction 03-06-10 J.Perl (testem12-V09-03-02) -- Updated vis usage +- Updated vis usage 25-05-10 mma (testem12-V09-03-01) -- add PhysListStandardGS, PhysListStandardSS, PhysListStandardWVI - +- add PhysListStandardGS, PhysListStandardSS, PhysListStandardWVI + 20-05-10 mma (testem12-V09-03-00) - TestEm12.cc : introduction of G4UIExecutive - + 16-11-09 mma (testem12-V09-02-01) - PhysListEmStandard copied from TestEm5 - + 22-09-09 mma (testem12-V09-02-00) - PhysicsList.cc : - - renamed "standard" -> "local"; "emstandard" -> "emstandard_opt0" + - renamed "standard" -> "local"; "emstandard" -> "emstandard_opt0" - Substituted obsolete low-energy physics builders by builders from the physics_list library; - updated README and macro files - + 16-11-08 mma (testem12-V09-01-08) - Em options: 20bins/decade LinLossLimit=default=0.01 - + 29-10-08 mma (testem12-V09-01-07) - update PhysListEmStandard : options and hMultipleScattering for muon - + 26-10-08 mma (testem12-V09-01-06) - update PhysListEmStandard and README - + 23-09-08 mma (testem12-V09-01-05) -- HistoManager : root format by default +- HistoManager : root format by default 12-06-08 mma (testem12-V09-01-04) -- Remove AIDA from GNUmakefile - +- Remove AIDA from GNUmakefile + 07-05-08 mma (testem12-V09-01-03) - README : update Aida informations - + 11-04-08 mma - HistoManager::Scale() : suppress warning - + 07-04-08 mma (testem12-V09-01-02) - PhysListEmStandard : replace G4MultipleScattering by G4eMultipleScattering; - HistoManager::saveAscii() : redefinition of binEdge - -24-01-08 mma (testem12-V09-01-01) + +24-01-08 mma (testem12-V09-01-01) - update macro berger.mac : setCuts 2um (=1keV) -14-01-08 jja (testem12-V09-01-00) +14-01-08 jja (testem12-V09-01-00) - add macro berger/berger.C 10-01-08 jean jacquemier -- new subdirectory berger/data - +- new subdirectory berger/data + 07-12-07 mma - add macro berger.mac - -09-11-07 mma (testem12-V09-00-01) + +09-11-07 mma (testem12-V09-00-01) - HistoManager/HistoMessenger : print selected histos on ascii file - -16-08-07 mma (testem12-V09-00-00) -- HistoManager : modify the way to get csdaRange from G4EmCalculator + +16-08-07 mma (testem12-V09-00-00) +- HistoManager : modify the way to get csdaRange from G4EmCalculator and compute stepMax for histo 8 - -27-04-07 mma (testem12-V08-02-01) + +27-04-07 mma (testem12-V08-02-01) - HistoManager : by default, get csdaRange from G4EmCalculator 08-01-07 V.Ivant (testem12-V08-02-00) - Uncomment hadron ionisation in Livermore builder - -24-10-06 mma (testem12-V08-01-00) + +24-10-06 mma (testem12-V08-01-00) - GNUmakefile : LOADLIBS - remove PhysicsLists 52 and 71 - + 19-05-06 mma (testem12-V08-00-02) - update README @@ -314,25 +317,25 @@ be used as a substitute for writing good git commit messages! - RunAction : pass stepMax from HistoManager to StepMax process - StepMax : boolean flag : apply - SteppingAction : edep randomly distribued along step - -28-03-06 mma (testem12-V08-00-00) + +28-03-06 mma (testem12-V08-00-00) - add PhysListEmLivermore and PhysListEmPenelope - RunAction : G4EmCalculator::GetCSDARange() - + 16-02-06 mma -- migration mum -> um in several macros - +- migration mum -> um in several macros + 06-12-05 Gabriele Cosmo - Trivial changes for support of CLHEP-2.0.X series. 22-11-05 mma (testem12-V07-01-04) - update README for OpenScientist - + 14-11-05 Gabriele Cosmo (testem12-V07-01-03) - Migration to for HistoMessenger. 05-10-05 mma (testem12-V07-01-02) - create PhysListEmG4v71 (g4v71) for G4MultipleScattering71 - + 22-07-05 michel maire (testem12-V07-01-00) - created, from TestEm11 diff --git a/examples/extended/electromagnetic/TestEm12/TestEm12.cc b/examples/extended/electromagnetic/TestEm12/TestEm12.cc index 6b94c04282b..e3b3a0fecec 100644 --- a/examples/extended/electromagnetic/TestEm12/TestEm12.cc +++ b/examples/extended/electromagnetic/TestEm12/TestEm12.cc @@ -30,44 +30,42 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //choose the Random engine + // choose the Random engine G4Random::setTheEngine(new CLHEP::RanecuEngine); - - //Use SteppingVerbose with Unit + + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //Creating run manager + + // Creating run manager auto runManager = G4RunManagerFactory::CreateRunManager(); - - if (argc==3) { - G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); - runManager->SetNumberOfThreads(nThreads); + + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* det = new DetectorConstruction; runManager->SetUserInitialization(det); @@ -76,27 +74,27 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(new ActionInitialization(det, phys)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm12/TestEm12.out b/examples/extended/electromagnetic/TestEm12/TestEm12.out index b72dae1d06f..683d6948b63 100644 --- a/examples/extended/electromagnetic/TestEm12/TestEm12.out +++ b/examples/extended/electromagnetic/TestEm12/TestEm12.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -210,7 +210,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -542,7 +542,7 @@ Index : 0 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 10000 - User=0.940000s Real=0.945249s Sys=0.000000s + User=0.910000s Real=0.937099s Sys=0.000000s ======================== run summary ===================== diff --git a/examples/extended/electromagnetic/TestEm12/dna.mac b/examples/extended/electromagnetic/TestEm12/dna.mac index 8ae92dbf235..070fb92795c 100644 --- a/examples/extended/electromagnetic/TestEm12/dna.mac +++ b/examples/extended/electromagnetic/TestEm12/dna.mac @@ -1,27 +1,41 @@ # # Macro file for TestEm12 # -# limit the step size from histos 1 and 8 -# /control/cout/ignoreThreadsExcept 0 +# +# Verbosity +# /control/verbose 2 /run/verbose 2 # +# Material selection for Geant4-DNA +# /testem/det/setMat G4_WATER -/testem/det/setRadius 100 nm # -/testem/phys/addPhysics dna_opt2 -#/testem/phys/addPhysics dna_opt4 -#/testem/phys/addPhysics dna_opt6 +# Define sphere radius +# +/testem/det/setRadius 100 nm +# +# Select Geant4-DNA physics +# +/testem/phys/addPhysics dna_opt2 +#/testem/phys/addPhysics dna_opt4 +#/testem/phys/addPhysics dna_opt6 # /run/initialize # +# Incident particle +# /gun/particle e- /gun/energy 1 keV # +# Output file name and two histograms 1 & 3 +# /analysis/setFileName dna -/analysis/h1/set 1 50 0. 100 nm #edep profile -/analysis/h1/set 3 50 0. 300 nm #true track length +/analysis/h1/set 1 50 0. 100 nm #edep profile +/analysis/h1/set 3 50 0. 300 nm #true track length +# +# Apply maximum step size from histogram binning # /testem/applyAutomaticStepMax true # diff --git a/examples/extended/electromagnetic/TestEm12/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm12/include/ActionInitialization.hh index 10ab82947e4..42b3b6a8e4f 100644 --- a/examples/extended/electromagnetic/TestEm12/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm12/include/ActionInitialization.hh @@ -41,8 +41,8 @@ class PhysicsList; class ActionInitialization : public G4VUserActionInitialization { public: - ActionInitialization(DetectorConstruction*, PhysicsList* ); - ~ActionInitialization() override = default; + ActionInitialization(DetectorConstruction*, PhysicsList*); + ~ActionInitialization() override = default; void BuildForMaster() const override; void Build() const override; @@ -53,5 +53,3 @@ class ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh index 2a01dd27dcf..eadc74f37ec 100644 --- a/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh @@ -35,6 +35,7 @@ #include "G4VUserDetectorConstruction.hh" #include "globals.hh" + #include class G4VPhysicalVolume; @@ -48,43 +49,37 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction() override; + ~DetectorConstruction() override; public: - - void SetRadius (G4double); - void SetMaterial (G4String); - void SetNbOfLayers (G4int nb); - - G4VPhysicalVolume* Construct() override; - - public: - - G4double GetAbsorRadius() {return fAbsorRadius;}; - G4Material* GetAbsorMaterial() {return fAbsorMaterial;}; - G4int GetNbOfLayers() {return fNbOfLayers;}; - - void PrintParameters(); - void DefineMaterials(); - - private: + void SetRadius(G4double); + void SetMaterial(G4String); + void SetNbOfLayers(G4int nb); + + G4VPhysicalVolume* Construct() override; + + public: + G4double GetAbsorRadius() { return fAbsorRadius; }; + G4Material* GetAbsorMaterial() { return fAbsorMaterial; }; + G4int GetNbOfLayers() { return fNbOfLayers; }; + + void PrintParameters(); + void DefineMaterials(); - G4double fAbsorRadius = 0.; - G4Material* fAbsorMaterial = nullptr; - G4int fNbOfLayers = 0; - G4double fLayerThickness = 0.; - G4VPhysicalVolume* fAbsor = nullptr; + private: + G4double fAbsorRadius = 0.; + G4Material* fAbsorMaterial = nullptr; + G4int fNbOfLayers = 0; + G4double fLayerThickness = 0.; + G4VPhysicalVolume* fAbsor = nullptr; - DetectorMessenger* fDetectorMessenger = nullptr; + DetectorMessenger* fDetectorMessenger = nullptr; - std::vector fLVolumes; - std::vector fSpheres; - + std::vector fLVolumes; + std::vector fSpheres; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh index 1296cfead60..92af0ba0795 100644 --- a/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh @@ -33,8 +33,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -44,27 +44,24 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fMaterCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fRadiusCmd = nullptr; - G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; + DetectorConstruction* fDetector = nullptr; + + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fMaterCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fRadiusCmd = nullptr; + G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/EventAction.hh b/examples/extended/electromagnetic/TestEm12/include/EventAction.hh index a09e863d787..36c2873e1ae 100644 --- a/examples/extended/electromagnetic/TestEm12/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/EventAction.hh @@ -42,14 +42,14 @@ class EventAction : public G4UserEventAction { public: EventAction() = default; - ~EventAction() override = default; + ~EventAction() override = default; public: void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; - - void AddEdep(G4double edep) {fTotalEdep += edep;}; - + void EndOfEventAction(const G4Event*) override; + + void AddEdep(G4double edep) { fTotalEdep += edep; }; + private: G4double fTotalEdep = 0.; }; @@ -57,5 +57,3 @@ class EventAction : public G4UserEventAction //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh index 68089825eef..710679e971d 100644 --- a/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh @@ -27,16 +27,15 @@ /// \brief Definition of the HistoManager class // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" - #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -44,7 +43,7 @@ class HistoManager { public: HistoManager(); - ~HistoManager() = default; + ~HistoManager() = default; private: void Book(); @@ -54,4 +53,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh index 74a78954bc4..ef37d489ab7 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh @@ -41,28 +41,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; + ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardSSM.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardSSM.hh index 6e5fd05a1e9..1dcdaa8ded9 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardSSM.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardSSM.hh @@ -40,28 +40,20 @@ class PhysListEmStandardSSM : public G4VPhysicsConstructor { -public: - PhysListEmStandardSSM(const G4String& name = "standardSSM"); - ~PhysListEmStandardSSM() override = default; - -public: - // This method is dummy for physics - void ConstructParticle() override {}; - - // 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 - void ConstructProcess() override; + public: + PhysListEmStandardSSM(const G4String& name = "standardSSM"); + ~PhysListEmStandardSSM() override = default; + + public: + // This method is dummy for physics + void ConstructParticle() override {}; + + // 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 + void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh index 7fa95134002..7613668252a 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh @@ -46,30 +46,29 @@ class PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); - ~PhysicsList() override; + ~PhysicsList() override; void ConstructParticle() override; - + void AddPhysicsList(const G4String& name); void ConstructProcess() override; - void AddDecay(); + void AddDecay(); void AddStepMax(); - - StepMax* GetStepMaxProcess() {return fStepMaxProcess;}; - private: - G4String fEmName; - G4VPhysicsConstructor* fEmPhysicsList = nullptr; + StepMax* GetStepMaxProcess() { return fStepMaxProcess; }; + + private: + G4String fEmName; + G4VPhysicsConstructor* fEmPhysicsList = nullptr; static G4ThreadLocal StepMax* fStepMaxProcess; - - PhysicsListMessenger* fMessenger = nullptr; + + PhysicsListMessenger* fMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh index c4d1275bbc8..c2eb7545620 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh @@ -33,8 +33,8 @@ #ifndef PhysicsListMessenger_h #define PhysicsListMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class PhysicsList; class G4UIdirectory; @@ -42,25 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; - + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh index 2840be61052..b8814756b40 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -45,23 +45,21 @@ class PrimaryGeneratorMessenger; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction() override; - public: - void SetRndmBeam(G4bool val) {fRndmBeam = val;} + public: + void SetRndmBeam(G4bool val) { fRndmBeam = val; } void GeneratePrimaries(G4Event*) override; - - G4ParticleGun* GetParticleGun() {return fParticleGun;} - + + G4ParticleGun* GetParticleGun() { return fParticleGun; } + private: - G4ParticleGun* fParticleGun = nullptr; - G4bool fRndmBeam = true; - PrimaryGeneratorMessenger* fGunMessenger = nullptr; + G4ParticleGun* fParticleGun = nullptr; + G4bool fRndmBeam = true; + PrimaryGeneratorMessenger* fGunMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh index beff3f0fbd1..51254991f9c 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh @@ -42,21 +42,20 @@ class G4UIcmdWithABool; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger : public G4UImessenger { public: PrimaryGeneratorMessenger(PrimaryGeneratorAction*); - ~PrimaryGeneratorMessenger() override; - + ~PrimaryGeneratorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - PrimaryGeneratorAction* fAction = nullptr; - G4UIdirectory* fGunDir = nullptr; - G4UIcmdWithABool* fRndmCmd = nullptr; + PrimaryGeneratorAction* fAction = nullptr; + G4UIdirectory* fGunDir = nullptr; + G4UIcmdWithABool* fRndmCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/Run.hh b/examples/extended/electromagnetic/TestEm12/include/Run.hh index 9acd7834fc4..646f8f01563 100644 --- a/examples/extended/electromagnetic/TestEm12/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm12/include/Run.hh @@ -46,37 +46,36 @@ class Run : public G4Run { public: Run(DetectorConstruction* detector); - ~Run() override = default; + ~Run() override = default; public: - void SetPrimary(G4ParticleDefinition* particle, G4double energy); + void SetPrimary(G4ParticleDefinition* particle, G4double energy); - void AddEdep (G4double e); - void AddTrackLength (G4double t); - void AddProjRange (G4double x); - void AddStepSize (G4int nb, G4double st); - - void SetCsdaRange (G4double value); + void AddEdep(G4double e); + void AddTrackLength(G4double t); + void AddProjRange(G4double x); + void AddStepSize(G4int nb, G4double st); + + void SetCsdaRange(G4double value); G4double GetCsdaRange(); - + void Merge(const G4Run*) override; void EndOfRun(); - + private: - DetectorConstruction* fDetector = nullptr; - G4ParticleDefinition* fParticle = nullptr; - G4double fEkin = 0.; - - G4double fEdeposit = 0., fEdeposit2 = 0.; - G4double fTrackLen = 0., fTrackLen2 = 0.; - G4double fProjRange = 0., fProjRange2 = 0.; - G4int fNbOfSteps = 0, fNbOfSteps2 = 0; - G4double fStepSize = 0., fStepSize2 = 0.; - - G4double fCsdaRange = 0.; + DetectorConstruction* fDetector = nullptr; + G4ParticleDefinition* fParticle = nullptr; + G4double fEkin = 0.; + + G4double fEdeposit = 0., fEdeposit2 = 0.; + G4double fTrackLen = 0., fTrackLen2 = 0.; + G4double fProjRange = 0., fProjRange2 = 0.; + G4int fNbOfSteps = 0, fNbOfSteps2 = 0; + G4double fStepSize = 0., fStepSize2 = 0.; + + G4double fCsdaRange = 0.; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/RunAction.hh b/examples/extended/electromagnetic/TestEm12/include/RunAction.hh index 7abf3fb5dcf..04c67f93e74 100644 --- a/examples/extended/electromagnetic/TestEm12/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/RunAction.hh @@ -48,22 +48,21 @@ class RunAction : public G4UserRunAction { public: RunAction(DetectorConstruction*, PhysicsList*, PrimaryGeneratorAction*); - ~RunAction() override; + ~RunAction() override; public: void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; G4Run* GenerateRun() override; - + private: - DetectorConstruction* fDetector = nullptr; - PhysicsList* fPhysics = nullptr; - PrimaryGeneratorAction* fPrimary = nullptr; - Run* fRun = nullptr; - HistoManager* fHistoManager = nullptr; + DetectorConstruction* fDetector = nullptr; + PhysicsList* fPhysics = nullptr; + PrimaryGeneratorAction* fPrimary = nullptr; + Run* fRun = nullptr; + HistoManager* fHistoManager = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/StepMax.hh b/examples/extended/electromagnetic/TestEm12/include/StepMax.hh index 07cf56e38a1..b566b9e6cca 100644 --- a/examples/extended/electromagnetic/TestEm12/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm12/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -45,36 +45,33 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { public: - - StepMax(const G4String& processName = "UserMaxStep", - G4ProcessType type = fUserDefined); + StepMax(const G4String& processName = "UserMaxStep", G4ProcessType type = fUserDefined); ~StepMax() override; - G4bool IsApplicable(const G4ParticleDefinition&) override; + G4bool IsApplicable(const G4ParticleDefinition&) override; - void SetMaxStep1(G4double); - void SetMaxStep2(G4double); - void ApplyMaxStep2(G4bool); + void SetMaxStep1(G4double); + void SetMaxStep2(G4double); + void ApplyMaxStep2(G4bool); - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) override; + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, G4double previousStepSize, + G4ForceCondition* condition) override; - G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; - G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) override - {return DBL_MAX;}; + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) override + { + return DBL_MAX; + }; private: + G4double fMaxStep1; + G4double fMaxStep2; + G4bool fApplyMaxStep2; - G4double fMaxStep1; - G4double fMaxStep2; - G4bool fApplyMaxStep2; - - StepMaxMessenger* fMess = nullptr; + StepMaxMessenger* fMess = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh index faf0ce74564..7366ba23c9b 100644 --- a/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh @@ -33,8 +33,8 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithABool; @@ -42,18 +42,18 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger() override; - + ~StepMaxMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - StepMax* fStepMax = nullptr; - G4UIcmdWithADoubleAndUnit* fStepMax1Cmd = nullptr; - G4UIcmdWithABool* fStepMax2Cmd = nullptr; + StepMax* fStepMax = nullptr; + G4UIcmdWithADoubleAndUnit* fStepMax1Cmd = nullptr; + G4UIcmdWithABool* fStepMax2Cmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh index bd7a9a4abc5..8f544eb520c 100644 --- a/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh @@ -43,10 +43,10 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction(EventAction*); - ~SteppingAction() override = default; + ~SteppingAction() override = default; void UserSteppingAction(const G4Step*) override; - + private: EventAction* fEventAction = nullptr; }; diff --git a/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh index 3d3cbf3e3b5..2813346e157 100644 --- a/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh @@ -40,14 +40,14 @@ class PrimaryGeneratorAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { - - public: +class TrackingAction : public G4UserTrackingAction +{ + public: TrackingAction(PrimaryGeneratorAction*); - ~TrackingAction() override = default; - + ~TrackingAction() override = default; + void PostUserTrackingAction(const G4Track*) override; - + private: PrimaryGeneratorAction* fPrimary = nullptr; }; diff --git a/examples/extended/electromagnetic/TestEm12/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm12/src/ActionInitialization.cc index 9a5aedf8615..0c168e5e662 100644 --- a/examples/extended/electromagnetic/TestEm12/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm12/src/ActionInitialization.cc @@ -28,18 +28,18 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" -#include "TrackingAction.hh" #include "SteppingAction.hh" +#include "TrackingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* detector, - PhysicsList* physics) - : fDetector(detector), fPhysics(physics) -{ } +ActionInitialization::ActionInitialization(DetectorConstruction* detector, PhysicsList* physics) + : fDetector(detector), fPhysics(physics) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,16 +55,16 @@ void ActionInitialization::Build() const { PrimaryGeneratorAction* primary = new PrimaryGeneratorAction(); SetUserAction(primary); - + RunAction* run = new RunAction(fDetector, fPhysics, primary); - SetUserAction(run); - + SetUserAction(run); + EventAction* event = new EventAction(); SetUserAction(event); - + SetUserAction(new TrackingAction(primary)); - + SetUserAction(new SteppingAction(event)); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc index b00e79cdbd5..04642b45d61 100644 --- a/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc @@ -31,51 +31,52 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4NistManager.hh" -#include "G4Sphere.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" -#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" - -#include "G4GeometryManager.hh" +#include "G4PhysicalConstants.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" #include "G4RunManager.hh" - -#include "G4UnitsTable.hh" -#include "G4PhysicalConstants.hh" +#include "G4SolidStore.hh" +#include "G4Sphere.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" +#include "G4VPhysicalVolume.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() { // default parameter values - fAbsorRadius = 3*cm; + fAbsorRadius = 3 * cm; fNbOfLayers = 1; - + DefineMaterials(); SetMaterial("G4_WATER"); - // create commands for interactive definition of the detector + // create commands for interactive definition of the detector fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorConstruction::DefineMaterials() -{ +{ G4NistManager* man = G4NistManager::Instance(); - + man->FindOrBuildMaterial("G4_Al"); man->FindOrBuildMaterial("G4_Si"); man->FindOrBuildMaterial("G4_Fe"); @@ -83,72 +84,67 @@ void DetectorConstruction::DefineMaterials() man->FindOrBuildMaterial("G4_Gd"); man->FindOrBuildMaterial("G4_W"); man->FindOrBuildMaterial("G4_Pb"); - + man->FindOrBuildMaterial("G4_AIR"); man->FindOrBuildMaterial("G4_WATER"); man->FindOrBuildMaterial("G4_ALUMINUM_OXIDE"); - - ///G4cout << *(G4Material::GetMaterialTable()) << G4endl; + + /// G4cout << *(G4Material::GetMaterialTable()) << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VPhysicalVolume* DetectorConstruction::Construct() { // Absorber // - G4Sphere* - sAbsor = new G4Sphere("Absorber", //name - 0., fAbsorRadius, 0., twopi, 0., pi); //size + G4Sphere* sAbsor = new G4Sphere("Absorber", // name + 0., fAbsorRadius, 0., twopi, 0., pi); // size fSpheres.push_back(sAbsor); - G4LogicalVolume* - lAbsor = new G4LogicalVolume(sAbsor, //solid - fAbsorMaterial, //material - "Absorber"); //name + G4LogicalVolume* lAbsor = new G4LogicalVolume(sAbsor, // solid + fAbsorMaterial, // material + "Absorber"); // name fLVolumes.push_back(lAbsor); - - fAbsor = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - lAbsor, //logical volume - "Absorber", //name - 0, //mother volume - false, //no boolean operation - 0); //copy number + + fAbsor = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + lAbsor, // logical volume + "Absorber", // name + 0, // mother volume + false, // no boolean operation + 0); // copy number // Layers // - fLayerThickness = fAbsorRadius/fNbOfLayers; - - for (G4int i=1; i<=fNbOfLayers; i++) { - G4Sphere* - sLayer = new G4Sphere("Layer", (i-1)*fLayerThickness, i*fLayerThickness, - 0., twopi, 0., pi); + fLayerThickness = fAbsorRadius / fNbOfLayers; + + for (G4int i = 1; i <= fNbOfLayers; i++) { + G4Sphere* sLayer = + new G4Sphere("Layer", (i - 1) * fLayerThickness, i * fLayerThickness, 0., twopi, 0., pi); fSpheres.push_back(sLayer); - - G4LogicalVolume* - lLayer = new G4LogicalVolume(sLayer, //shape - fAbsorMaterial, //material - "Layer"); //name + + G4LogicalVolume* lLayer = new G4LogicalVolume(sLayer, // shape + fAbsorMaterial, // material + "Layer"); // name fLVolumes.push_back(lLayer); - - new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - lLayer, //logical volume - "Layer", //name - lAbsor, //mother volume - false, //no boolean operation - i); //copy number - - } + + new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + lLayer, // logical volume + "Layer", // name + lAbsor, // mother volume + false, // no boolean operation + i); // copy number + } PrintParameters(); - + + // + // always return the root volume // - //always return the root volume - // return fAbsor; } @@ -157,11 +153,10 @@ G4VPhysicalVolume* DetectorConstruction::Construct() void DetectorConstruction::PrintParameters() { G4cout << "\n---------------------------------------------------------\n"; - G4cout << "---> The Absorber is a sphere of " - << G4BestUnit(fAbsorRadius,"Length") << " radius of " - << fAbsorMaterial->GetName() << " divided in " << fNbOfLayers - << " slices of " << G4BestUnit(fLayerThickness,"Length") - << "\n \n" << fAbsorMaterial << G4endl; + G4cout << "---> The Absorber is a sphere of " << G4BestUnit(fAbsorRadius, "Length") + << " radius of " << fAbsorMaterial->GetName() << " divided in " << fNbOfLayers + << " slices of " << G4BestUnit(fLayerThickness, "Length") << "\n \n" + << fAbsorMaterial << G4endl; G4cout << "\n---------------------------------------------------------\n"; } @@ -170,15 +165,16 @@ void DetectorConstruction::PrintParameters() void DetectorConstruction::SetRadius(G4double value) { // geometry was already constructed - scale radii of all spheres - if(fAbsor) { - G4double scale = value/fAbsorRadius; - for (auto solid : fSpheres) { - if(scale > 1.0) { - solid->SetOuterRadius(solid->GetOuterRadius()*scale); - solid->SetInnerRadius(solid->GetInnerRadius()*scale); - } else { - solid->SetInnerRadius(solid->GetInnerRadius()*scale); - solid->SetOuterRadius(solid->GetOuterRadius()*scale); + if (fAbsor) { + G4double scale = value / fAbsorRadius; + for (auto solid : fSpheres) { + if (scale > 1.0) { + solid->SetOuterRadius(solid->GetOuterRadius() * scale); + solid->SetInnerRadius(solid->GetInnerRadius() * scale); + } + else { + solid->SetInnerRadius(solid->GetInnerRadius() * scale); + solid->SetOuterRadius(solid->GetOuterRadius() * scale); } } } @@ -189,16 +185,18 @@ void DetectorConstruction::SetRadius(G4double value) void DetectorConstruction::SetMaterial(G4String materialChoice) { - // search the material by its name - G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); if (pttoMaterial && pttoMaterial != fAbsorMaterial) { fAbsorMaterial = pttoMaterial; G4RunManager::GetRunManager()->PhysicsHasBeenModified(); // geometry was already constructed - only change material - if(fAbsor) { - for (auto lv : fLVolumes) { lv->SetMaterial(fAbsorMaterial); } + if (fAbsor) { + for (auto lv : fLVolumes) { + lv->SetMaterial(fAbsorMaterial); + } } } } @@ -209,5 +207,5 @@ void DetectorConstruction::SetNbOfLayers(G4int value) { fNbOfLayers = value; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc index 6eec9efd1b1..4cb42845a76 100644 --- a/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc @@ -33,42 +33,42 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" + +#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance(" detector control."); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction commands"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - fMaterCmd->SetToBeBroadcasted(false); - - fRadiusCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setRadius",this); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + fMaterCmd->SetToBeBroadcasted(false); + + fRadiusCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setRadius", this); fRadiusCmd->SetGuidance("Set radius of the absorber"); - fRadiusCmd->SetParameterName("Radius",false); + fRadiusCmd->SetParameterName("Radius", false); fRadiusCmd->SetRange("Radius>0."); fRadiusCmd->SetUnitCategory("Length"); - fRadiusCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fRadiusCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fRadiusCmd->SetToBeBroadcasted(false); - - fNbLayersCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfLayers",this); + + fNbLayersCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfLayers", this); fNbLayersCmd->SetGuidance("Set number of layers"); - fNbLayersCmd->SetParameterName("NbLayers",false); + fNbLayersCmd->SetParameterName("NbLayers", false); fNbLayersCmd->SetRange("NbLayers>0"); fNbLayersCmd->AvailableForStates(G4State_PreInit); - fNbLayersCmd->SetToBeBroadcasted(false); + fNbLayersCmd->SetToBeBroadcasted(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -77,23 +77,26 @@ DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; delete fRadiusCmd; - delete fNbLayersCmd; - delete fDetDir; + delete fNbLayersCmd; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fRadiusCmd ) - { fDetector->SetRadius(fRadiusCmd->GetNewDoubleValue(newValue));} - - if( command == fNbLayersCmd ) - { fDetector->SetNbOfLayers(fNbLayersCmd->GetNewIntValue(newValue));} +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fRadiusCmd) { + fDetector->SetRadius(fRadiusCmd->GetNewDoubleValue(newValue)); + } + + if (command == fNbLayersCmd) { + fDetector->SetNbOfLayers(fNbLayersCmd->GetNewIntValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/EventAction.cc b/examples/extended/electromagnetic/TestEm12/src/EventAction.cc index 69ef8e1b010..537bd531634 100644 --- a/examples/extended/electromagnetic/TestEm12/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/EventAction.cc @@ -32,34 +32,31 @@ #include "EventAction.hh" -#include "Run.hh" #include "HistoManager.hh" +#include "Run.hh" #include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::BeginOfEventAction(const G4Event*) -{ - //energy deposited per event - fTotalEdep = 0.; +{ + // energy deposited per event + fTotalEdep = 0.; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::EndOfEventAction(const G4Event*) { - //plot energy deposited per event + // plot energy deposited per event // if (fTotalEdep > 0.) { - Run* run - = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); run->AddEdep(fTotalEdep); - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - analysisManager->FillH1(2,fTotalEdep); - } + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + analysisManager->FillH1(2, fTotalEdep); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc index 841c986a327..d60d83661d5 100644 --- a/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc @@ -27,11 +27,12 @@ /// \brief Implementation of the HistoManager class // // -// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -53,32 +54,32 @@ void HistoManager::Book() analysisManager->SetFileName(fFileName); analysisManager->SetVerboseLevel(1); analysisManager->SetActivation(true); - // enable inactivation of histograms + // enable inactivation of histograms // Define histograms start values const G4int kMaxHisto = 9; - const G4String id[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8" }; - - const G4String title[] = - { "dummy", //0 - "Edep (MeV/mm) along absorber", //1 - "total Energy deposited in absorber", //2 - "true track length of the primary particle", //3 - "true step size of the primary particle", //4 - "projected range of the primary particle", //5 - "true track length of charged secondaries", //6 - "true step size of charged secondaries", //7 - "d(E/E0)/d(r/r0) along r/r0" //8 - }; + const G4String id[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8"}; + + const G4String title[] = { + "dummy", // 0 + "Edep (MeV/mm) along absorber", // 1 + "total Energy deposited in absorber", // 2 + "true track length of the primary particle", // 3 + "true step size of the primary particle", // 4 + "projected range of the primary particle", // 5 + "true track length of charged secondaries", // 6 + "true step size of charged secondaries", // 7 + "d(E/E0)/d(r/r0) along r/r0" // 8 + }; - // Default values (to be reset via /analysis/h1/set command) + // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; kCreateH1(id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc index 876dc20e865..ea5bdc6b031 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc @@ -28,62 +28,54 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BuilderType.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4RayleighScattering.hh" +#include "G4IonParametrisedLossModel.hh" #include "G4KleinNishinaModel.hh" #include "G4LivermorePhotoElectricModel.hh" - -#include "G4eMultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuMultipleScattering.hh" -#include "G4MuIonisation.hh" +#include "G4LossTableManager.hh" +#include "G4MscStepLimitType.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuPairProduction.hh" - -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4MscStepLimitType.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4BuilderType.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetVerbose(0); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetStepFunction(0.1, 100*um); - param->SetStepFunctionMuHad(0.1, 50*um); - param->SetStepFunctionLightIons(0.1, 20*um); - param->SetStepFunctionIons(0.1, 1*um); - param->SetMscStepLimitType(fUseDistanceToBoundary); - param->SetDeexcitationIgnoreCut(true); - SetPhysicsType(bElectromagnetic); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetVerbose(0); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetStepFunction(0.1, 100 * um); + param->SetStepFunctionMuHad(0.1, 50 * um); + param->SetStepFunctionLightIons(0.1, 20 * um); + param->SetStepFunctionIons(0.1, 1 * um); + param->SetMscStepLimitType(fUseDistanceToBoundary); + param->SetDeexcitationIgnoreCut(true); + SetPhysicsType(bElectromagnetic); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -91,74 +83,62 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ph->RegisterProcess(new G4RayleighScattering, particle); + if (particleName == "gamma") { + ph->RegisterProcess(new G4RayleighScattering, particle); ph->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* cs = new G4ComptonScattering; + G4ComptonScattering* cs = new G4ComptonScattering; cs->SetEmModel(new G4KleinNishinaModel()); ph->RegisterProcess(cs, particle); ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + } + else if (particleName == "e-") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); - ph->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + ph->RegisterProcess(new G4eBremsstrahlung(), particle); + } + else if (particleName == "e+") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); - ph->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - ph->RegisterProcess(new G4MuMultipleScattering(), particle); + ph->RegisterProcess(new G4eplusAnnihilation(), particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + ph->RegisterProcess(new G4MuMultipleScattering(), particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(new G4MuBremsstrahlung(), particle); ph->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); - ph->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4hPairProduction(), particle); + } + else if (particleName == "alpha" || particleName == "He3") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if (particleName == "GenericIon") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); ph->RegisterProcess(ionIoni, particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } @@ -171,4 +151,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardSSM.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardSSM.cc index 4cc1d37011d..22a5e3000b9 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardSSM.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardSSM.cc @@ -32,36 +32,28 @@ #include "PhysListEmStandardSSM.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" - #include "G4ComptonScattering.hh" +#include "G4CoulombScattering.hh" #include "G4GammaConversion.hh" +#include "G4IonCoulombScatteringModel.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuPairProduction.hh" +#include "G4ParticleDefinition.hh" #include "G4PhotoElectricEffect.hh" - -#include "G4CoulombScattering.hh" +#include "G4ProcessManager.hh" +#include "G4SystemOfUnits.hh" +#include "G4eBremsstrahlung.hh" #include "G4eCoulombScatteringModel.hh" -#include "G4eSingleCoulombScatteringModel.hh" -#include "G4IonCoulombScatteringModel.hh" - #include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" +#include "G4eSingleCoulombScatteringModel.hh" #include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - #include "G4hIonisation.hh" #include "G4ionIonisation.hh" -#include "G4SystemOfUnits.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandardSSM::PhysListEmStandardSSM(const G4String& name) - : G4VPhysicsConstructor(name) -{ } +PhysListEmStandardSSM::PhysListEmStandardSSM(const G4String& name) : G4VPhysicsConstructor(name) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,82 +61,77 @@ void PhysListEmStandardSSM::ConstructProcess() { // Add standard EM Processes - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->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 G4eIonisation, -1, 1, 1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + } + else if (particleName == "e-") { + // electron + pmanager->AddProcess(new G4eIonisation, -1, 1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); G4CoulombScattering* cs = new G4CoulombScattering(); - G4eSingleCoulombScatteringModel* model = - new G4eSingleCoulombScatteringModel(); - //model->SetLowEnergyThreshold(10*eV); + G4eSingleCoulombScatteringModel* model = new G4eSingleCoulombScatteringModel(); + // model->SetLowEnergyThreshold(10*eV); model->SetPolarAngleLimit(0.0); cs->AddEmModel(0, model); - pmanager->AddDiscreteProcess(cs); - - } else if (particleName == "e+") { - //positron + pmanager->AddDiscreteProcess(cs); + } + else if (particleName == "e+") { + // positron - pmanager->AddProcess(new G4eIonisation, -1, 1, 1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); + pmanager->AddProcess(new G4eIonisation, -1, 1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4eplusAnnihilation, 0, -1, 3); G4CoulombScattering* cs = new G4CoulombScattering(); - G4eSingleCoulombScatteringModel* model = - new G4eSingleCoulombScatteringModel(); + G4eSingleCoulombScatteringModel* model = new G4eSingleCoulombScatteringModel(); model->SetPolarAngleLimit(0.0); cs->AddEmModel(0, model); - pmanager->AddDiscreteProcess(cs); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + pmanager->AddDiscreteProcess(cs); + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon + pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); G4CoulombScattering* cs = new G4CoulombScattering(); G4eCoulombScatteringModel* model = new G4eCoulombScatteringModel(); model->SetPolarAngleLimit(0.0); cs->AddEmModel(0, model); - pmanager->AddDiscreteProcess(cs); - - - } else if (particleName == "alpha" || particleName == "He3") { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + pmanager->AddDiscreteProcess(cs); + } + else if (particleName == "alpha" || particleName == "He3") { + pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); G4CoulombScattering* cs = new G4CoulombScattering(); cs->AddEmModel(0, new G4IonCoulombScatteringModel()); cs->SetBuildTableFlag(false); - pmanager->AddDiscreteProcess(cs); - - } else if (particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + pmanager->AddDiscreteProcess(cs); + } + else if (particleName == "GenericIon") { + pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); G4CoulombScattering* cs = new G4CoulombScattering(); cs->AddEmModel(0, new G4IonCoulombScatteringModel()); cs->SetBuildTableFlag(false); pmanager->AddDiscreteProcess(cs); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1, 1, 1); - pmanager->AddDiscreteProcess(new G4CoulombScattering); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + pmanager->AddDiscreteProcess(new G4CoulombScattering); } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc index 582e34b2702..a1ca6e8da03 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc @@ -31,22 +31,11 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" #include "PhysListEmStandardSSM.hh" +#include "PhysicsListMessenger.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmStandardPhysics_option1.hh" -#include "G4EmStandardPhysics_option2.hh" -#include "G4EmStandardPhysics_option3.hh" -#include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsSS.hh" -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" #include "G4EmDNAPhysics.hh" #include "G4EmDNAPhysics_option1.hh" #include "G4EmDNAPhysics_option2.hh" @@ -55,21 +44,30 @@ #include "G4EmDNAPhysics_option5.hh" #include "G4EmDNAPhysics_option6.hh" #include "G4EmDNAPhysics_option7.hh" - +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmPenelopePhysics.hh" +#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" +#include "G4EmStandardPhysics_option3.hh" +#include "G4EmStandardPhysics_option4.hh" #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // particles +#include "G4BaryonConstructor.hh" #include "G4BosonConstructor.hh" +#include "G4DNAGenericIonsManager.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" #include "G4ShortLivedConstructor.hh" -#include "G4DNAGenericIonsManager.hh" G4ThreadLocal StepMax* PhysicsList::fStepMaxProcess = nullptr; @@ -88,7 +86,7 @@ PhysicsList::PhysicsList() // G4EmParameters::Instance()->SetBuildCSDARange(true); - SetDefaultCutValue(1.*mm); + SetDefaultCutValue(1. * mm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -103,31 +101,31 @@ PhysicsList::~PhysicsList() void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; - pBosonConstructor.ConstructParticle(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); - G4LeptonConstructor pLeptonConstructor; - pLeptonConstructor.ConstructParticle(); + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); - G4IonConstructor pIonConstructor; - pIonConstructor.ConstructParticle(); + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); + G4ShortLivedConstructor pShortLivedConstructor; + pShortLivedConstructor.ConstructParticle(); -// DNA + // DNA G4DNAGenericIonsManager* genericIonsManager; - genericIonsManager=G4DNAGenericIonsManager::Instance(); + genericIonsManager = G4DNAGenericIonsManager::Instance(); genericIonsManager->GetIon("alpha++"); genericIonsManager->GetIon("alpha+"); genericIonsManager->GetIon("helium"); - genericIonsManager->GetIon("hydrogen"); + genericIonsManager->GetIon("hydrogen"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -139,17 +137,17 @@ void PhysicsList::ConstructProcess() // transportation // AddTransportation(); - + // electromagnetic physics list // fEmPhysicsList->ConstructProcess(); - + // decay process // AddDecay(); - + // step limitation (as a full process) - // + // AddStepMax(); } @@ -157,132 +155,120 @@ void PhysicsList::ConstructProcess() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>-1) { + if (verboseLevel > -1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } if (name == fEmName) return; if (name == "local") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt0") { - + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1") { - + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2") { - + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3") { - + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emstandardSS") { - + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "standardSSM") { - + } + else if (name == "standardSSM") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandardSSM(name); - - } else if (name == "emstandardWVI") { - + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else if (name == "standardGS") { - + } + else if (name == "standardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else if (name == "emlivermore") { + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else if (name == "empenelope") { + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else if (name == "emlowenergy") { + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(); - - } else if (name == "dna") { + } + else if (name == "dna") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics(); - - } else if (name == "dna_opt1") { + } + else if (name == "dna_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option1(); - - } else if (name == "dna_opt2") { + } + else if (name == "dna_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option2(); - - } else if (name == "dna_opt3") { + } + else if (name == "dna_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option3(); - - } else if (name == "dna_opt4") { + } + else if (name == "dna_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option4(); - - } else if (name == "dna_opt5") { + } + else if (name == "dna_opt5") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option5(); - - } else if (name == "dna_opt6") { + } + else if (name == "dna_opt6") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option6(); - - } else if (name == "dna_opt7") { + } + else if (name == "dna_opt7") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option7(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } G4EmParameters::Instance()->SetBuildCSDARange(true); } @@ -297,20 +283,18 @@ void PhysicsList::AddDecay() // G4Decay* fDecayProcess = new G4Decay(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (fDecayProcess->IsApplicable(*particle) && !particle->IsShortLived()) { - - pmanager ->AddProcess(fDecayProcess); + if (fDecayProcess->IsApplicable(*particle) && !particle->IsShortLived()) { + pmanager->AddProcess(fDecayProcess); // set ordering for PostStepDoIt and AtRestDoIt - pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest); - + pmanager->SetProcessOrdering(fDecayProcess, idxPostStep); + pmanager->SetProcessOrdering(fDecayProcess, idxAtRest); } } } @@ -324,16 +308,15 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process fStepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ - G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - - if (fStepMaxProcess->IsApplicable(*particle)) - { - pmanager ->AddDiscreteProcess(fStepMaxProcess); - } + while ((*particleIterator)()) { + G4ParticleDefinition* particle = particleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (fStepMaxProcess->IsApplicable(*particle)) { + pmanager->AddDiscreteProcess(fStepMaxProcess); + } } } diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc index cc8770c4250..7b37e9effd2 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc @@ -33,23 +33,23 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) -:fPhysicsList(pPhys) +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) { fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); - fListCmd->SetToBeBroadcasted(false); + fListCmd->SetToBeBroadcasted(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -57,15 +57,16 @@ PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) PhysicsListMessenger::~PhysicsListMessenger() { delete fListCmd; - delete fPhysDir; + delete fPhysDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc index 7dacbe0b152..e2ae4cb20d6 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc @@ -35,9 +35,9 @@ #include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" @@ -46,16 +46,15 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() { - fParticleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + fParticleGun = new G4ParticleGun(1); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(4*MeV); + fParticleGun->SetParticleEnergy(4 * MeV); fParticleGun->SetParticlePosition(G4ThreeVector()); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1,0,0)); - - //create a messenger for this class - fGunMessenger = new PrimaryGeneratorMessenger(this); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1, 0, 0)); + + // create a messenger for this class + fGunMessenger = new PrimaryGeneratorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,29 +62,25 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete fParticleGun; - delete fGunMessenger; + delete fGunMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) -{ - //randomize the beam, if requested. +{ + // randomize the beam, if requested. // - if (fRndmBeam) - { - //distribution uniform in solid angle - // - G4double cosTheta = 2*G4UniformRand() - 1., phi = twopi*G4UniformRand(); - G4double sinTheta = std::sqrt(1. - cosTheta*cosTheta); - G4double ux = sinTheta*std::cos(phi), - uy = sinTheta*std::sin(phi), - uz = cosTheta; - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(ux,uy,uz)); - } + if (fRndmBeam) { + // distribution uniform in solid angle + // + G4double cosTheta = 2 * G4UniformRand() - 1., phi = twopi * G4UniformRand(); + G4double sinTheta = std::sqrt(1. - cosTheta * cosTheta); + G4double ux = sinTheta * std::cos(phi), uy = sinTheta * std::sin(phi), uz = cosTheta; + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(ux, uy, uz)); + } fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc index bfdebf6759f..dccfeb56aeb 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc @@ -33,21 +33,20 @@ #include "PrimaryGeneratorMessenger.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithABool.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( - PrimaryGeneratorAction* Gun) -:fAction(Gun) -{ +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger(PrimaryGeneratorAction* Gun) : fAction(Gun) +{ fGunDir = new G4UIdirectory("/testem/gun/"); fGunDir->SetGuidance("gun control"); - fRndmCmd = new G4UIcmdWithABool("/testem/gun/rndm",this); + fRndmCmd = new G4UIcmdWithABool("/testem/gun/rndm", this); fRndmCmd->SetGuidance("random direction on the beam"); - fRndmCmd->SetParameterName("rBeam",true); + fRndmCmd->SetParameterName("rBeam", true); fRndmCmd->SetDefaultValue(true); } @@ -61,12 +60,11 @@ PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if (command == fRndmCmd) - {fAction->SetRndmBeam(fRndmCmd->GetNewBoolValue(newValue));} +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fRndmCmd) { + fAction->SetRndmBeam(fRndmCmd->GetNewBoolValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm12/src/Run.cc b/examples/extended/electromagnetic/TestEm12/src/Run.cc index d0a12bf9c21..c83cb7458e8 100644 --- a/examples/extended/electromagnetic/TestEm12/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm12/src/Run.cc @@ -26,13 +26,13 @@ /// \file electromagnetic/TestEm12/src/Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" -#include "DetectorConstruction.hh" +#include "DetectorConstruction.hh" #include "HistoManager.hh" #include "PrimaryGeneratorAction.hh" @@ -42,199 +42,203 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(DetectorConstruction* detector) -: fDetector(detector) -{ } +Run::Run(DetectorConstruction* detector) : fDetector(detector) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::SetPrimary (G4ParticleDefinition* particle, G4double energy) -{ +void Run::SetPrimary(G4ParticleDefinition* particle, G4double energy) +{ fParticle = particle; - fEkin = energy; + fEkin = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::AddEdep (G4double e) +void Run::AddEdep(G4double e) { - fEdeposit += e; - fEdeposit2 += e*e; + fEdeposit += e; + fEdeposit2 += e * e; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::AddTrackLength (G4double t) + +void Run::AddTrackLength(G4double t) { - fTrackLen += t; - fTrackLen2 += t*t; + fTrackLen += t; + fTrackLen2 += t * t; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::AddProjRange (G4double x) + +void Run::AddProjRange(G4double x) { - fProjRange += x; - fProjRange2 += x*x; + fProjRange += x; + fProjRange2 += x * x; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::AddStepSize (G4int nb, G4double st) + +void Run::AddStepSize(G4int nb, G4double st) { - fNbOfSteps += nb; - fNbOfSteps2 += nb*nb; - fStepSize += st ; - fStepSize2 += st*st; + fNbOfSteps += nb; + fNbOfSteps2 += nb * nb; + fStepSize += st; + fStepSize2 += st * st; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Run::SetCsdaRange(G4double value) + +void Run::SetCsdaRange(G4double value) { fCsdaRange = value; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double Run::GetCsdaRange() + +G4double Run::GetCsdaRange() { return fCsdaRange; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::Merge(const G4Run* run) { const Run* localRun = static_cast(run); - + // pass information about primary particle fParticle = localRun->fParticle; - fEkin = localRun->fEkin; + fEkin = localRun->fEkin; // accumulate sums - fEdeposit += localRun->fEdeposit; - fEdeposit2 += localRun->fEdeposit2; - fTrackLen += localRun->fTrackLen; - fTrackLen2 += localRun->fTrackLen2; - fProjRange += localRun->fProjRange; + fEdeposit += localRun->fEdeposit; + fEdeposit2 += localRun->fEdeposit2; + fTrackLen += localRun->fTrackLen; + fTrackLen2 += localRun->fTrackLen2; + fProjRange += localRun->fProjRange; fProjRange2 += localRun->fProjRange2; - fNbOfSteps += localRun->fNbOfSteps ; + fNbOfSteps += localRun->fNbOfSteps; fNbOfSteps2 += localRun->fNbOfSteps2; - fStepSize += localRun->fStepSize; - fStepSize2 += localRun->fStepSize2; - - fCsdaRange = localRun->fCsdaRange; + fStepSize += localRun->fStepSize; + fStepSize2 += localRun->fStepSize2; - G4Run::Merge(run); -} + fCsdaRange = localRun->fCsdaRange; + + G4Run::Merge(run); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::EndOfRun() +void Run::EndOfRun() { std::ios::fmtflags mode = G4cout.flags(); - G4cout.setf(std::ios::fixed,std::ios::floatfield); + G4cout.setf(std::ios::fixed, std::ios::floatfield); G4int prec = G4cout.precision(2); - - //run conditions + + // run conditions // G4Material* material = fDetector->GetAbsorMaterial(); - G4double density = material->GetDensity(); + G4double density = material->GetDensity(); G4String partName = fParticle->GetParticleName(); - - G4cout << "\n ======================== run summary =====================\n"; - G4cout - << "\n The run is " << numberOfEvent << " "<< partName << " of " - << G4BestUnit(fEkin,"Energy") << " through " - << G4BestUnit(fDetector->GetAbsorRadius(),"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; + + G4cout << "\n ======================== run summary =====================\n"; + G4cout << "\n The run is " << numberOfEvent << " " << partName << " of " + << G4BestUnit(fEkin, "Energy") << " through " + << G4BestUnit(fDetector->GetAbsorRadius(), "Length") << " of " << material->GetName() + << " (density: " << G4BestUnit(density, "Volumic Mass") << ")" << G4endl; if (numberOfEvent == 0) { - G4cout.setf(mode,std::ios::floatfield); - G4cout.precision(prec); + G4cout.setf(mode, std::ios::floatfield); + G4cout.precision(prec); return; } - - fEdeposit /= numberOfEvent; fEdeposit2 /= numberOfEvent; - G4double rms = fEdeposit2 - fEdeposit*fEdeposit; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout.precision(3); - G4cout - << "\n Total Energy deposited = " << G4BestUnit(fEdeposit,"Energy") - << " +- " << G4BestUnit( rms,"Energy") - << G4endl; - - //compute track length of primary track + + fEdeposit /= numberOfEvent; + fEdeposit2 /= numberOfEvent; + G4double rms = fEdeposit2 - fEdeposit * fEdeposit; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout.precision(3); + G4cout << "\n Total Energy deposited = " << G4BestUnit(fEdeposit, "Energy") << " +- " + << G4BestUnit(rms, "Energy") << G4endl; + + // compute track length of primary track // - fTrackLen /= numberOfEvent; fTrackLen2 /= numberOfEvent; - rms = fTrackLen2 - fTrackLen*fTrackLen; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout.precision(3); - G4cout - << "\n Track length of primary track = " << G4BestUnit(fTrackLen,"Length") - << " +- " << G4BestUnit( rms,"Length"); - - //compare with csda range + fTrackLen /= numberOfEvent; + fTrackLen2 /= numberOfEvent; + rms = fTrackLen2 - fTrackLen * fTrackLen; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout.precision(3); + G4cout << "\n Track length of primary track = " << G4BestUnit(fTrackLen, "Length") << " +- " + << G4BestUnit(rms, "Length"); + + // compare with csda range // - G4cout - << "\n Range from EmCalculator = " << G4BestUnit(fCsdaRange,"Length") - << " (from full dE/dx)" << G4endl; + G4cout << "\n Range from EmCalculator = " << G4BestUnit(fCsdaRange, "Length") + << " (from full dE/dx)" << G4endl; - - //compute projected range of primary track + // compute projected range of primary track // - fProjRange /= numberOfEvent; fProjRange2 /= numberOfEvent; - rms = fProjRange2 - fProjRange*fProjRange; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout - << "\n Projected range = " << G4BestUnit(fProjRange,"Length") - << " +- " << G4BestUnit( rms,"Length") - << G4endl; - - //nb of steps and step size of primary track + fProjRange /= numberOfEvent; + fProjRange2 /= numberOfEvent; + rms = fProjRange2 - fProjRange * fProjRange; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout << "\n Projected range = " << G4BestUnit(fProjRange, "Length") << " +- " + << G4BestUnit(rms, "Length") << G4endl; + + // nb of steps and step size of primary track // G4double dNofEvents = double(numberOfEvent); - G4double fNbSteps = fNbOfSteps/dNofEvents, - fNbSteps2 = fNbOfSteps2/dNofEvents; - rms = fNbSteps2 - fNbSteps*fNbSteps; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - - G4cout.precision(2); + G4double fNbSteps = fNbOfSteps / dNofEvents, fNbSteps2 = fNbOfSteps2 / dNofEvents; + rms = fNbSteps2 - fNbSteps * fNbSteps; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout.precision(2); G4cout << "\n Nb of steps of primary track = " << fNbSteps << " +- " << rms; - - fStepSize /= numberOfEvent; fStepSize2 /= numberOfEvent; - rms = fStepSize2 - fStepSize*fStepSize; - if (rms>0.) rms = std::sqrt(rms); else rms = 0.; - G4cout.precision(3); - G4cout - << "\t Step size= " << G4BestUnit(fStepSize,"Length") - << " +- " << G4BestUnit( rms,"Length") - << G4endl; + fStepSize /= numberOfEvent; + fStepSize2 /= numberOfEvent; + rms = fStepSize2 - fStepSize * fStepSize; + if (rms > 0.) + rms = std::sqrt(rms); + else + rms = 0.; + + G4cout.precision(3); + G4cout << "\t Step size= " << G4BestUnit(fStepSize, "Length") << " +- " + << G4BestUnit(rms, "Length") << G4endl; // normalize histograms of longitudinal energy profile // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); G4int ih = 1; - G4double binWidth = analysisManager->GetH1Width(ih) - *analysisManager->GetH1Unit(ih); - G4double fac = (1./(numberOfEvent*binWidth))*(mm/MeV); - analysisManager->ScaleH1(ih,fac); - + G4double binWidth = analysisManager->GetH1Width(ih) * analysisManager->GetH1Unit(ih); + G4double fac = (1. / (numberOfEvent * binWidth)) * (mm / MeV); + analysisManager->ScaleH1(ih, fac); + // normalize histogram d(E/E0)/d(r/r0) - // + // ih = 8; binWidth = analysisManager->GetH1Width(ih); - fac = 1./(numberOfEvent*binWidth*fEkin); - analysisManager->ScaleH1(ih,fac); - + fac = 1. / (numberOfEvent * binWidth * fEkin); + analysisManager->ScaleH1(ih, fac); + // reset default formats - G4cout.setf(mode,std::ios::floatfield); + G4cout.setf(mode, std::ios::floatfield); G4cout.precision(prec); } diff --git a/examples/extended/electromagnetic/TestEm12/src/RunAction.cc b/examples/extended/electromagnetic/TestEm12/src/RunAction.cc index 46a196b4a1c..2225c9c6b20 100644 --- a/examples/extended/electromagnetic/TestEm12/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/RunAction.cc @@ -26,28 +26,27 @@ /// \file electromagnetic/TestEm12/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "DetectorConstruction.hh" +#include "HistoManager.hh" #include "PhysicsList.hh" -#include "StepMax.hh" #include "PrimaryGeneratorAction.hh" #include "Run.hh" -#include "HistoManager.hh" +#include "StepMax.hh" #include "G4EmCalculator.hh" #include "G4EmParameters.hh" - #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, - PrimaryGeneratorAction* kin) -: fDetector(det),fPhysics(phys),fPrimary(kin) +RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, PrimaryGeneratorAction* kin) + : fDetector(det), fPhysics(phys), fPrimary(kin) { // Book predefined histograms fHistoManager = new HistoManager(); @@ -57,84 +56,83 @@ RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, RunAction::~RunAction() { - delete fHistoManager; + delete fHistoManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ - fRun = new Run(fDetector); +{ + fRun = new Run(fDetector); return fRun; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) -{ +{ // show Rndm status - if (isMaster) { + if (isMaster) { G4Random::showEngineStatus(); G4EmParameters::Instance()->Dump(); - } - //histograms + } + // histograms // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); } - + if (!fPrimary) return; - + // keep run condition - G4ParticleDefinition* particle - = fPrimary->GetParticleGun()->GetParticleDefinition(); + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); fRun->SetPrimary(particle, energy); - - //get CsdaRange from EmCalculator + + // get CsdaRange from EmCalculator // G4EmCalculator emCalculator; G4Material* material = fDetector->GetAbsorMaterial(); G4double csdaRange = DBL_MAX; if (particle->GetPDGCharge() != 0.) { - csdaRange = emCalculator.GetCSDARange(energy,particle,material); + csdaRange = emCalculator.GetCSDARange(energy, particle, material); fRun->SetCsdaRange(csdaRange); } - - //set StepMax from histos 1 and 8 + + // set StepMax from histos 1 and 8 // G4double stepMax = csdaRange; G4int ih = 1; if (analysisManager->GetH1Activation(ih)) - stepMax = analysisManager->GetH1Width(ih)*analysisManager->GetH1Unit(ih); + stepMax = analysisManager->GetH1Width(ih) * analysisManager->GetH1Unit(ih); ih = 8; if (analysisManager->GetH1Activation(ih)) { G4double width = analysisManager->GetH1Width(ih); - stepMax = std::min(stepMax, width*csdaRange); - } + stepMax = std::min(stepMax, width * csdaRange); + } fPhysics->GetStepMaxProcess()->SetMaxStep2(stepMax); - - ///G4cout << "\n---> stepMax from histos 1 and 8 = " - /// << G4BestUnit(stepMax,"Length") << G4endl; + + /// G4cout << "\n---> stepMax from histos 1 and 8 = " + /// << G4BestUnit(stepMax,"Length") << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::EndOfRunAction(const G4Run*) { - if (isMaster) fRun->EndOfRun(); - + if (isMaster) fRun->EndOfRun(); + // save histograms - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + if (analysisManager->IsActive()) { analysisManager->Write(); analysisManager->CloseFile(); - } - + } + // show Rndm status - if (isMaster) G4Random::showEngineStatus(); + if (isMaster) G4Random::showEngineStatus(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/StepMax.cc b/examples/extended/electromagnetic/TestEm12/src/StepMax.cc index cbfd0e94d61..2e526574228 100644 --- a/examples/extended/electromagnetic/TestEm12/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm12/src/StepMax.cc @@ -31,12 +31,13 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMax::StepMax(const G4String& processName, G4ProcessType type) - : G4VDiscreteProcess(processName,type) + : G4VDiscreteProcess(processName, type) { fMaxStep1 = fMaxStep2 = DBL_MAX; fApplyMaxStep2 = true; @@ -45,7 +46,10 @@ StepMax::StepMax(const G4String& processName, G4ProcessType type) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,38 +60,46 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep1(G4double step) {fMaxStep1 = step;} +void StepMax::SetMaxStep1(G4double step) +{ + fMaxStep1 = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep2(G4double step) {fMaxStep2 = step;} +void StepMax::SetMaxStep2(G4double step) +{ + fMaxStep2 = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::ApplyMaxStep2(G4bool value) {fApplyMaxStep2 = value;} +void StepMax::ApplyMaxStep2(G4bool value) +{ + fApplyMaxStep2 = value; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track&, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; - if (fApplyMaxStep2 ) return fMaxStep2; - else return fMaxStep1; + if (fApplyMaxStep2) + return fMaxStep2; + else + return fMaxStep1; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc index 991d30453d9..37a7394a6d1 100644 --- a/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc @@ -33,23 +33,23 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithABool.hh" #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -: fStepMax(stepM) -{ - fStepMax1Cmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); +StepMaxMessenger::StepMaxMessenger(StepMax* stepM) : fStepMax(stepM) +{ + fStepMax1Cmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMax1Cmd->SetGuidance("Set max allowed step length"); - fStepMax1Cmd->SetParameterName("mxStep1",false); + fStepMax1Cmd->SetParameterName("mxStep1", false); fStepMax1Cmd->SetRange("mxStep1>0."); fStepMax1Cmd->SetUnitCategory("Length"); - - fStepMax2Cmd = new G4UIcmdWithABool("/testem/applyAutomaticStepMax",this); + + fStepMax2Cmd = new G4UIcmdWithABool("/testem/applyAutomaticStepMax", this); fStepMax2Cmd->SetGuidance("apply StepMax computed from histograms"); - fStepMax2Cmd->SetParameterName("mxStep2",true); + fStepMax2Cmd->SetParameterName("mxStep2", true); fStepMax2Cmd->SetDefaultValue(true); } @@ -58,18 +58,20 @@ StepMaxMessenger::StepMaxMessenger(StepMax* stepM) StepMaxMessenger::~StepMaxMessenger() { delete fStepMax1Cmd; - delete fStepMax2Cmd; + delete fStepMax2Cmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if (command == fStepMax1Cmd) - { fStepMax->SetMaxStep1(fStepMax1Cmd->GetNewDoubleValue(newValue));} - - if (command == fStepMax2Cmd) - { fStepMax->ApplyMaxStep2(fStepMax2Cmd->GetNewBoolValue(newValue));} + if (command == fStepMax1Cmd) { + fStepMax->SetMaxStep1(fStepMax1Cmd->GetNewDoubleValue(newValue)); + } + + if (command == fStepMax2Cmd) { + fStepMax->ApplyMaxStep2(fStepMax2Cmd->GetNewBoolValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc index 322592a4ede..0b4c94f0ca7 100644 --- a/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc @@ -31,54 +31,51 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" -#include "Run.hh" + #include "EventAction.hh" #include "HistoManager.hh" +#include "Run.hh" #include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(EventAction* event) -: fEventAction(event) -{ } +SteppingAction::SteppingAction(EventAction* event) : fEventAction(event) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* step) { - G4double edep = step->GetTotalEnergyDeposit(); - if (edep <= 0.) return; - - //total energy deposit in absorber - // - fEventAction->AddEdep(edep); - - //longitudinal profile of deposited energy - // - G4ThreeVector prePoint = step->GetPreStepPoint() ->GetPosition(); - G4ThreeVector postPoint = step->GetPostStepPoint()->GetPosition(); - G4ThreeVector point = prePoint + G4UniformRand()*(postPoint - prePoint); - if (step->GetTrack()->GetDefinition()->GetPDGCharge() == 0) point = postPoint; - G4double r = point.mag(); - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - analysisManager->FillH1(1, r, edep); - - Run* run - = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - - G4double r0 = run->GetCsdaRange(); - if (r0 > 0.) analysisManager->FillH1(8, r/r0, edep); - - //step size of primary particle or charged secondaries - // - G4double steplen = step->GetStepLength(); - const G4Track* track = step->GetTrack(); - if (track->GetTrackID() == 1) analysisManager->FillH1(4, steplen); - else if (track->GetDefinition()->GetPDGCharge() != 0.) - analysisManager->FillH1(7, steplen); -} + G4double edep = step->GetTotalEnergyDeposit(); + if (edep <= 0.) return; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + // total energy deposit in absorber + // + fEventAction->AddEdep(edep); + // longitudinal profile of deposited energy + // + G4ThreeVector prePoint = step->GetPreStepPoint()->GetPosition(); + G4ThreeVector postPoint = step->GetPostStepPoint()->GetPosition(); + G4ThreeVector point = prePoint + G4UniformRand() * (postPoint - prePoint); + if (step->GetTrack()->GetDefinition()->GetPDGCharge() == 0) point = postPoint; + G4double r = point.mag(); + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + analysisManager->FillH1(1, r, edep); + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + G4double r0 = run->GetCsdaRange(); + if (r0 > 0.) analysisManager->FillH1(8, r / r0, edep); + + // step size of primary particle or charged secondaries + // + G4double steplen = step->GetStepLength(); + const G4Track* track = step->GetTrack(); + if (track->GetTrackID() == 1) + analysisManager->FillH1(4, steplen); + else if (track->GetDefinition()->GetPDGCharge() != 0.) + analysisManager->FillH1(7, steplen); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc index 356f6d8fb16..acd98588c67 100644 --- a/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc @@ -32,57 +32,54 @@ #include "TrackingAction.hh" -#include "Run.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" +#include "Run.hh" #include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackingAction::TrackingAction(PrimaryGeneratorAction* prim) -: fPrimary(prim) -{ } +TrackingAction::TrackingAction(PrimaryGeneratorAction* prim) : fPrimary(prim) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void TrackingAction::PostUserTrackingAction(const G4Track* track) { - // histograms - // - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - - G4int trackID = track->GetTrackID(); - - Run* run - = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - - //track length of primary particle or charged secondaries - // - G4double tracklen = track->GetTrackLength(); - if (trackID == 1) { + // histograms + // + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + + G4int trackID = track->GetTrackID(); + + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + // track length of primary particle or charged secondaries + // + G4double tracklen = track->GetTrackLength(); + if (trackID == 1) { run->AddTrackLength(tracklen); analysisManager->FillH1(3, tracklen); - } else if (track->GetDefinition()->GetPDGCharge() != 0.) + } + else if (track->GetDefinition()->GetPDGCharge() != 0.) analysisManager->FillH1(6, tracklen); - - //extract projected range of primary particle - // - if (trackID == 1) { - G4double pr = (track->GetPosition())* - (fPrimary->GetParticleGun()->GetParticleMomentumDirection()); - run->AddProjRange(pr); - analysisManager->FillH1(5, pr); - } - - //mean step size of primary particle - // - if (trackID == 1) { - G4int nbOfSteps = track->GetCurrentStepNumber(); - G4double stepSize = tracklen/nbOfSteps; - run->AddStepSize(nbOfSteps,stepSize); - } + + // extract projected range of primary particle + // + if (trackID == 1) { + G4double pr = + (track->GetPosition()) * (fPrimary->GetParticleGun()->GetParticleMomentumDirection()); + run->AddProjRange(pr); + analysisManager->FillH1(5, pr); + } + + // mean step size of primary particle + // + if (trackID == 1) { + G4int nbOfSteps = track->GetCurrentStepNumber(); + G4double stepSize = tracklen / nbOfSteps; + run->AddStepSize(nbOfSteps, stepSize); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm13/.README.txt b/examples/extended/electromagnetic/TestEm13/.README.txt index ebd47b15e68..feb4ec04881 100644 --- a/examples/extended/electromagnetic/TestEm13/.README.txt +++ b/examples/extended/electromagnetic/TestEm13/.README.txt @@ -79,6 +79,14 @@ Idle> type your commands .... Idle> exit \endverbatim - + + Macros provided in this example: + - anni.mac: e+ (10 MeV) on 5 cm Aluminium + - compton.mac: gamma (300 keV) on 1 cm Aluminium + - conv.mac: gamma (20 MeV) on 5 mm Lead + - electron.mac: e- (100 MeV) on 1 cm Aluminium + - gamma.mac: gamma (100 keV) on 1 cm Water + - photoelec.mac: gamma (100 keV) on 1 cm Iron + - proton.mac: proton (1 GeV) on 1 cm Water */ diff --git a/examples/extended/electromagnetic/TestEm13/History b/examples/extended/electromagnetic/TestEm13/History index 9d2a211bc5c..3a9be524e93 100644 --- a/examples/extended/electromagnetic/TestEm13/History +++ b/examples/extended/electromagnetic/TestEm13/History @@ -4,6 +4,9 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-04-17 Michel Maire (testem13-V11-02-00) +- Readme: document macros + ## 2023-05-10 Michel Maire (testem13-V11-01-00) - revision of all headers diff --git a/examples/extended/electromagnetic/TestEm13/README b/examples/extended/electromagnetic/TestEm13/README index 4996e582999..d9904902b34 100644 --- a/examples/extended/electromagnetic/TestEm13/README +++ b/examples/extended/electromagnetic/TestEm13/README @@ -77,3 +77,11 @@ .... Idle> exit + Macros provided in this example: + - anni.mac: e+ (10 MeV) on 5 cm Aluminium + - compton.mac: gamma (300 keV) on 1 cm Aluminium + - conv.mac: gamma (20 MeV) on 5 mm Lead + - electron.mac: e- (100 MeV) on 1 cm Aluminium + - gamma.mac: gamma (100 keV) on 1 cm Water + - photoelec.mac: gamma (100 keV) on 1 cm Iron + - proton.mac: proton (1 GeV) on 1 cm Water diff --git a/examples/extended/electromagnetic/TestEm13/TestEm13.cc b/examples/extended/electromagnetic/TestEm13/TestEm13.cc index 420dcf6357a..631a9be957a 100644 --- a/examples/extended/electromagnetic/TestEm13/TestEm13.cc +++ b/examples/extended/electromagnetic/TestEm13/TestEm13.cc @@ -30,70 +30,68 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session - G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session + G4UIExecutive* ui = nullptr; + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //choose the Random engine + // choose the Random engine G4Random::setTheEngine(new CLHEP::RanecuEngine); - //Use SteppingVerbose with Unit + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //Creating run manager + + // Creating run manager auto runManager = G4RunManagerFactory::CreateRunManager(); - - if (argc==3) { - G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); - runManager->SetNumberOfThreads(nThreads); + + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* det = new DetectorConstruction; runManager->SetUserInitialization(det); runManager->SetUserInitialization(new PhysicsList); runManager->SetUserInitialization(new ActionInitialization(det)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm13/TestEm13.out b/examples/extended/electromagnetic/TestEm13/TestEm13.out index 7b09bb74f42..4d38fa3c769 100644 --- a/examples/extended/electromagnetic/TestEm13/TestEm13.out +++ b/examples/extended/electromagnetic/TestEm13/TestEm13.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -183,7 +183,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Run terminated. Run Summary Number of events processed : 1000000 - User=2.450000s Real=2.456338s Sys=0.000000s + User=2.320000s Real=2.350237s Sys=0.000000s ======================== run summary ====================== @@ -250,7 +250,7 @@ Index : 0 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 1000000 - User=2.910000s Real=3.010912s Sys=0.000000s + User=2.750000s Real=2.941842s Sys=0.000000s ======================== run summary ====================== @@ -270,11 +270,12 @@ Run Summary Current couple of seeds = 1537749914, 1160203484 ---------------------------------------- G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:1) +UserDetectorConstruction deleted 0xfd6d30 +UserPhysicsList deleted 0x1278f00 +UserActionInitialization deleted 0x13f9e60 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/extended/electromagnetic/TestEm13/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm13/include/ActionInitialization.hh index 172372ba0d8..dec9a6a88cb 100644 --- a/examples/extended/electromagnetic/TestEm13/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm13/include/ActionInitialization.hh @@ -41,7 +41,7 @@ class ActionInitialization : public G4VUserActionInitialization { public: ActionInitialization(DetectorConstruction*); - ~ActionInitialization() override = default; + ~ActionInitialization() override = default; void BuildForMaster() const override; void Build() const override; @@ -51,5 +51,3 @@ class ActionInitialization : public G4VUserActionInitialization }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh index 6f3178c004c..dc4873d5ad3 100644 --- a/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm13/include/DetectorConstruction.hh /// \brief Definition of the DetectorConstruction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,45 +45,37 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction() override; + ~DetectorConstruction() override; public: - - G4VPhysicalVolume* Construct() override; - - void SetSize (G4double); - void SetMaterial (G4String); + G4VPhysicalVolume* Construct() override; + + void SetSize(G4double); + void SetMaterial(G4String); public: - - const - G4VPhysicalVolume* GetWorld() {return fPBox;}; - - G4double GetSize() {return fBoxSize;}; - G4Material* GetMaterial() {return fMaterial;}; - - void PrintParameters(); - + const G4VPhysicalVolume* GetWorld() { return fPBox; }; + + G4double GetSize() { return fBoxSize; }; + G4Material* GetMaterial() { return fMaterial; }; + + void PrintParameters(); + private: - - G4VPhysicalVolume* fPBox = nullptr; - G4LogicalVolume* fLBox = nullptr; - - G4double fBoxSize = 0.; - G4Material* fMaterial = nullptr; - - DetectorMessenger* fDetectorMessenger = nullptr; + G4VPhysicalVolume* fPBox = nullptr; + G4LogicalVolume* fLBox = nullptr; + + G4double fBoxSize = 0.; + G4Material* fMaterial = nullptr; + + DetectorMessenger* fDetectorMessenger = nullptr; private: - - void DefineMaterials(); - G4VPhysicalVolume* ConstructVolumes(); + void DefineMaterials(); + G4VPhysicalVolume* ConstructVolumes(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #endif - diff --git a/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh index 4d78163d6f2..3881aae6d44 100644 --- a/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh @@ -43,26 +43,23 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fMaterCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; + DetectorConstruction* fDetector = nullptr; + + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fMaterCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh index 207b0681d9d..29b7bb22f0d 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh @@ -40,28 +40,20 @@ class PhysListEmLivermore : public G4VPhysicsConstructor { - public: + public: PhysListEmLivermore(const G4String& name = "livermore"); - ~PhysListEmLivermore() override = default; + ~PhysListEmLivermore() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh index 2a127680186..86c593d186b 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh @@ -40,28 +40,20 @@ class PhysListEmPenelope : public G4VPhysicsConstructor { - public: + public: PhysListEmPenelope(const G4String& name = "penelope"); - ~PhysListEmPenelope() override = default; + ~PhysListEmPenelope() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh index fa9232eefec..c9b9628db3d 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh @@ -40,28 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; + ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh index bda41ccd52a..b13043c783d 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh @@ -45,25 +45,24 @@ class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); - ~PhysicsList() override; + ~PhysicsList() override; void ConstructParticle() override; void ConstructProcess() override; void AddPhysicsList(const G4String& name); void SetCuts() override; - + private: G4VPhysicsConstructor* fEmPhysicsList = nullptr; - G4String fEmName; - - PhysicsListMessenger* fMessenger = nullptr; + G4String fEmName; + + PhysicsListMessenger* fMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh index aa6b9a83803..73ddf5752ab 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh @@ -42,25 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; - + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh index 436fd2a3f7d..398e22ea1bf 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh @@ -26,15 +26,15 @@ /// \file electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh /// \brief Definition of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -45,20 +45,18 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; public: void GeneratePrimaries(G4Event*) override; - G4ParticleGun* GetParticleGun() {return fParticleGun;}; + G4ParticleGun* GetParticleGun() { return fParticleGun; }; private: - G4ParticleGun* fParticleGun = nullptr; + G4ParticleGun* fParticleGun = nullptr; DetectorConstruction* fDetector = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm13/include/Run.hh b/examples/extended/electromagnetic/TestEm13/include/Run.hh index 542b9c627fb..700a29ae70a 100644 --- a/examples/extended/electromagnetic/TestEm13/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm13/include/Run.hh @@ -35,6 +35,7 @@ #include "G4Run.hh" #include "globals.hh" + #include class DetectorConstruction; @@ -46,7 +47,7 @@ class Run : public G4Run { public: Run(DetectorConstruction*); - ~Run() override = default; + ~Run() override = default; public: void SetPrimary(G4ParticleDefinition* particle, G4double energy); @@ -55,14 +56,13 @@ class Run : public G4Run void EndOfRun(); private: - DetectorConstruction* fDetector = nullptr; - G4ParticleDefinition* fParticle = nullptr; - G4double fEkin = 0.; + DetectorConstruction* fDetector = nullptr; + G4ParticleDefinition* fParticle = nullptr; + G4double fEkin = 0.; - std::map fProcCounter; + std::map fProcCounter; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm13/include/RunAction.hh b/examples/extended/electromagnetic/TestEm13/include/RunAction.hh index 10c4d51d3e8..9a2549ff240 100644 --- a/examples/extended/electromagnetic/TestEm13/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/RunAction.hh @@ -48,20 +48,19 @@ class RunAction : public G4UserRunAction { public: RunAction(DetectorConstruction*, PrimaryGeneratorAction*); - ~RunAction() override = default; + ~RunAction() override = default; public: G4Run* GenerateRun() override; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; - + void EndOfRunAction(const G4Run*) override; + private: - DetectorConstruction* fDetector = nullptr; - PrimaryGeneratorAction* fPrimary = nullptr; - Run* fRun = nullptr; + DetectorConstruction* fDetector = nullptr; + PrimaryGeneratorAction* fPrimary = nullptr; + Run* fRun = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh index 8d887e76f15..f503f84cc81 100644 --- a/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh @@ -42,7 +42,7 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction() = default; - ~SteppingAction() override = default; + ~SteppingAction() override = default; void UserSteppingAction(const G4Step*) override; }; diff --git a/examples/extended/electromagnetic/TestEm13/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm13/src/ActionInitialization.cc index 0e734fafdb0..ebf407f1902 100644 --- a/examples/extended/electromagnetic/TestEm13/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm13/src/ActionInitialization.cc @@ -28,6 +28,7 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" @@ -35,27 +36,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* det) - : fDetector(det) -{ } +ActionInitialization::ActionInitialization(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::BuildForMaster() const { - SetUserAction(new RunAction(fDetector,0)); + SetUserAction(new RunAction(fDetector, 0)); } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::Build() const -{ +{ PrimaryGeneratorAction* prim = new PrimaryGeneratorAction(fDetector); SetUserAction(prim); - RunAction* run = new RunAction(fDetector,prim); - SetUserAction(run); + RunAction* run = new RunAction(fDetector, prim); + SetUserAction(run); SetUserAction(new SteppingAction()); } diff --git a/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc index 830063bb1df..cfe6c7b3bdf 100644 --- a/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc @@ -31,37 +31,38 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" -#include "G4RunManager.hh" - -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" +#include "G4RunManager.hh" #include "G4SolidStore.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() { - fBoxSize = 1*cm; + fBoxSize = 1 * cm; DefineMaterials(); - SetMaterial("Water"); + SetMaterial("Water"); fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -77,74 +78,68 @@ void DetectorConstruction::DefineMaterials() // // define Elements // - G4double z,a; - - G4Element* H = new G4Element("Hydrogen" ,"H" , z= 1., a= 1.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); - G4Element* Na = new G4Element("Sodium" ,"Na", z=11., a= 22.99*g/mole); - G4Element* Ge = new G4Element("Germanium","Ge", z=32., a= 72.59*g/mole); - G4Element* I = new G4Element("Iodine" ,"I" , z=53., a= 126.90*g/mole); - G4Element* Bi = new G4Element("Bismuth" ,"Bi", z=83., a= 208.98*g/mole); - + G4double z, a; + + G4Element* H = new G4Element("Hydrogen", "H", z = 1., a = 1.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); + G4Element* Na = new G4Element("Sodium", "Na", z = 11., a = 22.99 * g / mole); + G4Element* Ge = new G4Element("Germanium", "Ge", z = 32., a = 72.59 * g / mole); + G4Element* I = new G4Element("Iodine", "I", z = 53., a = 126.90 * g / mole); + G4Element* Bi = new G4Element("Bismuth", "Bi", z = 83., a = 208.98 * g / mole); + // // define materials // G4double density; G4int ncomponents, natoms; - G4double fractionmass; - - G4Material* Air = - new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=70.*perCent); - Air->AddElement(O, fractionmass=30.*perCent); - - G4Material* H2l = - new G4Material("H2liquid", density= 70.8*mg/cm3, ncomponents=1); - H2l->AddElement(H, fractionmass=1.); - - G4Material* H2O = - new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); + G4double fractionmass; + + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 70. * perCent); + Air->AddElement(O, fractionmass = 30. * perCent); + + G4Material* H2l = new G4Material("H2liquid", density = 70.8 * mg / cm3, ncomponents = 1); + H2l->AddElement(H, fractionmass = 1.); + + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); H2O->SetChemicalFormula("H_2O"); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); + + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + + new G4Material("Carbon", z = 6., a = 12.01 * g / mole, density = 2.267 * g / cm3); - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - - new G4Material("Carbon" , z=6., a= 12.01*g/mole, density= 2.267*g/cm3); + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); - new G4Material("Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3); + new G4Material("Silicon", z = 14., a = 28.09 * g / mole, density = 2.330 * g / cm3); - new G4Material("Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3); + new G4Material("Germanium", z = 32., a = 72.61 * g / mole, density = 5.323 * g / cm3); - new G4Material("Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3); - - G4Material* NaI = - new G4Material("NaI", density= 3.67*g/cm3, ncomponents=2); - NaI->AddElement(Na, natoms=1); - NaI->AddElement(I , natoms=1); - NaI->GetIonisation()->SetMeanExcitationEnergy(452*eV); - - G4Material* Iod = - new G4Material("Iodine", density= 4.93*g/cm3, ncomponents=1); - Iod->AddElement(I , natoms=1); - - G4Material* BGO = - new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3); - BGO->AddElement(O , natoms=12); - BGO->AddElement(Ge, natoms= 3); - BGO->AddElement(Bi, natoms= 4); + G4Material* NaI = new G4Material("NaI", density = 3.67 * g / cm3, ncomponents = 2); + NaI->AddElement(Na, natoms = 1); + NaI->AddElement(I, natoms = 1); + NaI->GetIonisation()->SetMeanExcitationEnergy(452 * eV); - new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3); + G4Material* Iod = new G4Material("Iodine", density = 4.93 * g / cm3, ncomponents = 1); + Iod->AddElement(I, natoms = 1); - new G4Material("Tungsten" , z=74., a=183.85*g/mole, density= 19.30*g/cm3); + G4Material* BGO = new G4Material("BGO", density = 7.10 * g / cm3, ncomponents = 3); + BGO->AddElement(O, natoms = 12); + BGO->AddElement(Ge, natoms = 3); + BGO->AddElement(Bi, natoms = 4); - new G4Material("Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3); + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); - new G4Material("Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3); + new G4Material("Tungsten", z = 74., a = 183.85 * g / mole, density = 19.30 * g / cm3); - ///G4cout << *(G4Material::GetMaterialTable()) << G4endl; + new G4Material("Lead", z = 82., a = 207.19 * g / mole, density = 11.35 * g / cm3); + + new G4Material("Uranium", z = 92., a = 238.03 * g / mole, density = 18.95 * g / cm3); + + /// G4cout << *(G4Material::GetMaterialTable()) << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -157,25 +152,24 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() G4LogicalVolumeStore::GetInstance()->Clean(); G4SolidStore::GetInstance()->Clean(); - G4Box* - sBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - fLBox = new G4LogicalVolume(sBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fPBox = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fLBox, //its logical volume - fMaterial->GetName(), //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - + G4Box* sBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + fLBox = new G4LogicalVolume(sBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fPBox = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fLBox, // its logical volume + fMaterial->GetName(), // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + PrintParameters(); - - //always return the root volume + + // always return the root volume // return fPBox; } @@ -184,9 +178,9 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() void DetectorConstruction::PrintParameters() { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() << G4endl; - G4cout << "\n" << fMaterial << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << G4endl; + G4cout << "\n" << fMaterial << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -194,16 +188,16 @@ void DetectorConstruction::PrintParameters() void DetectorConstruction::SetMaterial(G4String materialChoice) { // search the material by its name, or build it from nist data base - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); - + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + if (pttoMaterial) { - fMaterial = pttoMaterial; - G4RunManager::GetRunManager()->PhysicsHasBeenModified(); - } else { - G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " - << materialChoice << " not found" << G4endl; - } + fMaterial = pttoMaterial; + G4RunManager::GetRunManager()->PhysicsHasBeenModified(); + } + else { + G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " << materialChoice + << " not found" << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc index ef1cba76c40..57e61d9ec6d 100644 --- a/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc @@ -33,33 +33,33 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fMaterCmd->SetToBeBroadcasted(false); - - fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize",this); + + fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize", this); fSizeCmd->SetGuidance("Set size of the box"); - fSizeCmd->SetParameterName("Size",false); + fSizeCmd->SetParameterName("Size", false); fSizeCmd->SetRange("Size>0."); fSizeCmd->SetUnitCategory("Length"); - fSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fSizeCmd->SetToBeBroadcasted(false); } @@ -68,20 +68,22 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; - delete fSizeCmd; - delete fDetDir; + delete fSizeCmd; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fSizeCmd ) - { fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));} +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fSizeCmd) { + fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc index 27e0352a1bc..539b0de0216 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc @@ -32,32 +32,29 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmLivermore.hh" + #include "G4BuilderType.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" // gamma -#include "G4PhotoElectricEffect.hh" -#include "G4LivermorePhotoElectricModel.hh" - #include "G4ComptonScattering.hh" -#include "G4LivermoreComptonModel.hh" - #include "G4GammaConversion.hh" +#include "G4LivermoreComptonModel.hh" #include "G4LivermoreGammaConversionModel.hh" - -#include "G4RayleighScattering.hh" +#include "G4LivermorePhotoElectricModel.hh" #include "G4LivermoreRayleighModel.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4RayleighScattering.hh" // e- -#include "G4eIonisation.hh" +#include "G4LivermoreBremsstrahlungModel.hh" #include "G4LivermoreIonisationModel.hh" #include "G4UniversalFluctuation.hh" - #include "G4eBremsstrahlung.hh" -#include "G4LivermoreBremsstrahlungModel.hh" +#include "G4eIonisation.hh" // e+ @@ -65,8 +62,8 @@ // mu -#include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" // hadrons, ions @@ -77,115 +74,106 @@ // deexcitation #include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - #include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmLivermore::PhysListEmLivermore(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmLivermore::PhysListEmLivermore(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - - param->SetVerbose(0); - param->Dump(); - } + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + + param->SetVerbose(0); + param->Dump(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysListEmLivermore::ConstructProcess() { // Add Livermore EM Processes - - auto particleIterator=GetParticleIterator(); + + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); + G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - //Applicability range for Livermore models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - + // Applicability range for Livermore models + // for higher energies, the Standard models are used + G4double highEnergyLimit = 1 * GeV; + if (particleName == "gamma") { - // gamma + // gamma G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4LivermorePhotoElectricModel* - photModel = new G4LivermorePhotoElectricModel(); + G4LivermorePhotoElectricModel* photModel = new G4LivermorePhotoElectricModel(); photModel->SetHighEnergyLimit(highEnergyLimit); phot->AddEmModel(0, photModel); - ///list->RegisterProcess(phot, particle); + /// list->RegisterProcess(phot, particle); pmanager->AddDiscreteProcess(phot); - + G4ComptonScattering* compt = new G4ComptonScattering(); - G4LivermoreComptonModel* - comptModel = new G4LivermoreComptonModel(); + G4LivermoreComptonModel* comptModel = new G4LivermoreComptonModel(); comptModel->SetHighEnergyLimit(highEnergyLimit); compt->AddEmModel(0, comptModel); pmanager->AddDiscreteProcess(compt); G4GammaConversion* conv = new G4GammaConversion(); - G4LivermoreGammaConversionModel* - convModel = new G4LivermoreGammaConversionModel(); + G4LivermoreGammaConversionModel* convModel = new G4LivermoreGammaConversionModel(); convModel->SetHighEnergyLimit(highEnergyLimit); conv->AddEmModel(0, convModel); pmanager->AddDiscreteProcess(conv); - + G4RayleighScattering* rayl = new G4RayleighScattering(); - G4LivermoreRayleighModel* - raylModel = new G4LivermoreRayleighModel(); + G4LivermoreRayleighModel* raylModel = new G4LivermoreRayleighModel(); raylModel->SetHighEnergyLimit(highEnergyLimit); rayl->AddEmModel(0, raylModel); pmanager->AddDiscreteProcess(rayl); - - } else if (particleName == "e-") { - //electron + } + else if (particleName == "e-") { + // electron G4eIonisation* eIoni = new G4eIonisation(); - G4LivermoreIonisationModel* - eIoniModel = new G4LivermoreIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1,-1, 1); - + G4LivermoreIonisationModel* eIoniModel = new G4LivermoreIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); + pmanager->AddProcess(eIoni, -1, -1, 1); + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4LivermoreBremsstrahlungModel* - eBremModel = new G4LivermoreBremsstrahlungModel(); + G4LivermoreBremsstrahlungModel* eBremModel = new G4LivermoreBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1,-1, 2); - - } else if (particleName == "e+") { - //positron - pmanager->AddProcess(new G4eIonisation, -1,-1, 1); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1, 2); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); - pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); - - } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,-1, 1); - } + pmanager->AddProcess(eBrem, -1, -1, 2); + } + else if (particleName == "e+") { + // positron + pmanager->AddProcess(new G4eIonisation, -1, -1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4eplusAnnihilation, 0, -1, 3); + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon + pmanager->AddProcess(new G4MuIonisation, -1, -1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, -1, 3); + } + else if (particleName == "alpha" || particleName == "GenericIon") { + pmanager->AddProcess(new G4ionIonisation, -1, -1, 1); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); + } } - + // Deexcitation // G4VAtomDeexcitation* deex = new G4UAtomicDeexcitation(); @@ -193,4 +181,3 @@ void PhysListEmLivermore::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc index fb540a406fd..77eea3ec71a 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc @@ -32,42 +32,39 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmPenelope.hh" + #include "G4BuilderType.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" // gamma -#include "G4PhotoElectricEffect.hh" -#include "G4PenelopePhotoElectricModel.hh" - #include "G4ComptonScattering.hh" -#include "G4PenelopeComptonModel.hh" - #include "G4GammaConversion.hh" +#include "G4PenelopeComptonModel.hh" #include "G4PenelopeGammaConversionModel.hh" - -#include "G4RayleighScattering.hh" +#include "G4PenelopePhotoElectricModel.hh" #include "G4PenelopeRayleighModel.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4RayleighScattering.hh" // e- -#include "G4eIonisation.hh" +#include "G4PenelopeBremsstrahlungModel.hh" #include "G4PenelopeIonisationModel.hh" #include "G4UniversalFluctuation.hh" - #include "G4eBremsstrahlung.hh" -#include "G4PenelopeBremsstrahlungModel.hh" +#include "G4eIonisation.hh" // e+ -#include "G4eplusAnnihilation.hh" #include "G4PenelopeAnnihilationModel.hh" +#include "G4eplusAnnihilation.hh" // mu -#include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" // hadrons, ions @@ -78,23 +75,21 @@ // deexcitation #include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - #include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmPenelope::PhysListEmPenelope(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmPenelope::PhysListEmPenelope(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - - param->SetVerbose(0); - param->Dump(); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + + param->SetVerbose(0); + param->Dump(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -103,106 +98,96 @@ void PhysListEmPenelope::ConstructProcess() { // Add standard EM Processes - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); + G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - //Applicability range for Penelope models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - + // Applicability range for Penelope models + // for higher energies, the Standard models are used + G4double highEnergyLimit = 1 * GeV; + if (particleName == "gamma") { - // gamma + // gamma G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4PenelopePhotoElectricModel* - photModel = new G4PenelopePhotoElectricModel(); + G4PenelopePhotoElectricModel* photModel = new G4PenelopePhotoElectricModel(); photModel->SetHighEnergyLimit(highEnergyLimit); phot->AddEmModel(0, photModel); pmanager->AddDiscreteProcess(phot); - + G4ComptonScattering* compt = new G4ComptonScattering(); - G4PenelopeComptonModel* - comptModel = new G4PenelopeComptonModel(); + G4PenelopeComptonModel* comptModel = new G4PenelopeComptonModel(); comptModel->SetHighEnergyLimit(highEnergyLimit); compt->AddEmModel(0, comptModel); pmanager->AddDiscreteProcess(compt); - + G4GammaConversion* conv = new G4GammaConversion(); - G4PenelopeGammaConversionModel* - convModel = new G4PenelopeGammaConversionModel(); + G4PenelopeGammaConversionModel* convModel = new G4PenelopeGammaConversionModel(); convModel->SetHighEnergyLimit(highEnergyLimit); conv->AddEmModel(0, convModel); pmanager->AddDiscreteProcess(conv); - + G4RayleighScattering* rayl = new G4RayleighScattering(); - G4PenelopeRayleighModel* - raylModel = new G4PenelopeRayleighModel(); + G4PenelopeRayleighModel* raylModel = new G4PenelopeRayleighModel(); raylModel->SetHighEnergyLimit(highEnergyLimit); rayl->AddEmModel(0, raylModel); pmanager->AddDiscreteProcess(rayl); - - } else if (particleName == "e-") { - //electron + } + else if (particleName == "e-") { + // electron G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1,-1, 1); - + G4PenelopeIonisationModel* eIoniModel = new G4PenelopeIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); + pmanager->AddProcess(eIoni, -1, -1, 1); + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); + G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1,-1, 2); - - } else if (particleName == "e+") { - //positron + pmanager->AddProcess(eBrem, -1, -1, 2); + } + else if (particleName == "e+") { + // positron G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1,-1, 1); - + G4PenelopeIonisationModel* eIoniModel = new G4PenelopeIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); + pmanager->AddProcess(eIoni, -1, -1, 1); + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); + G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1,-1, 2); + pmanager->AddProcess(eBrem, -1, -1, 2); G4eplusAnnihilation* eAnni = new G4eplusAnnihilation(); - G4PenelopeAnnihilationModel* - eAnniModel = new G4PenelopeAnnihilationModel(); - eAnniModel->SetHighEnergyLimit(highEnergyLimit); + G4PenelopeAnnihilationModel* eAnniModel = new G4PenelopeAnnihilationModel(); + eAnniModel->SetHighEnergyLimit(highEnergyLimit); eAnni->AddEmModel(0, eAnniModel); - pmanager->AddProcess(eAnni, 0,-1, 3); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); - pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); - - } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,-1, 1); - } + pmanager->AddProcess(eAnni, 0, -1, 3); + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon + pmanager->AddProcess(new G4MuIonisation, -1, -1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, -1, 3); + } + else if (particleName == "alpha" || particleName == "GenericIon") { + pmanager->AddProcess(new G4ionIonisation, -1, -1, 1); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); + } } - + // Deexcitation // G4VAtomDeexcitation* deex = new G4UAtomicDeexcitation(); @@ -210,4 +195,3 @@ void PhysListEmPenelope::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc index 5e3ede39eeb..67bce135070 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc @@ -33,47 +33,39 @@ #include "PhysListEmStandard.hh" #include "G4BuilderType.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" - -#include "G4RayleighScattering.hh" -#include "G4PhotoElectricEffect.hh" #include "G4ComptonScattering.hh" -#include "G4KleinNishinaModel.hh" #include "G4GammaConversion.hh" #include "G4GammaConversionToMuons.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4KleinNishinaModel.hh" +#include "G4LossTableManager.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" - -#include "G4hIonisation.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { G4EmParameters* param = G4EmParameters::Instance(); param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); param->SetNumberOfBinsPerDecade(10); - + param->SetVerbose(0); param->Dump(); } @@ -81,72 +73,60 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysListEmStandard::ConstructProcess() -{ +{ // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ////pmanager->AddDiscreteProcess(new G4RayleighScattering); + if (particleName == "gamma") { + ////pmanager->AddDiscreteProcess(new G4RayleighScattering); pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); - G4ComptonScattering* compt = new G4ComptonScattering; + G4ComptonScattering* compt = new G4ComptonScattering; compt->SetEmModel(new G4KleinNishinaModel()); pmanager->AddDiscreteProcess(compt); pmanager->AddDiscreteProcess(new G4GammaConversion); - pmanager->AddDiscreteProcess(new G4GammaConversionToMuons); - - } else if (particleName == "e-") { - - pmanager->AddProcess(new G4eIonisation, -1,-1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); - - } else if (particleName == "e+") { - - pmanager->AddProcess(new G4eIonisation, -1,-1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,3); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - pmanager->AddProcess(new G4MuIonisation, -1,-1,1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,2); - pmanager->AddProcess(new G4MuPairProduction, -1,-1,3); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - pmanager->AddProcess(new G4hIonisation, -1,-1,1); - pmanager->AddProcess(new G4hBremsstrahlung, -1,-1,2); - pmanager->AddProcess(new G4hPairProduction, -1,-1,3); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - pmanager->AddProcess(new G4ionIonisation, -1,-1,1); - - } else if( particleName == "GenericIon" ) { - + pmanager->AddDiscreteProcess(new G4GammaConversionToMuons); + } + else if (particleName == "e-") { + pmanager->AddProcess(new G4eIonisation, -1, -1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, -1, 2); + } + else if (particleName == "e+") { + pmanager->AddProcess(new G4eIonisation, -1, -1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4eplusAnnihilation, 0, -1, 3); + } + else if (particleName == "mu+" || particleName == "mu-") { + pmanager->AddProcess(new G4MuIonisation, -1, -1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, -1, 3); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); + pmanager->AddProcess(new G4hBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4hPairProduction, -1, -1, 3); + } + else if (particleName == "alpha" || particleName == "He3") { + pmanager->AddProcess(new G4ionIonisation, -1, -1, 1); + } + else if (particleName == "GenericIon") { G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); - pmanager->AddProcess(ionIoni, -1,-1,1); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,-1,1); + pmanager->AddProcess(ionIoni, -1, -1, 1); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); } } - + // Deexcitation // G4VAtomDeexcitation* deex = new G4UAtomicDeexcitation(); @@ -154,4 +134,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc index da8081225cf..5c7f962d310 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc @@ -26,51 +26,49 @@ /// \file electromagnetic/TestEm13/src/PhysicsList.cc /// \brief Implementation of the PhysicsList class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" - -#include "PhysListEmStandard.hh" + #include "PhysListEmLivermore.hh" #include "PhysListEmPenelope.hh" +#include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // particles +#include "G4BaryonConstructor.hh" #include "G4BosonConstructor.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" #include "G4ShortLivedConstructor.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsList::PhysicsList() { - - //add new units for cross sections - // - new G4UnitDefinition( "mm2/g", "mm2/g","Surface/Mass", mm2/g); - new G4UnitDefinition( "um2/mg", "um2/mg","Surface/Mass", um*um/mg); + // add new units for cross sections + // + new G4UnitDefinition("mm2/g", "mm2/g", "Surface/Mass", mm2 / g); + new G4UnitDefinition("um2/mg", "um2/mg", "Surface/Mass", um * um / mg); SetVerboseLevel(1); - + fMessenger = new PhysicsListMessenger(this); // EM physics fEmName = G4String("standard"); fEmPhysicsList = new PhysListEmStandard(fEmName); - - G4LossTableManager::Instance(); - SetDefaultCutValue(1.0*mm); + + G4LossTableManager::Instance(); + SetDefaultCutValue(1.0 * mm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -84,23 +82,23 @@ PhysicsList::~PhysicsList() void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; - pBosonConstructor.ConstructParticle(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); - G4LeptonConstructor pLeptonConstructor; - pLeptonConstructor.ConstructParticle(); + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); - G4IonConstructor pIonConstructor; - pIonConstructor.ConstructParticle(); + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); + G4ShortLivedConstructor pShortLivedConstructor; + pShortLivedConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -114,7 +112,7 @@ void PhysicsList::ConstructProcess() // Electromagnetic physics list // fEmPhysicsList->ConstructProcess(); - + // Em options // G4EmParameters* param = G4EmParameters::Instance(); @@ -125,50 +123,49 @@ void PhysicsList::ConstructProcess() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>0) { + if (verboseLevel > 0) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } - + if (name == fEmName) return; if (name == "standard") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "livermore") { + } + else if (name == "livermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmLivermore(name); - - } else if (name == "penelope") { + } + else if (name == "penelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmPenelope(name); - - } else { + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Gamma.hh" #include "G4Electron.hh" +#include "G4Gamma.hh" #include "G4Positron.hh" void PhysicsList::SetCuts() -{ - // fixe lower limit for cut - G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV, 1*GeV); +{ + // fixe lower limit for cut + G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100 * eV, 1 * GeV); - // call base class method to set cuts which default value can be - // modified via /run/setCut/* commands - G4VUserPhysicsList::SetCuts(); + // call base class method to set cuts which default value can be + // modified via /run/setCut/* commands + G4VUserPhysicsList::SetCuts(); - DumpCutValuesTable(); + DumpCutValuesTable(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc index e4a68c44d70..fbcbcb78a4f 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc @@ -33,21 +33,21 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) -:fPhysicsList(pPhys) -{ +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) +{ fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); - fListCmd->AvailableForStates(G4State_PreInit); + fListCmd->SetParameterName("PList", false); + fListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,11 +60,11 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc index b387c17f031..6f92682a581 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc /// \brief Implementation of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,22 +35,20 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) -:fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { - fParticleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); + fParticleGun = new G4ParticleGun(1); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(1*MeV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + fParticleGun->SetParticleEnergy(1 * MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,20 +62,19 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - G4double halfSize = 0.5*(fDetector->GetSize()); - G4double x0 = - halfSize; - - //randomize (y0,z0) + G4double halfSize = 0.5 * (fDetector->GetSize()); + G4double x0 = -halfSize; + + // randomize (y0,z0) // - G4double beam = 0.8*halfSize; - G4double y0 = (2*G4UniformRand()-1.)*beam; - G4double z0 = (2*G4UniformRand()-1.)*beam; - - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + G4double beam = 0.8 * halfSize; + G4double y0 = (2 * G4UniformRand() - 1.) * beam; + G4double z0 = (2 * G4UniformRand() - 1.) * beam; + + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm13/src/Run.cc b/examples/extended/electromagnetic/TestEm13/src/Run.cc index e567278a26b..b939685d2e5 100644 --- a/examples/extended/electromagnetic/TestEm13/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm13/src/Run.cc @@ -26,47 +26,46 @@ /// \file electromagnetic/TestEm13/src/Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" + #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" #include "G4EmCalculator.hh" #include "G4Gamma.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(DetectorConstruction* det) -: fDetector(det) -{ } +Run::Run(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::SetPrimary(G4ParticleDefinition* particle, G4double energy) -{ +{ fParticle = particle; fEkin = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::CountProcesses(G4String procName) +void Run::CountProcesses(G4String procName) { - std::map::iterator it = fProcCounter.find(procName); - if ( it == fProcCounter.end()) { + std::map::iterator it = fProcCounter.find(procName); + if (it == fProcCounter.end()) { fProcCounter[procName] = 1; } else { - fProcCounter[procName]++; + fProcCounter[procName]++; } } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::Merge(const G4Run* run) @@ -75,113 +74,106 @@ void Run::Merge(const G4Run* run) // pass information about primary particle fParticle = localRun->fParticle; - fEkin = localRun->fEkin; - - //map: processes count - std::map::const_iterator it; - for (it = localRun->fProcCounter.begin(); - it !=localRun->fProcCounter.end(); ++it) { - + fEkin = localRun->fEkin; + + // map: processes count + std::map::const_iterator it; + for (it = localRun->fProcCounter.begin(); it != localRun->fProcCounter.end(); ++it) { G4String procName = it->first; - G4int localCount = it->second; - if ( fProcCounter.find(procName) == fProcCounter.end()) { + G4int localCount = it->second; + if (fProcCounter.find(procName) == fProcCounter.end()) { fProcCounter[procName] = localCount; } else { fProcCounter[procName] += localCount; - } + } } - - G4Run::Merge(run); -} + + G4Run::Merge(run); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::EndOfRun() { - G4int prec = 5; + G4int prec = 5; G4int dfprec = G4cout.precision(prec); - - //run condition - // - G4String partName = fParticle->GetParticleName(); + + // run condition + // + G4String partName = fParticle->GetParticleName(); G4Material* material = fDetector->GetMaterial(); - G4double density = material->GetDensity(); + G4double density = material->GetDensity(); G4double tickness = fDetector->GetSize(); - + G4cout << "\n ======================== run summary ======================\n"; G4cout << "\n The run is: " << numberOfEvent << " " << partName << " of " - << G4BestUnit(fEkin,"Energy") << " through " - << G4BestUnit(tickness,"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; + << G4BestUnit(fEkin, "Energy") << " through " << G4BestUnit(tickness, "Length") << " of " + << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") << ")" + << G4endl; - //frequency of processes + // frequency of processes G4int totalCount = 0; - G4int survive = 0; + G4int survive = 0; G4cout << "\n Process calls frequency --->"; - std::map::iterator it; + std::map::iterator it; for (it = fProcCounter.begin(); it != fProcCounter.end(); it++) { - G4String procName = it->first; - G4int count = it->second; - totalCount += count; - G4cout << "\t" << procName << " = " << count; - if (procName == "Transportation") survive = count; + G4String procName = it->first; + G4int count = it->second; + totalCount += count; + G4cout << "\t" << procName << " = " << count; + if (procName == "Transportation") survive = count; } G4cout << G4endl; - if (totalCount == 0) { G4cout.precision(dfprec); return;}; - G4double ratio = double(survive)/totalCount; + if (totalCount == 0) { + G4cout.precision(dfprec); + return; + }; + G4double ratio = double(survive) / totalCount; + + G4cout << "\n Nb of incident particles unaltered after " << G4BestUnit(tickness, "Length") + << " of " << material->GetName() << " : " << survive << " over " << totalCount + << " incident particles." + << " Ratio = " << 100 * ratio << " %" << G4endl; - G4cout << "\n Nb of incident particles unaltered after " - << G4BestUnit(tickness,"Length") << " of " - << material->GetName() << " : " << survive - << " over " << totalCount << " incident particles." - << " Ratio = " << 100*ratio << " %" << G4endl; - if (ratio == 0.) return; - - //compute cross section and related quantities + + // compute cross section and related quantities // - G4double CrossSection = - std::log(ratio)/tickness; - G4double massicCS = CrossSection/density; - - G4cout << " ---> CrossSection per volume:\t" << CrossSection*cm << " cm^-1 " - << "\tCrossSection per mass: " << G4BestUnit(massicCS, "Surface/Mass") - << G4endl; + G4double CrossSection = -std::log(ratio) / tickness; + G4double massicCS = CrossSection / density; - //check cross section from G4EmCalculator + G4cout << " ---> CrossSection per volume:\t" << CrossSection * cm << " cm^-1 " + << "\tCrossSection per mass: " << G4BestUnit(massicCS, "Surface/Mass") << G4endl; + + // check cross section from G4EmCalculator // - G4cout << "\n Verification from G4EmCalculator: \n"; + G4cout << "\n Verification from G4EmCalculator: \n"; G4EmCalculator emCalculator; - G4double sumc = 0.0; + G4double sumc = 0.0; for (it = fProcCounter.begin(); it != fProcCounter.end(); it++) { - G4String procName = it->first; - G4double massSigma = - emCalculator.GetCrossSectionPerVolume(fEkin,fParticle, - procName,material)/density; + G4String procName = it->first; + G4double massSigma = + emCalculator.GetCrossSectionPerVolume(fEkin, fParticle, procName, material) / density; if (fParticle == G4Gamma::Gamma()) - massSigma = - emCalculator.ComputeCrossSectionPerVolume(fEkin,fParticle, - procName,material)/density; + massSigma = + emCalculator.ComputeCrossSectionPerVolume(fEkin, fParticle, procName, material) / density; sumc += massSigma; if (procName != "Transportation") - G4cout << "\t" << procName << "= " - << G4BestUnit(massSigma, "Surface/Mass"); - } - G4cout << "\ttotal= " - << G4BestUnit(sumc, "Surface/Mass") << G4endl; - - //expected ratio of transmitted particles - G4double Ratio = std::exp(-sumc*density*tickness); - G4cout << "\tExpected ratio of transmitted particles= " - << 100*Ratio << " %" << G4endl; - - // remove all contents in fProcCounter + G4cout << "\t" << procName << "= " << G4BestUnit(massSigma, "Surface/Mass"); + } + G4cout << "\ttotal= " << G4BestUnit(sumc, "Surface/Mass") << G4endl; + + // expected ratio of transmitted particles + G4double Ratio = std::exp(-sumc * density * tickness); + G4cout << "\tExpected ratio of transmitted particles= " << 100 * Ratio << " %" << G4endl; + + // remove all contents in fProcCounter fProcCounter.clear(); - - //restore default format - G4cout.precision(dfprec); + + // restore default format + G4cout.precision(dfprec); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/RunAction.cc b/examples/extended/electromagnetic/TestEm13/src/RunAction.cc index 1c460a968a3..5e153de94e7 100644 --- a/examples/extended/electromagnetic/TestEm13/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/RunAction.cc @@ -26,45 +26,45 @@ /// \file electromagnetic/TestEm13/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" #include "Run.hh" #include "G4Run.hh" #include "G4UnitsTable.hh" - #include "Randomize.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) -:fDetector(det),fPrimary(kin) -{ } + : fDetector(det), fPrimary(kin) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ - fRun = new Run(fDetector); +{ + fRun = new Run(fDetector); return fRun; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) -{ +{ // show Rndm status - if (isMaster) G4Random::showEngineStatus(); - + if (isMaster) G4Random::showEngineStatus(); + // keep run condition - if ( fPrimary ) { - G4ParticleDefinition* particle - = fPrimary->GetParticleGun()->GetParticleDefinition(); + if (fPrimary) { + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); fRun->SetPrimary(particle, energy); } @@ -74,11 +74,11 @@ void RunAction::BeginOfRunAction(const G4Run*) void RunAction::EndOfRunAction(const G4Run*) { - // compute and print statistic + // compute and print statistic if (isMaster) fRun->EndOfRun(); // show Rndm status - if (isMaster) G4Random::showEngineStatus(); + if (isMaster) G4Random::showEngineStatus(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc index ff2c6efe370..fffac2ca1c2 100644 --- a/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc @@ -26,11 +26,12 @@ /// \file electromagnetic/TestEm13/src/SteppingAction.cc /// \brief Implementation of the SteppingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" + #include "Run.hh" #include "G4RunManager.hh" @@ -41,16 +42,13 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) { G4StepPoint* endPoint = aStep->GetPostStepPoint(); G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName(); - - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - run->CountProcesses(procName); - + + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + run->CountProcesses(procName); + // kill event after first interaction // - G4RunManager::GetRunManager()->AbortEvent(); + G4RunManager::GetRunManager()->AbortEvent(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm14/.README.txt b/examples/extended/electromagnetic/TestEm14/.README.txt index f3786cbacdb..7a6d5145e76 100644 --- a/examples/extended/electromagnetic/TestEm14/.README.txt +++ b/examples/extended/electromagnetic/TestEm14/.README.txt @@ -122,5 +122,15 @@ Idle> type your commands Idle> exit \endverbatim + Macros provided in this example: + - anni.mac: e+ (100 MeV) on Aluminium + - atomicDeexcitation: gamma (80 keV) on Tellurium + - compton.mac: gamma (300 keV) on Aluminium + - conv.mac: gamma (20 MeV) on Lead + - convtomu.mac: gamma (100 TeV) on Iron + - electron.mac: e- (100 MeV) on Aluminium + - gamma.mac: gamma (100 keV) on Water + - photoelec.mac: gamma (80 keV) on Gold + - proton.mac: proton (100 MeV) on Water */ diff --git a/examples/extended/electromagnetic/TestEm14/History b/examples/extended/electromagnetic/TestEm14/History index 480afbbb28b..9cdc2a94397 100644 --- a/examples/extended/electromagnetic/TestEm14/History +++ b/examples/extended/electromagnetic/TestEm14/History @@ -4,6 +4,9 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-04-17 Michel Maire (testem14-V11-02-00) +- Readme: document macros + ## 2023-05-10 Michel Maire (testem14-V11-01-00) - revision of all headers diff --git a/examples/extended/electromagnetic/TestEm14/README b/examples/extended/electromagnetic/TestEm14/README index 9748be20555..c1c052bbb46 100644 --- a/examples/extended/electromagnetic/TestEm14/README +++ b/examples/extended/electromagnetic/TestEm14/README @@ -112,3 +112,13 @@ .... Idle> exit + Macros provided in this example: + - anni.mac: e+ (100 MeV) on Aluminium + - atomicDeexcitation: gamma (80 keV) on Tellurium + - compton.mac: gamma (300 keV) on Aluminium + - conv.mac: gamma (20 MeV) on Lead + - convtomu.mac: gamma (100 TeV) on Iron + - electron.mac: e- (100 MeV) on Aluminium + - gamma.mac: gamma (100 keV) on Water + - photoelec.mac: gamma (80 keV) on Gold + - proton.mac: proton (100 MeV) on Water diff --git a/examples/extended/electromagnetic/TestEm14/TestEm14.cc b/examples/extended/electromagnetic/TestEm14/TestEm14.cc index ced69602628..515f145ebb5 100644 --- a/examples/extended/electromagnetic/TestEm14/TestEm14.cc +++ b/examples/extended/electromagnetic/TestEm14/TestEm14.cc @@ -30,41 +30,39 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //choose the Random engine + // choose the Random engine G4Random::setTheEngine(new CLHEP::RanecuEngine); - //Use SteppingVerbose with Unit + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //Creating run manager + + // Creating run manager auto runManager = G4RunManagerFactory::CreateRunManager(); - - if (argc==3) { - G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); - runManager->SetNumberOfThreads(nThreads); + + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } // set mandatory initialization classes @@ -73,27 +71,27 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(new PhysicsList); runManager->SetUserInitialization(new ActionInitialization(det)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm14/TestEm14.out b/examples/extended/electromagnetic/TestEm14/TestEm14.out index 46639af540e..3bc0f9c72a2 100644 --- a/examples/extended/electromagnetic/TestEm14/TestEm14.out +++ b/examples/extended/electromagnetic/TestEm14/TestEm14.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -183,7 +183,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Run terminated. Run Summary Number of events processed : 1000000 - User=3.870000s Real=3.940988s Sys=0.000000s + User=3.820000s Real=3.881869s Sys=0.000000s ======================== run summary ====================== @@ -253,7 +253,7 @@ Index : 0 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 1000000 - User=3.860000s Real=4.025364s Sys=0.000000s + User=3.810000s Real=3.909531s Sys=0.000000s ======================== run summary ====================== @@ -275,11 +275,12 @@ Run Summary Current couple of seeds = 1492903586, 1751099484 ---------------------------------------- G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:1) +UserDetectorConstruction deleted 0x52bd30 +UserPhysicsList deleted 0x7d0b10 +UserActionInitialization deleted 0x951870 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/extended/electromagnetic/TestEm14/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm14/include/ActionInitialization.hh index 8cb4ed377ed..dec9a6a88cb 100644 --- a/examples/extended/electromagnetic/TestEm14/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm14/include/ActionInitialization.hh @@ -41,15 +41,13 @@ class ActionInitialization : public G4VUserActionInitialization { public: ActionInitialization(DetectorConstruction*); - ~ActionInitialization() override = default; + ~ActionInitialization() override = default; void BuildForMaster() const override; void Build() const override; - + private: DetectorConstruction* fDetector = nullptr; }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh index 3eec8ce3faf..c538a22cfb5 100644 --- a/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh @@ -26,7 +26,7 @@ /// \file DetectorConstruction.hh /// \brief Definition of the DetectorConstruction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,45 +45,37 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction() override; + ~DetectorConstruction() override; public: - - G4VPhysicalVolume* Construct() override; - - void SetSize (G4double); - void SetMaterial (G4String); + G4VPhysicalVolume* Construct() override; + + void SetSize(G4double); + void SetMaterial(G4String); public: - - const - G4VPhysicalVolume* GetWorld() {return fPBox;}; - - G4double GetSize() {return fBoxSize;}; - G4Material* GetMaterial() {return fMaterial;}; - - void PrintParameters(); - + const G4VPhysicalVolume* GetWorld() { return fPBox; }; + + G4double GetSize() { return fBoxSize; }; + G4Material* GetMaterial() { return fMaterial; }; + + void PrintParameters(); + private: - - G4VPhysicalVolume* fPBox = nullptr; - G4LogicalVolume* fLBox = nullptr; - - G4double fBoxSize = 0.; - G4Material* fMaterial = nullptr; - - DetectorMessenger* fDetectorMessenger = nullptr; + G4VPhysicalVolume* fPBox = nullptr; + G4LogicalVolume* fLBox = nullptr; + + G4double fBoxSize = 0.; + G4Material* fMaterial = nullptr; + + DetectorMessenger* fDetectorMessenger = nullptr; private: - - void DefineMaterials(); - G4VPhysicalVolume* ConstructVolumes(); + void DefineMaterials(); + G4VPhysicalVolume* ConstructVolumes(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #endif - diff --git a/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh index b3e03c47446..cd6dcdd055a 100644 --- a/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh @@ -43,26 +43,23 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fMaterCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; + DetectorConstruction* fDetector = nullptr; + + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fMaterCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh index fd297e43dca..9037dc7a3af 100644 --- a/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh @@ -23,23 +23,23 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class HistoManager { public: - HistoManager(); - ~HistoManager() = default; + HistoManager(); + ~HistoManager() = default; private: void Book(); @@ -49,4 +49,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh index c964af2c53a..d5b9f1121c8 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh @@ -40,28 +40,20 @@ class PhysListEmLivermore : public G4VPhysicsConstructor { - public: + public: PhysListEmLivermore(const G4String& name = "livermore"); - ~PhysListEmLivermore() override = default; + ~PhysListEmLivermore() override = default; - public: + public: // This method is dummy for physics - void ConstructParticle() override { }; - + void ConstructParticle() override {}; + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh index a8ef13c9949..9d31a23ec77 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh @@ -40,28 +40,20 @@ class PhysListEmPenelope : public G4VPhysicsConstructor { - public: + public: PhysListEmPenelope(const G4String& name = "penelope"); - ~PhysListEmPenelope() override = default; + ~PhysListEmPenelope() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh index abec9d1023c..80ee514926f 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh @@ -40,28 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; + ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh index 052ff928dde..b61ba4c6673 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh @@ -45,25 +45,24 @@ class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); - ~PhysicsList() override; + ~PhysicsList() override; void ConstructParticle() override; - void ConstructProcess() override; + void ConstructProcess() override; void AddPhysicsList(const G4String& name); void SetCuts() override; - - private: + + private: G4VPhysicsConstructor* fEmPhysicsList = nullptr; - G4String fEmName; - - PhysicsListMessenger* fMessenger = nullptr; + G4String fEmName; + + PhysicsListMessenger* fMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh index 436ede8d60d..192747b43ee 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh @@ -42,25 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; - + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh index d68f3624f1e..d6a5f0de963 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh @@ -26,15 +26,15 @@ /// \file PrimaryGeneratorAction.hh /// \brief Definition of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -46,19 +46,17 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + ~PrimaryGeneratorAction() override; public: void GeneratePrimaries(G4Event*) override; - G4ParticleGun* GetParticleGun() {return fParticleGun;}; + G4ParticleGun* GetParticleGun() { return fParticleGun; }; private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm14/include/Run.hh b/examples/extended/electromagnetic/TestEm14/include/Run.hh index 1ef949a3724..60b18b7dbd6 100644 --- a/examples/extended/electromagnetic/TestEm14/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm14/include/Run.hh @@ -35,6 +35,7 @@ #include "G4Run.hh" #include "globals.hh" + #include class DetectorConstruction; @@ -46,29 +47,28 @@ class Run : public G4Run { public: Run(DetectorConstruction*); - ~Run() override = default; + ~Run() override = default; public: void SetPrimary(G4ParticleDefinition* particle, G4double energy); void CountProcesses(G4String procName); - void SumTrack (G4double track); - void SumeTransf (G4double energy); + void SumTrack(G4double track); + void SumeTransf(G4double energy); void Merge(const G4Run*) override; void EndOfRun(); private: - DetectorConstruction* fDetector = nullptr; - G4ParticleDefinition* fParticle = nullptr; - G4double fEkin = 0.; + DetectorConstruction* fDetector = nullptr; + G4ParticleDefinition* fParticle = nullptr; + G4double fEkin = 0.; - std::map fProcCounter; - G4int fTotalCount = 0; //all processes counter - G4double fSumTrack = 0.; //sum of trackLength - G4double fSumTrack2 = 0.; //sum of trackLength*trackLength - G4double fEnTransfer = 0.; //energy transfered to charged secondaries + std::map fProcCounter; + G4int fTotalCount = 0; // all processes counter + G4double fSumTrack = 0.; // sum of trackLength + G4double fSumTrack2 = 0.; // sum of trackLength*trackLength + G4double fEnTransfer = 0.; // energy transfered to charged secondaries }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm14/include/RunAction.hh b/examples/extended/electromagnetic/TestEm14/include/RunAction.hh index 3a341bd0c83..820c4ebfaf8 100644 --- a/examples/extended/electromagnetic/TestEm14/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/RunAction.hh @@ -48,22 +48,21 @@ class HistoManager; class RunAction : public G4UserRunAction { public: - RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim=nullptr); - ~RunAction() override; + RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim = nullptr); + ~RunAction() override; public: - G4Run* GenerateRun() override; + G4Run* GenerateRun() override; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; - + void EndOfRunAction(const G4Run*) override; + private: - DetectorConstruction* fDetector = nullptr; - PrimaryGeneratorAction* fPrimary = nullptr; - Run* fRun = nullptr; - HistoManager* fHistoManager = nullptr; + DetectorConstruction* fDetector = nullptr; + PrimaryGeneratorAction* fPrimary = nullptr; + Run* fRun = nullptr; + HistoManager* fHistoManager = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh index 809ff527442..1ea61f565ea 100644 --- a/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh @@ -42,7 +42,7 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction() = default; - ~SteppingAction() override = default; + ~SteppingAction() override = default; void UserSteppingAction(const G4Step*) override; }; diff --git a/examples/extended/electromagnetic/TestEm14/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm14/src/ActionInitialization.cc index 39635b57db8..5ceb16411dd 100644 --- a/examples/extended/electromagnetic/TestEm14/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm14/src/ActionInitialization.cc @@ -28,6 +28,7 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" @@ -35,26 +36,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* det) - : fDetector(det) -{ } +ActionInitialization::ActionInitialization(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::BuildForMaster() const { - SetUserAction(new RunAction(fDetector,nullptr)); + SetUserAction(new RunAction(fDetector, nullptr)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::Build() const -{ +{ PrimaryGeneratorAction* prim = new PrimaryGeneratorAction(fDetector); SetUserAction(prim); - RunAction* run = new RunAction(fDetector,prim); - SetUserAction(run); + RunAction* run = new RunAction(fDetector, prim); + SetUserAction(run); SetUserAction(new SteppingAction()); } diff --git a/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc index e1389dbce43..d60677de251 100644 --- a/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc @@ -31,36 +31,37 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" - -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" #include "G4SolidStore.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() { - fBoxSize = 100*m; + fBoxSize = 100 * m; DefineMaterials(); - SetMaterial("Water"); + SetMaterial("Water"); fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -76,80 +77,74 @@ void DetectorConstruction::DefineMaterials() // // define Elements // - G4double z,a; - - G4Element* H = new G4Element("Hydrogen" ,"H" , z= 1., a= 1.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); - G4Element* Na = new G4Element("Sodium" ,"Na", z=11., a= 22.99*g/mole); - G4Element* Ge = new G4Element("Germanium","Ge", z=32., a= 72.59*g/mole); - G4Element* I = new G4Element("Iodine" ,"I" , z=53., a= 126.90*g/mole); - G4Element* Bi = new G4Element("Bismuth" ,"Bi", z=83., a= 208.98*g/mole); - + G4double z, a; + + G4Element* H = new G4Element("Hydrogen", "H", z = 1., a = 1.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); + G4Element* Na = new G4Element("Sodium", "Na", z = 11., a = 22.99 * g / mole); + G4Element* Ge = new G4Element("Germanium", "Ge", z = 32., a = 72.59 * g / mole); + G4Element* I = new G4Element("Iodine", "I", z = 53., a = 126.90 * g / mole); + G4Element* Bi = new G4Element("Bismuth", "Bi", z = 83., a = 208.98 * g / mole); + // // define materials // G4double density; G4int ncomponents, natoms; - G4double fractionmass; - - G4Material* Air = - new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=70.*perCent); - Air->AddElement(O, fractionmass=30.*perCent); - - G4Material* H2l = - new G4Material("H2liquid", density= 70.8*mg/cm3, ncomponents=1); - H2l->AddElement(H, fractionmass=1.); - - G4Material* H2O = - new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); + G4double fractionmass; + + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 70. * perCent); + Air->AddElement(O, fractionmass = 30. * perCent); + + G4Material* H2l = new G4Material("H2liquid", density = 70.8 * mg / cm3, ncomponents = 1); + H2l->AddElement(H, fractionmass = 1.); + + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); H2O->SetChemicalFormula("H_2O"); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); - - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - - new G4Material("Carbon" , z=6., a= 12.01*g/mole, density= 2.267*g/cm3); - - new G4Material("Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3); - - new G4Material("Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3); - - new G4Material("Chromium" , z=24., a= 51.99*g/mole, density= 7.140*g/cm3); - - new G4Material("Copper" , z=29., a= 63.55*g/mole, density= 8.920*g/cm3); - - new G4Material("Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3); - - new G4Material("Nb" , z=41., a= 92.906*g/mole,density= 8.57*g/cm3); - - G4Material* NaI = - new G4Material("NaI", density= 3.67*g/cm3, ncomponents=2); - NaI->AddElement(Na, natoms=1); - NaI->AddElement(I , natoms=1); - NaI->GetIonisation()->SetMeanExcitationEnergy(452*eV); - - G4Material* Iod = - new G4Material("Iodine", density= 4.93*g/cm3, ncomponents=1); - Iod->AddElement(I , natoms=1); - - G4Material* BGO = - new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3); - BGO->AddElement(O , natoms=12); - BGO->AddElement(Ge, natoms= 3); - BGO->AddElement(Bi, natoms= 4); - - new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3); - - new G4Material("Tungsten" , z=74., a=183.85*g/mole, density= 19.25*g/cm3); - - new G4Material("Gold" , z=79., a=196.97*g/mole, density= 19.30*g/cm3); - - new G4Material("Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3); - - new G4Material("Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3); + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); + + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + + new G4Material("Carbon", z = 6., a = 12.01 * g / mole, density = 2.267 * g / cm3); + + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + + new G4Material("Silicon", z = 14., a = 28.09 * g / mole, density = 2.330 * g / cm3); + + new G4Material("Chromium", z = 24., a = 51.99 * g / mole, density = 7.140 * g / cm3); + + new G4Material("Copper", z = 29., a = 63.55 * g / mole, density = 8.920 * g / cm3); + + new G4Material("Germanium", z = 32., a = 72.61 * g / mole, density = 5.323 * g / cm3); + + new G4Material("Nb", z = 41., a = 92.906 * g / mole, density = 8.57 * g / cm3); + + G4Material* NaI = new G4Material("NaI", density = 3.67 * g / cm3, ncomponents = 2); + NaI->AddElement(Na, natoms = 1); + NaI->AddElement(I, natoms = 1); + NaI->GetIonisation()->SetMeanExcitationEnergy(452 * eV); + + G4Material* Iod = new G4Material("Iodine", density = 4.93 * g / cm3, ncomponents = 1); + Iod->AddElement(I, natoms = 1); + + G4Material* BGO = new G4Material("BGO", density = 7.10 * g / cm3, ncomponents = 3); + BGO->AddElement(O, natoms = 12); + BGO->AddElement(Ge, natoms = 3); + BGO->AddElement(Bi, natoms = 4); + + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); + + new G4Material("Tungsten", z = 74., a = 183.85 * g / mole, density = 19.25 * g / cm3); + + new G4Material("Gold", z = 79., a = 196.97 * g / mole, density = 19.30 * g / cm3); + + new G4Material("Lead", z = 82., a = 207.19 * g / mole, density = 11.35 * g / cm3); + + new G4Material("Uranium", z = 92., a = 238.03 * g / mole, density = 18.95 * g / cm3); /// G4cout << *(G4Material::GetMaterialTable()) << G4endl; } @@ -164,25 +159,24 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() G4LogicalVolumeStore::GetInstance()->Clean(); G4SolidStore::GetInstance()->Clean(); - G4Box* - sBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - fLBox = new G4LogicalVolume(sBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fPBox = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fLBox, //its logical volume - fMaterial->GetName(), //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - + G4Box* sBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + fLBox = new G4LogicalVolume(sBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fPBox = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fLBox, // its logical volume + fMaterial->GetName(), // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + PrintParameters(); - - //always return the root volume + + // always return the root volume // return fPBox; } @@ -191,9 +185,9 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() void DetectorConstruction::PrintParameters() { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() << G4endl; - G4cout << "\n" << fMaterial << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << G4endl; + G4cout << "\n" << fMaterial << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -203,16 +197,16 @@ void DetectorConstruction::PrintParameters() void DetectorConstruction::SetMaterial(G4String materialChoice) { // search the material by its name, or build it from nist data base - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); - + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + if (pttoMaterial) { - fMaterial = pttoMaterial; - G4RunManager::GetRunManager()->PhysicsHasBeenModified(); - } else { - G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " - << materialChoice << " not found" << G4endl; - } + fMaterial = pttoMaterial; + G4RunManager::GetRunManager()->PhysicsHasBeenModified(); + } + else { + G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " << materialChoice + << " not found" << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc index f0a4d8700ba..fa6dfe8ced0 100644 --- a/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc @@ -33,33 +33,33 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fMaterCmd->SetToBeBroadcasted(false); - - fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize",this); + + fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize", this); fSizeCmd->SetGuidance("Set size of the box"); - fSizeCmd->SetParameterName("Size",false); + fSizeCmd->SetParameterName("Size", false); fSizeCmd->SetRange("Size>0."); fSizeCmd->SetUnitCategory("Length"); - fSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fSizeCmd->SetToBeBroadcasted(false); } @@ -68,20 +68,22 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; - delete fSizeCmd; - delete fDetDir; + delete fSizeCmd; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fSizeCmd ) - { fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));} +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fSizeCmd) { + fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc index d6e3e6628a0..b6bd0fa4d58 100644 --- a/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc @@ -23,11 +23,12 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,29 +49,29 @@ void HistoManager::Book() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName(fFileName); analysisManager->SetVerboseLevel(1); - analysisManager->SetActivation(true); //enable inactivation of histograms - + analysisManager->SetActivation(true); // enable inactivation of histograms + // Define histograms start values const G4int kMaxHisto = 7; - const G4String id[] = { "0", "1", "2", "3" , "4", "5", "6"}; - const G4String title[] = - { "dummy", //0 - "scattered primary particle: energy spectrum", //1 - "scattered primary particle: costheta distribution", //2 - "charged secondaries: energy spectrum", //3 - "charged secondaries: costheta distribution", //4 - "neutral secondaries: energy spectrum", //5 - "neutral secondaries: costheta distribution" //6 - }; + const G4String id[] = {"0", "1", "2", "3", "4", "5", "6"}; + const G4String title[] = { + "dummy", // 0 + "scattered primary particle: energy spectrum", // 1 + "scattered primary particle: costheta distribution", // 2 + "charged secondaries: energy spectrum", // 3 + "charged secondaries: costheta distribution", // 4 + "neutral secondaries: energy spectrum", // 5 + "neutral secondaries: costheta distribution" // 6 + }; - // Default values (to be reset via /analysis/h1/set command) + // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; kCreateH1(id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc index cfba5f3510b..3ff3f86f3cf 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc @@ -31,32 +31,29 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmLivermore.hh" + #include "G4BuilderType.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" // gamma -#include "G4PhotoElectricEffect.hh" -#include "G4LivermorePhotoElectricModel.hh" - #include "G4ComptonScattering.hh" -#include "G4LivermoreComptonModel.hh" - #include "G4GammaConversion.hh" +#include "G4LivermoreComptonModel.hh" #include "G4LivermoreGammaConversionModel.hh" - -#include "G4RayleighScattering.hh" +#include "G4LivermorePhotoElectricModel.hh" #include "G4LivermoreRayleighModel.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4RayleighScattering.hh" // e- -#include "G4eIonisation.hh" +#include "G4LivermoreBremsstrahlungModel.hh" #include "G4LivermoreIonisationModel.hh" #include "G4UniversalFluctuation.hh" - #include "G4eBremsstrahlung.hh" -#include "G4LivermoreBremsstrahlungModel.hh" +#include "G4eIonisation.hh" // e+ @@ -64,8 +61,8 @@ // mu -#include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" // hadrons, ions @@ -76,116 +73,107 @@ // deexcitation #include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - #include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmLivermore::PhysListEmLivermore(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmLivermore::PhysListEmLivermore(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetBuildCSDARange(true); - - param->SetVerbose(0); - param->Dump(); - } + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetBuildCSDARange(true); + + param->SetVerbose(0); + param->Dump(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysListEmLivermore::ConstructProcess() { // Add Livermore EM Processes - - auto particleIterator=GetParticleIterator(); + + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); + G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - //Applicability range for Livermore models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - + // Applicability range for Livermore models + // for higher energies, the Standard models are used + G4double highEnergyLimit = 1 * GeV; + if (particleName == "gamma") { - // gamma + // gamma G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4LivermorePhotoElectricModel* - photModel = new G4LivermorePhotoElectricModel(); + G4LivermorePhotoElectricModel* photModel = new G4LivermorePhotoElectricModel(); photModel->SetHighEnergyLimit(highEnergyLimit); phot->AddEmModel(0, photModel); - ///list->RegisterProcess(phot, particle); + /// list->RegisterProcess(phot, particle); pmanager->AddDiscreteProcess(phot); - + G4ComptonScattering* compt = new G4ComptonScattering(); - G4LivermoreComptonModel* - comptModel = new G4LivermoreComptonModel(); + G4LivermoreComptonModel* comptModel = new G4LivermoreComptonModel(); comptModel->SetHighEnergyLimit(highEnergyLimit); compt->AddEmModel(0, comptModel); pmanager->AddDiscreteProcess(compt); G4GammaConversion* conv = new G4GammaConversion(); - G4LivermoreGammaConversionModel* - convModel = new G4LivermoreGammaConversionModel(); + G4LivermoreGammaConversionModel* convModel = new G4LivermoreGammaConversionModel(); convModel->SetHighEnergyLimit(highEnergyLimit); conv->AddEmModel(0, convModel); pmanager->AddDiscreteProcess(conv); - + G4RayleighScattering* rayl = new G4RayleighScattering(); - G4LivermoreRayleighModel* - raylModel = new G4LivermoreRayleighModel(); + G4LivermoreRayleighModel* raylModel = new G4LivermoreRayleighModel(); raylModel->SetHighEnergyLimit(highEnergyLimit); rayl->AddEmModel(0, raylModel); pmanager->AddDiscreteProcess(rayl); - - } else if (particleName == "e-") { - //electron + } + else if (particleName == "e-") { + // electron G4eIonisation* eIoni = new G4eIonisation(); - G4LivermoreIonisationModel* - eIoniModel = new G4LivermoreIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1,-1, 1); - + G4LivermoreIonisationModel* eIoniModel = new G4LivermoreIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); + pmanager->AddProcess(eIoni, -1, -1, 1); + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4LivermoreBremsstrahlungModel* - eBremModel = new G4LivermoreBremsstrahlungModel(); + G4LivermoreBremsstrahlungModel* eBremModel = new G4LivermoreBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1,-1, 2); - - } else if (particleName == "e+") { - //positron - pmanager->AddProcess(new G4eIonisation, -1,-1, 1); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1, 2); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); - pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); - - } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,-1, 1); - } + pmanager->AddProcess(eBrem, -1, -1, 2); + } + else if (particleName == "e+") { + // positron + pmanager->AddProcess(new G4eIonisation, -1, -1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4eplusAnnihilation, 0, -1, 3); + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon + pmanager->AddProcess(new G4MuIonisation, -1, -1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, -1, 3); + } + else if (particleName == "alpha" || particleName == "GenericIon") { + pmanager->AddProcess(new G4ionIonisation, -1, -1, 1); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); + } } - + // Deexcitation // G4VAtomDeexcitation* deex = new G4UAtomicDeexcitation(); @@ -193,4 +181,3 @@ void PhysListEmLivermore::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc index 4b6cbafe67f..5acbbebd629 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc @@ -31,42 +31,39 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmPenelope.hh" + #include "G4BuilderType.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" // gamma -#include "G4PhotoElectricEffect.hh" -#include "G4PenelopePhotoElectricModel.hh" - #include "G4ComptonScattering.hh" -#include "G4PenelopeComptonModel.hh" - #include "G4GammaConversion.hh" +#include "G4PenelopeComptonModel.hh" #include "G4PenelopeGammaConversionModel.hh" - -#include "G4RayleighScattering.hh" +#include "G4PenelopePhotoElectricModel.hh" #include "G4PenelopeRayleighModel.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4RayleighScattering.hh" // e- -#include "G4eIonisation.hh" +#include "G4PenelopeBremsstrahlungModel.hh" #include "G4PenelopeIonisationModel.hh" #include "G4UniversalFluctuation.hh" - #include "G4eBremsstrahlung.hh" -#include "G4PenelopeBremsstrahlungModel.hh" +#include "G4eIonisation.hh" // e+ -#include "G4eplusAnnihilation.hh" #include "G4PenelopeAnnihilationModel.hh" +#include "G4eplusAnnihilation.hh" // mu -#include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" // hadrons, ions @@ -77,23 +74,21 @@ // deexcitation #include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - #include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmPenelope::PhysListEmPenelope(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmPenelope::PhysListEmPenelope(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - - param->SetVerbose(0); - param->Dump(); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + + param->SetVerbose(0); + param->Dump(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -102,106 +97,96 @@ void PhysListEmPenelope::ConstructProcess() { // Add standard EM Processes - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); + G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - //Applicability range for Penelope models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - + // Applicability range for Penelope models + // for higher energies, the Standard models are used + G4double highEnergyLimit = 1 * GeV; + if (particleName == "gamma") { - // gamma + // gamma G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4PenelopePhotoElectricModel* - photModel = new G4PenelopePhotoElectricModel(); + G4PenelopePhotoElectricModel* photModel = new G4PenelopePhotoElectricModel(); photModel->SetHighEnergyLimit(highEnergyLimit); phot->AddEmModel(0, photModel); pmanager->AddDiscreteProcess(phot); - + G4ComptonScattering* compt = new G4ComptonScattering(); - G4PenelopeComptonModel* - comptModel = new G4PenelopeComptonModel(); + G4PenelopeComptonModel* comptModel = new G4PenelopeComptonModel(); comptModel->SetHighEnergyLimit(highEnergyLimit); compt->AddEmModel(0, comptModel); pmanager->AddDiscreteProcess(compt); - + G4GammaConversion* conv = new G4GammaConversion(); - G4PenelopeGammaConversionModel* - convModel = new G4PenelopeGammaConversionModel(); + G4PenelopeGammaConversionModel* convModel = new G4PenelopeGammaConversionModel(); convModel->SetHighEnergyLimit(highEnergyLimit); conv->AddEmModel(0, convModel); pmanager->AddDiscreteProcess(conv); - + G4RayleighScattering* rayl = new G4RayleighScattering(); - G4PenelopeRayleighModel* - raylModel = new G4PenelopeRayleighModel(); + G4PenelopeRayleighModel* raylModel = new G4PenelopeRayleighModel(); raylModel->SetHighEnergyLimit(highEnergyLimit); rayl->AddEmModel(0, raylModel); pmanager->AddDiscreteProcess(rayl); - - } else if (particleName == "e-") { - //electron + } + else if (particleName == "e-") { + // electron G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1,-1, 1); - + G4PenelopeIonisationModel* eIoniModel = new G4PenelopeIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); + pmanager->AddProcess(eIoni, -1, -1, 1); + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); + G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1,-1, 2); - - } else if (particleName == "e+") { - //positron + pmanager->AddProcess(eBrem, -1, -1, 2); + } + else if (particleName == "e+") { + // positron G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1,-1, 1); - + G4PenelopeIonisationModel* eIoniModel = new G4PenelopeIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); + pmanager->AddProcess(eIoni, -1, -1, 1); + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); + G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1,-1, 2); + pmanager->AddProcess(eBrem, -1, -1, 2); G4eplusAnnihilation* eAnni = new G4eplusAnnihilation(); - G4PenelopeAnnihilationModel* - eAnniModel = new G4PenelopeAnnihilationModel(); - eAnniModel->SetHighEnergyLimit(highEnergyLimit); + G4PenelopeAnnihilationModel* eAnniModel = new G4PenelopeAnnihilationModel(); + eAnniModel->SetHighEnergyLimit(highEnergyLimit); eAnni->AddEmModel(0, eAnniModel); - pmanager->AddProcess(eAnni, 0,-1, 3); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); - pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); - - } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,-1, 1); - } + pmanager->AddProcess(eAnni, 0, -1, 3); + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon + pmanager->AddProcess(new G4MuIonisation, -1, -1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, -1, 3); + } + else if (particleName == "alpha" || particleName == "GenericIon") { + pmanager->AddProcess(new G4ionIonisation, -1, -1, 1); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); + } } - + // Deexcitation // G4VAtomDeexcitation* deex = new G4UAtomicDeexcitation(); @@ -209,4 +194,3 @@ void PhysListEmPenelope::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc index ebe347ab4ca..0274b5ca086 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc @@ -33,47 +33,39 @@ #include "PhysListEmStandard.hh" #include "G4BuilderType.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" - -#include "G4RayleighScattering.hh" -#include "G4PhotoElectricEffect.hh" #include "G4ComptonScattering.hh" -#include "G4KleinNishinaModel.hh" #include "G4GammaConversion.hh" #include "G4GammaConversionToMuons.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4KleinNishinaModel.hh" +#include "G4LossTableManager.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" - -#include "G4hIonisation.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { G4EmParameters* param = G4EmParameters::Instance(); param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); param->SetNumberOfBinsPerDecade(10); - + param->SetVerbose(0); param->Dump(); } @@ -81,72 +73,60 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysListEmStandard::ConstructProcess() -{ +{ // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ////pmanager->AddDiscreteProcess(new G4RayleighScattering); + if (particleName == "gamma") { + ////pmanager->AddDiscreteProcess(new G4RayleighScattering); pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); - G4ComptonScattering* compt = new G4ComptonScattering; + G4ComptonScattering* compt = new G4ComptonScattering; compt->SetEmModel(new G4KleinNishinaModel()); pmanager->AddDiscreteProcess(compt); pmanager->AddDiscreteProcess(new G4GammaConversion); - pmanager->AddDiscreteProcess(new G4GammaConversionToMuons); - - } else if (particleName == "e-") { - - pmanager->AddProcess(new G4eIonisation, -1,-1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); - - } else if (particleName == "e+") { - - pmanager->AddProcess(new G4eIonisation, -1,-1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,3); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - pmanager->AddProcess(new G4MuIonisation, -1,-1,1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,2); - pmanager->AddProcess(new G4MuPairProduction, -1,-1,3); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - pmanager->AddProcess(new G4hIonisation, -1,-1,1); - pmanager->AddProcess(new G4hBremsstrahlung, -1,-1,2); - pmanager->AddProcess(new G4hPairProduction, -1,-1,3); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - pmanager->AddProcess(new G4ionIonisation, -1,-1,1); - - } else if( particleName == "GenericIon" ) { - + pmanager->AddDiscreteProcess(new G4GammaConversionToMuons); + } + else if (particleName == "e-") { + pmanager->AddProcess(new G4eIonisation, -1, -1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, -1, 2); + } + else if (particleName == "e+") { + pmanager->AddProcess(new G4eIonisation, -1, -1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4eplusAnnihilation, 0, -1, 3); + } + else if (particleName == "mu+" || particleName == "mu-") { + pmanager->AddProcess(new G4MuIonisation, -1, -1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, -1, 3); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); + pmanager->AddProcess(new G4hBremsstrahlung, -1, -1, 2); + pmanager->AddProcess(new G4hPairProduction, -1, -1, 3); + } + else if (particleName == "alpha" || particleName == "He3") { + pmanager->AddProcess(new G4ionIonisation, -1, -1, 1); + } + else if (particleName == "GenericIon") { G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); - pmanager->AddProcess(ionIoni, -1,-1,1); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,-1,1); + pmanager->AddProcess(ionIoni, -1, -1, 1); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hIonisation, -1, -1, 1); } } - + // Deexcitation // G4VAtomDeexcitation* deex = new G4UAtomicDeexcitation(); @@ -154,4 +134,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc index 20a7c77fb53..8418064d0ee 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc @@ -25,37 +25,36 @@ // /// \file PhysicsList.cc /// \brief Implementation of the PhysicsList class -// +// // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" - -#include "PhysListEmStandard.hh" + #include "PhysListEmLivermore.hh" #include "PhysListEmPenelope.hh" +#include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // particles +#include "G4BaryonConstructor.hh" #include "G4BosonConstructor.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" #include "G4ShortLivedConstructor.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsList::PhysicsList() +PhysicsList::PhysicsList() { - G4LossTableManager::Instance(); + G4LossTableManager::Instance(); fMessenger = new PhysicsListMessenger(this); @@ -64,11 +63,11 @@ PhysicsList::PhysicsList() // EM physics fEmName = G4String("standard"); fEmPhysicsList = new PhysListEmStandard(fEmName); - - //add new units for cross sections - // - new G4UnitDefinition( "mm2/g", "mm2/g","Surface/Mass", mm2/g); - new G4UnitDefinition( "um2/mg", "um2/mg","Surface/Mass", um*um/mg); + + // add new units for cross sections + // + new G4UnitDefinition("mm2/g", "mm2/g", "Surface/Mass", mm2 / g); + new G4UnitDefinition("um2/mg", "um2/mg", "Surface/Mass", um * um / mg); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -80,26 +79,25 @@ PhysicsList::~PhysicsList() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; - pBosonConstructor.ConstructParticle(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); - G4LeptonConstructor pLeptonConstructor; - pLeptonConstructor.ConstructParticle(); + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); - G4IonConstructor pIonConstructor; - pIonConstructor.ConstructParticle(); + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); + G4ShortLivedConstructor pShortLivedConstructor; + pShortLivedConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -113,7 +111,7 @@ void PhysicsList::ConstructProcess() // Electromagnetic physics list // fEmPhysicsList->ConstructProcess(); - + // Em options // G4EmParameters* param = G4EmParameters::Instance(); @@ -124,50 +122,49 @@ void PhysicsList::ConstructProcess() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>0) { + if (verboseLevel > 0) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } - + if (name == fEmName) return; if (name == "standard") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "livermore") { + } + else if (name == "livermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmLivermore(name); - - } else if (name == "penelope") { + } + else if (name == "penelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmPenelope(name); - - } else { + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Gamma.hh" #include "G4Electron.hh" +#include "G4Gamma.hh" #include "G4Positron.hh" void PhysicsList::SetCuts() -{ - // fixe lower limit for cut - G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV, 1*GeV); +{ + // fixe lower limit for cut + G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100 * eV, 1 * GeV); - // call base class method to set cuts which default value can be - // modified via /run/setCut/* commands - G4VUserPhysicsList::SetCuts(); + // call base class method to set cuts which default value can be + // modified via /run/setCut/* commands + G4VUserPhysicsList::SetCuts(); - DumpCutValuesTable(); + DumpCutValuesTable(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc index eb1948e423d..1dfb95c49df 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc @@ -33,21 +33,21 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) -: fPhysicsList(pPhys) -{ +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) +{ fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); - fListCmd->AvailableForStates(G4State_PreInit); + fListCmd->SetParameterName("PList", false); + fListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,11 +60,11 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc index ec7acf9006b..2a53355b902 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc @@ -26,7 +26,7 @@ /// \file PrimaryGeneratorAction.cc /// \brief Implementation of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,22 +35,20 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) -: fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { - fParticleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); + fParticleGun = new G4ParticleGun(1); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(1*MeV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + fParticleGun->SetParticleEnergy(1 * MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,20 +62,19 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - G4double halfSize = 0.5*(fDetector->GetSize()); - G4double x0 = - halfSize; - - //randomize (y0,z0) + G4double halfSize = 0.5 * (fDetector->GetSize()); + G4double x0 = -halfSize; + + // randomize (y0,z0) // - G4double beam = 0.8*halfSize; - G4double y0 = (2*G4UniformRand()-1.)*beam; - G4double z0 = (2*G4UniformRand()-1.)*beam; - - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + G4double beam = 0.8 * halfSize; + G4double y0 = (2 * G4UniformRand() - 1.) * beam; + G4double z0 = (2 * G4UniformRand() - 1.) * beam; + + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm14/src/Run.cc b/examples/extended/electromagnetic/TestEm14/src/Run.cc index 95d566c69e1..13ff18663f8 100644 --- a/examples/extended/electromagnetic/TestEm14/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm14/src/Run.cc @@ -26,59 +26,58 @@ /// \file Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" + #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" #include "G4EmCalculator.hh" #include "G4Gamma.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(DetectorConstruction* det) -: fDetector(det) -{ } +Run::Run(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::SetPrimary(G4ParticleDefinition* particle, G4double energy) -{ +{ fParticle = particle; fEkin = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::CountProcesses(G4String procName) +void Run::CountProcesses(G4String procName) { - std::map::iterator it = fProcCounter.find(procName); - if ( it == fProcCounter.end()) { + std::map::iterator it = fProcCounter.find(procName); + if (it == fProcCounter.end()) { fProcCounter[procName] = 1; } else { - fProcCounter[procName]++; + fProcCounter[procName]++; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::SumTrack (G4double track) +void Run::SumTrack(G4double track) { fTotalCount++; fSumTrack += track; - fSumTrack2 += track*track; + fSumTrack2 += track * track; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::SumeTransf (G4double energy) +void Run::SumeTransf(G4double energy) { fEnTransfer += energy; } @@ -91,126 +90,115 @@ void Run::Merge(const G4Run* run) // pass information about primary particle fParticle = localRun->fParticle; - fEkin = localRun->fEkin; - - //map: processes count - std::map::const_iterator it; - for (it = localRun->fProcCounter.begin(); - it !=localRun->fProcCounter.end(); ++it) { - + fEkin = localRun->fEkin; + + // map: processes count + std::map::const_iterator it; + for (it = localRun->fProcCounter.begin(); it != localRun->fProcCounter.end(); ++it) { G4String procName = it->first; - G4int localCount = it->second; - if ( fProcCounter.find(procName) == fProcCounter.end()) { + G4int localCount = it->second; + if (fProcCounter.find(procName) == fProcCounter.end()) { fProcCounter[procName] = localCount; } else { fProcCounter[procName] += localCount; } } - + fTotalCount += localRun->fTotalCount; - fSumTrack += localRun->fSumTrack; - fSumTrack2 += localRun->fSumTrack2; + fSumTrack += localRun->fSumTrack; + fSumTrack2 += localRun->fSumTrack2; fEnTransfer += localRun->fEnTransfer; - - G4Run::Merge(run); -} + + G4Run::Merge(run); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::EndOfRun() { - G4int prec = 5; + G4int prec = 5; G4int dfprec = G4cout.precision(prec); - - //run condition - // - G4String partName = fParticle->GetParticleName(); + + // run condition + // + G4String partName = fParticle->GetParticleName(); G4Material* material = fDetector->GetMaterial(); - G4double density = material->GetDensity(); - G4double tickness = fDetector->GetSize(); - + G4double density = material->GetDensity(); + G4double tickness = fDetector->GetSize(); + G4cout << "\n ======================== run summary ======================\n"; G4cout << "\n The run is: " << numberOfEvent << " " << partName << " of " - << G4BestUnit(fEkin,"Energy") << " through " - << G4BestUnit(tickness,"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; + << G4BestUnit(fEkin, "Energy") << " through " << G4BestUnit(tickness, "Length") << " of " + << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") << ")" + << G4endl; - //frequency of processes - G4int survive = 0; + // frequency of processes + G4int survive = 0; G4cout << "\n Process calls frequency --->"; - std::map::iterator it; + std::map::iterator it; for (it = fProcCounter.begin(); it != fProcCounter.end(); it++) { - G4String procName = it->first; - G4int count = it->second; - G4cout << "\t" << procName << " = " << count; - if (procName == "Transportation") survive = count; + G4String procName = it->first; + G4int count = it->second; + G4cout << "\t" << procName << " = " << count; + if (procName == "Transportation") survive = count; } if (survive > 0) { G4cout << "\n\n Nb of incident particles surviving after " - << G4BestUnit(fDetector->GetSize(),"Length") << " of " - << material->GetName() << " : " << survive << G4endl; + << G4BestUnit(fDetector->GetSize(), "Length") << " of " << material->GetName() << " : " + << survive << G4endl; } - if (fTotalCount == 0) fTotalCount = 1; //force printing anyway + if (fTotalCount == 0) fTotalCount = 1; // force printing anyway - //compute mean free path and related quantities + // compute mean free path and related quantities // - G4double MeanFreePath = fSumTrack /fTotalCount; - G4double MeanTrack2 = fSumTrack2/fTotalCount; - G4double rms = std::sqrt(std::fabs(MeanTrack2 - MeanFreePath*MeanFreePath)); - G4double CrossSection = 1./MeanFreePath; - G4double massicMFP = MeanFreePath*density; - G4double massicCS = 1./massicMFP; - - G4cout << "\n\n MeanFreePath:\t" << G4BestUnit(MeanFreePath,"Length") - << " +- " << G4BestUnit( rms,"Length") - << "\tmassic: " << G4BestUnit(massicMFP, "Mass/Surface") - << "\n CrossSection:\t" << CrossSection*cm << " cm^-1 " - << "\t\t\tmassic: " << G4BestUnit(massicCS, "Surface/Mass") - << G4endl; - - //compute energy transfer coefficient + G4double MeanFreePath = fSumTrack / fTotalCount; + G4double MeanTrack2 = fSumTrack2 / fTotalCount; + G4double rms = std::sqrt(std::fabs(MeanTrack2 - MeanFreePath * MeanFreePath)); + G4double CrossSection = 1. / MeanFreePath; + G4double massicMFP = MeanFreePath * density; + G4double massicCS = 1. / massicMFP; + + G4cout << "\n\n MeanFreePath:\t" << G4BestUnit(MeanFreePath, "Length") << " +- " + << G4BestUnit(rms, "Length") << "\tmassic: " << G4BestUnit(massicMFP, "Mass/Surface") + << "\n CrossSection:\t" << CrossSection * cm << " cm^-1 " + << "\t\t\tmassic: " << G4BestUnit(massicCS, "Surface/Mass") << G4endl; + + // compute energy transfer coefficient // - G4double MeanTransfer = fEnTransfer/fTotalCount; - G4double massTransfCoef = massicCS*MeanTransfer/fEkin; - - G4cout << "\n mean energy of charged secondaries: " - << G4BestUnit(MeanTransfer, "Energy") - << "\n ---> mass_energy_transfer coef: " - << G4BestUnit(massTransfCoef, "Surface/Mass") - << G4endl; - - //check cross section from G4EmCalculator + G4double MeanTransfer = fEnTransfer / fTotalCount; + G4double massTransfCoef = massicCS * MeanTransfer / fEkin; + + G4cout << "\n mean energy of charged secondaries: " << G4BestUnit(MeanTransfer, "Energy") + << "\n ---> mass_energy_transfer coef: " << G4BestUnit(massTransfCoef, "Surface/Mass") + << G4endl; + + // check cross section from G4EmCalculator // G4cout << "\n Verification : " << "crossSections from G4EmCalculator \n"; G4EmCalculator emCalculator; - G4double sumc = 0.0; + G4double sumc = 0.0; for (it = fProcCounter.begin(); it != fProcCounter.end(); it++) { - G4String procName = it->first; - G4double massSigma = - emCalculator.GetCrossSectionPerVolume(fEkin,fParticle, - procName,material)/density; + G4String procName = it->first; + G4double massSigma = + emCalculator.GetCrossSectionPerVolume(fEkin, fParticle, procName, material) / density; if (fParticle == G4Gamma::Gamma()) - massSigma = - emCalculator.ComputeCrossSectionPerVolume(fEkin,fParticle, - procName,material)/density; + massSigma = + emCalculator.ComputeCrossSectionPerVolume(fEkin, fParticle, procName, material) / density; sumc += massSigma; - G4cout << " " << procName << "= " - << G4BestUnit(massSigma, "Surface/Mass"); + G4cout << " " << procName << "= " << G4BestUnit(massSigma, "Surface/Mass"); } - G4cout << " total= " - << G4BestUnit(sumc, "Surface/Mass") << G4endl; + G4cout << " total= " << G4BestUnit(sumc, "Surface/Mass") << G4endl; - // remove all contents in fProcCounter + // remove all contents in fProcCounter fProcCounter.clear(); - //restore default format - G4cout.precision(dfprec); + // restore default format + G4cout.precision(dfprec); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/RunAction.cc b/examples/extended/electromagnetic/TestEm14/src/RunAction.cc index d05d896f198..616d2eacec6 100644 --- a/examples/extended/electromagnetic/TestEm14/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/RunAction.cc @@ -26,85 +26,84 @@ /// \file RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" #include "Run.hh" +#include "G4EmCalculator.hh" #include "G4Run.hh" #include "G4UnitsTable.hh" -#include "G4EmCalculator.hh" - #include "Randomize.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) -: fDetector(det),fPrimary(kin) -{ - fHistoManager = new HistoManager(); + : fDetector(det), fPrimary(kin) +{ + fHistoManager = new HistoManager(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::~RunAction() { - delete fHistoManager; + delete fHistoManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ - fRun = new Run(fDetector); +{ + fRun = new Run(fDetector); return fRun; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) -{ +{ // show Rndm status - if (isMaster) G4Random::showEngineStatus(); - + if (isMaster) G4Random::showEngineStatus(); + // keep run condition - if ( fPrimary ) { - G4ParticleDefinition* particle - = fPrimary->GetParticleGun()->GetParticleDefinition(); + if (fPrimary) { + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); fRun->SetPrimary(particle, energy); - } - - //histograms + } + + // histograms // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); - } - + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::EndOfRunAction(const G4Run*) { - // compute and print statistic + // compute and print statistic if (isMaster) fRun->EndOfRun(); - - //save histograms - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + + // save histograms + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + if (analysisManager->IsActive()) { analysisManager->Write(); analysisManager->CloseFile(); - } - + } + // show Rndm status - if (isMaster) G4Random::showEngineStatus(); + if (isMaster) G4Random::showEngineStatus(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc index cec1ad0c1e3..c31491776f6 100644 --- a/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc @@ -26,13 +26,15 @@ /// \file SteppingAction.cc /// \brief Implementation of the SteppingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" -#include "Run.hh" + #include "HistoManager.hh" +#include "Run.hh" + #include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,60 +43,65 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) { const G4StepPoint* endPoint = aStep->GetPostStepPoint(); G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName(); - - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - - G4bool transmit = (endPoint->GetStepStatus() <= fGeomBoundary); - if (transmit) { run->CountProcesses(procName); } - else { - //count real processes and sum track length + + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + G4bool transmit = (endPoint->GetStepStatus() <= fGeomBoundary); + if (transmit) { + run->CountProcesses(procName); + } + else { + // count real processes and sum track length G4double stepLength = aStep->GetStepLength(); - run->CountProcesses(procName); + run->CountProcesses(procName); run->SumTrack(stepLength); } - - //plot final state + + // plot final state // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - - //scattered primary particle + + // scattered primary particle // G4int id = 1; if (aStep->GetTrack()->GetTrackStatus() == fAlive) { - G4double energy = endPoint->GetKineticEnergy(); - analysisManager->FillH1(id,energy); + G4double energy = endPoint->GetKineticEnergy(); + analysisManager->FillH1(id, energy); id = 2; G4ThreeVector direction = endPoint->GetMomentumDirection(); G4double costeta = direction.x(); - analysisManager->FillH1(id,costeta); - } - - //secondaries + analysisManager->FillH1(id, costeta); + } + + // secondaries // - const std::vector* secondary - = aStep->GetSecondaryInCurrentStep(); - for (size_t lp=0; lp<(*secondary).size(); lp++) { + const std::vector* secondary = aStep->GetSecondaryInCurrentStep(); + for (size_t lp = 0; lp < (*secondary).size(); lp++) { G4double charge = (*secondary)[lp]->GetDefinition()->GetPDGCharge(); - if (charge != 0.) { id = 3; } else { id = 5; } + if (charge != 0.) { + id = 3; + } + else { + id = 5; + } G4double energy = (*secondary)[lp]->GetKineticEnergy(); - analysisManager->FillH1(id,energy); + analysisManager->FillH1(id, energy); ++id; - G4ThreeVector direction = (*secondary)[lp]->GetMomentumDirection(); + G4ThreeVector direction = (*secondary)[lp]->GetMomentumDirection(); G4double costeta = direction.x(); - analysisManager->FillH1(id,costeta); - - //energy tranferred to charged secondaries - if (charge != 0.) { run->SumeTransf(energy); } + analysisManager->FillH1(id, costeta); + + // energy tranferred to charged secondaries + if (charge != 0.) { + run->SumeTransf(energy); + } } - + // kill event after first interaction // - G4RunManager::GetRunManager()->AbortEvent(); + G4RunManager::GetRunManager()->AbortEvent(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm15/History b/examples/extended/electromagnetic/TestEm15/History index b2dcad9a6f2..b09118a95d2 100644 --- a/examples/extended/electromagnetic/TestEm15/History +++ b/examples/extended/electromagnetic/TestEm15/History @@ -4,6 +4,8 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-04-16 Michel Maire (testem15-V11-02-00) + - SteppingAction.cc: remove a TABS ## 2022-12-15 Igor Semeniouk (testem15-V11-01-00) - README, README.gamma - changes from D.Bernard, cleanup diff --git a/examples/extended/electromagnetic/TestEm15/TestEm15.cc b/examples/extended/electromagnetic/TestEm15/TestEm15.cc index 3dd996b2d5f..74a31df2876 100644 --- a/examples/extended/electromagnetic/TestEm15/TestEm15.cc +++ b/examples/extended/electromagnetic/TestEm15/TestEm15.cc @@ -26,73 +26,71 @@ /// \file electromagnetic/TestEm15/TestEm15.cc /// \brief Main program of the electromagnetic/TestEm15 example // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" - #include "RunAction.hh" #include "SteppingAction.hh" +#include "G4RunManager.hh" +#include "G4SteppingVerbose.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //Use SteppingVerbose with Unit + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //construct the default run manager - G4RunManager * runManager = new G4RunManager; - //set mandatory initialization classes + // construct the default run manager + G4RunManager* runManager = new G4RunManager; + + // set mandatory initialization classes DetectorConstruction* det; PrimaryGeneratorAction* prim; runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(new PhysicsList); runManager->SetUserAction(prim = new PrimaryGeneratorAction(det)); - //set user action classes - RunAction* run; - runManager->SetUserAction(run = new RunAction(det,prim)); - runManager->SetUserAction(new SteppingAction(det,run)); + // set user action classes + RunAction* run; + runManager->SetUserAction(run = new RunAction(det, prim)); + runManager->SetUserAction(new SteppingAction(det, run)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm15/TestEm15.out b/examples/extended/electromagnetic/TestEm15/TestEm15.out index c99f16e9016..af185d1b027 100644 --- a/examples/extended/electromagnetic/TestEm15/TestEm15.out +++ b/examples/extended/electromagnetic/TestEm15/TestEm15.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -357,7 +357,7 @@ eBrem: for e+ XStype:0 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ SubType=5 BuildTable=0 +annihil: for e+ SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -563,7 +563,7 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 10000 - User=0.050000s Real=0.058249s Sys=0.000000s + User=0.050000s Real=0.050327s Sys=0.000000s The run consists of 10000 e- of 5 MeV through 100 m of Water (density: 1 g/cm3 ) @@ -635,7 +635,7 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 10000 - User=0.080000s Real=0.104763s Sys=0.000000s + User=0.060000s Real=0.063707s Sys=0.000000s The run consists of 10000 e- of 100 keV through 100 m of Water (density: 1 g/cm3 ) @@ -663,11 +663,12 @@ mixmax state, file version 1.0 N=17 V[N]={310976880687426508, 1713548588833330960, 1561521303267605489, 588569209103310290, 1954856900276614597, 724140034554777249, 713551730147133754, 402013335515644345, 971644034657465189, 193536399066193402, 893980623575290694, 766203625014548430, 498977489459909191, 1292557791726455116, 505565288099017699, 1782657595941510752, 964103503856943415} counter= 14sumtot= 2003346278501013374 --------------------------------------- G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:1) +UserDetectorConstruction deleted 0xdc3970 +UserPhysicsList deleted 0xe07840 +UserActionInitialization deleted 0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh index 1ee0c4b7d8f..3bec6818b13 100644 --- a/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm15/include/DetectorConstruction.hh /// \brief Definition of the DetectorConstruction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,52 +45,43 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction(); + ~DetectorConstruction(); public: - - virtual G4VPhysicalVolume* Construct(); - - void SetSize (G4double); - void SetMaterial (G4String); - - void UpdateGeometry(); - + virtual G4VPhysicalVolume* Construct(); + + void SetSize(G4double); + void SetMaterial(G4String); + + void UpdateGeometry(); + public: - - const - G4VPhysicalVolume* GetWorld() {return fWorld;}; - const - G4VPhysicalVolume* GetBox() {return fBox;}; - - G4double GetWorldSize() {return fWorldSize;}; - G4double GetBoxSize() {return fBoxSize;}; - G4Material* GetMaterial() {return fMaterial;}; - - void PrintParameters(); - + const G4VPhysicalVolume* GetWorld() { return fWorld; }; + const G4VPhysicalVolume* GetBox() { return fBox; }; + + G4double GetWorldSize() { return fWorldSize; }; + G4double GetBoxSize() { return fBoxSize; }; + G4Material* GetMaterial() { return fMaterial; }; + + void PrintParameters(); + private: - - G4VPhysicalVolume* fWorld; - G4VPhysicalVolume* fBox; - - G4double fBoxSize; - G4double fWorldSize; - G4Material* fMaterial; - G4Material* fWMaterial; - - DetectorMessenger* fDetectorMessenger; + G4VPhysicalVolume* fWorld; + G4VPhysicalVolume* fBox; + + G4double fBoxSize; + G4double fWorldSize; + G4Material* fMaterial; + G4Material* fWMaterial; + + DetectorMessenger* fDetectorMessenger; private: - - void DefineMaterials(); - G4VPhysicalVolume* ConstructVolumes(); + void DefineMaterials(); + G4VPhysicalVolume* ConstructVolumes(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #endif - diff --git a/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh index 832819aa9dd..4bdd6179019 100644 --- a/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh @@ -44,27 +44,24 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger(); - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - - DetectorConstruction* fDetector; - - G4UIdirectory* fTestemDir; - G4UIdirectory* fDetDir; - G4UIcmdWithAString* fMaterCmd; + DetectorConstruction* fDetector; + + G4UIdirectory* fTestemDir; + G4UIdirectory* fDetDir; + G4UIcmdWithAString* fMaterCmd; G4UIcmdWithADoubleAndUnit* fSizeCmd; - G4UIcmdWithoutParameter* fUpdateCmd; + G4UIcmdWithoutParameter* fUpdateCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh index 23373986186..9f64dd0812b 100644 --- a/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh @@ -24,23 +24,23 @@ // ******************************************************************** // // -// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class HistoManager { public: - HistoManager(); - ~HistoManager(); + HistoManager(); + ~HistoManager(); private: void Book(); @@ -50,4 +50,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh index cbaa3eb3683..60ed07fdd85 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh @@ -41,28 +41,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard(); + ~PhysListEmStandard(); - public: + public: // This method is dummy for physics 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 + // registered to the process manager of each particle type virtual void ConstructProcess(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh index b5663d9f799..daa4f926e6e 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh @@ -46,26 +46,25 @@ class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); - ~PhysicsList(); + ~PhysicsList(); virtual void ConstructParticle(); virtual void ConstructProcess(); void AddPhysicsList(const G4String& name); - - void AddStepMax(); - + + void AddStepMax(); + private: G4VPhysicsConstructor* fEmPhysicsList; - G4String fEmName; - - PhysicsListMessenger* fMessenger; + G4String fEmName; + + PhysicsListMessenger* fMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh index 214576bf987..e5f3ee28f94 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh @@ -42,25 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger(); - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - - PhysicsList* fPhysicsList; - - G4UIdirectory* fPhysDir; - G4UIcmdWithAString* fListCmd; - + PhysicsList* fPhysicsList; + + G4UIdirectory* fPhysDir; + G4UIcmdWithAString* fListCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh index 33ee843861b..8c7a885ecc8 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh @@ -26,15 +26,15 @@ /// \file electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh /// \brief Definition of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -45,20 +45,18 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction(); + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction(); public: virtual void GeneratePrimaries(G4Event*); - G4ParticleGun* GetParticleGun() {return fParticleGun;}; + G4ParticleGun* GetParticleGun() { return fParticleGun; }; private: - G4ParticleGun* fParticleGun; + G4ParticleGun* fParticleGun; DetectorConstruction* fDetector; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh index af8a42fb163..5d0a9150b47 100644 --- a/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh @@ -34,24 +34,29 @@ #define ProcessesCount_HH #include "globals.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class OneProcessCount { -public: - OneProcessCount(G4String name) {fName=name; fCounter=0;}; - ~OneProcessCount() {}; - -public: - G4String GetName() {return fName;}; - G4int GetCounter() {return fCounter;}; - void Count() {fCounter++;}; - -private: - G4String fName; // process name - G4int fCounter; // process counter + public: + OneProcessCount(G4String name) + { + fName = name; + fCounter = 0; + }; + ~OneProcessCount() {}; + + public: + G4String GetName() { return fName; }; + G4int GetCounter() { return fCounter; }; + void Count() { fCounter++; }; + + private: + G4String fName; // process name + G4int fCounter; // process counter }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,9 +64,3 @@ private: typedef std::vector ProcessesCount; #endif - - - - - - diff --git a/examples/extended/electromagnetic/TestEm15/include/RunAction.hh b/examples/extended/electromagnetic/TestEm15/include/RunAction.hh index 5cf00f6e4c8..b9d806465f1 100644 --- a/examples/extended/electromagnetic/TestEm15/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/RunAction.hh @@ -33,8 +33,9 @@ #ifndef RunAction_h #define RunAction_h 1 -#include "G4UserRunAction.hh" #include "ProcessesCount.hh" + +#include "G4UserRunAction.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,49 +51,63 @@ class RunAction : public G4UserRunAction { public: RunAction(DetectorConstruction*, PrimaryGeneratorAction*); - ~RunAction(); + ~RunAction(); public: virtual void BeginOfRunAction(const G4Run*); - virtual void EndOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); void CountProcesses(G4String); - void SumPathLength (G4double truepl, G4double geompl) - {fTotalCount++; - fTruePL += truepl; fTruePL2 += truepl*truepl; - fGeomPL += geompl; fGeomPL2 += geompl*geompl; - }; - - void SumLateralDisplacement (G4double displa) - {fLDispl += displa; fLDispl2 += displa*displa;} - - void SumPsi (G4double psi) - {fPsiSpa += psi; fPsiSpa2 += psi*psi;} - - void SumTetaPlane (G4double teta) - {fTetPrj += teta; fTetPrj2 += teta*teta;} - - void SumPhiCorrel (G4double correl) - {fPhiCor += correl; fPhiCor2 += correl*correl;} - - G4double ComputeMscHighland(G4double pathLength); - + void SumPathLength(G4double truepl, G4double geompl) + { + fTotalCount++; + fTruePL += truepl; + fTruePL2 += truepl * truepl; + fGeomPL += geompl; + fGeomPL2 += geompl * geompl; + }; + + void SumLateralDisplacement(G4double displa) + { + fLDispl += displa; + fLDispl2 += displa * displa; + } + + void SumPsi(G4double psi) + { + fPsiSpa += psi; + fPsiSpa2 += psi * psi; + } + + void SumTetaPlane(G4double teta) + { + fTetPrj += teta; + fTetPrj2 += teta * teta; + } + + void SumPhiCorrel(G4double correl) + { + fPhiCor += correl; + fPhiCor2 += correl * correl; + } + + G4double ComputeMscHighland(G4double pathLength); + private: - DetectorConstruction* fDetector; + DetectorConstruction* fDetector; PrimaryGeneratorAction* fPrimary; - ProcessesCount* fProcCounter; - HistoManager* fHistoManager; - - G4int fTotalCount; + ProcessesCount* fProcCounter; + HistoManager* fHistoManager; + + G4int fTotalCount; G4double fTruePL, fTruePL2; G4double fGeomPL, fGeomPL2; G4double fLDispl, fLDispl2; G4double fPsiSpa, fPsiSpa2; G4double fTetPrj, fTetPrj2; - G4double fPhiCor, fPhiCor2; + G4double fPhiCor, fPhiCor2; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm15/include/StepMax.hh b/examples/extended/electromagnetic/TestEm15/include/StepMax.hh index 5f0f355d5a8..6f2b3343e8d 100644 --- a/examples/extended/electromagnetic/TestEm15/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm15/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -44,31 +44,30 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { - public: - - StepMax(const G4String& processName ="stepMax"); + public: + StepMax(const G4String& processName = "stepMax"); ~StepMax(); - virtual G4bool IsApplicable(const G4ParticleDefinition&); - void SetMaxStep(G4double); - G4double GetMaxStep() {return fMaxChargedStep;}; - - virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); + virtual G4bool IsApplicable(const G4ParticleDefinition&); + void SetMaxStep(G4double); + G4double GetMaxStep() { return fMaxChargedStep; }; - virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); - virtual G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) - {return 0.;}; // it is not needed here ! + virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - private: + virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) + { + return 0.; + }; // it is not needed here ! - G4double fMaxChargedStep; - StepMaxMessenger* fMess; + private: + G4double fMaxChargedStep; + StepMaxMessenger* fMess; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh index 6310bdeef2c..7f9fcf0250b 100644 --- a/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh @@ -41,16 +41,16 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger(); - + ~StepMaxMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - StepMax* fStepMax; + StepMax* fStepMax; G4UIcmdWithADoubleAndUnit* fStepMaxCmd; }; diff --git a/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh index b21dbab5e25..4faaf701331 100644 --- a/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh @@ -45,13 +45,13 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction(DetectorConstruction*, RunAction*); - ~SteppingAction(); + ~SteppingAction(); virtual void UserSteppingAction(const G4Step*); - + private: - DetectorConstruction* fDetector; - RunAction* fRunAction; + DetectorConstruction* fDetector; + RunAction* fRunAction; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc index 13da41ba644..dc092f31d61 100644 --- a/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc @@ -31,40 +31,45 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" #include "G4Box.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" - #include "G4GeometryManager.hh" -#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolume.hh" #include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" - +#include "G4Material.hh" #include "G4NistManager.hh" - -#include "G4UnitsTable.hh" +#include "G4PVPlacement.hh" #include "G4PhysicalConstants.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4SolidStore.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() -:G4VUserDetectorConstruction(),fWorld(0), fBox(0), fMaterial(0),fWMaterial(0), - fDetectorMessenger(0) + : G4VUserDetectorConstruction(), + fWorld(0), + fBox(0), + fMaterial(0), + fWMaterial(0), + fDetectorMessenger(0) { - fBoxSize = 100*m; fWorldSize = 1.2*fBoxSize; + fBoxSize = 100 * m; + fWorldSize = 1.2 * fBoxSize; DefineMaterials(); - SetMaterial("Water"); + SetMaterial("Water"); fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -80,84 +85,77 @@ void DetectorConstruction::DefineMaterials() // // define Elements // - G4double z,a; - - G4Element* H = new G4Element("Hydrogen" ,"H" , z= 1., a= 1.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); - G4Element* Na = new G4Element("Sodium" ,"Na", z=11., a= 22.99*g/mole); - G4Element* Ge = new G4Element("Germanium","Ge", z=32., a= 72.59*g/mole); - G4Element* I = new G4Element("Iodine" ,"I" , z=53., a= 126.90*g/mole); - G4Element* Bi = new G4Element("Bismuth" ,"Bi", z=83., a= 208.98*g/mole); - + G4double z, a; + + G4Element* H = new G4Element("Hydrogen", "H", z = 1., a = 1.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); + G4Element* Na = new G4Element("Sodium", "Na", z = 11., a = 22.99 * g / mole); + G4Element* Ge = new G4Element("Germanium", "Ge", z = 32., a = 72.59 * g / mole); + G4Element* I = new G4Element("Iodine", "I", z = 53., a = 126.90 * g / mole); + G4Element* Bi = new G4Element("Bismuth", "Bi", z = 83., a = 208.98 * g / mole); + // // define materials // G4double density; G4int ncomponents, natoms; - G4double fractionmass; - - G4Material* Air = - new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=70.*perCent); - Air->AddElement(O, fractionmass=30.*perCent); - - G4Material* H2l = - new G4Material("H2liquid", density= 70.8*mg/cm3, ncomponents=1); - H2l->AddElement(H, fractionmass=1.); - - G4Material* H2O = - new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); + G4double fractionmass; + + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 70. * perCent); + Air->AddElement(O, fractionmass = 30. * perCent); + + G4Material* H2l = new G4Material("H2liquid", density = 70.8 * mg / cm3, ncomponents = 1); + H2l->AddElement(H, fractionmass = 1.); + + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); H2O->SetChemicalFormula("H_2O"); - H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV); - - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - - new G4Material("Carbon" , z=6., a= 12.01*g/mole, density= 2.267*g/cm3); - - new G4Material("Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3); - - new G4Material("Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3); - - new G4Material("Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3); - - G4Material* NaI = - new G4Material("NaI", density= 3.67*g/cm3, ncomponents=2); - NaI->AddElement(Na, natoms=1); - NaI->AddElement(I , natoms=1); - NaI->GetIonisation()->SetMeanExcitationEnergy(452*eV); - - G4Material* Iod = - new G4Material("Iodine", density= 4.93*g/cm3, ncomponents=1); - Iod->AddElement(I , natoms=1); - - G4Material* BGO = - new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3); - BGO->AddElement(O , natoms=12); - BGO->AddElement(Ge, natoms= 3); - BGO->AddElement(Bi, natoms= 4); - - new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3); - - new G4Material("Tungsten" , z=74., a=183.85*g/mole, density= 19.30*g/cm3); - - new G4Material("Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3); - - new G4Material("Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3); - - density = universe_mean_density; //from PhysicalConstants.h - G4double pressure = 3.e-18*pascal; - G4double temperature = 2.73*kelvin; - G4Material* vacuum = - new G4Material("Galactic",z= 1,a= 1.008*g/mole,density, - kStateGas,temperature,pressure); + H2O->GetIonisation()->SetMeanExcitationEnergy(75.0 * eV); + + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + + new G4Material("Carbon", z = 6., a = 12.01 * g / mole, density = 2.267 * g / cm3); + + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + + new G4Material("Silicon", z = 14., a = 28.09 * g / mole, density = 2.330 * g / cm3); + + new G4Material("Germanium", z = 32., a = 72.61 * g / mole, density = 5.323 * g / cm3); + + G4Material* NaI = new G4Material("NaI", density = 3.67 * g / cm3, ncomponents = 2); + NaI->AddElement(Na, natoms = 1); + NaI->AddElement(I, natoms = 1); + NaI->GetIonisation()->SetMeanExcitationEnergy(452 * eV); + + G4Material* Iod = new G4Material("Iodine", density = 4.93 * g / cm3, ncomponents = 1); + Iod->AddElement(I, natoms = 1); + + G4Material* BGO = new G4Material("BGO", density = 7.10 * g / cm3, ncomponents = 3); + BGO->AddElement(O, natoms = 12); + BGO->AddElement(Ge, natoms = 3); + BGO->AddElement(Bi, natoms = 4); + + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); + + new G4Material("Tungsten", z = 74., a = 183.85 * g / mole, density = 19.30 * g / cm3); + + new G4Material("Lead", z = 82., a = 207.19 * g / mole, density = 11.35 * g / cm3); + + new G4Material("Uranium", z = 92., a = 238.03 * g / mole, density = 18.95 * g / cm3); + + density = universe_mean_density; // from PhysicalConstants.h + G4double pressure = 3.e-18 * pascal; + G4double temperature = 2.73 * kelvin; + G4Material* vacuum = new G4Material("Galactic", z = 1, a = 1.008 * g / mole, density, kStateGas, + temperature, pressure); G4cout << *(G4Material::GetMaterialTable()) << G4endl; - - //default material - fWMaterial = vacuum; + + // default material + fWMaterial = vacuum; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -169,48 +167,44 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() G4PhysicalVolumeStore::GetInstance()->Clean(); G4LogicalVolumeStore::GetInstance()->Clean(); G4SolidStore::GetInstance()->Clean(); - + // World // - G4Box* - sWorld = new G4Box("World", //name - fWorldSize/2,fWorldSize/2,fWorldSize/2); //dimensions - - G4LogicalVolume* - lWorld = new G4LogicalVolume(sWorld, //shape - fWMaterial, //material - "World"); //name - - fWorld = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - lWorld, //logical volume - "World", //name - 0, //mother volume - false, //no boolean operation - 0); //copy number - + G4Box* sWorld = new G4Box("World", // name + fWorldSize / 2, fWorldSize / 2, fWorldSize / 2); // dimensions + + G4LogicalVolume* lWorld = new G4LogicalVolume(sWorld, // shape + fWMaterial, // material + "World"); // name + + fWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + lWorld, // logical volume + "World", // name + 0, // mother volume + false, // no boolean operation + 0); // copy number + // Box - // - G4Box* - sBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - G4LogicalVolume* - lBox = new G4LogicalVolume(sBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fBox = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - lBox, //its logical volume - fMaterial->GetName(), //its name - lWorld, //its mother volume - false, //no boolean operation - 0); //copy number - + // + G4Box* sBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + G4LogicalVolume* lBox = new G4LogicalVolume(sBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fBox = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + lBox, // its logical volume + fMaterial->GetName(), // its name + lWorld, // its mother volume + false, // no boolean operation + 0); // copy number + PrintParameters(); - - //always return the root volume + + // always return the root volume // return fWorld; } @@ -219,8 +213,8 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() void DetectorConstruction::PrintParameters() { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -228,23 +222,24 @@ void DetectorConstruction::PrintParameters() void DetectorConstruction::SetMaterial(G4String materialChoice) { // search the material by its name - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); -if (pttoMaterial) { + if (pttoMaterial) { fMaterial = pttoMaterial; UpdateGeometry(); - } else { - G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " - << materialChoice << " not found" << G4endl; - } + } + else { + G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " << materialChoice + << " not found" << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorConstruction::SetSize(G4double value) { - fBoxSize = value; fWorldSize = 1.2*fBoxSize; + fBoxSize = value; + fWorldSize = 1.2 * fBoxSize; UpdateGeometry(); } @@ -254,8 +249,7 @@ void DetectorConstruction::SetSize(G4double value) void DetectorConstruction::UpdateGeometry() { - if (fWorld) - G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes()); + if (fWorld) G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc index 54e7a663f87..755dcefc751 100644 --- a/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc @@ -33,40 +33,42 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:G4UImessenger(),fDetector(Det), - fTestemDir(0), - fDetDir(0), - fMaterCmd(0), - fSizeCmd(0), - fUpdateCmd(0) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) + : G4UImessenger(), + fDetector(Det), + fTestemDir(0), + fDetDir(0), + fMaterCmd(0), + fSizeCmd(0), + fUpdateCmd(0) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize",this); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize", this); fSizeCmd->SetGuidance("Set size of the box"); - fSizeCmd->SetParameterName("Size",false); + fSizeCmd->SetParameterName("Size", false); fSizeCmd->SetRange("Size>0."); fSizeCmd->SetUnitCategory("Length"); - fSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this); + fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update", this); fUpdateCmd->SetGuidance("Update calorimeter geometry."); fUpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); fUpdateCmd->SetGuidance("if you changed geometrical value(s)."); @@ -78,24 +80,27 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; - delete fSizeCmd; + delete fSizeCmd; delete fUpdateCmd; - delete fDetDir; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fSizeCmd ) - { fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));} - - if( command == fUpdateCmd ) - { fDetector->UpdateGeometry(); } +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fSizeCmd) { + fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue)); + } + + if (command == fUpdateCmd) { + fDetector->UpdateGeometry(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc index 7a3fccf1554..65175da9239 100644 --- a/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc @@ -24,26 +24,24 @@ // ******************************************************************** // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HistoManager::HistoManager() - : fFileName("testem15") +HistoManager::HistoManager() : fFileName("testem15") { Book(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HistoManager::~HistoManager() -{ -} +HistoManager::~HistoManager() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,40 +54,40 @@ void HistoManager::Book() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName(fFileName); analysisManager->SetVerboseLevel(1); - analysisManager->SetActivation(true); //enable inactivation of histograms - + analysisManager->SetActivation(true); // enable inactivation of histograms + // Define histograms start values const G4int kMaxHisto = 17; - const G4String id[] = { "0", "1", "2", "3" , "4", "5", "6" , "7", "8", "9", - "10","11","12","13","14","15","16"}; - const G4String title[] = - { "dummy", //0 - "Multiple Scattering. True step length", //1 - "Multiple Scattering. Geom step length", //2 - "Multiple Scattering. Ratio geomSl/trueSl", //3 - "Multiple Scattering. Lateral displacement: radius", //4 - "Multiple Scattering. Lateral displac: psi_space", //5 - "Multiple Scattering. Angular distrib: theta_plane", //6 - "Multiple Scattering. Phi-position angle", //7 - "Multiple Scattering. Phi-direction angle", //8 - "Multiple Scattering. Correlation: std::cos(phiPos-phiDir)",//9 - "Gamma Conversion. Open Angle * Egamma", //10 - "Gamma Conversion. Log10(P recoil)", //11 - "Gamma Conversion. Phi P recoil angle", //12 - "Gamma Conversion. Phi P plus angle", //13 - "Gamma Conversion. 2 * cos(phiplus + phiminus) Asymmetry", //14 - "Gamma Conversion. E plus / E gamma", //15 - "Gamma Conversion. Phi of Gamma Polarization" //16 - }; - - // Default values (to be reset via /analysis/h1/set command) + const G4String id[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", + "9", "10", "11", "12", "13", "14", "15", "16"}; + const G4String title[] = { + "dummy", // 0 + "Multiple Scattering. True step length", // 1 + "Multiple Scattering. Geom step length", // 2 + "Multiple Scattering. Ratio geomSl/trueSl", // 3 + "Multiple Scattering. Lateral displacement: radius", // 4 + "Multiple Scattering. Lateral displac: psi_space", // 5 + "Multiple Scattering. Angular distrib: theta_plane", // 6 + "Multiple Scattering. Phi-position angle", // 7 + "Multiple Scattering. Phi-direction angle", // 8 + "Multiple Scattering. Correlation: std::cos(phiPos-phiDir)", // 9 + "Gamma Conversion. Open Angle * Egamma", // 10 + "Gamma Conversion. Log10(P recoil)", // 11 + "Gamma Conversion. Phi P recoil angle", // 12 + "Gamma Conversion. Phi P plus angle", // 13 + "Gamma Conversion. 2 * cos(phiplus + phiminus) Asymmetry", // 14 + "Gamma Conversion. E plus / E gamma", // 15 + "Gamma Conversion. Phi of Gamma Polarization" // 16 + }; + + // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; kCreateH1(id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } diff --git a/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc index 12c88f6d7f9..f3de0a10e28 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc @@ -29,95 +29,86 @@ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4eMultipleScattering.hh" -#include "G4hMultipleScattering.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuMultipleScattering.hh" - -#include "G4eIonisation.hh" +#include "G4MuPairProduction.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4ProcessManager.hh" #include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" #include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - #include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4ionIonisation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) -{} +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::~PhysListEmStandard() -{} +PhysListEmStandard::~PhysListEmStandard() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysListEmStandard::ConstructProcess() { // Add standard EM Processes - - auto particleIterator=GetParticleIterator(); + + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - + if (particleName == "gamma") { - // gamma + // gamma pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); pmanager->AddDiscreteProcess(new G4ComptonScattering); pmanager->AddDiscreteProcess(new G4GammaConversion); - - } else if (particleName == "e-") { - //electron - pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); - - } else if (particleName == "e+") { - //positron - pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MuMultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4MuIonisation, -1, 2,2); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3); - pmanager->AddProcess(new G4MuPairProduction, -1, 4,4); - - } else if( particleName == "GenericIon" ) { - pmanager->AddProcess(new G4hMultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4ionIonisation, -1, 2,2); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4hMultipleScattering, -1,1,1); - pmanager->AddProcess(new G4hIonisation, -1,2,2); + } + else if (particleName == "e-") { + // electron + pmanager->AddProcess(new G4eMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + } + else if (particleName == "e+") { + // positron + pmanager->AddProcess(new G4eMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0, -1, 4); + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon + pmanager->AddProcess(new G4MuMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); + } + else if (particleName == "GenericIon") { + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc index 478b4c20cbe..29a13015458 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc @@ -26,80 +26,76 @@ /// \file electromagnetic/TestEm15/src/PhysicsList.cc /// \brief Implementation of the PhysicsList class // -// +// // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" - + #include "PhysListEmStandard.hh" -#include "G4EmStandardPhysics_option3.hh" -#include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsWVI.hh" +#include "PhysicsListMessenger.hh" + #include "G4EmStandardPhysicsGS.hh" #include "G4EmStandardPhysicsSS.hh" - +#include "G4EmStandardPhysicsWVI.hh" +#include "G4EmStandardPhysics_option3.hh" +#include "G4EmStandardPhysics_option4.hh" #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // Bosons #include "G4ChargedGeantino.hh" -#include "G4Geantino.hh" #include "G4Gamma.hh" +#include "G4Geantino.hh" #include "G4OpticalPhoton.hh" // leptons -#include "G4MuonPlus.hh" -#include "G4MuonMinus.hh" -#include "G4NeutrinoMu.hh" +#include "G4AntiNeutrinoE.hh" #include "G4AntiNeutrinoMu.hh" - #include "G4Electron.hh" -#include "G4Positron.hh" +#include "G4MuonMinus.hh" +#include "G4MuonPlus.hh" #include "G4NeutrinoE.hh" -#include "G4AntiNeutrinoE.hh" +#include "G4NeutrinoMu.hh" +#include "G4Positron.hh" // Mesons -#include "G4PionPlus.hh" -#include "G4PionMinus.hh" -#include "G4PionZero.hh" +#include "G4AntiKaonZero.hh" #include "G4Eta.hh" #include "G4EtaPrime.hh" - -#include "G4KaonPlus.hh" #include "G4KaonMinus.hh" +#include "G4KaonPlus.hh" #include "G4KaonZero.hh" -#include "G4AntiKaonZero.hh" #include "G4KaonZeroLong.hh" #include "G4KaonZeroShort.hh" +#include "G4PionMinus.hh" +#include "G4PionPlus.hh" +#include "G4PionZero.hh" // Baryons -#include "G4Proton.hh" +#include "G4AntiNeutron.hh" #include "G4AntiProton.hh" #include "G4Neutron.hh" -#include "G4AntiNeutron.hh" +#include "G4Proton.hh" // Nuclei -#include "G4Deuteron.hh" -#include "G4Triton.hh" +#include "StepMax.hh" + #include "G4Alpha.hh" +#include "G4Deuteron.hh" #include "G4GenericIon.hh" - #include "G4ProcessManager.hh" -#include "StepMax.hh" +#include "G4Triton.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsList::PhysicsList() -: G4VModularPhysicsList(), - fEmPhysicsList(0), fMessenger(0) +PhysicsList::PhysicsList() : G4VModularPhysicsList(), fEmPhysicsList(0), fMessenger(0) { G4LossTableManager::Instance(); - SetDefaultCutValue(1*mm); - + SetDefaultCutValue(1 * mm); + fMessenger = new PhysicsListMessenger(this); SetVerboseLevel(1); @@ -120,17 +116,17 @@ PhysicsList::~PhysicsList() void PhysicsList::ConstructParticle() { -// pseudo-particles + // pseudo-particles G4Geantino::GeantinoDefinition(); G4ChargedGeantino::ChargedGeantinoDefinition(); - -// gamma + + // gamma G4Gamma::GammaDefinition(); - -// optical photon + + // optical photon G4OpticalPhoton::OpticalPhotonDefinition(); -// leptons + // leptons G4Electron::ElectronDefinition(); G4Positron::PositronDefinition(); G4MuonPlus::MuonPlusDefinition(); @@ -139,9 +135,9 @@ void PhysicsList::ConstructParticle() G4NeutrinoE::NeutrinoEDefinition(); G4AntiNeutrinoE::AntiNeutrinoEDefinition(); G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -// mesons + // mesons G4PionPlus::PionPlusDefinition(); G4PionMinus::PionMinusDefinition(); G4PionZero::PionZeroDefinition(); @@ -154,13 +150,13 @@ void PhysicsList::ConstructParticle() G4KaonZeroLong::KaonZeroLongDefinition(); G4KaonZeroShort::KaonZeroShortDefinition(); -// barions + // barions G4Proton::ProtonDefinition(); G4AntiProton::AntiProtonDefinition(); G4Neutron::NeutronDefinition(); G4AntiNeutron::AntiNeutronDefinition(); -// ions + // ions G4Deuteron::DeuteronDefinition(); G4Triton::TritonDefinition(); G4Alpha::AlphaDefinition(); @@ -178,69 +174,62 @@ void PhysicsList::ConstructProcess() // Electromagnetic physics list // fEmPhysicsList->ConstructProcess(); - + // Em options // G4EmParameters* param = G4EmParameters::Instance(); param->SetIntegral(false); - param->SetStepFunction(1., 1*mm); + param->SetStepFunction(1., 1 * mm); param->SetLossFluctuations(false); - + // step limitation (as a full process) - // - AddStepMax(); + // + AddStepMax(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>0) { + if (verboseLevel > 0) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } - + if (name == fEmName) return; if (name == "local") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt3") { - + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emstandardSS") { - + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "emstandardWVI") { - + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else if (name == "emstandardGS") { - + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else { + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } @@ -251,18 +240,16 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process StepMax* stepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ - G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - - if (stepMaxProcess->IsApplicable(*particle) && pmanager) - { - pmanager ->AddDiscreteProcess(stepMaxProcess); - } + while ((*particleIterator)()) { + G4ParticleDefinition* particle = particleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (stepMaxProcess->IsApplicable(*particle) && pmanager) { + pmanager->AddDiscreteProcess(stepMaxProcess); + } } } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc index 6fc7bc45c9d..4b4c13350ad 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc @@ -33,23 +33,22 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) -:G4UImessenger(),fPhysicsList(pPhys), - fPhysDir(0), - fListCmd(0) -{ + : G4UImessenger(), fPhysicsList(pPhys), fPhysDir(0), fListCmd(0) +{ fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); - fListCmd->AvailableForStates(G4State_PreInit); + fListCmd->SetParameterName("PList", false); + fListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -62,11 +61,11 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc index 11d755a195e..8e4742ff2d2 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc /// \brief Implementation of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,21 +35,20 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) -:G4VUserPrimaryGeneratorAction(),fParticleGun(0),fDetector(det) + : G4VUserPrimaryGeneratorAction(), fParticleGun(0), fDetector(det) { - fParticleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + fParticleGun = new G4ParticleGun(1); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(1*MeV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + fParticleGun->SetParticleEnergy(1 * MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,14 +62,13 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - G4double halfSize = 0.5*(fDetector->GetWorldSize()); - G4double x0 = - halfSize; - + G4double halfSize = 0.5 * (fDetector->GetWorldSize()); + G4double x0 = -halfSize; + fParticleGun->SetParticlePosition(G4ThreeVector(x0, 0., 0.)); fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm15/src/RunAction.cc b/examples/extended/electromagnetic/TestEm15/src/RunAction.cc index 0a74f8ac66c..444ee515e90 100644 --- a/examples/extended/electromagnetic/TestEm15/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/RunAction.cc @@ -26,76 +26,76 @@ /// \file electromagnetic/TestEm15/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" +#include "G4EmCalculator.hh" #include "G4Run.hh" #include "G4RunManager.hh" +#include "G4SystemOfUnits.hh" #include "G4UnitsTable.hh" -#include "G4EmCalculator.hh" - #include "Randomize.hh" -#include "G4SystemOfUnits.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim) - : G4UserRunAction(),fDetector(det), fPrimary(prim), fProcCounter(0), - fHistoManager(0) + : G4UserRunAction(), fDetector(det), fPrimary(prim), fProcCounter(0), fHistoManager(0) { - fHistoManager = new HistoManager(); + fHistoManager = new HistoManager(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::~RunAction() { - delete fHistoManager; + delete fHistoManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) -{ +{ // save Rndm status ////G4RunManager::GetRunManager()->SetRandomNumberStore(true); CLHEP::HepRandom::showEngineStatus(); fProcCounter = new ProcessesCount; fTotalCount = 0; - + fTruePL = fTruePL2 = fGeomPL = fGeomPL2 = 0.; fLDispl = fLDispl2 = fPsiSpa = fPsiSpa2 = 0.; fTetPrj = fTetPrj2 = 0.; fPhiCor = fPhiCor2 = 0.; - - //histograms + + // histograms // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::CountProcesses(G4String procName) { - //does the process already encounted ? - size_t nbProc = fProcCounter->size(); - size_t i = 0; - while ((iGetName()!=procName)) i++; - if (i == nbProc) fProcCounter->push_back( new OneProcessCount(procName)); - - (*fProcCounter)[i]->Count(); + // does the process already encounted ? + size_t nbProc = fProcCounter->size(); + size_t i = 0; + while ((i < nbProc) && ((*fProcCounter)[i]->GetName() != procName)) + i++; + if (i == nbProc) fProcCounter->push_back(new OneProcessCount(procName)); + + (*fProcCounter)[i]->Count(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -104,125 +104,112 @@ void RunAction::EndOfRunAction(const G4Run* aRun) { G4int NbOfEvents = aRun->GetNumberOfEvent(); if (NbOfEvents == 0) return; - - G4int prec = G4cout.precision(5); - + + G4int prec = G4cout.precision(5); + G4Material* material = fDetector->GetMaterial(); G4double density = material->GetDensity(); - - G4ParticleDefinition* particle = - fPrimary->GetParticleGun()->GetParticleDefinition(); - G4String Particle = particle->GetParticleName(); + + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); + G4String Particle = particle->GetParticleName(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); - G4cout << "\n The run consists of " << NbOfEvents << " "<< Particle << " of " - << G4BestUnit(energy,"Energy") << " through " - << G4BestUnit(fDetector->GetBoxSize(),"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; - - //frequency of processes + G4cout << "\n The run consists of " << NbOfEvents << " " << Particle << " of " + << G4BestUnit(energy, "Energy") << " through " + << G4BestUnit(fDetector->GetBoxSize(), "Length") << " of " << material->GetName() + << " (density: " << G4BestUnit(density, "Volumic Mass") << ")" << G4endl; + + // frequency of processes G4cout << "\n Process calls frequency --->"; - for (size_t i=0; i< fProcCounter->size();i++) { - G4String procName = (*fProcCounter)[i]->GetName(); - G4int count = (*fProcCounter)[i]->GetCounter(); - G4cout << "\t" << procName << " = " << count; + for (size_t i = 0; i < fProcCounter->size(); i++) { + G4String procName = (*fProcCounter)[i]->GetName(); + G4int count = (*fProcCounter)[i]->GetCounter(); + G4cout << "\t" << procName << " = " << count; } - + if (fTotalCount > 0) { - - //compute path length and related quantities + // compute path length and related quantities // - G4double MeanTPL = fTruePL /fTotalCount; - G4double MeanTPL2 = fTruePL2/fTotalCount; - G4double rmsTPL = std::sqrt(std::fabs(MeanTPL2 - MeanTPL*MeanTPL)); - - G4double MeanGPL = fGeomPL /fTotalCount; - G4double MeanGPL2 = fGeomPL2/fTotalCount; - G4double rmsGPL = std::sqrt(std::fabs(MeanGPL2 - MeanGPL*MeanGPL)); - - G4double MeanLaD = fLDispl /fTotalCount; - G4double MeanLaD2 = fLDispl2/fTotalCount; - G4double rmsLaD = std::sqrt(std::fabs(MeanLaD2 - MeanLaD*MeanLaD)); - - G4double MeanPsi = fPsiSpa /(fTotalCount); - G4double MeanPsi2 = fPsiSpa2/(fTotalCount); - G4double rmsPsi = std::sqrt(std::fabs(MeanPsi2 - MeanPsi*MeanPsi)); - - G4double MeanTeta = fTetPrj /(2*fTotalCount); - G4double MeanTeta2 = fTetPrj2/(2*fTotalCount); - G4double rmsTeta = std::sqrt(std::fabs(MeanTeta2 - MeanTeta*MeanTeta)); - - G4double MeanCorrel = fPhiCor /(fTotalCount); - G4double MeanCorrel2 = fPhiCor2/(fTotalCount); - G4double rmsCorrel = - std::sqrt(std::fabs(MeanCorrel2-MeanCorrel*MeanCorrel)); - - G4cout << "\n\n truePathLength :\t" << G4BestUnit(MeanTPL,"Length") - << " +- " << G4BestUnit( rmsTPL,"Length") - << "\n geomPathLength :\t" << G4BestUnit(MeanGPL,"Length") - << " +- " << G4BestUnit( rmsGPL,"Length") - << "\n lateralDisplac :\t" << G4BestUnit(MeanLaD,"Length") - << " +- " << G4BestUnit( rmsLaD,"Length") - << "\n Psi :\t" << MeanPsi/mrad << " mrad" - << " +- " << rmsPsi /mrad << " mrad" - << " (" << MeanPsi/deg << " deg" - << " +- " << rmsPsi /deg << " deg)" - << G4endl; - - G4cout << "\n Theta_plane :\t" << rmsTeta/mrad << " mrad" - << " (" << rmsTeta/deg << " deg)" - << "\n phi correlation:\t" << MeanCorrel - << " +- " << rmsCorrel - << " (std::cos(phi_pos - phi_dir))" - << G4endl; - - - //cross check from G4EmCalculator + G4double MeanTPL = fTruePL / fTotalCount; + G4double MeanTPL2 = fTruePL2 / fTotalCount; + G4double rmsTPL = std::sqrt(std::fabs(MeanTPL2 - MeanTPL * MeanTPL)); + + G4double MeanGPL = fGeomPL / fTotalCount; + G4double MeanGPL2 = fGeomPL2 / fTotalCount; + G4double rmsGPL = std::sqrt(std::fabs(MeanGPL2 - MeanGPL * MeanGPL)); + + G4double MeanLaD = fLDispl / fTotalCount; + G4double MeanLaD2 = fLDispl2 / fTotalCount; + G4double rmsLaD = std::sqrt(std::fabs(MeanLaD2 - MeanLaD * MeanLaD)); + + G4double MeanPsi = fPsiSpa / (fTotalCount); + G4double MeanPsi2 = fPsiSpa2 / (fTotalCount); + G4double rmsPsi = std::sqrt(std::fabs(MeanPsi2 - MeanPsi * MeanPsi)); + + G4double MeanTeta = fTetPrj / (2 * fTotalCount); + G4double MeanTeta2 = fTetPrj2 / (2 * fTotalCount); + G4double rmsTeta = std::sqrt(std::fabs(MeanTeta2 - MeanTeta * MeanTeta)); + + G4double MeanCorrel = fPhiCor / (fTotalCount); + G4double MeanCorrel2 = fPhiCor2 / (fTotalCount); + G4double rmsCorrel = std::sqrt(std::fabs(MeanCorrel2 - MeanCorrel * MeanCorrel)); + + G4cout << "\n\n truePathLength :\t" << G4BestUnit(MeanTPL, "Length") << " +- " + << G4BestUnit(rmsTPL, "Length") << "\n geomPathLength :\t" + << G4BestUnit(MeanGPL, "Length") << " +- " << G4BestUnit(rmsGPL, "Length") + << "\n lateralDisplac :\t" << G4BestUnit(MeanLaD, "Length") << " +- " + << G4BestUnit(rmsLaD, "Length") << "\n Psi :\t" << MeanPsi / mrad << " mrad" + << " +- " << rmsPsi / mrad << " mrad" + << " (" << MeanPsi / deg << " deg" + << " +- " << rmsPsi / deg << " deg)" << G4endl; + + G4cout << "\n Theta_plane :\t" << rmsTeta / mrad << " mrad" + << " (" << rmsTeta / deg << " deg)" + << "\n phi correlation:\t" << MeanCorrel << " +- " << rmsCorrel + << " (std::cos(phi_pos - phi_dir))" << G4endl; + + // cross check from G4EmCalculator // G4cout << "\n Verification from G4EmCalculator. \n"; - + G4EmCalculator emCal; - - //get transport mean free path (for multiple scattering) - G4double MSmfp = emCal.GetMeanFreePath(energy,particle,"msc",material); - - //get range from restricted dedx - G4double range = emCal.GetRangeFromRestricteDEDX(energy,particle,material); - - //effective facRange - G4double efFacrange = MeanTPL/std::max(MSmfp, range); - if (MeanTPL/range >= 0.99) efFacrange = 1.; - - G4cout << "\n transport mean free path :\t" << G4BestUnit(MSmfp,"Length") - << "\n range from restrict dE/dx:\t" << G4BestUnit(range,"Length") - << "\n ---> effective facRange :\t" << efFacrange - << G4endl; - - G4cout << "\n compute theta0 from Highland :\t" - << ComputeMscHighland(MeanTPL)/mrad << " mrad" - << " (" << ComputeMscHighland(MeanTPL)/deg << " deg)" - << G4endl; - - } else - G4cout<< G4endl; - - //restore default format - G4cout.precision(prec); - - // delete and remove all contents in fProcCounter - while (fProcCounter->size()>0){ - OneProcessCount* aProcCount=fProcCounter->back(); + + // get transport mean free path (for multiple scattering) + G4double MSmfp = emCal.GetMeanFreePath(energy, particle, "msc", material); + + // get range from restricted dedx + G4double range = emCal.GetRangeFromRestricteDEDX(energy, particle, material); + + // effective facRange + G4double efFacrange = MeanTPL / std::max(MSmfp, range); + if (MeanTPL / range >= 0.99) efFacrange = 1.; + + G4cout << "\n transport mean free path :\t" << G4BestUnit(MSmfp, "Length") + << "\n range from restrict dE/dx:\t" << G4BestUnit(range, "Length") + << "\n ---> effective facRange :\t" << efFacrange << G4endl; + + G4cout << "\n compute theta0 from Highland :\t" << ComputeMscHighland(MeanTPL) / mrad << " mrad" + << " (" << ComputeMscHighland(MeanTPL) / deg << " deg)" << G4endl; + } + else + G4cout << G4endl; + + // restore default format + G4cout.precision(prec); + + // delete and remove all contents in fProcCounter + while (fProcCounter->size() > 0) { + OneProcessCount* aProcCount = fProcCounter->back(); fProcCounter->pop_back(); delete aProcCount; } delete fProcCounter; - - //save histograms - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { - analysisManager->Write(); - analysisManager->CloseFile(); - } + + // save histograms + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + if (analysisManager->IsActive()) { + analysisManager->Write(); + analysisManager->CloseFile(); + } // show Rndm status CLHEP::HepRandom::showEngineStatus(); @@ -232,21 +219,21 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4double RunAction::ComputeMscHighland(G4double pathLength) { - //compute the width of the Gaussian central part of the MultipleScattering - //projected angular distribution. - //Eur. Phys. Jour. C15 (2000) page 166, formule 23.9 + // compute the width of the Gaussian central part of the MultipleScattering + // projected angular distribution. + // Eur. Phys. Jour. C15 (2000) page 166, formule 23.9 - G4double t = pathLength/(fDetector->GetMaterial()->GetRadlen()); - if (t < DBL_MIN) return 0.; + G4double t = pathLength / (fDetector->GetMaterial()->GetRadlen()); + if (t < DBL_MIN) return 0.; - G4ParticleGun* particle = fPrimary->GetParticleGun(); - G4double T = particle->GetParticleEnergy(); - G4double M = particle->GetParticleDefinition()->GetPDGMass(); - G4double z = std::abs(particle->GetParticleDefinition()->GetPDGCharge()/eplus); + G4ParticleGun* particle = fPrimary->GetParticleGun(); + G4double T = particle->GetParticleEnergy(); + G4double M = particle->GetParticleDefinition()->GetPDGMass(); + G4double z = std::abs(particle->GetParticleDefinition()->GetPDGCharge() / eplus); - G4double bpc = T*(T+2*M)/(T+M); - G4double teta0 = 13.6*MeV*z*std::sqrt(t)*(1.+0.038*std::log(t))/bpc; - return teta0; + G4double bpc = T * (T + 2 * M) / (T + M); + G4double teta0 = 13.6 * MeV * z * std::sqrt(t) * (1. + 0.038 * std::log(t)) / bpc; + return teta0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/StepMax.cc b/examples/extended/electromagnetic/TestEm15/src/StepMax.cc index a4d5cd07ff2..490a8d1342c 100644 --- a/examples/extended/electromagnetic/TestEm15/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm15/src/StepMax.cc @@ -31,46 +31,51 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMax::StepMax(const G4String& processName) - : G4VDiscreteProcess(processName),fMaxChargedStep(DBL_MAX),fMess(0) + : G4VDiscreteProcess(processName), fMaxChargedStep(DBL_MAX), fMess(0) { fMess = new StepMaxMessenger(this); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) -{ +G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) +{ return (particle.GetPDGCharge() != 0.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void StepMax::SetMaxStep(G4double step) {fMaxChargedStep = step;} + +void StepMax::SetMaxStep(G4double step) +{ + fMaxChargedStep = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track& aTrack, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; - + G4double ProposedStep = DBL_MAX; - if((fMaxChargedStep > 0.) && - (aTrack.GetVolume() != 0) && - (aTrack.GetVolume()->GetName() != "World")) - ProposedStep = fMaxChargedStep; + if ((fMaxChargedStep > 0.) && (aTrack.GetVolume() != 0) + && (aTrack.GetVolume()->GetName() != "World")) + ProposedStep = fMaxChargedStep; return ProposedStep; } @@ -79,11 +84,9 @@ G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track& aTrack, G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc index 6236e138c92..9cdf0970f33 100644 --- a/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc @@ -33,16 +33,17 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -:G4UImessenger(),fStepMax(stepM),fStepMaxCmd(0) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); + : G4UImessenger(), fStepMax(stepM), fStepMaxCmd(0) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); } @@ -57,9 +58,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc index e6d2b0da979..b296a14bc05 100644 --- a/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc @@ -26,170 +26,167 @@ /// \file electromagnetic/TestEm15/src/SteppingAction.cc /// \brief Implementation of the SteppingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" + #include "DetectorConstruction.hh" -#include "RunAction.hh" #include "HistoManager.hh" -#include "G4ParticleTypes.hh" +#include "RunAction.hh" +#include "G4ParticleTypes.hh" #include "G4RunManager.hh" -#include #include +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(DetectorConstruction* det, - RunAction* RuAct) -:G4UserSteppingAction(),fDetector(det), fRunAction(RuAct) -{ } +SteppingAction::SteppingAction(DetectorConstruction* det, RunAction* RuAct) + : G4UserSteppingAction(), fDetector(det), fRunAction(RuAct) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::~SteppingAction() -{ } +SteppingAction::~SteppingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) { G4StepPoint* prePoint = aStep->GetPreStepPoint(); - + // if World --> return - if(prePoint->GetTouchableHandle()->GetVolume()==fDetector->GetWorld()) return; - + if (prePoint->GetTouchableHandle()->GetVolume() == fDetector->GetWorld()) return; + // here we enter in the absorber Box // tag the event to be killed anyway after this step // G4RunManager::GetRunManager()->AbortEvent(); - - //count processes and keep only Multiple Scattering or gamma converion - // + + // count processes and keep only Multiple Scattering or gamma converion + // G4StepPoint* endPoint = aStep->GetPostStepPoint(); G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName(); fRunAction->CountProcesses(procName); - + if (procName == "msc" || procName == "muMsc" || procName == "stepMax") { - - //below, only multiple Scattering happens + // below, only multiple Scattering happens // - G4ThreeVector position = endPoint->GetPosition(); + G4ThreeVector position = endPoint->GetPosition(); G4ThreeVector direction = endPoint->GetMomentumDirection(); - - G4double truePathLength = aStep->GetStepLength(); - G4double geomPathLength = position.x() + 0.5*fDetector->GetBoxSize(); - G4double ratio = geomPathLength/truePathLength; - fRunAction->SumPathLength(truePathLength,geomPathLength); - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - analysisManager->FillH1(1,truePathLength); - analysisManager->FillH1(2,geomPathLength); - analysisManager->FillH1(3,ratio); - + + G4double truePathLength = aStep->GetStepLength(); + G4double geomPathLength = position.x() + 0.5 * fDetector->GetBoxSize(); + G4double ratio = geomPathLength / truePathLength; + fRunAction->SumPathLength(truePathLength, geomPathLength); + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + analysisManager->FillH1(1, truePathLength); + analysisManager->FillH1(2, geomPathLength); + analysisManager->FillH1(3, ratio); + G4double yend = position.y(), zend = position.z(); - G4double lateralDisplacement = std::sqrt(yend*yend + zend*zend); + G4double lateralDisplacement = std::sqrt(yend * yend + zend * zend); fRunAction->SumLateralDisplacement(lateralDisplacement); - analysisManager->FillH1(4,lateralDisplacement); - - G4double psi = std::atan(lateralDisplacement/geomPathLength); + analysisManager->FillH1(4, lateralDisplacement); + + G4double psi = std::atan(lateralDisplacement / geomPathLength); fRunAction->SumPsi(psi); - analysisManager->FillH1(5,psi); - - G4double xdir = direction.x(), ydir = direction.y(), zdir = direction.z(); - G4double tetaPlane = std::atan2(ydir, xdir); + analysisManager->FillH1(5, psi); + + G4double xdir = direction.x(), ydir = direction.y(), zdir = direction.z(); + G4double tetaPlane = std::atan2(ydir, xdir); fRunAction->SumTetaPlane(tetaPlane); - analysisManager->FillH1(6,tetaPlane); - tetaPlane = std::atan2(zdir, xdir); + analysisManager->FillH1(6, tetaPlane); + tetaPlane = std::atan2(zdir, xdir); fRunAction->SumTetaPlane(tetaPlane); - analysisManager->FillH1(6,tetaPlane); - - G4double phiPos = std::atan2(zend, yend); - analysisManager->FillH1(7,phiPos); - G4double phiDir = std::atan2(zdir, ydir); - analysisManager->FillH1(8,phiDir); + analysisManager->FillH1(6, tetaPlane); + + G4double phiPos = std::atan2(zend, yend); + analysisManager->FillH1(7, phiPos); + G4double phiDir = std::atan2(zdir, ydir); + analysisManager->FillH1(8, phiDir); G4double phiCorrel = 0.; - if (lateralDisplacement > 0.) - phiCorrel = (yend*ydir + zend*zdir)/lateralDisplacement; + if (lateralDisplacement > 0.) phiCorrel = (yend * ydir + zend * zdir) / lateralDisplacement; fRunAction->SumPhiCorrel(phiCorrel); - analysisManager->FillH1(9,phiCorrel); - } else if (procName == "conv" || procName == "GammaToMuPair" ) { - + analysisManager->FillH1(9, phiCorrel); + } + else if (procName == "conv" || procName == "GammaToMuPair") { // gamma conversion - + G4StepPoint* PrePoint = aStep->GetPreStepPoint(); - G4double EGamma = PrePoint->GetTotalEnergy(); - G4ThreeVector PGamma = PrePoint->GetMomentum(); - G4ThreeVector PolaGamma = PrePoint->GetPolarization(); + G4double EGamma = PrePoint->GetTotalEnergy(); + G4ThreeVector PGamma = PrePoint->GetMomentum(); + G4ThreeVector PolaGamma = PrePoint->GetPolarization(); - G4double Eplus=-1; + G4double Eplus = -1; G4ThreeVector Pplus, Pminus, Precoil; const G4TrackVector* secondary = fpSteppingManager->GetSecondary(); const size_t Nsecondaries = (*secondary).size(); - //No conversion , E < threshold + // No conversion , E < threshold if (Nsecondaries == 0) return; - - for (size_t lp=0; lp< std::min(Nsecondaries,size_t(2) ); lp++) { - if (((*secondary)[lp]->GetDefinition()==G4Electron::Definition()) - || ((*secondary)[lp]->GetDefinition()==G4MuonMinus::Definition()) ) - { - Pminus = (*secondary)[lp]->GetMomentum(); - } - if (((*secondary)[lp]->GetDefinition()==G4Positron::Definition()) - || ((*secondary)[lp]->GetDefinition()==G4MuonPlus::Definition()) ) - { - Eplus = (*secondary)[lp]->GetTotalEnergy(); - Pplus = (*secondary)[lp]->GetMomentum(); - } + + for (size_t lp = 0; lp < std::min(Nsecondaries, size_t(2)); lp++) { + if (((*secondary)[lp]->GetDefinition() == G4Electron::Definition()) + || ((*secondary)[lp]->GetDefinition() == G4MuonMinus::Definition())) + { + Pminus = (*secondary)[lp]->GetMomentum(); + } + if (((*secondary)[lp]->GetDefinition() == G4Positron::Definition()) + || ((*secondary)[lp]->GetDefinition() == G4MuonPlus::Definition())) + { + Eplus = (*secondary)[lp]->GetTotalEnergy(); + Pplus = (*secondary)[lp]->GetMomentum(); + } } - if ( Nsecondaries >= 3 ) { - Precoil = (*secondary)[2]->GetMomentum(); + if (Nsecondaries >= 3) { + Precoil = (*secondary)[2]->GetMomentum(); } G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - + // Fill Histograms - - G4ThreeVector z = PGamma.unit(); // gamma direction - G4ThreeVector x(1.,0.,0.); - + + G4ThreeVector z = PGamma.unit(); // gamma direction + G4ThreeVector x(1., 0., 0.); + // pola perpendicular to direction - if ( PolaGamma.mag() != 0.0 ) { + if (PolaGamma.mag() != 0.0) { x = PolaGamma.unit(); - } else { // Pola = 0 case + } + else { // Pola = 0 case x = z.orthogonal().unit(); } G4ThreeVector y = z; y = y.cross(x); - G4RotationMatrix GtoW(x,y,z); // from gamma ref. sys. to World - G4RotationMatrix WtoG = inverseOf(GtoW); // from World to gamma ref. sys. - + G4RotationMatrix GtoW(x, y, z); // from gamma ref. sys. to World + G4RotationMatrix WtoG = inverseOf(GtoW); // from World to gamma ref. sys. G4double angleE = Pplus.angle(Pminus) * EGamma; - analysisManager->FillH1(10,angleE); - - if ( Nsecondaries >= 3 ) { + analysisManager->FillH1(10, angleE); + + if (Nsecondaries >= 3) { // recoil returned - analysisManager->FillH1(11,std::log10(Precoil.mag())); - analysisManager->FillH1(12,Precoil.transform(WtoG).phi()); + analysisManager->FillH1(11, std::log10(Precoil.mag())); + analysisManager->FillH1(12, Precoil.transform(WtoG).phi()); } - G4double phiPlus = Pplus.transform(WtoG).phi(); - G4double phiMinus = Pminus.transform(WtoG).phi(); - analysisManager->FillH1(13,phiPlus); - analysisManager->FillH1(14,std::cos(phiPlus + phiMinus) * -2.0); - analysisManager->FillH1(15,Eplus/EGamma); - - G4double phiPola = PolaGamma.transform(WtoG).phi(); + G4double phiPlus = Pplus.transform(WtoG).phi(); + G4double phiMinus = Pminus.transform(WtoG).phi(); + analysisManager->FillH1(13, phiPlus); + analysisManager->FillH1(14, std::cos(phiPlus + phiMinus) * -2.0); + analysisManager->FillH1(15, Eplus / EGamma); + + G4double phiPola = PolaGamma.transform(WtoG).phi(); analysisManager->FillH1(16, phiPola); } } diff --git a/examples/extended/electromagnetic/TestEm16/Box_1m_Cu.gdml b/examples/extended/electromagnetic/TestEm16/Box_1m_Cu.gdml index c56bde053db..da2c385b18f 100644 --- a/examples/extended/electromagnetic/TestEm16/Box_1m_Cu.gdml +++ b/examples/extended/electromagnetic/TestEm16/Box_1m_Cu.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/extended/electromagnetic/TestEm16/CMakeLists.txt b/examples/extended/electromagnetic/TestEm16/CMakeLists.txt index fa6c6ff1ba7..d066260ac99 100644 --- a/examples/extended/electromagnetic/TestEm16/CMakeLists.txt +++ b/examples/extended/electromagnetic/TestEm16/CMakeLists.txt @@ -41,7 +41,7 @@ target_link_libraries(TestEm16 ${Geant4_LIBRARIES} ) # set(TestEm16_SCRIPTS run01.mac run01_prot.mac run02.mac TestEm16.in TestEm16.out gui.mac vis.mac - TestReflection.mac vis_TestReflection.mac Box_1m_Cu.gdml + TestReflection.mac Box_1m_Cu.gdml ) foreach(_script ${TestEm16_SCRIPTS}) diff --git a/examples/extended/electromagnetic/TestEm16/History b/examples/extended/electromagnetic/TestEm16/History index 18fd326f346..a0a76b64764 100644 --- a/examples/extended/electromagnetic/TestEm16/History +++ b/examples/extended/electromagnetic/TestEm16/History @@ -1,12 +1,10 @@ # Example TestEm16 History See `CONTRIBUTING.rst` for details of **required** info/format for each entry, -which **must** added in reverse chronological order (newest at the top). -It must **not** be used as a substitute for writing good git commit messages! +which **must** added in reverse chronological order (newest at the top). It must **not** +be used as a substitute for writing good git commit messages! -------------------------------------------------------------------------------- - -## 2023-12-14 H.Burkhardt (testem16-V11-01-04) +## 2023-12-14 H.Burkhardt ( testem16-V11-02-00) - update README to document all macros ## 2023-10-16 H.Burkhardt (testem16-V11-01-03) diff --git a/examples/extended/electromagnetic/TestEm16/TestEm16.out b/examples/extended/electromagnetic/TestEm16/TestEm16.out index 12485885afb..9e57d7666ab 100644 --- a/examples/extended/electromagnetic/TestEm16/TestEm16.out +++ b/examples/extended/electromagnetic/TestEm16/TestEm16.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -238,7 +238,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -334,7 +334,7 @@ G4SynchrotronRadiation::GetRandomEnergySR : Run terminated. Run Summary Number of events processed : 100 - User=0.240000s Real=0.244143s Sys=0.010000s + User=0.200000s Real=0.233569s Sys=0.000000s Summary for synchrotron radiation : Number of photons = 64566 Emean = 20.42 +/- 0.1465 keV diff --git a/examples/extended/electromagnetic/TestEm16/include/Run.hh b/examples/extended/electromagnetic/TestEm16/include/Run.hh index adcb8e58b0e..e43f755c2a0 100644 --- a/examples/extended/electromagnetic/TestEm16/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm16/include/Run.hh @@ -50,7 +50,7 @@ class Run : public G4Run public: G4int f_n_gam_sync = 0; // nb of synchrotron radiation photons generated - G4double f_e_gam_sync = 0, f_e_gam_sync2 = 0; // energy of synchrotron + G4double f_e_gam_sync = 0, f_e_gam_sync2 = 0; // energy of synchrotron G4double f_e_gam_sync_max = 0; // radiation photons generated G4double f_lam_gam_sync = 0; // step length between synchr radiation photons G4double f_n_Xray_Refl = 0; diff --git a/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc index 9af7e3122bf..6ee2ff29b6f 100644 --- a/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc @@ -52,8 +52,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorConstruction::DetectorConstruction() - : G4VUserDetectorConstruction(), fBoxSize(500 * m) +DetectorConstruction::DetectorConstruction() : G4VUserDetectorConstruction(), fBoxSize(500 * m) { DefineMaterials(); SetMaterial("Iron"); diff --git a/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc index fe129e4166c..b85143ccaa4 100644 --- a/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc @@ -41,8 +41,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) - : G4UImessenger(), fDetector(Det) +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : G4UImessenger(), fDetector(Det) { fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance(" detector control."); diff --git a/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc index 7a187054e45..5b3e3f229b0 100644 --- a/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc @@ -53,8 +53,7 @@ void HistoManager::Book() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName(fFileName); if (analysisManager->GetVerboseLevel() > 1) - G4cout << __FILE__ << " line " << __LINE__ << " " << __FUNCTION__ - << " fFileName=" << fFileName + G4cout << __FILE__ << " line " << __LINE__ << " " << __FUNCTION__ << " fFileName=" << fFileName << " G4RunManager::GetRunManager()=" << G4RunManager::GetRunManager() << G4endl; // booked once per thread analysisManager->SetVerboseLevel(1); diff --git a/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc index 74fdefb01b1..c9b00d9baa0 100644 --- a/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc @@ -105,10 +105,9 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) G4double Egamma = (*secondary)[lp - 1]->GetTotalEnergy(); ++run->f_n_Xray_Refl; analysisManager->FillH1(1, Egamma, 1. / run->GetNumberOfEventToBeProcessed()); - if (analysisManager->GetVerboseLevel() > 1 && run->f_n_Xray_Refl < nprint ) + if (analysisManager->GetVerboseLevel() > 1 && run->f_n_Xray_Refl < nprint) G4cout << __FILE__ << " line " << __LINE__ << " " << __FUNCTION__ - << " iCalled=" << std::setw(3) << iCalled - << " eventID=" << std::setw(3) << eventID + << " iCalled=" << std::setw(3) << iCalled << " eventID=" << std::setw(3) << eventID << " f_n_Xray_Refl=" << run->f_n_Xray_Refl << " ProcessName=" << process->GetProcessName() << " direction=" << trk->GetMomentumDirection() << " Egamma=" << Egamma / keV @@ -118,7 +117,7 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) } const G4VProcess* creator = trk->GetCreatorProcess(); - G4int CreatorProcessSubType=0; + G4int CreatorProcessSubType = 0; if (creator != nullptr) CreatorProcessSubType = creator->GetProcessSubType(); if (CreatorProcessSubType == fGammaReflection) { // transportation after XrayReflection if (IncomingPhotonDirection != G4ThreeVector(0, 0, 0)) { @@ -128,8 +127,7 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) analysisManager->FillH1(4, IncidentAngle, 1. / run->GetNumberOfEventToBeProcessed()); if (analysisManager->GetVerboseLevel() > 1 && iCalled < nprint) G4cout << __FILE__ << " line " << __LINE__ << " " << __FUNCTION__ - << " iCalled=" << std::setw(3) << iCalled - << " eventID=" << std::setw(3) << eventID + << " iCalled=" << std::setw(3) << iCalled << " eventID=" << std::setw(3) << eventID << " CreatorProcname=" << creator->GetProcessName() << " ProcessName=" << process->GetProcessName() << " IncomingPhotonDirection=" << IncomingPhotonDirection diff --git a/examples/extended/electromagnetic/TestEm16/vis_TestReflection.mac b/examples/extended/electromagnetic/TestEm16/vis_TestReflection.mac deleted file mode 100644 index aa5817a8a8b..00000000000 --- a/examples/extended/electromagnetic/TestEm16/vis_TestReflection.mac +++ /dev/null @@ -1,87 +0,0 @@ -/run/numberOfThreads 1 # -/control/cout/setCoutFile .out #---- write to one file per thread -# -/control/verbose 1 # with 1 also echoing this -/tracking/verbose 1 # at least 1 to get initial point, use 2 to see ustepMax, utrakMax from SteppingVerbose::TrackingStarted -/geometry/navigator/verbose 0 -# -/control/useDoublePrecision -# -/testem/det/setSize 1 m -/testem/det/setMat Iron -/testem/det/GeomFile /Users/hbu/www/Geom/Box_1m_Fe.gdml # geometry to test reflection -# -/run/initialize -# -/globalField/setValue 0 0 0 T -/gun/particle gamma -/gun/energy 100 keV -# -# hit with 1 degree in y at 0,0,0 -- barely visible -# /gun/position 0 0.00872620321864176 -0.499923847578196 m -# /gun/direction 0 -0.0174524064372835 0.999847695156391 -# 30 deg - to make well visible -/gun/position 0 0.25 -0.433012701892219 m -/gun/direction 0 -0.5 0.866025403784439 -# -# Open a viewer -/vis/open -# This opens the default viewer - see examples/basic/B1/vis.mac for a -# more comprehensive overview of options. Also the documentation. -# -# Disable auto refresh and quieten vis messages whilst scene and -# trajectories are established: -/vis/viewer/set/autoRefresh false -/vis/verbose errors -# -# Draw geometry: -/vis/drawVolume -# -# Specify view angle: -#/vis/viewer/set/viewpointThetaPhi 90. 0. -# -# Specify zoom value: -/vis/viewer/zoom 1.4 -# -# Specify style (surface or wireframe): -#/vis/viewer/set/style wireframe -# -# Draw coordinate axes: -/vis/scene/add/axes 0 0 0 1 m -# -# Draw smooth trajectories at end of event, showing trajectory points -# as markers 2 pixels wide: -/vis/scene/add/trajectories smooth -/vis/modeling/trajectories/create/drawByCharge -/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true -/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 -# (if too many tracks cause core dump => /tracking/storeTrajectory 0) -# -# Draw hits at end of event: -#/vis/scene/add/hits -# -# To draw only gammas: -#/vis/filtering/trajectories/create/particleFilter -#/vis/filtering/trajectories/particleFilter-0/add gamma -# -# To invert the above, drawing all particles except gammas, -# keep the above two lines but also add: -#/vis/filtering/trajectories/particleFilter-0/invert true -# -# Many other options are available with /vis/modeling and /vis/filtering. -# For example, to select colour by particle ID: -#/vis/modeling/trajectories/create/drawByParticleID -#/vis/modeling/trajectories/drawByParticleID-0/set e- blue -# -# To superimpose all of the events from a given run: -/vis/scene/endOfEventAction accumulate -# -# Re-establish auto refreshing and verbosity: -/vis/viewer/set/autoRefresh true -/vis/verbose warnings -# -# For file-based drivers, use this to create an empty detector view: -#/vis/viewer/flush -# -# -/vis/viewer/set/viewpointThetaPhi -80. 10. diff --git a/examples/extended/electromagnetic/TestEm17/TestEm17.cc b/examples/extended/electromagnetic/TestEm17/TestEm17.cc index f2cb99e7c44..1832313dd19 100644 --- a/examples/extended/electromagnetic/TestEm17/TestEm17.cc +++ b/examples/extended/electromagnetic/TestEm17/TestEm17.cc @@ -27,43 +27,41 @@ /// \brief Main program of the electromagnetic/TestEm17 example // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - #include "DetectorConstruction.hh" +#include "HistoManager.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" - #include "RunAction.hh" -#include "SteppingAction.hh" #include "StackingAction.hh" -#include "HistoManager.hh" +#include "SteppingAction.hh" +#include "G4RunManager.hh" +#include "G4SteppingVerbose.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //Use SteppingVerbose with Unit + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //construct the default run manager - G4RunManager * runManager = new G4RunManager; - //set mandatory initialization classes + // construct the default run manager + G4RunManager* runManager = new G4RunManager; + + // set mandatory initialization classes DetectorConstruction* det; PrimaryGeneratorAction* prim; runManager->SetUserInitialization(det = new DetectorConstruction); @@ -72,33 +70,33 @@ int main(int argc,char** argv) { HistoManager* histo = new HistoManager(); - //set user action classes - RunAction* run; - runManager->SetUserAction(run = new RunAction(det,prim,histo)); - runManager->SetUserAction(new SteppingAction(run,histo)); + // set user action classes + RunAction* run; + runManager->SetUserAction(run = new RunAction(det, prim, histo)); + runManager->SetUserAction(new SteppingAction(run, histo)); runManager->SetUserAction(new StackingAction); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm17/TestEm17.out b/examples/extended/electromagnetic/TestEm17/TestEm17.out index 6132eadf135..660d6fadf08 100644 --- a/examples/extended/electromagnetic/TestEm17/TestEm17.out +++ b/examples/extended/electromagnetic/TestEm17/TestEm17.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -287,7 +287,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 1000 PeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Simple BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -629,7 +629,7 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 10000 - User=1.390000s Real=1.525925s Sys=0.010000s + User=1.320000s Real=1.363002s Sys=0.000000s The run consists of 10000 mu+ of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 ) @@ -685,7 +685,7 @@ N=17 V[N]={432129628493770164, 1814378723063674975, 1209460836733901477, 4037844 Run terminated. Run Summary Number of events processed : 10000 - User=1.310000s Real=1.488824s Sys=0.010000s + User=1.280000s Real=1.291411s Sys=0.000000s The run consists of 10000 pi+ of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 ) @@ -740,7 +740,7 @@ N=17 V[N]={666189274156109320, 913680459780043419, 495444254095043894, 163299520 Run terminated. Run Summary Number of events processed : 10000 - User=1.330000s Real=1.406382s Sys=0.010000s + User=1.140000s Real=1.234717s Sys=0.000000s The run consists of 10000 proton of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 ) @@ -748,11 +748,12 @@ Run Summary Simulation: total CrossSection = 0.47686 /cm MeanFreePath = 2.0971 cm massicCrossSection = 0.060592 cm2/g # G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:2) +UserDetectorConstruction deleted 0x1786650 +UserPhysicsList deleted 0x17c5a18 +UserActionInitialization deleted 0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh index 1686a3f733b..108dc45173e 100644 --- a/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm17/include/DetectorConstruction.hh /// \brief Definition of the DetectorConstruction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,47 +45,39 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction(); + ~DetectorConstruction(); public: - - virtual G4VPhysicalVolume* Construct(); - - void SetSize (G4double); - void SetMaterial (const G4String&); - - void UpdateGeometry(); - + virtual G4VPhysicalVolume* Construct(); + + void SetSize(G4double); + void SetMaterial(const G4String&); + + void UpdateGeometry(); + public: - - const - G4VPhysicalVolume* GetWorld() {return fPBox;}; - - G4double GetSize() {return fBoxSize;}; - const G4Material* GetMaterial() {return fMaterial;}; - - void PrintParameters(); - + const G4VPhysicalVolume* GetWorld() { return fPBox; }; + + G4double GetSize() { return fBoxSize; }; + const G4Material* GetMaterial() { return fMaterial; }; + + void PrintParameters(); + private: - - G4VPhysicalVolume* fPBox; - G4LogicalVolume* fLBox; - - G4double fBoxSize; - G4Material* fMaterial; - - DetectorMessenger* fDetectorMessenger; + G4VPhysicalVolume* fPBox; + G4LogicalVolume* fLBox; + + G4double fBoxSize; + G4Material* fMaterial; + + DetectorMessenger* fDetectorMessenger; private: - - void DefineMaterials(); - G4VPhysicalVolume* ConstructVolumes(); + void DefineMaterials(); + G4VPhysicalVolume* ConstructVolumes(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #endif - diff --git a/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh index 14fe43f33d3..ea5c11cf118 100644 --- a/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -47,27 +47,24 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger(); - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - - DetectorConstruction* fDetector; - - G4UIdirectory* fTestemDir; - G4UIdirectory* fDetDir; - G4UIcmdWithAString* fMaterCmd; + DetectorConstruction* fDetector; + + G4UIdirectory* fTestemDir; + G4UIdirectory* fDetDir; + G4UIcmdWithAString* fMaterCmd; G4UIcmdWithADoubleAndUnit* fSizeCmd; - G4UIcmdWithoutParameter* fUpdateCmd; + G4UIcmdWithoutParameter* fUpdateCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh index c53e67a713e..017d39814ad 100644 --- a/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh @@ -27,16 +27,16 @@ /// \brief Definition of the HistoManager class // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" #include "G4AnalysisManager.hh" #include "g4hntools_defs.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,53 +48,49 @@ const G4int kMaxHisto = 30; class HistoManager { -public: - - HistoManager(); - ~HistoManager(); - - void Book(); - void Save(); - void SetHisto (G4int,G4int,G4double,G4double,const G4String& unit="none"); - void FillHisto(G4int id, G4double e, G4double weight = 1.0); - void Normalize(G4int id, G4double fac); - void PrintHisto(G4int); - - inline void SetFileName (const G4String& name) { fileName[0] = name;}; - inline G4bool HistoExist (G4int id) {return fExist[id];} - inline G4String GetTitle (G4int id) {return fTitle[id];} - inline G4int GetNbins (G4int id) {return fNbins[id];} - inline G4double GetVmin (G4int id) {return fVmin[id];} - inline G4double GetVmax (G4int id) {return fVmax[id];} - inline G4double GetHistoUnit(G4int id) {return fUnit[id];} - inline G4double GetBinWidth (G4int id) {return fWidth[id];} - inline G4int GetHistoID (G4int id) {return fHistId[id];} - -private: - - void SaveAscii(); - - G4String fileName[2]; - G4bool factoryOn; - - G4int fNbHist; - G4int fHistId[kMaxHisto]; - G4H1* fHistPt[kMaxHisto]; - G4bool fExist[kMaxHisto]; - G4String fLabel[kMaxHisto]; - G4String fTitle[kMaxHisto]; - G4int fNbins[kMaxHisto]; - G4double fVmin [kMaxHisto]; - G4double fVmax [kMaxHisto]; - G4double fUnit [kMaxHisto]; - G4double fWidth[kMaxHisto]; - G4bool fAscii[kMaxHisto]; - - HistoMessenger* fHistoMessenger; - + public: + HistoManager(); + ~HistoManager(); + + void Book(); + void Save(); + void SetHisto(G4int, G4int, G4double, G4double, const G4String& unit = "none"); + void FillHisto(G4int id, G4double e, G4double weight = 1.0); + void Normalize(G4int id, G4double fac); + void PrintHisto(G4int); + + inline void SetFileName(const G4String& name) { fileName[0] = name; }; + inline G4bool HistoExist(G4int id) { return fExist[id]; } + inline G4String GetTitle(G4int id) { return fTitle[id]; } + inline G4int GetNbins(G4int id) { return fNbins[id]; } + inline G4double GetVmin(G4int id) { return fVmin[id]; } + inline G4double GetVmax(G4int id) { return fVmax[id]; } + inline G4double GetHistoUnit(G4int id) { return fUnit[id]; } + inline G4double GetBinWidth(G4int id) { return fWidth[id]; } + inline G4int GetHistoID(G4int id) { return fHistId[id]; } + + private: + void SaveAscii(); + + G4String fileName[2]; + G4bool factoryOn; + + G4int fNbHist; + G4int fHistId[kMaxHisto]; + G4H1* fHistPt[kMaxHisto]; + G4bool fExist[kMaxHisto]; + G4String fLabel[kMaxHisto]; + G4String fTitle[kMaxHisto]; + G4int fNbins[kMaxHisto]; + G4double fVmin[kMaxHisto]; + G4double fVmax[kMaxHisto]; + G4double fUnit[kMaxHisto]; + G4double fWidth[kMaxHisto]; + G4bool fAscii[kMaxHisto]; + + HistoMessenger* fHistoMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh index 8dcc450c198..f9eceb1f69c 100644 --- a/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh @@ -27,9 +27,9 @@ /// \brief Definition of the HistoMessenger class // // -// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoMessenger_h #define HistoMessenger_h 1 @@ -47,27 +47,23 @@ class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class HistoMessenger: public G4UImessenger +class HistoMessenger : public G4UImessenger { public: + HistoMessenger(HistoManager*); + ~HistoMessenger(); - HistoMessenger(HistoManager* ); - ~HistoMessenger(); - - virtual void SetNewValue(G4UIcommand* ,G4String ); + virtual void SetNewValue(G4UIcommand*, G4String); private: + HistoManager* fHistoManager; - HistoManager* fHistoManager; - - G4UIdirectory* fHistoDir; - G4UIcmdWithAString* fFileNameCmd; - G4UIcommand* fHistoCmd; - G4UIcmdWithAnInteger* fPrtHistoCmd; - + G4UIdirectory* fHistoDir; + G4UIcmdWithAString* fFileNameCmd; + G4UIcommand* fHistoCmd; + G4UIcmdWithAnInteger* fPrtHistoCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh b/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh index bc35cd897af..6b330541658 100644 --- a/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh +++ b/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm17/include/MuCrossSections.hh /// \brief Definition of the MuCrossSections class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -43,26 +43,25 @@ class G4NistManager; class MuCrossSections { -public: - MuCrossSections(); - ~MuCrossSections() = default; + public: + MuCrossSections(); + ~MuCrossSections() = default; + + G4double CR_Macroscopic(const G4String&, const G4Material*, G4double, G4double); + G4double CR_PerAtom(const G4String&, const G4Element*, G4double, G4double); - G4double CR_Macroscopic(const G4String&, const G4Material*, - G4double, G4double); - G4double CR_PerAtom(const G4String&, const G4Element*, G4double, G4double); - -private: - G4double CRB_Mephi (G4double, G4double, G4double, G4double); - G4double CRK_Mephi (G4double, G4double, G4double, G4double); - G4double CRN_Mephi (G4double, G4double, G4double, G4double); - G4double CRP_Mephi (G4double, G4double, G4double, G4double); - G4double CRM_Mephi (G4double, G4double, G4double); - G4double U_func(G4double Z, G4double rho2, G4double xi, - G4double Y, G4double pairEnergy, const G4double B=183.); + private: + G4double CRB_Mephi(G4double, G4double, G4double, G4double); + G4double CRK_Mephi(G4double, G4double, G4double, G4double); + G4double CRN_Mephi(G4double, G4double, G4double, G4double); + G4double CRP_Mephi(G4double, G4double, G4double, G4double); + G4double CRM_Mephi(G4double, G4double, G4double); + G4double U_func(G4double Z, G4double rho2, G4double xi, G4double Y, G4double pairEnergy, + const G4double B = 183.); - G4NistManager* fNist; - G4double fMuonMass; - G4double fMueRatio; + G4NistManager* fNist; + G4double fMuonMass; + G4double fMueRatio; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh b/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh index cb8eb53d9bf..202c7733e45 100644 --- a/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh +++ b/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh @@ -40,28 +40,20 @@ class MuNuclearBuilder : public G4VPhysicsConstructor { - public: + public: MuNuclearBuilder(const G4String& name = "muNucl"); - ~MuNuclearBuilder(); + ~MuNuclearBuilder(); - public: + public: // This method is dummy for physics 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 + // registered to the process manager of each particle type virtual void ConstructProcess(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh index 524163c55c8..c022c86308b 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh @@ -40,28 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard(); + ~PhysListEmStandard(); - public: + public: // This method is dummy for physics 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 + // registered to the process manager of each particle type virtual void ConstructProcess(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh index 1d2bd538025..0efd991744e 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh @@ -41,26 +41,24 @@ class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); - ~PhysicsList(); + ~PhysicsList(); virtual void ConstructParticle(); virtual void ConstructProcess(); void AddPhysicsList(const G4String& name); private: - G4VPhysicsConstructor* fEmPhysicsList; G4VPhysicsConstructor* fMuNuclPhysicsList; - G4String fEmName; + G4String fEmName; - PhysicsListMessenger* fMessenger; + PhysicsListMessenger* fMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh index b0ede5dc164..2f1385a1dec 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh @@ -33,8 +33,8 @@ #ifndef PhysicsListMessenger_h #define PhysicsListMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class PhysicsList; class G4UIcmdWithADoubleAndUnit; @@ -42,23 +42,20 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger(); - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - - PhysicsList* fPhysicsList; - - G4UIcmdWithAString* fListCmd; + PhysicsList* fPhysicsList; + + G4UIcmdWithAString* fListCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh index 07895c59a4d..3bd28422ee0 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh @@ -26,15 +26,15 @@ /// \file electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh /// \brief Definition of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -45,20 +45,18 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction(); + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction(); public: virtual void GeneratePrimaries(G4Event*); - G4ParticleGun* GetParticleGun() {return fParticleGun;}; + G4ParticleGun* GetParticleGun() { return fParticleGun; }; private: - G4ParticleGun* fParticleGun; + G4ParticleGun* fParticleGun; DetectorConstruction* fDetector; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh index 08cb7db2e1f..baea61271ff 100644 --- a/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh @@ -34,24 +34,29 @@ #define ProcessesCount_HH #include "globals.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class OneProcessCount { -public: - OneProcessCount(G4String name) {fName=name; fCounter=0;}; - ~OneProcessCount() {}; - -public: - G4String GetName() {return fName;}; - G4int GetCounter() {return fCounter;}; - void Count() {fCounter++;}; - -private: - G4String fName; // process name - G4int fCounter; // process counter + public: + OneProcessCount(G4String name) + { + fName = name; + fCounter = 0; + }; + ~OneProcessCount() {}; + + public: + G4String GetName() { return fName; }; + G4int GetCounter() { return fCounter; }; + void Count() { fCounter++; }; + + private: + G4String fName; // process name + G4int fCounter; // process counter }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,9 +64,3 @@ private: typedef std::vector ProcessesCount; #endif - - - - - - diff --git a/examples/extended/electromagnetic/TestEm17/include/RunAction.hh b/examples/extended/electromagnetic/TestEm17/include/RunAction.hh index 2204a6a57ff..742e28aa260 100644 --- a/examples/extended/electromagnetic/TestEm17/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/RunAction.hh @@ -33,9 +33,11 @@ #ifndef RunAction_h #define RunAction_h 1 -#include "G4UserRunAction.hh" #include "ProcessesCount.hh" + +#include "G4UserRunAction.hh" #include "globals.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,27 +56,26 @@ class RunAction : public G4UserRunAction { public: RunAction(DetectorConstruction*, PrimaryGeneratorAction*, HistoManager*); - ~RunAction(); + ~RunAction(); public: virtual void BeginOfRunAction(const G4Run*); - virtual void EndOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); void CountProcesses(const G4String&); - - private: - G4double ComputeTheory (const G4String&, G4int); - G4double GetEnergyCut (const G4Material*, G4int); - void FillCrossSectionHisto (const G4String&, G4int); - - DetectorConstruction* fDetector; + + private: + G4double ComputeTheory(const G4String&, G4int); + G4double GetEnergyCut(const G4Material*, G4int); + void FillCrossSectionHisto(const G4String&, G4int); + + DetectorConstruction* fDetector; PrimaryGeneratorAction* fPrimary; - ProcessesCount* fProcCounter; - HistoManager* fHistoManager; - MuCrossSections* fMucs; + ProcessesCount* fProcCounter; + HistoManager* fHistoManager; + MuCrossSections* fMucs; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh index be1d68dc86e..78bfd9b2c68 100644 --- a/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm17/include/StackingAction.hh /// \brief Definition of the StackingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -43,12 +43,10 @@ class G4Track; class StackingAction : public G4UserStackingAction { public: - StackingAction(); - ~StackingAction(); + ~StackingAction(); - virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* ); - + virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*); }; #endif diff --git a/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh index d98153bdb59..7a2aa69d174 100644 --- a/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh @@ -45,12 +45,12 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction(RunAction*, HistoManager*); - ~SteppingAction(); + ~SteppingAction(); virtual void UserSteppingAction(const G4Step*); - + private: - RunAction* fRunAction; + RunAction* fRunAction; HistoManager* fHistoManager; }; diff --git a/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc index 739abd72540..07e871c3ff5 100644 --- a/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc @@ -27,45 +27,45 @@ /// \brief Implementation of the DetectorConstruction class // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" #include "G4Box.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" - #include "G4GeometryManager.hh" -#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolume.hh" #include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" -#include "G4RunManager.hh" +#include "G4Material.hh" #include "G4NistManager.hh" - -#include "G4UnitsTable.hh" +#include "G4PVPlacement.hh" #include "G4PhysicalConstants.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4RunManager.hh" +#include "G4SolidStore.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() -:G4VUserDetectorConstruction(),fPBox(0), fLBox(0), fMaterial(0), - fDetectorMessenger(0) + : G4VUserDetectorConstruction(), fPBox(0), fLBox(0), fMaterial(0), fDetectorMessenger(0) { - fBoxSize = 1*m; + fBoxSize = 1 * m; DefineMaterials(); - SetMaterial("G4_Fe"); + SetMaterial("G4_Fe"); fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,44 +81,41 @@ void DetectorConstruction::DefineMaterials() // // define Elements // - G4double z,a; - - 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); - 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); - + G4double z, a; + + 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); + 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 // G4double density; G4int ncomponents, natoms; G4double fractionmass; - - new G4Material("galactic", z=1., a= 1.01*g/mole, universe_mean_density, - kStateGas, 2.73*kelvin, 3.e-18*pascal); - - G4Material* Air = - new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=70.*perCent); - Air->AddElement(O, fractionmass=30.*perCent); - - G4Material* CaCO3 = - new G4Material("CaCO3", density= 2.80*g/cm3, ncomponents=3); - CaCO3->AddElement(Ca, natoms= 1); - CaCO3->AddElement(C , natoms= 1); - CaCO3->AddElement(O , natoms= 3); - - new G4Material("Carbon", z= 6., a= 12.01*g/mole, density= 2.265*g/cm3); - 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); + + new G4Material("galactic", z = 1., a = 1.01 * g / mole, universe_mean_density, kStateGas, + 2.73 * kelvin, 3.e-18 * pascal); + + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 70. * perCent); + Air->AddElement(O, fractionmass = 30. * perCent); + + G4Material* CaCO3 = new G4Material("CaCO3", density = 2.80 * g / cm3, ncomponents = 3); + CaCO3->AddElement(Ca, natoms = 1); + CaCO3->AddElement(C, natoms = 1); + CaCO3->AddElement(O, natoms = 3); + + new G4Material("Carbon", z = 6., a = 12.01 * g / mole, density = 2.265 * g / cm3); + 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; } @@ -127,27 +124,28 @@ void DetectorConstruction::DefineMaterials() G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() { - if(fPBox) { return fPBox; } - - G4Box* - sBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - fLBox = new G4LogicalVolume(sBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fPBox = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fLBox, //its logical volume - fMaterial->GetName(), //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - + if (fPBox) { + return fPBox; + } + + G4Box* sBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + fLBox = new G4LogicalVolume(sBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fPBox = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fLBox, // its logical volume + fMaterial->GetName(), // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + PrintParameters(); - - //always return the root volume + + // always return the root volume // return fPBox; } @@ -156,8 +154,8 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() void DetectorConstruction::PrintParameters() { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -165,12 +163,13 @@ void DetectorConstruction::PrintParameters() void DetectorConstruction::SetMaterial(const G4String& materialChoice) { // search the material by its name - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); - if(pttoMaterial && fMaterial != pttoMaterial) { + if (pttoMaterial && fMaterial != pttoMaterial) { fMaterial = pttoMaterial; - if(fLBox) { fLBox->SetMaterial(fMaterial); } + if (fLBox) { + fLBox->SetMaterial(fMaterial); + } G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } } diff --git a/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc index 188d706769e..03789cbb24e 100644 --- a/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc @@ -28,7 +28,7 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,40 +36,42 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:G4UImessenger(),fDetector(Det), - fTestemDir(0), - fDetDir(0), - fMaterCmd(0), - fSizeCmd(0), - fUpdateCmd(0) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) + : G4UImessenger(), + fDetector(Det), + fTestemDir(0), + fDetDir(0), + fMaterCmd(0), + fSizeCmd(0), + fUpdateCmd(0) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize",this); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize", this); fSizeCmd->SetGuidance("Set size of the box"); - fSizeCmd->SetParameterName("Size",false); + fSizeCmd->SetParameterName("Size", false); fSizeCmd->SetRange("Size>0."); fSizeCmd->SetUnitCategory("Length"); - fSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this); + fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update", this); fUpdateCmd->SetGuidance("Update calorimeter geometry."); fUpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); fUpdateCmd->SetGuidance("if you changed geometrical value(s)."); @@ -81,24 +83,27 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; - delete fSizeCmd; + delete fSizeCmd; delete fUpdateCmd; - delete fDetDir; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fSizeCmd ) - { fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));} - - if( command == fUpdateCmd ) - { fDetector->UpdateGeometry(); } +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fSizeCmd) { + fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue)); + } + + if (command == fUpdateCmd) { + fDetector->UpdateGeometry(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc index d0c192341e7..906efa81c84 100644 --- a/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc @@ -27,33 +27,34 @@ /// \brief Implementation of the HistoManager class // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "HistoMessenger.hh" -#include "G4UnitsTable.hh" + #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HistoManager::HistoManager() - : fHistoMessenger(0) +HistoManager::HistoManager() : fHistoMessenger(0) { - fileName[0] = "testem17"; + fileName[0] = "testem17"; factoryOn = false; - fNbHist = 0; + fNbHist = 0; // histograms - for (G4int k=0; kSetVerboseLevel(0); G4String extension = analysisManager->GetFileType(); fileName[1] = fileName[0] + "." + extension; - + // Open an output file // G4bool fileOpen = analysisManager->OpenFile(fileName[0]); if (!fileOpen) { - G4cout << "\n---> HistoManager::book(): cannot open " << fileName[1] - << G4endl; + G4cout << "\n---> HistoManager::book(): cannot open " << fileName[1] << G4endl; return; - } + } // create selected histograms // analysisManager->SetFirstHistoId(1); - - for (G4int k=0; kCreateH1( fLabel[k], fTitle[k], - fNbins[k], fVmin[k], fVmax[k]); + fHistId[k] = analysisManager->CreateH1(fLabel[k], fTitle[k], fNbins[k], fVmin[k], fVmax[k]); fHistPt[k] = analysisManager->GetH1(fHistId[k]); factoryOn = true; } } - if (factoryOn) - G4cout << "\n----> Histogram file is opened in " << fileName[1] << G4endl; + if (factoryOn) G4cout << "\n----> Histogram file is opened in " << fileName[1] << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -114,15 +112,15 @@ void HistoManager::Save() { if (factoryOn) { G4cout << "\n----> HistoManager::save " << G4endl; - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); analysisManager->Write(); analysisManager->CloseFile(); - SaveAscii(); // Write fAscii file, if any + SaveAscii(); // Write fAscii file, if any G4cout << "\n----> Histograms are saved in " << fileName[1] << G4endl; - + analysisManager->Clear(); factoryOn = false; - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -135,54 +133,55 @@ void HistoManager::FillHisto(G4int ih, G4double e, G4double weight) return; } - if (fHistPt[ih]) fHistPt[ih]->fill(e/fUnit[ih], weight); + if (fHistPt[ih]) fHistPt[ih]->fill(e / fUnit[ih], weight); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void HistoManager::SetHisto(G4int ih, - G4int nbins, G4double vmin, G4double vmax, const G4String& unit) +void HistoManager::SetHisto(G4int ih, G4int nbins, G4double vmin, G4double vmax, + const G4String& unit) { if (ih > kMaxHisto) { - G4cout << "---> warning from HistoManager::SetHisto() : histo " << ih - << "does not fExist" << G4endl; + G4cout << "---> warning from HistoManager::SetHisto() : histo " << ih << "does not fExist" + << G4endl; return; } - - const G4String id[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", - "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", - "20", "21", "22", "23", "24", "25", "26", "27", "28", "29"}; - const G4String title[] = { "dummy", // 0 - "log10(Eloss/Emu) muIonization", //1 - "log10(Eloss/Emu) muPair", //2 - "log10(Eloss/Emu) muBrems", //3 - "log10(Eloss/Emu) muNuclear", //4 - "log10(Eloss/Emu) hIonization", //5 - "log10(Eloss/Emu) hPair", //6 - "log10(Eloss/Emu) hBrems", //7 - "log10(Eloss/Emu) muToMuonPair", //8 - "dummy", //9 - "dummy", //10 - "log10(Eloss/Emu) muIonization", //11 - "log10(Eloss/Emu) muPair", //12 - "log10(Eloss/Emu) muBrems", //13 - "log10(Eloss/Emu) muNuclear", //14 - "dummy", //15 - "dummy", //16 - "dummy", //17 - "log10(Eloss/Emu) muToMuonPair", //18 - "dummy", //19 - "dummy", //20 - "CS(1/mm) vs ekin muIonisation", //21 - "CS(1/mm) vs ekin muPair", //22 - "CS(1/mm) vs ekin muBrems", //23 - "CS(1/mm) vs ekin muNuclear", //24 - "dummy", //25 - "dummy", //26 - "dummy", //27 - "CS(1/mm) vs ekin muToMuonPair", //28 - "dummy" //29 - }; + + const G4String id[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", + "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", + "20", "21", "22", "23", "24", "25", "26", "27", "28", "29"}; + const G4String title[] = { + "dummy", // 0 + "log10(Eloss/Emu) muIonization", // 1 + "log10(Eloss/Emu) muPair", // 2 + "log10(Eloss/Emu) muBrems", // 3 + "log10(Eloss/Emu) muNuclear", // 4 + "log10(Eloss/Emu) hIonization", // 5 + "log10(Eloss/Emu) hPair", // 6 + "log10(Eloss/Emu) hBrems", // 7 + "log10(Eloss/Emu) muToMuonPair", // 8 + "dummy", // 9 + "dummy", // 10 + "log10(Eloss/Emu) muIonization", // 11 + "log10(Eloss/Emu) muPair", // 12 + "log10(Eloss/Emu) muBrems", // 13 + "log10(Eloss/Emu) muNuclear", // 14 + "dummy", // 15 + "dummy", // 16 + "dummy", // 17 + "log10(Eloss/Emu) muToMuonPair", // 18 + "dummy", // 19 + "dummy", // 20 + "CS(1/mm) vs ekin muIonisation", // 21 + "CS(1/mm) vs ekin muPair", // 22 + "CS(1/mm) vs ekin muBrems", // 23 + "CS(1/mm) vs ekin muNuclear", // 24 + "dummy", // 25 + "dummy", // 26 + "dummy", // 27 + "CS(1/mm) vs ekin muToMuonPair", // 28 + "dummy" // 29 + }; G4String titl = title[ih]; fUnit[ih] = 1.; @@ -193,19 +192,17 @@ void HistoManager::SetHisto(G4int ih, } fExist[ih] = true; - fLabel[ih] = "h"+id[ih]; + fLabel[ih] = "h" + id[ih]; fTitle[ih] = titl; fNbins[ih] = nbins; - fVmin[ih] = vmin; - fVmax[ih] = vmax; - fWidth[ih] = fUnit[ih]*(vmax-vmin)/nbins; - - fNbHist++; + fVmin[ih] = vmin; + fVmax[ih] = vmax; + fWidth[ih] = fUnit[ih] * (vmax - vmin) / nbins; - G4cout << "----> SetHisto " << ih << ": " << titl << "; " - << nbins << " bins from " - << vmin << " " << unit << " to " << vmax << " " << unit << G4endl; + fNbHist++; + G4cout << "----> SetHisto " << ih << ": " << titl << "; " << nbins << " bins from " << vmin + << " " << unit << " to " << vmax << " " << unit << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -213,8 +210,8 @@ void HistoManager::SetHisto(G4int ih, void HistoManager::Normalize(G4int ih, G4double fac) { if (ih >= kMaxHisto) { - G4cout << "---> warning from HistoManager::Normalize() : histo " << ih - << " fac= " << fac << G4endl; + G4cout << "---> warning from HistoManager::Normalize() : histo " << ih << " fac= " << fac + << G4endl; return; } @@ -225,10 +222,13 @@ void HistoManager::Normalize(G4int ih, G4double fac) void HistoManager::PrintHisto(G4int ih) { - if (ih < kMaxHisto) { fAscii[ih] = true; fAscii[0] = true; } - else - G4cout << "---> warning from HistoManager::PrintHisto() : histo " << ih - << "does not exist" << G4endl; + if (ih < kMaxHisto) { + fAscii[ih] = true; + fAscii[0] = true; + } + else + G4cout << "---> warning from HistoManager::PrintHisto() : histo " << ih << "does not exist" + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -237,34 +237,29 @@ void HistoManager::PrintHisto(G4int ih) void HistoManager::SaveAscii() { - if (!fAscii[0]) return; - - G4String name = fileName[0] + ".ascii"; - std::ofstream File(name, std::ios::out); - if (!File) { - G4cout - << "\n---> HistoManager::saveAscii(): cannot open " << name << G4endl; + if (!fAscii[0]) return; + + G4String name = fileName[0] + ".ascii"; + std::ofstream File(name, std::ios::out); + if (!File) { + G4cout << "\n---> HistoManager::saveAscii(): cannot open " << name << G4endl; return; - } + } + + File.setf(std::ios::scientific, std::ios::floatfield); - File.setf( std::ios::scientific, std::ios::floatfield ); - - //write selected histograms - for (G4int ih=0; ihaxis().bin_center(iBin) << "\t" - << fHistPt[ih]->bin_height(iBin) - << G4endl; - } + File << "\n 1D histogram " << ih << ": " << fTitle[ih] << "\n \n \t X \t\t Y" + << G4endl; + + for (G4int iBin = 0; iBin < fNbins[ih]; iBin++) { + File << " " << iBin << "\t" << fHistPt[ih]->axis().bin_center(iBin) << "\t" + << fHistPt[ih]->bin_height(iBin) << G4endl; + } } - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc index db80909b0a7..601556d0120 100644 --- a/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc @@ -27,66 +27,68 @@ /// \brief Implementation of the HistoMessenger class // // -// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoMessenger.hh" -#include - #include "HistoManager.hh" -#include "G4UIdirectory.hh" -#include "G4UIcommand.hh" -#include "G4UIparameter.hh" + #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" +#include "G4UIcommand.hh" +#include "G4UIdirectory.hh" +#include "G4UIparameter.hh" + +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... HistoMessenger::HistoMessenger(HistoManager* manager) -:G4UImessenger(),fHistoManager (manager), - fHistoDir(0), - fFileNameCmd(0), - fHistoCmd(0), - fPrtHistoCmd(0) + : G4UImessenger(), + fHistoManager(manager), + fHistoDir(0), + fFileNameCmd(0), + fHistoCmd(0), + fPrtHistoCmd(0) { fHistoDir = new G4UIdirectory("/testem/histo/"); fHistoDir->SetGuidance("histograms control"); - fFileNameCmd = new G4UIcmdWithAString("/testem/histo/setFileName",this); + fFileNameCmd = new G4UIcmdWithAString("/testem/histo/setFileName", this); fFileNameCmd->SetGuidance("set name for the histograms file"); - - fHistoCmd = new G4UIcommand("/testem/histo/setHisto",this); + + fHistoCmd = new G4UIcommand("/testem/histo/setHisto", this); fHistoCmd->SetGuidance("Set bining of the histo number ih :"); fHistoCmd->SetGuidance(" nbBins; valMin; valMax; unit (of vmin and vmax)"); // - G4UIparameter* ih = new G4UIparameter("ih",'i',false); + G4UIparameter* ih = new G4UIparameter("ih", 'i', false); ih->SetGuidance("histo number : from 1 to kMaxHisto"); ih->SetParameterRange("ih>0"); fHistoCmd->SetParameter(ih); // - G4UIparameter* nbBins = new G4UIparameter("nbBins",'i',false); + G4UIparameter* nbBins = new G4UIparameter("nbBins", 'i', false); nbBins->SetGuidance("number of bins"); nbBins->SetParameterRange("nbBins>0"); fHistoCmd->SetParameter(nbBins); // - G4UIparameter* valMin = new G4UIparameter("valMin",'d',false); + G4UIparameter* valMin = new G4UIparameter("valMin", 'd', false); valMin->SetGuidance("valMin, expressed in unit"); - fHistoCmd->SetParameter(valMin); - // - G4UIparameter* valMax = new G4UIparameter("valMax",'d',false); + fHistoCmd->SetParameter(valMin); + // + G4UIparameter* valMax = new G4UIparameter("valMax", 'd', false); valMax->SetGuidance("valMax, expressed in unit"); fHistoCmd->SetParameter(valMax); - // - G4UIparameter* unit = new G4UIparameter("unit",'s',true); + // + G4UIparameter* unit = new G4UIparameter("unit", 's', true); unit->SetGuidance("if omitted, vmin and vmax are assumed dimensionless"); unit->SetDefaultValue("none"); fHistoCmd->SetParameter(unit); - - fPrtHistoCmd = new G4UIcmdWithAnInteger("/testem/histo/printHisto",this); + + fPrtHistoCmd = new G4UIcmdWithAnInteger("/testem/histo/printHisto", this); fPrtHistoCmd->SetGuidance("print histo #id on ascii file"); - fPrtHistoCmd->SetParameterName("id",false); + fPrtHistoCmd->SetParameterName("id", false); fPrtHistoCmd->SetRange("id>0"); } @@ -94,7 +96,7 @@ HistoMessenger::HistoMessenger(HistoManager* manager) HistoMessenger::~HistoMessenger() { - delete fPrtHistoCmd; + delete fPrtHistoCmd; delete fHistoCmd; delete fFileNameCmd; delete fHistoDir; @@ -104,20 +106,19 @@ HistoMessenger::~HistoMessenger() void HistoMessenger::SetNewValue(G4UIcommand* command, G4String newValues) { - if (command == fFileNameCmd) - fHistoManager->SetFileName(newValues); - - if (command == fHistoCmd) - { G4int ih,nbBins; G4double vmin,vmax; G4String unit; - const char* t = newValues; - std::istringstream is(t); - is >> ih >> nbBins >> vmin >> vmax >> unit; - fHistoManager->SetHisto (ih,nbBins,vmin,vmax,unit); - } - - if (command == fPrtHistoCmd) - fHistoManager->PrintHisto(fPrtHistoCmd->GetNewIntValue(newValues)); + if (command == fFileNameCmd) fHistoManager->SetFileName(newValues); + + if (command == fHistoCmd) { + G4int ih, nbBins; + G4double vmin, vmax; + G4String unit; + const char* t = newValues; + std::istringstream is(t); + is >> ih >> nbBins >> vmin >> vmax >> unit; + fHistoManager->SetHisto(ih, nbBins, vmin, vmax, unit); + } + + if (command == fPrtHistoCmd) fHistoManager->PrintHisto(fPrtHistoCmd->GetNewIntValue(newValues)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc b/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc index 1c9b92994ed..fb980c9bda8 100644 --- a/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc +++ b/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc @@ -26,20 +26,20 @@ /// \file electromagnetic/TestEm17/src/MuCrossSections.cc /// \brief Implementation of the MuCrossSections class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "MuCrossSections.hh" +#include "G4DataVector.hh" +#include "G4Exp.hh" +#include "G4Log.hh" #include "G4Material.hh" -#include "G4PhysicalConstants.hh" -#include "G4SystemOfUnits.hh" #include "G4MuonMinus.hh" -#include "G4DataVector.hh" #include "G4NistManager.hh" -#include "G4Log.hh" -#include "G4Exp.hh" +#include "G4PhysicalConstants.hh" +#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,13 +49,12 @@ MuCrossSections::MuCrossSections() { fNist = G4NistManager::Instance(); fMuonMass = G4MuonMinus::MuonMinus()->GetPDGMass(); - fMueRatio = fMuonMass/CLHEP::electron_mass_c2; + fMueRatio = fMuonMass / CLHEP::electron_mass_c2; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::CR_Macroscopic(const G4String& process, - const G4Material* material, +G4double MuCrossSections::CR_Macroscopic(const G4String& process, const G4Material* material, G4double tkin, G4double ep) // return the macroscopic cross section (1/L) in GEANT4 internal units { @@ -63,9 +62,8 @@ G4double MuCrossSections::CR_Macroscopic(const G4String& process, const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); G4double SIGMA = 0.; - G4int nelm = material->GetNumberOfElements(); - for (G4int i=0; i < nelm; ++i) - { + G4int nelm = material->GetNumberOfElements(); + for (G4int i = 0; i < nelm; ++i) { const G4Element* element = (*theElementVector)[i]; SIGMA += NbOfAtomsPerVolume[i] * CR_PerAtom(process, element, tkin, ep); } @@ -74,36 +72,34 @@ G4double MuCrossSections::CR_Macroscopic(const G4String& process, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::CR_PerAtom(const G4String& process, - const G4Element* element, +G4double MuCrossSections::CR_PerAtom(const G4String& process, const G4Element* element, G4double tkin, G4double ep) { G4double z = element->GetZ(); G4double a = element->GetA(); G4double sigma = 0.; if (process == "muBrems") - sigma = CRB_Mephi(z,a/(g/mole),tkin/GeV,ep/GeV)*(cm2/(g*GeV))*a/Avogadro; - + sigma = CRB_Mephi(z, a / (g / mole), tkin / GeV, ep / GeV) * (cm2 / (g * GeV)) * a / Avogadro; + else if (process == "muIoni") - sigma = CRK_Mephi(z,a/(g/mole),tkin/GeV,ep/GeV)*(cm2/(g*GeV))*a/Avogadro; - - //else if (process == "muNucl") + sigma = CRK_Mephi(z, a / (g / mole), tkin / GeV, ep / GeV) * (cm2 / (g * GeV)) * a / Avogadro; + + // else if (process == "muNucl") else if (process == "muonNuclear") - sigma = CRN_Mephi(z,a/(g/mole),tkin/GeV,ep/GeV)*(cm2/(g*GeV))*a/Avogadro; - + sigma = CRN_Mephi(z, a / (g / mole), tkin / GeV, ep / GeV) * (cm2 / (g * GeV)) * a / Avogadro; + else if (process == "muPairProd") - sigma = CRP_Mephi(z,a/(g/mole),tkin/GeV,ep/GeV)*(cm2/(g*GeV))*a/Avogadro; + sigma = CRP_Mephi(z, a / (g / mole), tkin / GeV, ep / GeV) * (cm2 / (g * GeV)) * a / Avogadro; else if (process == "muToMuonPairProd") sigma = CRM_Mephi(z, tkin, ep); - - return sigma; + + return sigma; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::CRB_Mephi(G4double z, G4double a, - G4double tkin, G4double ep) +G4double MuCrossSections::CRB_Mephi(G4double z, G4double a, G4double tkin, G4double ep) //*********************************************************************** //*** crb_g4_1.inc in comparison with crb_.inc, following @@ -121,68 +117,64 @@ G4double MuCrossSections::CRB_Mephi(G4double z, G4double a, { // G4double Z,A,Tkin,EP; G4double crb_g4; - G4double e,v,delta,rab0,z_13,dn,b,b1,dn_star,rab1,fn,epmax1,fe,rab2; + G4double e, v, delta, rab0, z_13, dn, b, b1, dn_star, rab1, fn, epmax1, fe, rab2; // - G4double ame=0.51099907e-3; // GeV - G4double lamu=0.105658389; // GeV - G4double re=2.81794092e-13; // cm - G4double avno=6.022137e23; - G4double alpha=1./137.036; - G4double rmass=lamu/ame; // "207" - G4double coeff=16./3.*alpha*avno*(re/rmass)*(re/rmass); // cm^2 - G4double sqrte=1.64872127; // sqrt(2.71828...) - G4double btf=183.; - G4double btf1=1429.; - G4double bh=202.4; - G4double bh1=446.; + G4double ame = 0.51099907e-3; // GeV + G4double lamu = 0.105658389; // GeV + G4double re = 2.81794092e-13; // cm + G4double avno = 6.022137e23; + G4double alpha = 1. / 137.036; + G4double rmass = lamu / ame; // "207" + G4double coeff = 16. / 3. * alpha * avno * (re / rmass) * (re / rmass); // cm^2 + G4double sqrte = 1.64872127; // sqrt(2.71828...) + G4double btf = 183.; + G4double btf1 = 1429.; + G4double bh = 202.4; + G4double bh1 = 446.; //*** - if(ep >= tkin) { + if (ep >= tkin) { return 0.; } - e=tkin+lamu; - v=ep/e; - delta=lamu*lamu*v/(2.*(e-ep)); // qmin - rab0=delta*sqrte; + e = tkin + lamu; + v = ep / e; + delta = lamu * lamu * v / (2. * (e - ep)); // qmin + rab0 = delta * sqrte; G4int Z = G4lrint(z); - z_13= 1./fNist->GetZ13(z); // + z_13 = 1. / fNist->GetZ13(z); // //*** nuclear size and excitation, screening parameters - dn=1.54*fNist->GetA27(Z); - if(z <= 1.5) // special case for hydrogen + dn = 1.54 * fNist->GetA27(Z); + if (z <= 1.5) // special case for hydrogen { - b=bh; - b1=bh1; - dn_star=dn; + b = bh; + b1 = bh1; + dn_star = dn; } - else - { - b=btf; - b1=btf1; - dn_star=pow(dn,(1.-1./z)); // with Bugaev's correction + else { + b = btf; + b1 = btf1; + dn_star = pow(dn, (1. - 1. / z)); // with Bugaev's correction } //*** nucleus contribution logarithm - rab1=b*z_13; - fn=G4Log(rab1/(dn_star*(ame+rab0*rab1))*(lamu+delta*(dn_star*sqrte-2.))); - if(fn < 0.) fn=0.; + rab1 = b * z_13; + fn = G4Log(rab1 / (dn_star * (ame + rab0 * rab1)) * (lamu + delta * (dn_star * sqrte - 2.))); + if (fn < 0.) fn = 0.; //*** electron contribution logarithm - epmax1=e/(1.+lamu*rmass/(2.*e)); - if(ep >= epmax1) - { - fe=0.; + epmax1 = e / (1. + lamu * rmass / (2. * e)); + if (ep >= epmax1) { + fe = 0.; } - else - { - rab2=b1*z_13*z_13; - fe=G4Log(rab2*lamu/((1.+delta*rmass/(ame*sqrte))*(ame+rab0*rab2))); - if(fe < 0.) fe=0.; + else { + rab2 = b1 * z_13 * z_13; + fe = G4Log(rab2 * lamu / ((1. + delta * rmass / (ame * sqrte)) * (ame + rab0 * rab2))); + if (fe < 0.) fe = 0.; } - crb_g4=coeff*(1.-v*(1.-0.75*v))*z*(z*fn+fe)/(a*ep); + crb_g4 = coeff * (1. - v * (1. - 0.75 * v)) * z * (z * fn + fe) / (a * ep); return crb_g4; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::CRK_Mephi(G4double z, G4double a, - G4double tkin, G4double ep) +G4double MuCrossSections::CRK_Mephi(G4double z, G4double a, G4double tkin, G4double ep) //*********************************************************************** //*** Cross section for knock-on electron production by fast muons //*** (including bremsstrahlung e-diagrams and rad. correction). @@ -194,36 +186,35 @@ G4double MuCrossSections::CRK_Mephi(G4double z, G4double a, { // G4double Z,A,Tkin,EP; G4double crk_g4; - G4double v,sigma0,a1,a3; + G4double v, sigma0, a1, a3; // - G4double ame=0.51099907e-3; // GeV - G4double lamu=0.105658389; // GeV - G4double re=2.81794092e-13; // cm - G4double avno=6.022137e23; - G4double alpha=1./137.036; - G4double lpi=3.141592654; - G4double bmu=lamu*lamu/(2.*ame); - G4double coeff0=avno*2.*lpi*ame*re*re; - G4double coeff1=alpha/(2.*lpi); + G4double ame = 0.51099907e-3; // GeV + G4double lamu = 0.105658389; // GeV + G4double re = 2.81794092e-13; // cm + G4double avno = 6.022137e23; + G4double alpha = 1. / 137.036; + G4double lpi = 3.141592654; + G4double bmu = lamu * lamu / (2. * ame); + G4double coeff0 = avno * 2. * lpi * ame * re * re; + G4double coeff1 = alpha / (2. * lpi); //*** - G4double e=tkin+lamu; - G4double epmax=e/(1.+bmu/e); - if(ep >= epmax) { + G4double e = tkin + lamu; + G4double epmax = e / (1. + bmu / e); + if (ep >= epmax) { return 0.0; } - v=ep/e; - sigma0=coeff0*(z/a)*(1.-ep/epmax+0.5*v*v)/(ep*ep); - a1=G4Log(1.+2.*ep/ame); - a3=G4Log(4.*e*(e-ep)/(lamu*lamu)); - crk_g4=sigma0*(1.+coeff1*a1*(a3-a1)); + v = ep / e; + sigma0 = coeff0 * (z / a) * (1. - ep / epmax + 0.5 * v * v) / (ep * ep); + a1 = G4Log(1. + 2. * ep / ame); + a3 = G4Log(4. * e * (e - ep) / (lamu * lamu)); + crk_g4 = sigma0 * (1. + coeff1 * a1 * (a3 - a1)); return crk_g4; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::CRN_Mephi(G4double, G4double a, - G4double tkin,G4double ep) +G4double MuCrossSections::CRN_Mephi(G4double, G4double a, G4double tkin, G4double ep) //*********************************************************************** //*** Differential cross section for photonuclear muon interaction. @@ -236,39 +227,39 @@ G4double MuCrossSections::CRN_Mephi(G4double, G4double a, { // G4double Z,A,Tkin,EP; G4double crn_g4; - G4double e,aeff,sigph,v,v1,v2,amu2,up,down; + G4double e, aeff, sigph, v, v1, v2, amu2, up, down; //*** - G4double lamu=0.105658389; // GeV - G4double avno=6.022137e23; - G4double amp=0.9382723; // GeV - G4double lpi=3.14159265; - G4double alpha=1./137.036; + G4double lamu = 0.105658389; // GeV + G4double avno = 6.022137e23; + G4double amp = 0.9382723; // GeV + G4double lpi = 3.14159265; + G4double alpha = 1. / 137.036; //*** - G4double epmin_phn=0.20; // GeV - G4double alam2=0.400000; // GeV**2 - G4double alam =0.632456; // sqrt(alam2) - G4double coeffn=alpha/lpi*avno*1e-30; // cm^2/microbarn + G4double epmin_phn = 0.20; // GeV + G4double alam2 = 0.400000; // GeV**2 + G4double alam = 0.632456; // sqrt(alam2) + G4double coeffn = alpha / lpi * avno * 1e-30; // cm^2/microbarn //*** - e=tkin+lamu; - crn_g4=0.; - if(ep >= e-0.5*amp || ep <= epmin_phn) return crn_g4; - aeff=0.22*a+0.78*pow(a,0.89); // shadowing - sigph=49.2+11.1*G4Log(ep)+151.8/std::sqrt(ep); // microbarn - v=ep/e; - v1=1.-v; - v2=v*v; - amu2=lamu*lamu; - up=e*e*v1/amu2*(1.+amu2*v2/(alam2*v1)); - down=1.+ep/alam*(1.+alam/(2.*amp)+ep/alam); - crn_g4=coeffn*aeff/a*sigph/ep*(-v1+(v1+0.5*v2*(1.+2.*amu2/alam2))*log(up/down)); - if(crn_g4 < 0.) crn_g4=0.; + e = tkin + lamu; + crn_g4 = 0.; + if (ep >= e - 0.5 * amp || ep <= epmin_phn) return crn_g4; + aeff = 0.22 * a + 0.78 * pow(a, 0.89); // shadowing + sigph = 49.2 + 11.1 * G4Log(ep) + 151.8 / std::sqrt(ep); // microbarn + v = ep / e; + v1 = 1. - v; + v2 = v * v; + amu2 = lamu * lamu; + up = e * e * v1 / amu2 * (1. + amu2 * v2 / (alam2 * v1)); + down = 1. + ep / alam * (1. + alam / (2. * amp) + ep / alam); + crn_g4 = coeffn * aeff / a * sigph / ep + * (-v1 + (v1 + 0.5 * v2 * (1. + 2. * amu2 / alam2)) * log(up / down)); + if (crn_g4 < 0.) crn_g4 = 0.; return crn_g4; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::CRP_Mephi(G4double z,G4double a, - G4double tkin, G4double ep) +G4double MuCrossSections::CRP_Mephi(G4double z, G4double a, G4double tkin, G4double ep) //********************************************************************** //*** crp_g4_1.inc in comparison with crp_m.inc, following @@ -286,120 +277,118 @@ G4double MuCrossSections::CRP_Mephi(G4double z,G4double a, { // G4double Z,A,Tkin,EP; G4double crp_g4; - G4double bbbtf,bbbh,g1tf,g2tf,g1h,g2h,e,z13,e1,alf,a3,bbb; - G4double g1,g2,zeta1,zeta2,zeta,z2,screen0,a0,a1,bet,xi0,del; - G4double tmn,sum,a4,a5,a6,a7,a9,xi,xii,xi1,screen,yeu,yed,ye1; - G4double ale,cre,be,fe,ymu,ymd,ym1,alm_crm,a10,bm,fm; + G4double bbbtf, bbbh, g1tf, g2tf, g1h, g2h, e, z13, e1, alf, a3, bbb; + G4double g1, g2, zeta1, zeta2, zeta, z2, screen0, a0, a1, bet, xi0, del; + G4double tmn, sum, a4, a5, a6, a7, a9, xi, xii, xi1, screen, yeu, yed, ye1; + G4double ale, cre, be, fe, ymu, ymd, ym1, alm_crm, a10, bm, fm; // - G4double ame=0.51099907e-3; // GeV - G4double lamu=0.105658389; // GeV - G4double re=2.81794092e-13; // cm - G4double avno=6.022137e23; - G4double lpi=3.14159265; - G4double alpha=1./137.036; - G4double rmass=lamu/ame; // "207" - G4double coeff=4./(3.*lpi)*(alpha*re)*(alpha*re)*avno; // cm^2 - G4double sqrte=1.64872127; // sqrt(2.71828...) - G4double c3=3.*sqrte*lamu/4.; // for limits - G4double c7=4.*ame; // -"- - G4double c8=6.*lamu*lamu; // -"- - - G4double xgi[8]={.0199,.1017,.2372,.4083,.5917,.7628,.8983,.9801}; // Gauss, 8 - G4double wgi[8]={.0506,.1112,.1569,.1813,.1813,.1569,.1112,.0506}; // Gauss, 8 - bbbtf=183.; // for the moment... - bbbh=202.4; // for the moment... - g1tf=1.95e-5; - g2tf=5.3e-5; - g1h=4.4e-5; - g2h=4.8e-5; - - e=tkin+lamu; - z13=fNist->GetZ13(G4lrint(z)); - e1=e-ep; - crp_g4=0.; - if(e1 <= c3*z13) return crp_g4; // ep > max - alf=c7/ep; // 4m/ep - a3=1.-alf; - if(a3 <= 0.) return crp_g4; // ep < min + G4double ame = 0.51099907e-3; // GeV + G4double lamu = 0.105658389; // GeV + G4double re = 2.81794092e-13; // cm + G4double avno = 6.022137e23; + G4double lpi = 3.14159265; + G4double alpha = 1. / 137.036; + G4double rmass = lamu / ame; // "207" + G4double coeff = 4. / (3. * lpi) * (alpha * re) * (alpha * re) * avno; // cm^2 + G4double sqrte = 1.64872127; // sqrt(2.71828...) + G4double c3 = 3. * sqrte * lamu / 4.; // for limits + G4double c7 = 4. * ame; // -"- + G4double c8 = 6. * lamu * lamu; // -"- + + G4double xgi[8] = {.0199, .1017, .2372, .4083, .5917, .7628, .8983, .9801}; // Gauss, 8 + G4double wgi[8] = {.0506, .1112, .1569, .1813, .1813, .1569, .1112, .0506}; // Gauss, 8 + bbbtf = 183.; // for the moment... + bbbh = 202.4; // for the moment... + g1tf = 1.95e-5; + g2tf = 5.3e-5; + g1h = 4.4e-5; + g2h = 4.8e-5; + + e = tkin + lamu; + z13 = fNist->GetZ13(G4lrint(z)); + e1 = e - ep; + crp_g4 = 0.; + if (e1 <= c3 * z13) return crp_g4; // ep > max + alf = c7 / ep; // 4m/ep + a3 = 1. - alf; + if (a3 <= 0.) return crp_g4; // ep < min //*** zeta calculation - if(z <= 1.5) // special case of hidrogen + if (z <= 1.5) // special case of hidrogen { - bbb=bbbh; - g1=g1h; - g2=g2h; + bbb = bbbh; + g1 = g1h; + g2 = g2h; } - else - { - bbb=bbbtf; - g1=g1tf; - g2=g2tf; + else { + bbb = bbbtf; + g1 = g1tf; + g2 = g2tf; } - zeta1=0.073*G4Log(e/(lamu+g1*z13*z13*e))-0.26; - if(zeta1 > 0.) - { - zeta2=0.058*log(e/(lamu+g2*z13*e))-0.14; - zeta=zeta1/zeta2; + zeta1 = 0.073 * G4Log(e / (lamu + g1 * z13 * z13 * e)) - 0.26; + if (zeta1 > 0.) { + zeta2 = 0.058 * log(e / (lamu + g2 * z13 * e)) - 0.14; + zeta = zeta1 / zeta2; } - else - { - zeta=0.; + else { + zeta = 0.; } - z2=z*(z+zeta); // + z2 = z * (z + zeta); // //*** just to check (for comparison with crp_m) // z2=z*(z+1.) // bbb=189. //*** - screen0=2.*ame*sqrte*bbb/(z13*ep); // be careful with "ame" - a0=e*e1; - a1=ep*ep/a0; // 2*beta - bet=0.5*a1; // beta - xi0=0.25*rmass*rmass*a1; // xi0 - del=c8/a0; // 6mu^2/EE' - tmn=G4Log((alf+2.*del*a3)/(1.+(1.-del)*sqrt(a3))); // log(1-rmax) - sum=0.; - for(G4int i=0; i<8; ++i) { - a4=G4Exp(tmn*xgi[i]); // 1-r - a5=a4*(2.-a4); // 1-r2 - a6=1.-a5; // r2 - a7=1.+a6; // 1+r2 - a9=3.+a6; // 3+r2 - xi=xi0*a5; - xii=1./xi; - xi1=1.+xi; - screen=screen0*xi1/a5; - yeu=5.-a6+4.*bet*a7; - yed=2.*(1.+3.*bet)*G4Log(3.+xii)-a6-a1*(2.-a6); - ye1=1.+yeu/yed; - ale=G4Log(bbb/z13*std::sqrt(xi1*ye1)/(1.+screen*ye1)); - cre=0.5*G4Log(1.+(1.5/rmass*z13)*(1.5/rmass*z13)*xi1*ye1); - if(xi <= 1e3) { - be=((2.+a6)*(1.+bet)+xi*a9)*G4Log(1.+xii)+(a5-bet)/xi1-a9; - } else { - be=(3.-a6+a1*a7)/(2.*xi); // -(6.-5.*a6+3.*bet*a6)/(6.*xi*xi); + screen0 = 2. * ame * sqrte * bbb / (z13 * ep); // be careful with "ame" + a0 = e * e1; + a1 = ep * ep / a0; // 2*beta + bet = 0.5 * a1; // beta + xi0 = 0.25 * rmass * rmass * a1; // xi0 + del = c8 / a0; // 6mu^2/EE' + tmn = G4Log((alf + 2. * del * a3) / (1. + (1. - del) * sqrt(a3))); // log(1-rmax) + sum = 0.; + for (G4int i = 0; i < 8; ++i) { + a4 = G4Exp(tmn * xgi[i]); // 1-r + a5 = a4 * (2. - a4); // 1-r2 + a6 = 1. - a5; // r2 + a7 = 1. + a6; // 1+r2 + a9 = 3. + a6; // 3+r2 + xi = xi0 * a5; + xii = 1. / xi; + xi1 = 1. + xi; + screen = screen0 * xi1 / a5; + yeu = 5. - a6 + 4. * bet * a7; + yed = 2. * (1. + 3. * bet) * G4Log(3. + xii) - a6 - a1 * (2. - a6); + ye1 = 1. + yeu / yed; + ale = G4Log(bbb / z13 * std::sqrt(xi1 * ye1) / (1. + screen * ye1)); + cre = 0.5 * G4Log(1. + (1.5 / rmass * z13) * (1.5 / rmass * z13) * xi1 * ye1); + if (xi <= 1e3) { + be = ((2. + a6) * (1. + bet) + xi * a9) * G4Log(1. + xii) + (a5 - bet) / xi1 - a9; + } + else { + be = (3. - a6 + a1 * a7) / (2. * xi); // -(6.-5.*a6+3.*bet*a6)/(6.*xi*xi); + } + fe = std::max(0., (ale - cre) * be); + ymu = 4. + a6 + 3. * bet * a7; + ymd = a7 * (1.5 + a1) * G4Log(3. + xi) + 1. - 1.5 * a6; + ym1 = 1. + ymu / ymd; + alm_crm = G4Log(bbb * rmass / (1.5 * z13 * z13 * (1. + screen * ym1))); + if (xi >= 1e-3) { + a10 = (1. + a1) * a5; // (1+2b)(1-r2) + bm = (a7 * (1. + 1.5 * bet) - a10 * xii) * G4Log(xi1) + xi * (a5 - bet) / xi1 + a10; } - fe=std::max(0.,(ale-cre)*be); - ymu=4.+a6+3.*bet*a7; - ymd=a7*(1.5+a1)*G4Log(3.+xi)+1.-1.5*a6; - ym1=1.+ymu/ymd; - alm_crm=G4Log(bbb*rmass/(1.5*z13*z13*(1.+screen*ym1))); - if(xi >= 1e-3) { - a10=(1.+a1)*a5; // (1+2b)(1-r2) - bm=(a7*(1.+1.5*bet)-a10*xii)*G4Log(xi1)+xi*(a5-bet)/xi1+a10; - } else { - bm=(5.-a6+bet*a9)*(xi/2.); // -(11.-5.*a6+.5*bet*(5.+a6))*(xi*xi/6.) + else { + bm = (5. - a6 + bet * a9) * (xi / 2.); // -(11.-5.*a6+.5*bet*(5.+a6))*(xi*xi/6.) } - fm=max(0.,(alm_crm)*bm); + fm = max(0., (alm_crm)*bm); //*** - sum=sum+a4*(fe+fm/(rmass*rmass))*wgi[i]; + sum = sum + a4 * (fe + fm / (rmass * rmass)) * wgi[i]; } - crp_g4=-tmn*sum*(z2/a)*coeff*e1/(e*ep); + crp_g4 = -tmn * sum * (z2 / a) * coeff * e1 / (e * ep); return crp_g4; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::CRM_Mephi(G4double Z, G4double tkin, - G4double pairEnergy) +G4double MuCrossSections::CRM_Mephi(G4double Z, G4double tkin, G4double pairEnergy) { /* ||Cross section for pair production of muons by fast muon @@ -409,34 +398,38 @@ G4double MuCrossSections::CRM_Mephi(G4double Z, G4double tkin, ||Equations (15) - (22) */ - const G4double xgi[] = { 0.0198550717512320, 0.1016667612931865, 0.2372337950418355, 0.4082826787521750, - 0.5917173212478250, 0.7627662049581645, 0.8983332387068135, 0.9801449282487680 }; + const G4double xgi[] = {0.0198550717512320, 0.1016667612931865, 0.2372337950418355, + 0.4082826787521750, 0.5917173212478250, 0.7627662049581645, + 0.8983332387068135, 0.9801449282487680}; - const G4double wgi[] = { 0.0506142681451880, 0.1111905172266870, 0.1568533229389435, 0.1813418916891810, - 0.1813418916891810, 0.1568533229389435, 0.1111905172266870, 0.0506142681451880 }; + const G4double wgi[] = {0.0506142681451880, 0.1111905172266870, 0.1568533229389435, + 0.1813418916891810, 0.1813418916891810, 0.1568533229389435, + 0.1111905172266870, 0.0506142681451880}; - static const G4double factorForCross = 2./(3*CLHEP::pi)*pow(CLHEP::fine_structure_const*CLHEP::classic_electr_radius/fMueRatio, 2); - - if (pairEnergy <= 2. * fMuonMass) - return 0.0; + static const G4double factorForCross = + 2. / (3 * CLHEP::pi) + * pow(CLHEP::fine_structure_const * CLHEP::classic_electr_radius / fMueRatio, 2); + + if (pairEnergy <= 2. * fMuonMass) return 0.0; G4double totalEnergy = tkin + fMuonMass; G4double residEnergy = totalEnergy - pairEnergy; - if (residEnergy <= fMuonMass) - return 0.0; + if (residEnergy <= fMuonMass) return 0.0; G4double a0 = 1.0 / (totalEnergy * residEnergy); - G4double rhomax = 1.0 - 2*fMuonMass/pairEnergy; + G4double rhomax = 1.0 - 2 * fMuonMass / pairEnergy; G4double tmnexp = 1. - rhomax; - if(tmnexp >= 1.0) { return 0.0; } + if (tmnexp >= 1.0) { + return 0.0; + } G4double tmn = G4Log(tmnexp); - G4double z2 = Z*Z; - G4double beta = 0.5*pairEnergy*pairEnergy*a0; - G4double xi0 = 0.5*beta; + G4double z2 = Z * Z; + G4double beta = 0.5 * pairEnergy * pairEnergy * a0; + G4double xi0 = 0.5 * beta; // Gaussian integration in ln(1-ro) ( with 8 points) G4double rho[8]; @@ -445,56 +438,53 @@ G4double MuCrossSections::CRM_Mephi(G4double Z, G4double tkin, G4double xi1[8]; G4double xii[8]; - for (G4int i = 0; i < 8; ++i) - { - rho[i] = G4Exp(tmn*xgi[i]) - 1.0; // rho = -asymmetry + for (G4int i = 0; i < 8; ++i) { + rho[i] = G4Exp(tmn * xgi[i]) - 1.0; // rho = -asymmetry rho2[i] = rho[i] * rho[i]; - xi[i] = xi0*(1.0-rho2[i]); + xi[i] = xi0 * (1.0 - rho2[i]); xi1[i] = 1.0 + xi[i]; xii[i] = 1.0 / xi[i]; } - G4double ximax = xi0*(1. - rhomax*rhomax); + G4double ximax = xi0 * (1. - rhomax * rhomax); - G4double Y = 10 * sqrt(fMuonMass/totalEnergy); + G4double Y = 10 * sqrt(fMuonMass / totalEnergy); G4double U[8]; - for (G4int i = 0; i < 8; ++i) - { + for (G4int i = 0; i < 8; ++i) { U[i] = U_func(Z, rho2[i], xi[i], Y, pairEnergy); } - G4double UMax = U_func(Z, rhomax*rhomax, ximax, Y, pairEnergy); + G4double UMax = U_func(Z, rhomax * rhomax, ximax, Y, pairEnergy); G4double sum = 0.0; - for (G4int i = 0; i < 8; ++i) - { + for (G4int i = 0; i < 8; ++i) { G4double X = 1 + U[i] - UMax; G4double lnX = G4Log(X); - G4double phi = ((2 + rho2[i])*(1 + beta) + xi[i]*(3 + rho2[i]))* - G4Log(1 + xii[i]) - 1 - 3*rho2[i] + beta*(1 - 2*rho2[i]) - + ((1 + rho2[i])*(1 + 1.5*beta) - xii[i]*(1 + 2*beta) - *(1 - rho2[i]))*G4Log(xi1[i]); - sum += wgi[i]*(1.0 + rho[i])*phi*lnX; + G4double phi = ((2 + rho2[i]) * (1 + beta) + xi[i] * (3 + rho2[i])) * G4Log(1 + xii[i]) - 1 + - 3 * rho2[i] + beta * (1 - 2 * rho2[i]) + + ((1 + rho2[i]) * (1 + 1.5 * beta) - xii[i] * (1 + 2 * beta) * (1 - rho2[i])) + * G4Log(xi1[i]); + sum += wgi[i] * (1.0 + rho[i]) * phi * lnX; } - return -tmn*sum*factorForCross*z2*residEnergy/(totalEnergy*pairEnergy); + return -tmn * sum * factorForCross * z2 * residEnergy / (totalEnergy * pairEnergy); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double MuCrossSections::U_func(G4double Z, G4double rho2, - G4double xi, G4double Y, +G4double MuCrossSections::U_func(G4double Z, G4double rho2, G4double xi, G4double Y, G4double pairEnergy, const G4double B) { G4int z = G4lrint(Z); G4double A27 = fNist->GetA27(z); G4double Z13 = fNist->GetZ13(z); - static const G4double sqe = 2*std::sqrt(G4Exp(1.0))*fMuonMass*fMuonMass; - G4double res = (0.65 * B / (A27*Z13) * fMueRatio)/ - (1 + (sqe*B*(1 + xi)*(1 + Y))/ - (Z13*CLHEP::electron_mass_c2*pairEnergy*(1 - rho2))); + static const G4double sqe = 2 * std::sqrt(G4Exp(1.0)) * fMuonMass * fMuonMass; + G4double res = (0.65 * B / (A27 * Z13) * fMueRatio) + / (1 + + (sqe * B * (1 + xi) * (1 + Y)) + / (Z13 * CLHEP::electron_mass_c2 * pairEnergy * (1 - rho2))); return res; } diff --git a/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc b/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc index eb5f7d1275e..9f765890b2b 100644 --- a/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc +++ b/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc @@ -29,36 +29,32 @@ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "MuNuclearBuilder.hh" -#include "G4ParticleDefinition.hh" -#include "G4MuonPlus.hh" #include "G4MuonMinus.hh" - +#include "G4MuonPlus.hh" +#include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" -//#include "G4MuNuclearInteraction.hh" -//#include "G4PreCompoundModel.hh" +// #include "G4MuNuclearInteraction.hh" +// #include "G4PreCompoundModel.hh" #include "G4MuonNuclearProcess.hh" #include "G4MuonVDNuclearModel.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -MuNuclearBuilder::MuNuclearBuilder(const G4String& name) - : G4VPhysicsConstructor(name) -{} +MuNuclearBuilder::MuNuclearBuilder(const G4String& name) : G4VPhysicsConstructor(name) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -MuNuclearBuilder::~MuNuclearBuilder() -{} +MuNuclearBuilder::~MuNuclearBuilder() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void MuNuclearBuilder::ConstructProcess() { - G4ProcessManager * pManager = 0; + G4ProcessManager* pManager = 0; G4MuonNuclearProcess* muNucProcess = new G4MuonNuclearProcess(); G4MuonVDNuclearModel* muNucModel = new G4MuonVDNuclearModel(); @@ -72,15 +68,14 @@ void MuNuclearBuilder::ConstructProcess() /* // Add standard EM Processes for Muon G4ParticleDefinition* particle = G4MuonPlus::MuonPlus(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - pmanager->AddProcess(new G4MuNuclearInteraction("muNucl"),-1,-1,4); + G4ProcessManager* pmanager = particle->GetProcessManager(); + pmanager->AddProcess(new G4MuNuclearInteraction("muNucl"),-1,-1,4); particle = G4MuonMinus::MuonMinus(); - pmanager = particle->GetProcessManager(); + pmanager = particle->GetProcessManager(); pmanager->AddProcess(new G4MuNuclearInteraction("muNucl"),-1,-1,4); */ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc index 9b8247fd7b2..662c992a07c 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc @@ -29,44 +29,39 @@ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4MuonPlus.hh" -#include "G4MuonMinus.hh" -#include "G4PionPlus.hh" -#include "G4PionMinus.hh" -#include "G4Proton.hh" - -#include "G4ProcessManager.hh" -#include "G4MuIonisation.hh" +#include "G4EmParameters.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" +#include "G4MuonMinus.hh" +#include "G4MuonPlus.hh" #include "G4MuonToMuonPairProduction.hh" -#include "G4hIonisation.hh" +#include "G4ParticleDefinition.hh" +#include "G4PionMinus.hh" +#include "G4PionPlus.hh" +#include "G4ProcessManager.hh" +#include "G4Proton.hh" +#include "G4SystemOfUnits.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" #include "G4hPairProduction.hh" -#include "G4EmParameters.hh" -#include "G4SystemOfUnits.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { G4EmParameters* param = G4EmParameters::Instance(); param->SetDefaults(); - param->SetMinEnergy(100*eV); - param->SetMaxEnergy(1000*PeV); + param->SetMinEnergy(100 * eV); + param->SetMaxEnergy(1000 * PeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::~PhysListEmStandard() -{} +PhysListEmStandard::~PhysListEmStandard() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -74,42 +69,40 @@ void PhysListEmStandard::ConstructProcess() { // mu+ G4ParticleDefinition* particle = G4MuonPlus::MuonPlus(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); + G4ProcessManager* pmanager = particle->GetProcessManager(); + pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4MuPairProduction(), -1, 4, 4); pmanager->AddProcess(new G4MuonToMuonPairProduction(), -1, 5, 5); // mu- particle = G4MuonMinus::MuonMinus(); - pmanager = particle->GetProcessManager(); - pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); + pmanager = particle->GetProcessManager(); + pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4MuPairProduction(), -1, 4, 4); pmanager->AddProcess(new G4MuonToMuonPairProduction(), -1, 5, 5); // pi+ particle = G4PionPlus::PionPlus(); - pmanager = particle->GetProcessManager(); - pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); + pmanager = particle->GetProcessManager(); + pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); pmanager->AddProcess(new G4hBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4hPairProduction(), -1, 4, 4); // pi- particle = G4PionMinus::PionMinus(); - pmanager = particle->GetProcessManager(); - pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); + pmanager = particle->GetProcessManager(); + pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); pmanager->AddProcess(new G4hBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4hPairProduction(), -1, 4, 4); // proton particle = G4Proton::Proton(); - pmanager = particle->GetProcessManager(); - pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); + pmanager = particle->GetProcessManager(); + pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); pmanager->AddProcess(new G4hBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4hPairProduction(), -1, 4, 4); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc index a52f4bc99e0..65147c4e99a 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc @@ -32,35 +32,29 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmStandardPhysics_option4.hh" -#include "PhysListEmStandard.hh" #include "MuNuclearBuilder.hh" +#include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" +#include "G4BaryonConstructor.hh" +#include "G4BosonConstructor.hh" +#include "G4Electron.hh" #include "G4EmParameters.hh" - +#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option4.hh" #include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4Positron.hh" - -#include "G4BosonConstructor.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" +#include "G4Positron.hh" #include "G4ShortLivedConstructor.hh" - #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsList::PhysicsList() : G4VModularPhysicsList(), - fEmPhysicsList(0), - fMuNuclPhysicsList(0), - fMessenger(0) +PhysicsList::PhysicsList() + : G4VModularPhysicsList(), fEmPhysicsList(0), fMuNuclPhysicsList(0), fMessenger(0) { SetVerboseLevel(1); fMessenger = new PhysicsListMessenger(this); @@ -69,11 +63,11 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList(), fEmName = G4String("emstandard_opt0"); fEmPhysicsList = new G4EmStandardPhysics(); - //extend energy range of PhysicsTables + // extend energy range of PhysicsTables // G4EmParameters* param = G4EmParameters::Instance(); - param->SetMinEnergy(100*eV); - param->SetMaxEnergy(1000*PeV); + param->SetMinEnergy(100 * eV); + param->SetMaxEnergy(1000 * PeV); fMuNuclPhysicsList = 0; } @@ -89,7 +83,7 @@ PhysicsList::~PhysicsList() void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; + G4BosonConstructor pBosonConstructor; pBosonConstructor.ConstructParticle(); G4LeptonConstructor pLeptonConstructor; @@ -115,52 +109,45 @@ void PhysicsList::ConstructProcess() // transportation // AddTransportation(); - + // electromagnetic Physics List // fEmPhysicsList->ConstructProcess(); - if(fMuNuclPhysicsList) fMuNuclPhysicsList->ConstructProcess(); + if (fMuNuclPhysicsList) fMuNuclPhysicsList->ConstructProcess(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>-1) { + if (verboseLevel > -1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } if (name == fEmName) return; if (name == "emstandard_opt0") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "local") { - + } + else if (name == "local") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "muNucl") { + } + else if (name == "muNucl") { fMuNuclPhysicsList = new MuNuclearBuilder(name); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc index c65178786b1..1e301fa88c5 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc @@ -33,18 +33,19 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) - :G4UImessenger(),fPhysicsList(pPhys) -{ - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + : G4UImessenger(), fPhysicsList(pPhys) +{ + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); - fListCmd->AvailableForStates(G4State_PreInit); + fListCmd->SetParameterName("PList", false); + fListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,11 +57,11 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue);} +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc index aa3a3153e61..6ee24e0153e 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc /// \brief Implementation of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,22 +35,21 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) -:G4VUserPrimaryGeneratorAction(),fParticleGun(0),fDetector(det) + : G4VUserPrimaryGeneratorAction(), fParticleGun(0), fDetector(det) { - fParticleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("mu+"); + fParticleGun = new G4ParticleGun(1); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("mu+"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(10*TeV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + fParticleGun->SetParticleEnergy(10 * TeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,20 +63,19 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - G4double halfSize = 0.5*(fDetector->GetSize()); - G4double x0 = - halfSize; - - //randomize (y0,z0) + G4double halfSize = 0.5 * (fDetector->GetSize()); + G4double x0 = -halfSize; + + // randomize (y0,z0) // - G4double beam = 0.8*halfSize; - G4double y0 = (2*G4UniformRand()-1.)*beam; - G4double z0 = (2*G4UniformRand()-1.)*beam; - - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + G4double beam = 0.8 * halfSize; + G4double y0 = (2 * G4UniformRand() - 1.) * beam; + G4double z0 = (2 * G4UniformRand() - 1.) * beam; + + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm17/src/RunAction.cc b/examples/extended/electromagnetic/TestEm17/src/RunAction.cc index d8462ec4d26..67531d85382 100644 --- a/examples/extended/electromagnetic/TestEm17/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/RunAction.cc @@ -26,33 +26,30 @@ /// \file electromagnetic/TestEm17/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" #include "MuCrossSections.hh" -#include "G4ProductionCutsTable.hh" +#include "PrimaryGeneratorAction.hh" -#include "G4Run.hh" -#include "G4RunManager.hh" -#include "G4UnitsTable.hh" #include "G4EmCalculator.hh" - #include "G4PhysicalConstants.hh" +#include "G4ProductionCutsTable.hh" +#include "G4Run.hh" +#include "G4RunManager.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim, - HistoManager* HistM) - : G4UserRunAction(), - fDetector(det), fPrimary(prim), fProcCounter(0), fHistoManager(HistM) +RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim, HistoManager* HistM) + : G4UserRunAction(), fDetector(det), fPrimary(prim), fProcCounter(0), fHistoManager(HistM) { fMucs = new MuCrossSections(); } @@ -67,9 +64,9 @@ RunAction::~RunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run* aRun) -{ +{ G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; - + // save Rndm status CLHEP::HepRandom::showEngineStatus(); @@ -81,17 +78,17 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) void RunAction::CountProcesses(const G4String& procName) { - //does the process already encounted ? - size_t n = fProcCounter->size(); - for(size_t i = 0; iGetName()==procName) { - (*fProcCounter)[i]->Count(); - return; - } - } - OneProcessCount* count = new OneProcessCount(procName); - count->Count(); - fProcCounter->push_back(count); + // does the process already encounted ? + size_t n = fProcCounter->size(); + for (size_t i = 0; i < n; ++i) { + if ((*fProcCounter)[i]->GetName() == procName) { + (*fProcCounter)[i]->Count(); + return; + } + } + OneProcessCount* count = new OneProcessCount(procName); + count->Count(); + fProcCounter->push_back(count); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -100,149 +97,164 @@ void RunAction::EndOfRunAction(const G4Run* aRun) { G4int NbOfEvents = aRun->GetNumberOfEvent(); if (NbOfEvents == 0) return; - + // std::ios::fmtflags mode = G4cout.flags(); - G4int prec = G4cout.precision(2); - + G4int prec = G4cout.precision(2); + const G4Material* material = fDetector->GetMaterial(); - G4double length = fDetector->GetSize(); + G4double length = fDetector->GetSize(); G4double density = material->GetDensity(); - - G4String particle = fPrimary->GetParticleGun()->GetParticleDefinition() - ->GetParticleName(); + + G4String particle = fPrimary->GetParticleGun()->GetParticleDefinition()->GetParticleName(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); - - G4cout << "\n The run consists of " << NbOfEvents << " "<< particle << " of " - << G4BestUnit(energy,"Energy") << " through " - << G4BestUnit(length,"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; - - //total number of process calls + + G4cout << "\n The run consists of " << NbOfEvents << " " << particle << " of " + << G4BestUnit(energy, "Energy") << " through " << G4BestUnit(length, "Length") << " of " + << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") << ")" + << G4endl; + + // total number of process calls G4double countTot = 0.; G4cout << "\n Number of process calls --->"; - for (size_t i=0; i< fProcCounter->size();++i) { - G4String procName = (*fProcCounter)[i]->GetName(); - if (procName != "Transportation") { - G4int count = (*fProcCounter)[i]->GetCounter(); - G4cout << "\t" << procName << " : " << count; - countTot += count; - } + for (size_t i = 0; i < fProcCounter->size(); ++i) { + G4String procName = (*fProcCounter)[i]->GetName(); + if (procName != "Transportation") { + G4int count = (*fProcCounter)[i]->GetCounter(); + G4cout << "\t" << procName << " : " << count; + countTot += count; + } } - - //compute totalCrossSection, meanFreePath and massicCrossSection + + // compute totalCrossSection, meanFreePath and massicCrossSection // - G4double totalCrossSection = countTot/(NbOfEvents*length); - G4double MeanFreePath = 1./totalCrossSection; - G4double massCrossSection = totalCrossSection/density; - + G4double totalCrossSection = countTot / (NbOfEvents * length); + G4double MeanFreePath = 1. / totalCrossSection; + G4double massCrossSection = totalCrossSection / density; + G4cout.precision(5); G4cout << "\n Simulation: " - << "total CrossSection = " << totalCrossSection*cm << " /cm" - << "\t MeanFreePath = " << G4BestUnit(MeanFreePath,"Length") - << "\t massicCrossSection = " << massCrossSection*g/cm2 << " cm2/g" - << G4endl; - - //compute theoretical predictions + << "total CrossSection = " << totalCrossSection * cm << " /cm" + << "\t MeanFreePath = " << G4BestUnit(MeanFreePath, "Length") + << "\t massicCrossSection = " << massCrossSection * g / cm2 << " cm2/g" << G4endl; + + // compute theoretical predictions // - if(particle == "mu+" || particle == "mu-") { + if (particle == "mu+" || particle == "mu-") { totalCrossSection = 0.; - for (size_t i=0; i< fProcCounter->size();++i) { + for (size_t i = 0; i < fProcCounter->size(); ++i) { G4String procName = (*fProcCounter)[i]->GetName(); if (procName != "Transportation") { totalCrossSection += ComputeTheory(procName, NbOfEvents); FillCrossSectionHisto(procName, NbOfEvents); } } - - MeanFreePath = 1./totalCrossSection; - massCrossSection = totalCrossSection/density; - + + MeanFreePath = 1. / totalCrossSection; + massCrossSection = totalCrossSection / density; + G4cout << " Theory: " - << "total CrossSection = " << totalCrossSection*cm << " /cm" - << "\t MeanFreePath = " << G4BestUnit(MeanFreePath,"Length") - << "\t massicCrossSection = " << massCrossSection*g/cm2 << " cm2/g" - << G4endl; + << "total CrossSection = " << totalCrossSection * cm << " /cm" + << "\t MeanFreePath = " << G4BestUnit(MeanFreePath, "Length") + << "\t massicCrossSection = " << massCrossSection * g / cm2 << " cm2/g" << G4endl; } - + // G4cout.setf(mode,std::ios::floatfield); - G4cout.precision(prec); + G4cout.precision(prec); - // delete and remove all contents in fProcCounter + // delete and remove all contents in fProcCounter size_t n = fProcCounter->size(); - for(size_t i = 0; iSave(); - + // show Rndm status - //CLHEP::HepRandom::showEngineStatus(); + // CLHEP::HepRandom::showEngineStatus(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double RunAction::ComputeTheory(const G4String& process, G4int NbOfMu) -{ +G4double RunAction::ComputeTheory(const G4String& process, G4int NbOfMu) +{ const G4Material* material = fDetector->GetMaterial(); G4double ekin = fPrimary->GetParticleGun()->GetParticleEnergy(); G4double particleMass = fPrimary->GetParticleGun()->GetParticleDefinition()->GetPDGMass(); - G4int id = 0; G4double cut = 1.e-10*ekin; - if (process == "muIoni") {id = 11; cut = GetEnergyCut(material,1);} - else if (process == "muPairProd") {id = 12; cut = 2*(GetEnergyCut(material,1) - + electron_mass_c2); } - else if (process == "muBrems") {id = 13; cut = GetEnergyCut(material,0);} - else if (process == "muonNuclear"){id = 14; cut = 100*MeV;} - else if (process == "muToMuonPairProd"){id = 18; cut = 2*particleMass;} - if (id == 0) { return 0.; } - + G4int id = 0; + G4double cut = 1.e-10 * ekin; + if (process == "muIoni") { + id = 11; + cut = GetEnergyCut(material, 1); + } + else if (process == "muPairProd") { + id = 12; + cut = 2 * (GetEnergyCut(material, 1) + electron_mass_c2); + } + else if (process == "muBrems") { + id = 13; + cut = GetEnergyCut(material, 0); + } + else if (process == "muonNuclear") { + id = 14; + cut = 100 * MeV; + } + else if (process == "muToMuonPairProd") { + id = 18; + cut = 2 * particleMass; + } + if (id == 0) { + return 0.; + } + G4int nbOfBins = 100; - //G4double binMin = -10.; - G4double binMin = std::log10(cut/ekin); + // G4double binMin = -10.; + G4double binMin = std::log10(cut / ekin); G4double binMax = 0.; - G4double binWidth = (binMax-binMin)/G4double(nbOfBins); + G4double binWidth = (binMax - binMin) / G4double(nbOfBins); - //create histo for theoretical crossSections, with same bining as simulation + // create histo for theoretical crossSections, with same bining as simulation // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - + G4H1* histoTh = 0; if (fHistoManager->HistoExist(id)) { - histoTh = analysisManager->GetH1(fHistoManager->GetHistoID(id)); + histoTh = analysisManager->GetH1(fHistoManager->GetHistoID(id)); nbOfBins = fHistoManager->GetNbins(id); - binMin = fHistoManager->GetVmin (id); - binMax = fHistoManager->GetVmax (id); - binWidth = fHistoManager->GetBinWidth(id); + binMin = fHistoManager->GetVmin(id); + binMax = fHistoManager->GetVmax(id); + binWidth = fHistoManager->GetBinWidth(id); } - - //compute and plot differential crossSection, as function of energy transfert. - //compute and return integrated crossSection for a given process. + + // compute and plot differential crossSection, as function of energy transfert. + // compute and return integrated crossSection for a given process. //(note: to compare with simulation, the integrated crossSection is function - // of the energy cut.) - // + // of the energy cut.) + // G4double lgeps, etransf, sigmaE, dsigma; G4double sigmaTot = 0.; - const G4double ln10 = std::log(10.); + const G4double ln10 = std::log(10.); G4double length = fDetector->GetSize(); - //G4cout << "MU: " << process << " E= " << ekin - // <<" binMin= " << binMin << " binW= " << binWidth << G4endl; + // G4cout << "MU: " << process << " E= " << ekin + // <<" binMin= " << binMin << " binW= " << binWidth << G4endl; - for (G4int ibin=0; ibinCR_Macroscopic(process,material,ekin,etransf); - dsigma = sigmaE*etransf*binWidth*ln10; - if (etransf > cut) sigmaTot += dsigma; + for (G4int ibin = 0; ibin < nbOfBins; ibin++) { + lgeps = binMin + (ibin + 0.5) * binWidth; + etransf = ekin * std::pow(10., lgeps); + sigmaE = fMucs->CR_Macroscopic(process, material, ekin, etransf); + dsigma = sigmaE * etransf * binWidth * ln10; + if (etransf > cut) sigmaTot += dsigma; if (histoTh) { - G4double NbProcess = NbOfMu*length*dsigma; + G4double NbProcess = NbOfMu * length * dsigma; histoTh->fill(lgeps, NbProcess); } } - - //return integrated crossSection + + // return integrated crossSection // - return sigmaTot; + return sigmaTot; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -251,40 +263,57 @@ void RunAction::FillCrossSectionHisto(const G4String& process, G4int) { const G4Material* material = fDetector->GetMaterial(); G4double ekin = fPrimary->GetParticleGun()->GetParticleEnergy(); - G4ParticleDefinition *particle = fPrimary->GetParticleGun()->GetParticleDefinition(); + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double particleMass = particle->GetPDGMass(); - + G4EmCalculator emCal; - G4int id = 0; G4double cut = 1.e-10*ekin; - if (process == "muIoni") {id = 21; cut = GetEnergyCut(material,1);} - else if (process == "muPairProd") {id = 22; cut = 2*(GetEnergyCut(material,1) - + electron_mass_c2); } - else if (process == "muBrems") {id = 23; cut = GetEnergyCut(material,0);} - else if (process == "muonNuclear"){id = 24; cut = 100*MeV;} - else if (process == "muToMuonPairProd"){id = 28; cut = 2*particleMass;} - if (id == 0) { return; } + G4int id = 0; + G4double cut = 1.e-10 * ekin; + if (process == "muIoni") { + id = 21; + cut = GetEnergyCut(material, 1); + } + else if (process == "muPairProd") { + id = 22; + cut = 2 * (GetEnergyCut(material, 1) + electron_mass_c2); + } + else if (process == "muBrems") { + id = 23; + cut = GetEnergyCut(material, 0); + } + else if (process == "muonNuclear") { + id = 24; + cut = 100 * MeV; + } + else if (process == "muToMuonPairProd") { + id = 28; + cut = 2 * particleMass; + } + if (id == 0) { + return; + } G4int nbOfBins = 100; G4double binMin = cut; G4double binMax = ekin; - G4double binWidth = (binMax-binMin)/G4double(nbOfBins); + G4double binWidth = (binMax - binMin) / G4double(nbOfBins); G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - + G4H1* histoTh = 0; if (fHistoManager->HistoExist(id)) { - histoTh = analysisManager->GetH1(fHistoManager->GetHistoID(id)); + histoTh = analysisManager->GetH1(fHistoManager->GetHistoID(id)); nbOfBins = fHistoManager->GetNbins(id); - binMin = fHistoManager->GetVmin (id); - binMax = fHistoManager->GetVmax (id); - binWidth = fHistoManager->GetBinWidth(id); + binMin = fHistoManager->GetVmin(id); + binMax = fHistoManager->GetVmax(id); + binWidth = fHistoManager->GetBinWidth(id); } G4double sigma, primaryEnergy; - for(G4int ibin=0; ibinfill(primaryEnergy, sigma); @@ -295,15 +324,15 @@ void RunAction::FillCrossSectionHisto(const G4String& process, G4int) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double RunAction::GetEnergyCut(const G4Material* material, G4int idParticle) -{ - G4ProductionCutsTable* table = G4ProductionCutsTable::GetProductionCutsTable(); - - size_t index = 0; - while ( (table->GetMaterialCutsCouple(index)->GetMaterial() != material) && - (index < table->GetTableSize())) index++; +{ + G4ProductionCutsTable* table = G4ProductionCutsTable::GetProductionCutsTable(); + + size_t index = 0; + while ((table->GetMaterialCutsCouple(index)->GetMaterial() != material) + && (index < table->GetTableSize())) + index++; - return (*(table->GetEnergyCutsVector(idParticle)))[index]; -} + return (*(table->GetEnergyCutsVector(idParticle)))[index]; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc index c8003a2006c..232010edcd2 100644 --- a/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc @@ -26,35 +26,32 @@ /// \file electromagnetic/TestEm17/src/StackingAction.cc /// \brief Implementation of the StackingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StackingAction.hh" + #include "G4Track.hh" #include "G4TrackStatus.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingAction::StackingAction() - : G4UserStackingAction() -{} +StackingAction::StackingAction() : G4UserStackingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingAction::~StackingAction() -{} +StackingAction::~StackingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* aTrack) +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* aTrack) { - G4ClassificationOfNewTrack classification = fUrgent; - + G4ClassificationOfNewTrack classification = fUrgent; + // kill all secondaries - if(aTrack->GetParentID() != 0) classification = fKill; - + if (aTrack->GetParentID() != 0) classification = fKill; + return classification; } diff --git a/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc index 43bf9ec739c..48d0f433e23 100644 --- a/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc @@ -26,39 +26,39 @@ /// \file electromagnetic/TestEm17/src/SteppingAction.cc /// \brief Implementation of the SteppingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" -#include "RunAction.hh" + #include "HistoManager.hh" +#include "RunAction.hh" #include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(RunAction* RuAct, HistoManager* Hist) - :G4UserSteppingAction(),fRunAction(RuAct), fHistoManager(Hist) -{ } + : G4UserSteppingAction(), fRunAction(RuAct), fHistoManager(Hist) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::~SteppingAction() -{ } +SteppingAction::~SteppingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) -{ +{ G4StepPoint* endPoint = aStep->GetPostStepPoint(); G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName(); - //count processes - // + // count processes + // fRunAction->CountProcesses(procName); - - //plot energy transfered + + // plot energy transfered // G4StepPoint* startPoint = aStep->GetPreStepPoint(); G4double E0 = startPoint->GetKineticEnergy(); @@ -67,21 +67,27 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) G4double E2 = endPoint->GetKineticEnergy(); G4double etrans = E1 - E2; G4double lgepsE = 0.; - if (etrans > 0.) lgepsE = std::log10(etrans/E1); + if (etrans > 0.) lgepsE = std::log10(etrans / E1); G4int id = 0; - if (procName == "muIoni") id = 1; - else if (procName == "muPairProd") id = 2; - else if (procName == "muBrems") id = 3; - // else if (procName == "muNucl") id = 4; - else if (procName == "muonNuclear")id = 4; - else if (procName == "hIoni") id = 5; - else if (procName == "hPairProd") id = 6; - else if (procName == "hBrems") id = 7; - else if (procName == "muToMuonPairProd") id = 8; - fHistoManager->FillHisto(id,lgepsE); + if (procName == "muIoni") + id = 1; + else if (procName == "muPairProd") + id = 2; + else if (procName == "muBrems") + id = 3; + // else if (procName == "muNucl") id = 4; + else if (procName == "muonNuclear") + id = 4; + else if (procName == "hIoni") + id = 5; + else if (procName == "hPairProd") + id = 6; + else if (procName == "hBrems") + id = 7; + else if (procName == "muToMuonPairProd") + id = 8; + fHistoManager->FillHisto(id, lgepsE); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm18/TestEm18.cc b/examples/extended/electromagnetic/TestEm18/TestEm18.cc index 3601301dcf7..212f184174e 100644 --- a/examples/extended/electromagnetic/TestEm18/TestEm18.cc +++ b/examples/extended/electromagnetic/TestEm18/TestEm18.cc @@ -31,40 +31,39 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - #include "DetectorConstruction.hh" +#include "EventAction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" -#include "TrackingAction.hh" -#include "SteppingAction.hh" #include "StackingAction.hh" +#include "SteppingAction.hh" +#include "TrackingAction.hh" +#include "G4RunManager.hh" +#include "G4SteppingVerbose.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //choose the Random engine + // choose the Random engine CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); - //Use SteppingVerbose with Unit + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - + // Construct the default run manager - G4RunManager * runManager = new G4RunManager; + G4RunManager* runManager = new G4RunManager; // set mandatory initialization classes DetectorConstruction* detector; @@ -74,54 +73,53 @@ int main(int argc,char** argv) { // set user action classes // - //primaryGenerator + // primaryGenerator PrimaryGeneratorAction* primary = new PrimaryGeneratorAction(detector); runManager->SetUserAction(primary); - //runAction - RunAction* runaction = new RunAction(detector,primary); + // runAction + RunAction* runaction = new RunAction(detector, primary); runManager->SetUserAction(runaction); - //eventAction + // eventAction EventAction* eventaction = new EventAction(runaction); runManager->SetUserAction(eventaction); - //TrackingAction + // TrackingAction TrackingAction* trackingaction = new TrackingAction(runaction); runManager->SetUserAction(trackingaction); - //stepAction + // stepAction SteppingAction* steppingaction = new SteppingAction(runaction, eventaction); runManager->SetUserAction(steppingaction); - //stackAction + // stackAction StackingAction* stackingaction = new StackingAction(); runManager->SetUserAction(stackingaction); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/TestEm18.out b/examples/extended/electromagnetic/TestEm18/TestEm18.out index 4800627678c..6f1a2a12377 100644 --- a/examples/extended/electromagnetic/TestEm18/TestEm18.out +++ b/examples/extended/electromagnetic/TestEm18/TestEm18.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -215,7 +215,7 @@ Index : 0 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 100000 - User=0.820000s Real=0.858033s Sys=0.000000s + User=0.650000s Real=0.667681s Sys=0.000000s ======================== run summary ====================== diff --git a/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh index bb8b851fb14..09465ceff7e 100644 --- a/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm18/include/DetectorConstruction.hh /// \brief Definition of the DetectorConstruction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,47 +45,39 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction() override; + ~DetectorConstruction() override; public: - - G4VPhysicalVolume* Construct() override; - - void SetSize (G4double); - void SetMaterial (const G4String&); - - void UpdateGeometry(); - + G4VPhysicalVolume* Construct() override; + + void SetSize(G4double); + void SetMaterial(const G4String&); + + void UpdateGeometry(); + public: - - const - G4VPhysicalVolume* GetWorld() {return fPBox;}; - - G4double GetSize() {return fBoxSize;}; - G4Material* GetMaterial() {return fMaterial;}; - - void PrintParameters(); - + const G4VPhysicalVolume* GetWorld() { return fPBox; }; + + G4double GetSize() { return fBoxSize; }; + G4Material* GetMaterial() { return fMaterial; }; + + void PrintParameters(); + private: - - G4VPhysicalVolume* fPBox = nullptr; - G4LogicalVolume* fLBox = nullptr; - - G4double fBoxSize; - G4Material* fMaterial = nullptr; - - DetectorMessenger* fDetectorMessenger = nullptr; + G4VPhysicalVolume* fPBox = nullptr; + G4LogicalVolume* fLBox = nullptr; + + G4double fBoxSize; + G4Material* fMaterial = nullptr; + + DetectorMessenger* fDetectorMessenger = nullptr; private: - - void DefineMaterials(); - G4VPhysicalVolume* ConstructVolumes(); + void DefineMaterials(); + G4VPhysicalVolume* ConstructVolumes(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh index f79e3c001bb..cec447265cb 100644 --- a/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh @@ -44,27 +44,24 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; - - void SetNewValue(G4UIcommand*, G4String) override; - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; + + void SetNewValue(G4UIcommand*, G4String) override; + private: - - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fMaterCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; - G4UIcmdWithoutParameter* fUpdateCmd = nullptr; + DetectorConstruction* fDetector = nullptr; + + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fMaterCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fSizeCmd = nullptr; + G4UIcmdWithoutParameter* fUpdateCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/EventAction.hh b/examples/extended/electromagnetic/TestEm18/include/EventAction.hh index 542763f8fc9..f17c79c9ce9 100644 --- a/examples/extended/electromagnetic/TestEm18/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/EventAction.hh @@ -35,6 +35,7 @@ #include "G4UserEventAction.hh" #include "globals.hh" + #include class RunAction; @@ -46,25 +47,23 @@ class EventAction : public G4UserEventAction { public: EventAction(RunAction*); - ~EventAction() override = default; + ~EventAction() override = default; public: void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; - + void EndOfEventAction(const G4Event*) override; + void SumEnergyDeposited(G4int trackID, G4double edep); void SumEnergyTransfered(const G4VProcess*, G4double); private: - RunAction* fRunAction = nullptr; - - G4double fEdepPrimary = 0., fEdepSecondary = 0.; - std::map fEnergyTransfered; - std::map fProcessSubType; + RunAction* fRunAction = nullptr; + + G4double fEdepPrimary = 0., fEdepSecondary = 0.; + std::map fEnergyTransfered; + std::map fProcessSubType; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh index 910e307a46e..e304f76a55a 100644 --- a/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh @@ -24,23 +24,23 @@ // ******************************************************************** // // -// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class HistoManager { public: - HistoManager(); - ~HistoManager() = default; + HistoManager(); + ~HistoManager() = default; private: void Book(); @@ -50,4 +50,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh index d9cc3921502..236d85787ce 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh @@ -38,20 +38,14 @@ class PhysListEmLivermore : public G4VPhysicsConstructor { -public: - PhysListEmLivermore(const G4String& name = "Livermore"); - ~PhysListEmLivermore() override = default; + public: + PhysListEmLivermore(const G4String& name = "Livermore"); + ~PhysListEmLivermore() override = default; - void ConstructParticle() override { }; - void ConstructProcess() override; + void ConstructParticle() override {}; + void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh index 2b9bbd116ef..30066988b99 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh @@ -38,20 +38,14 @@ class PhysListEmPenelope : public G4VPhysicsConstructor { -public: - PhysListEmPenelope(const G4String& name = "Penelope"); - ~PhysListEmPenelope() override = default; + public: + PhysListEmPenelope(const G4String& name = "Penelope"); + ~PhysListEmPenelope() override = default; - void ConstructParticle() override { }; - void ConstructProcess() override; + void ConstructParticle() override {}; + void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh index a172ee1786a..de965258e77 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh @@ -40,28 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { -public: - PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; - -public: - // This method is dummy for physics - void ConstructParticle() override {}; - - // 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 - void ConstructProcess() override; + public: + PhysListEmStandard(const G4String& name = "standard"); + ~PhysListEmStandard() override = default; + + public: + // This method is dummy for physics + void ConstructParticle() override {}; + + // 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 + void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh index 36fd1ed67d7..692c0a0b4a7 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh @@ -41,26 +41,25 @@ class PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); - ~PhysicsList() override; + ~PhysicsList() override; void ConstructParticle() override; - void ConstructProcess() override; - + void ConstructProcess() override; + void AddPhysicsList(const G4String& name); - void AddStepMax(); - - private: - PhysicsListMessenger* fMessenger = nullptr; + void AddStepMax(); + + private: + PhysicsListMessenger* fMessenger = nullptr; - G4String fEmName; + G4String fEmName; G4VPhysicsConstructor* fEmPhysicsList = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh index 921863a086e..14d845ba7d6 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh @@ -42,24 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh index 5d86323f8bd..388be12c20d 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh @@ -26,15 +26,15 @@ /// \file electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh /// \brief Definition of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -45,20 +45,18 @@ class DetectorConstruction; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; public: void GeneratePrimaries(G4Event*) override; - G4ParticleGun* GetParticleGun() {return fParticleGun;}; + G4ParticleGun* GetParticleGun() { return fParticleGun; }; private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm18/include/RunAction.hh b/examples/extended/electromagnetic/TestEm18/include/RunAction.hh index 37365a82ae6..103dce3e1a9 100644 --- a/examples/extended/electromagnetic/TestEm18/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/RunAction.hh @@ -36,6 +36,7 @@ #include "G4UserRunAction.hh" #include "G4VProcess.hh" #include "globals.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,62 +55,60 @@ class RunAction : public G4UserRunAction { public: RunAction(DetectorConstruction*, PrimaryGeneratorAction*); - ~RunAction() override; + ~RunAction() override; public: void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; void CountProcesses(G4String procName); - void TrackLength (G4double step); + void TrackLength(G4double step); - void EnergyDeposited (G4double edepPrim, G4double edepSecond); + void EnergyDeposited(G4double edepPrim, G4double edepSecond); - void EnergyTransferedByProcess (G4String procName, G4double energy); + void EnergyTransferedByProcess(G4String procName, G4double energy); - void EnergyTransfered (G4double energy); + void EnergyTransfered(G4double energy); - void TotalEnergyLost (G4double energy); + void TotalEnergyLost(G4double energy); - void EnergyBalance (G4double energy); + void EnergyBalance(G4double energy); - void TotalEnergyDeposit (G4double energy); + void TotalEnergyDeposit(G4double energy); - void EnergySpectrumOfSecondaries (G4String particleName, G4double ekin); + void EnergySpectrumOfSecondaries(G4String particleName, G4double ekin); public: - G4double GetEnergyFromRestrictedRange - (G4double,G4ParticleDefinition*,G4Material*,G4double); - - G4double GetEnergyFromCSDARange - (G4double,G4ParticleDefinition*,G4Material*,G4double); - -private: - struct MinMaxData { - MinMaxData() - : fCount(0), fVsum(0.), fVmin(0.), fVmax(0.) {} - MinMaxData(G4int count, G4double vsum, G4double vmin, G4double vmax) - : fCount(count), fVsum(vsum), fVmin(vmin), fVmax(vmax) {} - G4int fCount; - G4double fVsum; - G4double fVmin; - G4double fVmax; - }; - + G4double GetEnergyFromRestrictedRange(G4double, G4ParticleDefinition*, G4Material*, G4double); + + G4double GetEnergyFromCSDARange(G4double, G4ParticleDefinition*, G4Material*, G4double); + private: + struct MinMaxData + { + MinMaxData() : fCount(0), fVsum(0.), fVmin(0.), fVmax(0.) {} + MinMaxData(G4int count, G4double vsum, G4double vmin, G4double vmax) + : fCount(count), fVsum(vsum), fVmin(vmin), fVmax(vmax) + {} + G4int fCount; + G4double fVsum; + G4double fVmin; + G4double fVmax; + }; - DetectorConstruction* fDetector = nullptr; - PrimaryGeneratorAction* fPrimary = nullptr; - HistoManager* fHistoManager = nullptr; + private: + DetectorConstruction* fDetector = nullptr; + PrimaryGeneratorAction* fPrimary = nullptr; + HistoManager* fHistoManager = nullptr; - std::map fProcCounter; + std::map fProcCounter; - G4long fNbSteps = 0; + G4long fNbSteps = 0; G4double fTrackLength = 0., fStepMin = DBL_MAX, fStepMax = 0.; G4double fEdepPrimary = 0., fEdepPrimMin = DBL_MAX, fEdepPrimMax = 0.; - std::map fEtransfByProcess; + std::map fEtransfByProcess; G4double fEnergyTransfered = 0., fEtransfMin = DBL_MAX, fEtransfMax = 0.; G4double fEnergyLost = 0., fElostMin = DBL_MAX, fElostMax = 0.; G4double fEnergyBalance = 0., fEbalMin = DBL_MAX, fEbalMax = 0.; @@ -117,10 +116,9 @@ private: G4double fEdepSecondary = 0., fEdepSecMin = DBL_MAX, fEdepSecMax = 0.; G4double fEdepTotal = 0., fEdepTotMin = DBL_MAX, fEdepTotMax = 0.; - std::map fEkinOfSecondaries; + std::map fEkinOfSecondaries; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh index 9f9e77ef172..06f1b175ce9 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh @@ -44,18 +44,17 @@ class StackingAction : public G4UserStackingAction { public: StackingAction(); - ~StackingAction() override; + ~StackingAction() override; - void SetTrackSecondaries(G4bool value) { fTrackSecondaries = value;}; + void SetTrackSecondaries(G4bool value) { fTrackSecondaries = value; }; G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*) override; private: - G4bool fTrackSecondaries = false; - StackingMessenger* fStackMessenger = nullptr; + G4bool fTrackSecondaries = false; + StackingMessenger* fStackMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/StackingMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/StackingMessenger.hh index d51ee950d9d..a89b2098486 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StackingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StackingMessenger.hh @@ -41,17 +41,17 @@ class G4UIcmdWithABool; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StackingMessenger: public G4UImessenger +class StackingMessenger : public G4UImessenger { public: StackingMessenger(StackingAction*); - ~StackingMessenger() override; - + ~StackingMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - StackingAction* fStackAction = nullptr; - G4UIcmdWithABool* fTrackCmd = nullptr; + StackingAction* fStackAction = nullptr; + G4UIcmdWithABool* fTrackCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/StepMax.hh b/examples/extended/electromagnetic/TestEm18/include/StepMax.hh index 45e38ccaa4c..bb7c8789f80 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -44,30 +44,28 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { - public: - - StepMax(const G4String& processName ="UserStepMax"); + public: + StepMax(const G4String& processName = "UserStepMax"); ~StepMax() override; - G4bool IsApplicable(const G4ParticleDefinition&) override; - void SetMaxStep(G4double); - - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) override; + G4bool IsApplicable(const G4ParticleDefinition&) override; + void SetMaxStep(G4double); - G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, G4double previousStepSize, + G4ForceCondition* condition) override; - G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) override - {return DBL_MAX;}; // it is not needed here ! + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; - private: + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) override + { + return DBL_MAX; + }; // it is not needed here ! - G4double fMaxChargedStep = DBL_MAX; - StepMaxMessenger* fMess = nullptr; + private: + G4double fMaxChargedStep = DBL_MAX; + StepMaxMessenger* fMess = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh index f0b5f2a2cb8..015978b9145 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh @@ -41,16 +41,16 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger() override; - + ~StepMaxMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - StepMax* fStepMax = nullptr; + StepMax* fStepMax = nullptr; G4UIcmdWithADoubleAndUnit* fStepMaxCmd = nullptr; }; diff --git a/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh index ada64e77223..bb75585eb68 100644 --- a/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh @@ -44,14 +44,14 @@ class EventAction; class SteppingAction : public G4UserSteppingAction { public: - SteppingAction(RunAction*,EventAction* ); - ~SteppingAction() override = default; + SteppingAction(RunAction*, EventAction*); + ~SteppingAction() override = default; - void UserSteppingAction(const G4Step*) override; + void UserSteppingAction(const G4Step*) override; private: - RunAction* fRunaction = nullptr; - EventAction* fEventaction = nullptr; + RunAction* fRunaction = nullptr; + EventAction* fEventaction = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm18/include/TrackingAction.hh index 3a9c33d90da..798aca05dd7 100644 --- a/examples/extended/electromagnetic/TestEm18/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/TrackingAction.hh @@ -40,13 +40,13 @@ class RunAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { - - public: +class TrackingAction : public G4UserTrackingAction +{ + public: TrackingAction(RunAction*); - ~TrackingAction() override = default; + ~TrackingAction() override = default; - void PreUserTrackingAction(const G4Track*) override; + void PreUserTrackingAction(const G4Track*) override; void PostUserTrackingAction(const G4Track*) override; private: diff --git a/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc index 9e87fe3ef03..78ffd04ffad 100644 --- a/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc @@ -31,36 +31,37 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" -#include "G4NistManager.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" - -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" #include "G4SolidStore.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() { - fBoxSize = 1*cm; + fBoxSize = 1 * cm; DefineMaterials(); - SetMaterial("Water"); + SetMaterial("Water"); fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -76,48 +77,45 @@ void DetectorConstruction::DefineMaterials() // // define Elements // - G4double z,a; - - G4Element* H = new G4Element("Hydrogen" ,"H" , z= 1., a= 1.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); - + G4double z, a; + + G4Element* H = new G4Element("Hydrogen", "H", z = 1., a = 1.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); + // // define materials // G4double density; G4int ncomponents, natoms; - G4double fractionmass; - - G4Material* Air = - new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); - Air->AddElement(N, fractionmass=70.*perCent); - Air->AddElement(O, fractionmass=30.*perCent); - - G4Material* H2O = - new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); - - G4Material* vapor = - new G4Material("Water_vapor", density= 1.000*mg/cm3, ncomponents=2); - vapor->AddElement(H, natoms=2); - vapor->AddElement(O, natoms=1); - vapor->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); - - new G4Material("Carbon" , z=6., a= 12.01*g/mole, density= 2.267*g/cm3); - new G4Material("Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3); - new G4Material("Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3); - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3); - new G4Material("Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3); - new G4Material("Tungsten" , z=74., a=183.85*g/mole, density= 19.30*g/cm3); - new G4Material("Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3); - - new G4Material("ArgonGas" , z=18., a=39.948*g/mole, density= 1.782*mg/cm3, - kStateGas, 273.15*kelvin, 1*atmosphere); - + G4double fractionmass; + + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 70. * perCent); + Air->AddElement(O, fractionmass = 30. * perCent); + + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); + + G4Material* vapor = new G4Material("Water_vapor", density = 1.000 * mg / cm3, ncomponents = 2); + vapor->AddElement(H, natoms = 2); + vapor->AddElement(O, natoms = 1); + vapor->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); + + new G4Material("Carbon", z = 6., a = 12.01 * g / mole, density = 2.267 * g / cm3); + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + new G4Material("Silicon", z = 14., a = 28.09 * g / mole, density = 2.330 * g / cm3); + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); + new G4Material("Germanium", z = 32., a = 72.61 * g / mole, density = 5.323 * g / cm3); + new G4Material("Tungsten", z = 74., a = 183.85 * g / mole, density = 19.30 * g / cm3); + new G4Material("Lead", z = 82., a = 207.19 * g / mole, density = 11.35 * g / cm3); + + new G4Material("ArgonGas", z = 18., a = 39.948 * g / mole, density = 1.782 * mg / cm3, kStateGas, + 273.15 * kelvin, 1 * atmosphere); + ////G4cout << *(G4Material::GetMaterialTable()) << G4endl; } @@ -131,25 +129,24 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() G4LogicalVolumeStore::GetInstance()->Clean(); G4SolidStore::GetInstance()->Clean(); - G4Box* - sBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - fLBox = new G4LogicalVolume(sBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fPBox = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fLBox, //its logical volume - fMaterial->GetName(), //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - + G4Box* sBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + fLBox = new G4LogicalVolume(sBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fPBox = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fLBox, // its logical volume + fMaterial->GetName(), // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + PrintParameters(); - - //always return the root volume + + // always return the root volume // return fPBox; } @@ -158,9 +155,8 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() void DetectorConstruction::PrintParameters() { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() - << "\n " << fMaterial << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << "\n " << fMaterial << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -171,18 +167,20 @@ void DetectorConstruction::SetMaterial(const G4String& name) G4Material* mat = G4Material::GetMaterial(name, false); // create the material by its name - if(!mat) { mat = G4NistManager::Instance()->FindOrBuildMaterial(name); } + if (!mat) { + mat = G4NistManager::Instance()->FindOrBuildMaterial(name); + } - if(mat && mat != fMaterial) { + if (mat && mat != fMaterial) { G4cout << "### New material " << mat->GetName() << G4endl; fMaterial = mat; UpdateGeometry(); } - if(!mat) { - G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " - << name << " not found" << G4endl; - } + if (!mat) { + G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " << name << " not found" + << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -190,7 +188,7 @@ void DetectorConstruction::SetMaterial(const G4String& name) void DetectorConstruction::SetSize(G4double value) { fBoxSize = value; - UpdateGeometry(); + UpdateGeometry(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc index 27b580180c5..abef0501069 100644 --- a/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc @@ -33,35 +33,35 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -: fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize",this); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize", this); fSizeCmd->SetGuidance("Set size of the box"); - fSizeCmd->SetParameterName("Size",false); + fSizeCmd->SetParameterName("Size", false); fSizeCmd->SetRange("Size>0."); fSizeCmd->SetUnitCategory("Length"); - fSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this); + fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update", this); fUpdateCmd->SetGuidance("Update calorimeter geometry."); fUpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); fUpdateCmd->SetGuidance("if you changed geometrical value(s)."); @@ -73,24 +73,27 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; - delete fSizeCmd; + delete fSizeCmd; delete fUpdateCmd; - delete fDetDir; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fSizeCmd ) - { fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));} - - if( command == fUpdateCmd ) - { fDetector->UpdateGeometry(); } +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fSizeCmd) { + fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue)); + } + + if (command == fUpdateCmd) { + fDetector->UpdateGeometry(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/EventAction.cc b/examples/extended/electromagnetic/TestEm18/src/EventAction.cc index 7055a89cb32..198904632bb 100644 --- a/examples/extended/electromagnetic/TestEm18/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/EventAction.cc @@ -32,47 +32,47 @@ #include "EventAction.hh" -#include "RunAction.hh" #include "HistoManager.hh" +#include "RunAction.hh" #include "G4Event.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(RunAction* RA) -:fRunAction(RA) -{} +EventAction::EventAction(RunAction* RA) : fRunAction(RA) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::BeginOfEventAction(const G4Event*) { - // initialisation per event - fEdepPrimary = fEdepSecondary = 0.; + // initialisation per event + fEdepPrimary = fEdepSecondary = 0.; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::SumEnergyDeposited(G4int trackID, G4double edep) { - if (trackID == 1) fEdepPrimary += edep; - else fEdepSecondary += edep; + if (trackID == 1) + fEdepPrimary += edep; + else + fEdepSecondary += edep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::SumEnergyTransfered(const G4VProcess* process,G4double energy) +void EventAction::SumEnergyTransfered(const G4VProcess* process, G4double energy) { G4String procName = process->GetProcessName(); - std::map::iterator it = fEnergyTransfered.find(procName); - if ( it == fEnergyTransfered.end()) { + std::map::iterator it = fEnergyTransfered.find(procName); + if (it == fEnergyTransfered.end()) { fEnergyTransfered[procName] = energy; } else { fEnergyTransfered[procName] += energy; } - - G4int subtype = process-> GetProcessSubType(); + + G4int subtype = process->GetProcessSubType(); fProcessSubType[procName] = subtype; } @@ -80,40 +80,41 @@ void EventAction::SumEnergyTransfered(const G4VProcess* process,G4double energy) void EventAction::EndOfEventAction(const G4Event*) { - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - - G4double EtransferedTotal = 0.; - std::map::iterator it; - for (it = fEnergyTransfered.begin(); it != fEnergyTransfered.end(); it++) { + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + + G4double EtransferedTotal = 0.; + std::map::iterator it; + for (it = fEnergyTransfered.begin(); it != fEnergyTransfered.end(); it++) { G4String procName = it->first; - G4double energy = it->second; + G4double energy = it->second; fRunAction->EnergyTransferedByProcess(procName, energy); EtransferedTotal += energy; // G4int ih = 0; - if(fProcessSubType[procName] == 2) ih = 3; - else if(fProcessSubType[procName] == 3) ih = 4; - else if(fProcessSubType[procName] == 4) ih = 5; + if (fProcessSubType[procName] == 2) + ih = 3; + else if (fProcessSubType[procName] == 3) + ih = 4; + else if (fProcessSubType[procName] == 4) + ih = 5; if (ih > 0) analysisManager->FillH1(ih, energy); - } - - fRunAction->EnergyDeposited(fEdepPrimary, fEdepSecondary); - if (EtransferedTotal > 0.) fRunAction->EnergyTransfered(EtransferedTotal); - G4double energyLostTotal = fEdepPrimary + EtransferedTotal; - fRunAction->TotalEnergyLost(energyLostTotal); - G4double energyDepositTotal = fEdepPrimary + fEdepSecondary; - fRunAction->TotalEnergyDeposit(energyDepositTotal); - - - analysisManager->FillH1( 2, fEdepPrimary); - analysisManager->FillH1( 6, EtransferedTotal); - analysisManager->FillH1( 7, energyLostTotal); - analysisManager->FillH1( 9, fEdepSecondary); - analysisManager->FillH1(10, energyDepositTotal); - - fEnergyTransfered.clear(); - fProcessSubType.clear(); + } + + fRunAction->EnergyDeposited(fEdepPrimary, fEdepSecondary); + if (EtransferedTotal > 0.) fRunAction->EnergyTransfered(EtransferedTotal); + G4double energyLostTotal = fEdepPrimary + EtransferedTotal; + fRunAction->TotalEnergyLost(energyLostTotal); + G4double energyDepositTotal = fEdepPrimary + fEdepSecondary; + fRunAction->TotalEnergyDeposit(energyDepositTotal); + + analysisManager->FillH1(2, fEdepPrimary); + analysisManager->FillH1(6, EtransferedTotal); + analysisManager->FillH1(7, energyLostTotal); + analysisManager->FillH1(9, fEdepSecondary); + analysisManager->FillH1(10, energyDepositTotal); + + fEnergyTransfered.clear(); + fProcessSubType.clear(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc index 876d47a2566..6414cd421a7 100644 --- a/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,37 +50,36 @@ void HistoManager::Book() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName(fFileName); analysisManager->SetVerboseLevel(1); - analysisManager->SetActivation(true); //enable inactivation of histograms - + analysisManager->SetActivation(true); // enable inactivation of histograms + // Define histograms start values const G4int kMaxHisto = 14; - const G4String id[] = { "0", "1", "2", "3" , "4", "5", "6", "7", "8", "9", - "10", "11", "12", "13"}; - const G4String title[] = - { "dummy", //0 - "step size of primary track", //1 - "energy continuously deposited along primary track", //2 - "energy transfered to secondaries by ionisation", //3 - "energy transfered to secondaries by Bremsstrahlung", //4 - "energy transfered to secondaries by (e+,e-) production", //5 - "total energy transfered to secondaries", //6 - "total energy lost by primary track", //7 - "total energy lost by primary track from energy balance", //8 - "energy continuously deposited along secondary tracks", //9 - "total energy deposited", //10 - "energy spectrum of gamma", //11 - "energy spectrum of e-", //12 - "energy spectrum of e+" //13 - }; - - // Default values (to be reset via /analysis/h1/set command) + const G4String id[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"}; + const G4String title[] = { + "dummy", // 0 + "step size of primary track", // 1 + "energy continuously deposited along primary track", // 2 + "energy transfered to secondaries by ionisation", // 3 + "energy transfered to secondaries by Bremsstrahlung", // 4 + "energy transfered to secondaries by (e+,e-) production", // 5 + "total energy transfered to secondaries", // 6 + "total energy lost by primary track", // 7 + "total energy lost by primary track from energy balance", // 8 + "energy continuously deposited along secondary tracks", // 9 + "total energy deposited", // 10 + "energy spectrum of gamma", // 11 + "energy spectrum of e-", // 12 + "energy spectrum of e+" // 13 + }; + + // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; kCreateH1(id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc index d70d87d0ad4..50445dd0a03 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc @@ -32,33 +32,30 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmLivermore.hh" + #include "G4BuilderType.hh" #include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" #include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" // gamma -#include "G4PhotoElectricEffect.hh" -#include "G4LivermorePhotoElectricModel.hh" - #include "G4ComptonScattering.hh" -#include "G4LivermoreComptonModel.hh" - #include "G4GammaConversion.hh" +#include "G4LivermoreComptonModel.hh" #include "G4LivermoreGammaConversionModel.hh" - -#include "G4RayleighScattering.hh" +#include "G4LivermorePhotoElectricModel.hh" #include "G4LivermoreRayleighModel.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4RayleighScattering.hh" // e- -#include "G4eIonisation.hh" +#include "G4LivermoreBremsstrahlungModel.hh" #include "G4LivermoreIonisationModel.hh" #include "G4UniversalFluctuation.hh" - #include "G4eBremsstrahlung.hh" -#include "G4LivermoreBremsstrahlungModel.hh" +#include "G4eIonisation.hh" // e+ @@ -66,8 +63,8 @@ // mu -#include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" // hadrons, ions @@ -78,114 +75,105 @@ // deexcitation #include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - #include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmLivermore::PhysListEmLivermore(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmLivermore::PhysListEmLivermore(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetBuildCSDARange(true); - param->SetMaxEnergyForCSDARange(10*TeV); - SetPhysicsType(bElectromagnetic); - - param->SetVerbose(0); - param->Dump(); - } + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetBuildCSDARange(true); + param->SetMaxEnergyForCSDARange(10 * TeV); + SetPhysicsType(bElectromagnetic); + + param->SetVerbose(0); + param->Dump(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysListEmLivermore::ConstructProcess() { G4PhysicsListHelper* list = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add Livermore EM Processes - - auto particleIterator=GetParticleIterator(); + + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - //Applicability range for Livermore models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - + // Applicability range for Livermore models + // for higher energies, the Standard models are used + G4double highEnergyLimit = 1 * GeV; + if (particleName == "gamma") { - // gamma + // gamma G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4LivermorePhotoElectricModel* - photModel = new G4LivermorePhotoElectricModel(); + G4LivermorePhotoElectricModel* photModel = new G4LivermorePhotoElectricModel(); photModel->SetHighEnergyLimit(highEnergyLimit); phot->AddEmModel(0, photModel); list->RegisterProcess(phot, particle); G4ComptonScattering* compt = new G4ComptonScattering(); - G4LivermoreComptonModel* - comptModel = new G4LivermoreComptonModel(); + G4LivermoreComptonModel* comptModel = new G4LivermoreComptonModel(); comptModel->SetHighEnergyLimit(highEnergyLimit); compt->AddEmModel(0, comptModel); list->RegisterProcess(compt, particle); G4GammaConversion* conv = new G4GammaConversion(); - G4LivermoreGammaConversionModel* - convModel = new G4LivermoreGammaConversionModel(); + G4LivermoreGammaConversionModel* convModel = new G4LivermoreGammaConversionModel(); convModel->SetHighEnergyLimit(highEnergyLimit); conv->AddEmModel(0, convModel); list->RegisterProcess(conv, particle); G4RayleighScattering* rayl = new G4RayleighScattering(); - G4LivermoreRayleighModel* - raylModel = new G4LivermoreRayleighModel(); + G4LivermoreRayleighModel* raylModel = new G4LivermoreRayleighModel(); raylModel->SetHighEnergyLimit(highEnergyLimit); rayl->AddEmModel(0, raylModel); list->RegisterProcess(rayl, particle); - - } else if (particleName == "e-") { - //electron + } + else if (particleName == "e-") { + // electron G4eIonisation* eIoni = new G4eIonisation(); - G4LivermoreIonisationModel* - eIoniModel = new G4LivermoreIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); + G4LivermoreIonisationModel* eIoniModel = new G4LivermoreIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); list->RegisterProcess(eIoni, particle); - + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4LivermoreBremsstrahlungModel* - eBremModel = new G4LivermoreBremsstrahlungModel(); + G4LivermoreBremsstrahlungModel* eBremModel = new G4LivermoreBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); list->RegisterProcess(eBrem, particle); - - } else if (particleName == "e+") { - //positron + } + else if (particleName == "e+") { + // positron list->RegisterProcess(new G4eIonisation, particle); list->RegisterProcess(new G4eBremsstrahlung, particle); list->RegisterProcess(new G4eplusAnnihilation, particle); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon list->RegisterProcess(new G4MuIonisation, particle); list->RegisterProcess(new G4MuBremsstrahlung, particle); - list->RegisterProcess(new G4MuPairProduction, particle); - - } else if( particleName == "alpha" || particleName == "GenericIon" ) { + list->RegisterProcess(new G4MuPairProduction, particle); + } + else if (particleName == "alpha" || particleName == "GenericIon") { list->RegisterProcess(new G4ionIonisation, particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino list->RegisterProcess(new G4hIonisation, particle); } } @@ -196,4 +184,3 @@ void PhysListEmLivermore::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc index 93a76833403..ec8a3218176 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc @@ -32,43 +32,40 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmPenelope.hh" + #include "G4BuilderType.hh" #include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" #include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" // gamma -#include "G4PhotoElectricEffect.hh" -#include "G4PenelopePhotoElectricModel.hh" - #include "G4ComptonScattering.hh" -#include "G4PenelopeComptonModel.hh" - #include "G4GammaConversion.hh" +#include "G4PenelopeComptonModel.hh" #include "G4PenelopeGammaConversionModel.hh" - -#include "G4RayleighScattering.hh" +#include "G4PenelopePhotoElectricModel.hh" #include "G4PenelopeRayleighModel.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4RayleighScattering.hh" // e- -#include "G4eIonisation.hh" +#include "G4PenelopeBremsstrahlungModel.hh" #include "G4PenelopeIonisationModel.hh" #include "G4UniversalFluctuation.hh" - #include "G4eBremsstrahlung.hh" -#include "G4PenelopeBremsstrahlungModel.hh" +#include "G4eIonisation.hh" // e+ -#include "G4eplusAnnihilation.hh" #include "G4PenelopeAnnihilationModel.hh" +#include "G4eplusAnnihilation.hh" // mu -#include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" #include "G4MuPairProduction.hh" // hadrons, ions @@ -79,131 +76,119 @@ // deexcitation #include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - #include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmPenelope::PhysListEmPenelope(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmPenelope::PhysListEmPenelope(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetBuildCSDARange(true); - param->SetMaxEnergyForCSDARange(10*TeV); - SetPhysicsType(bElectromagnetic); - - param->SetVerbose(0); - param->Dump(); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetBuildCSDARange(true); + param->SetMaxEnergyForCSDARange(10 * TeV); + SetPhysicsType(bElectromagnetic); + + param->SetVerbose(0); + param->Dump(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysListEmPenelope::ConstructProcess() { - G4PhysicsListHelper* list = G4PhysicsListHelper::GetPhysicsListHelper(); - + G4PhysicsListHelper* list = G4PhysicsListHelper::GetPhysicsListHelper(); + // Add standard EM Processes - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - //Applicability range for Penelope models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - + // Applicability range for Penelope models + // for higher energies, the Standard models are used + G4double highEnergyLimit = 1 * GeV; + if (particleName == "gamma") { - // gamma + // gamma G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4PenelopePhotoElectricModel* - photModel = new G4PenelopePhotoElectricModel(); + G4PenelopePhotoElectricModel* photModel = new G4PenelopePhotoElectricModel(); photModel->SetHighEnergyLimit(highEnergyLimit); phot->AddEmModel(0, photModel); list->RegisterProcess(phot, particle); G4ComptonScattering* compt = new G4ComptonScattering(); - G4PenelopeComptonModel* - comptModel = new G4PenelopeComptonModel(); + G4PenelopeComptonModel* comptModel = new G4PenelopeComptonModel(); comptModel->SetHighEnergyLimit(highEnergyLimit); compt->AddEmModel(0, comptModel); list->RegisterProcess(compt, particle); G4GammaConversion* conv = new G4GammaConversion(); - G4PenelopeGammaConversionModel* - convModel = new G4PenelopeGammaConversionModel(); + G4PenelopeGammaConversionModel* convModel = new G4PenelopeGammaConversionModel(); convModel->SetHighEnergyLimit(highEnergyLimit); conv->AddEmModel(0, convModel); list->RegisterProcess(conv, particle); G4RayleighScattering* rayl = new G4RayleighScattering(); - G4PenelopeRayleighModel* - raylModel = new G4PenelopeRayleighModel(); + G4PenelopeRayleighModel* raylModel = new G4PenelopeRayleighModel(); raylModel->SetHighEnergyLimit(highEnergyLimit); rayl->AddEmModel(0, raylModel); list->RegisterProcess(rayl, particle); - - } else if (particleName == "e-") { - //electron + } + else if (particleName == "e-") { + // electron G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); + G4PenelopeIonisationModel* eIoniModel = new G4PenelopeIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); list->RegisterProcess(eIoni, particle); - + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); + G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); list->RegisterProcess(eBrem, particle); - - } else if (particleName == "e+") { - //positron + } + else if (particleName == "e+") { + // positron G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); + G4PenelopeIonisationModel* eIoniModel = new G4PenelopeIonisationModel(); + eIoniModel->SetHighEnergyLimit(highEnergyLimit); + eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation()); list->RegisterProcess(eIoni, particle); - + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); + G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); list->RegisterProcess(eBrem, particle); G4eplusAnnihilation* eAnni = new G4eplusAnnihilation(); - G4PenelopeAnnihilationModel* - eAnniModel = new G4PenelopeAnnihilationModel(); - eAnniModel->SetHighEnergyLimit(highEnergyLimit); + G4PenelopeAnnihilationModel* eAnniModel = new G4PenelopeAnnihilationModel(); + eAnniModel->SetHighEnergyLimit(highEnergyLimit); eAnni->AddEmModel(0, eAnniModel); list->RegisterProcess(eAnni, particle); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - list->RegisterProcess(new G4MuIonisation, particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + // muon + list->RegisterProcess(new G4MuIonisation, particle); list->RegisterProcess(new G4MuBremsstrahlung, particle); - list->RegisterProcess(new G4MuPairProduction, particle); - - } else if( particleName == "alpha" || particleName == "GenericIon" ) { + list->RegisterProcess(new G4MuPairProduction, particle); + } + else if (particleName == "alpha" || particleName == "GenericIon") { list->RegisterProcess(new G4ionIonisation, particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino list->RegisterProcess(new G4hIonisation, particle); } } @@ -214,4 +199,3 @@ void PhysListEmPenelope::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc index c69e17fbe82..a9acf5ff622 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc @@ -33,51 +33,43 @@ #include "PhysListEmStandard.hh" #include "G4BuilderType.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" - #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4KleinNishinaModel.hh" +#include "G4LossTableManager.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuPairProduction.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" #include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" #include "G4RayleighScattering.hh" -#include "G4KleinNishinaModel.hh" - -#include "G4eIonisation.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" #include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" #include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - -#include "G4hIonisation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { G4EmParameters* param = G4EmParameters::Instance(); param->SetDefaults(); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); param->SetNumberOfBinsPerDecade(10); param->SetBuildCSDARange(true); - param->SetMaxEnergyForCSDARange(10*TeV); + param->SetMaxEnergyForCSDARange(10 * TeV); SetPhysicsType(bElectromagnetic); - + param->SetVerbose(0); param->Dump(); } @@ -87,83 +79,71 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* list = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { + if (particleName == "gamma") { ////list->RegisterProcess(new G4RayleighScattering, particle); list->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* compt = new G4ComptonScattering; + G4ComptonScattering* compt = new G4ComptonScattering; compt->SetEmModel(new G4KleinNishinaModel()); list->RegisterProcess(compt, particle); list->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - + } + else if (particleName == "e-") { G4eIonisation* eIoni = new G4eIonisation(); - eIoni->SetStepFunction(0.1, 100*um); - list->RegisterProcess(eIoni, particle); + eIoni->SetStepFunction(0.1, 100 * um); + list->RegisterProcess(eIoni, particle); list->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - + } + else if (particleName == "e+") { G4eIonisation* eIoni = new G4eIonisation(); - eIoni->SetStepFunction(0.1, 100*um); - list->RegisterProcess(eIoni, particle); - list->RegisterProcess(new G4eBremsstrahlung(), particle); + eIoni->SetStepFunction(0.1, 100 * um); + list->RegisterProcess(eIoni, particle); + list->RegisterProcess(new G4eBremsstrahlung(), particle); list->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - + } + else if (particleName == "mu+" || particleName == "mu-") { G4MuIonisation* muIoni = new G4MuIonisation(); - muIoni->SetStepFunction(0.1, 50*um); - list->RegisterProcess(muIoni, particle); + muIoni->SetStepFunction(0.1, 50 * um); + list->RegisterProcess(muIoni, particle); list->RegisterProcess(new G4MuBremsstrahlung(), particle); list->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { G4hIonisation* hIoni = new G4hIonisation(); - hIoni->SetStepFunction(0.1, 20*um); - list->RegisterProcess(hIoni, particle); + hIoni->SetStepFunction(0.1, 20 * um); + list->RegisterProcess(hIoni, particle); list->RegisterProcess(new G4hBremsstrahlung(), particle); list->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - + } + else if (particleName == "alpha" || particleName == "He3") { G4ionIonisation* ionIoni = new G4ionIonisation(); - ionIoni->SetStepFunction(0.1, 1*um); - list->RegisterProcess(ionIoni, particle); + ionIoni->SetStepFunction(0.1, 1 * um); + list->RegisterProcess(ionIoni, particle); list->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - + } + else if (particleName == "GenericIon") { G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); - ionIoni->SetStepFunction(0.1, 1*um); - list->RegisterProcess(ionIoni, particle); + ionIoni->SetStepFunction(0.1, 1 * um); + list->RegisterProcess(ionIoni, particle); list->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino - list->RegisterProcess(new G4hIonisation(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino + list->RegisterProcess(new G4hIonisation(), particle); } } - + // Deexcitation // G4VAtomDeexcitation* deex = new G4UAtomicDeexcitation(); @@ -171,4 +151,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc index f0ec5b47bd4..4a0432879f0 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc @@ -31,29 +31,29 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" -#include "PhysListEmStandard.hh" #include "PhysListEmLivermore.hh" #include "PhysListEmPenelope.hh" +#include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" #include "G4LossTableManager.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsList::PhysicsList() { G4LossTableManager::Instance(); - fMessenger = new PhysicsListMessenger(this); - + fMessenger = new PhysicsListMessenger(this); + // EM physics fEmName = G4String("standard"); fEmPhysicsList = new PhysListEmStandard(fEmName); - - SetDefaultCutValue(1.*mm); - + + SetDefaultCutValue(1. * mm); + SetVerboseLevel(1); } @@ -62,42 +62,37 @@ PhysicsList::PhysicsList() PhysicsList::~PhysicsList() { delete fEmPhysicsList; - delete fMessenger; + delete fMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>1) { + if (verboseLevel > 1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } if (name == fEmName) return; if (name == "standard") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "livermore") { - + } + else if (name == "livermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmLivermore(name); - - } else if (name == "penelope") { - + } + else if (name == "penelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmPenelope(name); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } @@ -105,63 +100,61 @@ void PhysicsList::AddPhysicsList(const G4String& name) // Bosons #include "G4ChargedGeantino.hh" -#include "G4Geantino.hh" #include "G4Gamma.hh" +#include "G4Geantino.hh" // leptons #include "G4Electron.hh" -#include "G4Positron.hh" - -#include "G4MuonPlus.hh" #include "G4MuonMinus.hh" +#include "G4MuonPlus.hh" +#include "G4Positron.hh" // Mesons -#include "G4PionPlus.hh" -#include "G4PionMinus.hh" - -#include "G4KaonPlus.hh" #include "G4KaonMinus.hh" +#include "G4KaonPlus.hh" +#include "G4PionMinus.hh" +#include "G4PionPlus.hh" // Baryons -#include "G4Proton.hh" +#include "G4AntiNeutron.hh" #include "G4AntiProton.hh" #include "G4Neutron.hh" -#include "G4AntiNeutron.hh" +#include "G4Proton.hh" // Nuclei -#include "G4Deuteron.hh" -#include "G4Triton.hh" #include "G4Alpha.hh" +#include "G4Deuteron.hh" #include "G4GenericIon.hh" +#include "G4Triton.hh" void PhysicsList::ConstructParticle() { -// pseudo-particles + // pseudo-particles G4Geantino::GeantinoDefinition(); G4ChargedGeantino::ChargedGeantinoDefinition(); - -// gamma + + // gamma G4Gamma::GammaDefinition(); -// leptons + // leptons G4Electron::ElectronDefinition(); G4Positron::PositronDefinition(); G4MuonPlus::MuonPlusDefinition(); G4MuonMinus::MuonMinusDefinition(); - -// mesons + + // mesons G4PionPlus::PionPlusDefinition(); G4PionMinus::PionMinusDefinition(); G4KaonPlus::KaonPlusDefinition(); G4KaonMinus::KaonMinusDefinition(); - -// baryons + + // baryons G4Proton::ProtonDefinition(); G4AntiProton::AntiProtonDefinition(); G4Neutron::NeutronDefinition(); G4AntiNeutron::AntiNeutronDefinition(); - -// ions + + // ions G4Deuteron::DeuteronDefinition(); G4Triton::TritonDefinition(); G4Alpha::AlphaDefinition(); @@ -179,24 +172,24 @@ void PhysicsList::ConstructProcess() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ProcessManager.hh" #include "StepMax.hh" +#include "G4ProcessManager.hh" + void PhysicsList::AddStepMax() { // Step limitation seen as a process StepMax* stepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ - G4ParticleDefinition* particle = particleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - - if (stepMaxProcess->IsApplicable(*particle) && !particle->IsShortLived()) - { - pmanager ->AddDiscreteProcess(stepMaxProcess); - } + while ((*particleIterator)()) { + G4ParticleDefinition* particle = particleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (stepMaxProcess->IsApplicable(*particle) && !particle->IsShortLived()) { + pmanager->AddDiscreteProcess(stepMaxProcess); + } } } diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc index 38298e4eaf9..9cfd816debd 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc @@ -33,20 +33,20 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) -: fPhysicsList(pPhys) +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) { fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); } @@ -61,9 +61,10 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fListCmd) - {fPhysicsList->AddPhysicsList(newValue);} +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc index cfa53663974..2ba92b77b97 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc /// \brief Implementation of the PrimaryGeneratorAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,22 +35,20 @@ #include "DetectorConstruction.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) -: fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { - fParticleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + fParticleGun = new G4ParticleGun(1); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(10*MeV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + fParticleGun->SetParticleEnergy(10 * MeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,20 +62,19 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - G4double halfSize = 0.5*(fDetector->GetSize()); - G4double x0 = - halfSize; - - //randomize (y0,z0) + G4double halfSize = 0.5 * (fDetector->GetSize()); + G4double x0 = -halfSize; + + // randomize (y0,z0) // - G4double beam = 0.8*halfSize; - G4double y0 = (2*G4UniformRand()-1.)*beam; - G4double z0 = (2*G4UniformRand()-1.)*beam; - - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + G4double beam = 0.8 * halfSize; + G4double y0 = (2 * G4UniformRand() - 1.) * beam; + G4double z0 = (2 * G4UniformRand() - 1.) * beam; + + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/src/RunAction.cc b/examples/extended/electromagnetic/TestEm18/src/RunAction.cc index d53270c9bbf..a6bc26c0db4 100644 --- a/examples/extended/electromagnetic/TestEm18/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/RunAction.cc @@ -31,37 +31,38 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" +#include "G4EmCalculator.hh" #include "G4Run.hh" #include "G4UnitsTable.hh" -#include "G4EmCalculator.hh" - #include "Randomize.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) -: fDetector(det), fPrimary(kin) -{ - fHistoManager = new HistoManager(); + : fDetector(det), fPrimary(kin) +{ + fHistoManager = new HistoManager(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::~RunAction() -{ - delete fHistoManager; +{ + delete fHistoManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run*) { - //initialisation + // initialisation // fNbSteps = 0; fTrackLength = 0.; @@ -84,10 +85,10 @@ void RunAction::BeginOfRunAction(const G4Run*) fEbalMin = DBL_MAX; fEbalMax = 0.; - //histograms + // histograms // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); } @@ -97,37 +98,38 @@ void RunAction::BeginOfRunAction(const G4Run*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::CountProcesses(G4String procName) +void RunAction::CountProcesses(G4String procName) { - std::map::iterator it = fProcCounter.find(procName); - if ( it == fProcCounter.end()) { + std::map::iterator it = fProcCounter.find(procName); + if (it == fProcCounter.end()) { fProcCounter[procName] = 1; } else { - fProcCounter[procName]++; + fProcCounter[procName]++; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::TrackLength (G4double step) +void RunAction::TrackLength(G4double step) { - fTrackLength += step; fNbSteps++; - if (stepfStepMax) fStepMax = step; + fTrackLength += step; + fNbSteps++; + if (step < fStepMin) fStepMin = step; + if (step > fStepMax) fStepMax = step; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EnergyDeposited (G4double edepPrim, G4double edepSecond) +void RunAction::EnergyDeposited(G4double edepPrim, G4double edepSecond) { fEdepPrimary += edepPrim; - if (edepPrimfEdepPrimMax) fEdepPrimMax = edepPrim; - + if (edepPrim < fEdepPrimMin) fEdepPrimMin = edepPrim; + if (edepPrim > fEdepPrimMax) fEdepPrimMax = edepPrim; + fEdepSecondary += edepSecond; - if (edepSecondfEdepSecMax) fEdepSecMax = edepSecond; + if (edepSecond < fEdepSecMin) fEdepSecMin = edepSecond; + if (edepSecond > fEdepSecMax) fEdepSecMax = edepSecond; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -135,74 +137,74 @@ void RunAction::EnergyDeposited (G4double edepPrim, G4double edepSecond) void RunAction::EnergyTransferedByProcess(G4String process, G4double energy) { std::map::iterator it = fEtransfByProcess.find(process); - if ( it == fEtransfByProcess.end()) { + if (it == fEtransfByProcess.end()) { fEtransfByProcess[process] = MinMaxData(1, energy, energy, energy); } else { MinMaxData& data = it->second; data.fCount++; data.fVsum += energy; - //update min max + // update min max G4double emin = data.fVmin; if (energy < emin) data.fVmin = energy; G4double emax = data.fVmax; - if (energy > emax) data.fVmax = energy; + if (energy > emax) data.fVmax = energy; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EnergyTransfered (G4double energy) +void RunAction::EnergyTransfered(G4double energy) { fEnergyTransfered += energy; - if (energyfEtransfMax) fEtransfMax = energy; + if (energy < fEtransfMin) fEtransfMin = energy; + if (energy > fEtransfMax) fEtransfMax = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::TotalEnergyLost (G4double energy) +void RunAction::TotalEnergyLost(G4double energy) { fEnergyLost += energy; - if (energyfElostMax) fElostMax = energy; + if (energy < fElostMin) fElostMin = energy; + if (energy > fElostMax) fElostMax = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::EnergyBalance (G4double energy) +void RunAction::EnergyBalance(G4double energy) { fEnergyBalance += energy; - if (energyfEbalMax) fEbalMax = energy; + if (energy < fEbalMin) fEbalMin = energy; + if (energy > fEbalMax) fEbalMax = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::TotalEnergyDeposit (G4double energy) +void RunAction::TotalEnergyDeposit(G4double energy) { fEdepTotal += energy; - if (energyfEdepTotMax) fEdepTotMax = energy; + if (energy < fEdepTotMin) fEdepTotMin = energy; + if (energy > fEdepTotMax) fEdepTotMax = energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::EnergySpectrumOfSecondaries(G4String particle, G4double energy) { - std::map::iterator it = fEkinOfSecondaries.find(particle); - if ( it == fEkinOfSecondaries.end()) { + std::map::iterator it = fEkinOfSecondaries.find(particle); + if (it == fEkinOfSecondaries.end()) { fEkinOfSecondaries[particle] = MinMaxData(1, energy, energy, energy); } else { MinMaxData& data = it->second; data.fCount++; data.fVsum += energy; - //update min max + // update min max G4double emin = data.fVmin; if (energy < emin) data.fVmin = energy; G4double emax = data.fVmax; - if (energy > emax) data.fVmax = energy; + if (energy > emax) data.fVmax = energy; } } @@ -212,213 +214,180 @@ void RunAction::EndOfRunAction(const G4Run* aRun) { G4int nbEvents = aRun->GetNumberOfEvent(); if (nbEvents == 0) return; - + G4Material* material = fDetector->GetMaterial(); - G4double length = fDetector->GetSize(); + G4double length = fDetector->GetSize(); G4double density = material->GetDensity(); - - G4ParticleDefinition* particle = fPrimary->GetParticleGun() - ->GetParticleDefinition(); + + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4String partName = particle->GetParticleName(); G4double ePrimary = fPrimary->GetParticleGun()->GetParticleEnergy(); - + G4int prec = G4cout.precision(3); G4cout << "\n ======================== run summary ======================\n"; G4cout << "\n The run was " << nbEvents << " " << partName << " of " - << G4BestUnit(ePrimary,"Energy") << " through " - << G4BestUnit(length,"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")"; + << G4BestUnit(ePrimary, "Energy") << " through " << G4BestUnit(length, "Length") << " of " + << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") << ")"; G4cout << G4endl; if (particle->GetPDGCharge() == 0.) return; G4cout.precision(4); - //frequency of processes + // frequency of processes // G4cout << "\n Process defining step :" << G4endl; G4int index = 0; - for ( const auto& procCounter : fProcCounter ) { - G4String procName = procCounter.first; - G4int count = procCounter.second; - G4String space = " "; if (++index%4 == 0) space = "\n"; - G4cout << " " << std::setw(15) << procName << "="<< std::setw(7) << count - << space; + for (const auto& procCounter : fProcCounter) { + G4String procName = procCounter.first; + G4int count = procCounter.second; + G4String space = " "; + if (++index % 4 == 0) space = "\n"; + G4cout << " " << std::setw(15) << procName << "=" << std::setw(7) << count << space; } G4cout << G4endl; - //track length + // track length // - G4double trackLPerEvent = fTrackLength/nbEvents; - G4double nbStepPerEvent = double(fNbSteps)/nbEvents; - G4double stepSize = fTrackLength/fNbSteps; - - G4cout - << "\n TrackLength = " - << G4BestUnit(trackLPerEvent, "Length") - << " nb of steps = " << nbStepPerEvent - << " stepSize = " << G4BestUnit(stepSize, "Length") - << " (" << G4BestUnit(fStepMin, "Length") - << "--> " << G4BestUnit(fStepMax, "Length") << ")" - << G4endl; - - //continuous energy deposited by primary track dE1 + G4double trackLPerEvent = fTrackLength / nbEvents; + G4double nbStepPerEvent = double(fNbSteps) / nbEvents; + G4double stepSize = fTrackLength / fNbSteps; + + G4cout << "\n TrackLength = " << G4BestUnit(trackLPerEvent, "Length") + << " nb of steps = " << nbStepPerEvent + << " stepSize = " << G4BestUnit(stepSize, "Length") << " (" + << G4BestUnit(fStepMin, "Length") << "--> " << G4BestUnit(fStepMax, "Length") << ")" + << G4endl; + + // continuous energy deposited by primary track dE1 // - G4double energyPerEvent = fEdepPrimary/nbEvents; - - G4cout - << "\n Energy continuously deposited along primary track" - << " (restricted dE/dx) dE1 = " - << G4BestUnit(energyPerEvent, "Energy") - << " (" << G4BestUnit(fEdepPrimMin, "Energy") - << " --> " << G4BestUnit(fEdepPrimMax, "Energy") << ")" - << G4endl; - - //eveluation of dE1 from reading restricted Range table + G4double energyPerEvent = fEdepPrimary / nbEvents; + + G4cout << "\n Energy continuously deposited along primary track" + << " (restricted dE/dx) dE1 = " << G4BestUnit(energyPerEvent, "Energy") << " (" + << G4BestUnit(fEdepPrimMin, "Energy") << " --> " << G4BestUnit(fEdepPrimMax, "Energy") + << ")" << G4endl; + + // eveluation of dE1 from reading restricted Range table // G4EmCalculator emCal; - - G4double r0 = emCal.GetRangeFromRestricteDEDX(ePrimary,particle,material); + + G4double r0 = emCal.GetRangeFromRestricteDEDX(ePrimary, particle, material); G4double r1 = r0 - trackLPerEvent; - G4double etry = ePrimary - energyPerEvent; + G4double etry = ePrimary - energyPerEvent; G4double efinal = 0.; - if (r1 > 0.) efinal = GetEnergyFromRestrictedRange(r1,particle,material,etry); + if (r1 > 0.) efinal = GetEnergyFromRestrictedRange(r1, particle, material, etry); G4double dEtable = ePrimary - efinal; G4double ratio = 0.; - if (dEtable > 0.) ratio = energyPerEvent/dEtable; - - G4cout - << "\n Evaluation of dE1 from reading restricted Range table : dE1_table = " - << G4BestUnit(dEtable, "Energy") - << " ---> dE1/dE1_table = " << ratio - << G4endl; - + if (dEtable > 0.) ratio = energyPerEvent / dEtable; + + G4cout << "\n Evaluation of dE1 from reading restricted Range table : dE1_table = " + << G4BestUnit(dEtable, "Energy") << " ---> dE1/dE1_table = " << ratio << G4endl; + // energy transfered to secondary particles by process : dE2 // G4cout << "\n Energy transfered to secondary particles :" << G4endl; - std::map::iterator it1; + std::map::iterator it1; for (it1 = fEtransfByProcess.begin(); it1 != fEtransfByProcess.end(); it1++) { - G4String name = it1->first; - MinMaxData data = it1->second; - energyPerEvent = data.fVsum/nbEvents; - G4double eMin = data.fVmin; - G4double eMax = data.fVmax; - - G4cout << " " << std::setw(17) << "due to " + name << ": dE2 = " - << std::setw(6) << G4BestUnit(energyPerEvent, "Energy") - << " (" << G4BestUnit(eMin, "Energy") - << " --> " << G4BestUnit(eMax, "Energy") - << ")" << G4endl; + G4String name = it1->first; + MinMaxData data = it1->second; + energyPerEvent = data.fVsum / nbEvents; + G4double eMin = data.fVmin; + G4double eMax = data.fVmax; + + G4cout << " " << std::setw(17) << "due to " + name << ": dE2 = " << std::setw(6) + << G4BestUnit(energyPerEvent, "Energy") << " (" << G4BestUnit(eMin, "Energy") << " --> " + << G4BestUnit(eMax, "Energy") << ")" << G4endl; } // total energy tranfered : dE3 = sum of dE2 // - energyPerEvent = fEnergyTransfered/nbEvents; - - G4cout - << "\n Total energy transfered to secondaries : dE3 = sum of dE2 = " - << G4BestUnit(energyPerEvent, "Energy") - << " (" << G4BestUnit(fEtransfMin, "Energy") - << " --> " << G4BestUnit(fEtransfMax, "Energy") << ")" - << G4endl; + energyPerEvent = fEnergyTransfered / nbEvents; + + G4cout << "\n Total energy transfered to secondaries : dE3 = sum of dE2 = " + << G4BestUnit(energyPerEvent, "Energy") << " (" << G4BestUnit(fEtransfMin, "Energy") + << " --> " << G4BestUnit(fEtransfMax, "Energy") << ")" << G4endl; // total energy lost by incident particle : dE4 = dE1 + dE3 // - energyPerEvent = fEnergyLost/nbEvents; - - G4cout - << "\n Total energy lost by incident particle : dE4 = dE1 + dE3 = " - << G4BestUnit(energyPerEvent, "Energy") - << " (" << G4BestUnit(fElostMin, "Energy") - << " --> " << G4BestUnit(fElostMax, "Energy") << ")" - << G4endl; - + energyPerEvent = fEnergyLost / nbEvents; + + G4cout << "\n Total energy lost by incident particle : dE4 = dE1 + dE3 = " + << G4BestUnit(energyPerEvent, "Energy") << " (" << G4BestUnit(fElostMin, "Energy") + << " --> " << G4BestUnit(fElostMax, "Energy") << ")" << G4endl; + // calcul of energy lost from energy balance : dE4_bal = E_in - E_out // - energyPerEvent = fEnergyBalance/nbEvents; - - G4cout - << "\n calcul of dE4 from energy balance : dE4_bal = E_in - E_out = " - << G4BestUnit(energyPerEvent, "Energy") - << " (" << G4BestUnit(fEbalMin, "Energy") - << " --> " << G4BestUnit(fEbalMax, "Energy") << ")" - << G4endl; - - //eveluation of dE4 from reading full Range table + energyPerEvent = fEnergyBalance / nbEvents; + + G4cout << "\n calcul of dE4 from energy balance : dE4_bal = E_in - E_out = " + << G4BestUnit(energyPerEvent, "Energy") << " (" << G4BestUnit(fEbalMin, "Energy") + << " --> " << G4BestUnit(fEbalMax, "Energy") << ")" << G4endl; + + // eveluation of dE4 from reading full Range table // - r0 = emCal.GetCSDARange(ePrimary,particle,material); + r0 = emCal.GetCSDARange(ePrimary, particle, material); r1 = r0 - trackLPerEvent; - etry = ePrimary - energyPerEvent; + etry = ePrimary - energyPerEvent; efinal = 0.; - if (r1 > 0.) efinal = GetEnergyFromCSDARange(r1,particle,material,etry); + if (r1 > 0.) efinal = GetEnergyFromCSDARange(r1, particle, material, etry); dEtable = ePrimary - efinal; ratio = 0.; - if (dEtable > 0.) ratio = energyPerEvent/dEtable; - - G4cout - << "\n Evaluation of dE4 from reading full Range table : dE4_table = " - << G4BestUnit(dEtable, "Energy") - << " ---> dE4/dE4_table = " << ratio - << G4endl; - - //energy spectrum of secondary particles + if (dEtable > 0.) ratio = energyPerEvent / dEtable; + + G4cout << "\n Evaluation of dE4 from reading full Range table : dE4_table = " + << G4BestUnit(dEtable, "Energy") << " ---> dE4/dE4_table = " << ratio << G4endl; + + // energy spectrum of secondary particles // G4cout << "\n Energy spectrum of secondary particles :" << G4endl; - std::map::iterator it2; - for (it2 = fEkinOfSecondaries.begin();it2 != fEkinOfSecondaries.end(); it2++){ - G4String name = it2->first; - MinMaxData data = it2->second; - G4int count = data.fCount; - G4double eMean = data.fVsum/count; - G4double eMin = data.fVmin; - G4double eMax = data.fVmax; - - G4cout << " " << std::setw(13) << name << ": " << std::setw(7) << count - << " Emean = " << std::setw(6) << G4BestUnit(eMean, "Energy") - << " (" << G4BestUnit(eMin, "Energy") - << " --> " << G4BestUnit(eMax, "Energy") - << ")" << G4endl; + std::map::iterator it2; + for (it2 = fEkinOfSecondaries.begin(); it2 != fEkinOfSecondaries.end(); it2++) { + G4String name = it2->first; + MinMaxData data = it2->second; + G4int count = data.fCount; + G4double eMean = data.fVsum / count; + G4double eMin = data.fVmin; + G4double eMax = data.fVmax; + + G4cout << " " << std::setw(13) << name << ": " << std::setw(7) << count + << " Emean = " << std::setw(6) << G4BestUnit(eMean, "Energy") << " (" + << G4BestUnit(eMin, "Energy") << " --> " << G4BestUnit(eMax, "Energy") << ")" << G4endl; } G4cout << G4endl; - - //continuous energy deposited by secondary tracks dE5 - // (only if secondary particles are tracked) + + // continuous energy deposited by secondary tracks dE5 + // (only if secondary particles are tracked) // if (fEdepSecondary > 0.) { - energyPerEvent = fEdepSecondary/nbEvents; + energyPerEvent = fEdepSecondary / nbEvents; - G4cout - << "\n Energy continuously deposited along secondary tracks" - << " (restricted dE/dx) dE5 = " - << G4BestUnit(energyPerEvent, "Energy") - << " (" << G4BestUnit(fEdepSecMin, "Energy") - << " --> " << G4BestUnit(fEdepSecMax, "Energy") << ")" - << G4endl; + G4cout << "\n Energy continuously deposited along secondary tracks" + << " (restricted dE/dx) dE5 = " << G4BestUnit(energyPerEvent, "Energy") << " (" + << G4BestUnit(fEdepSecMin, "Energy") << " --> " << G4BestUnit(fEdepSecMax, "Energy") + << ")" << G4endl; // total energy deposited : dE6 = dE1 + dE5 // - energyPerEvent = fEdepTotal/nbEvents; - - G4cout - << "\n Total energy deposited : dE6 = dE1 + dE5 = " - << G4BestUnit(energyPerEvent, "Energy") - << " (" << G4BestUnit(fEdepTotMin, "Energy") - << " --> " << G4BestUnit(fEdepTotMax, "Energy") << ") \n" - << G4endl; -} - + energyPerEvent = fEdepTotal / nbEvents; + + G4cout << "\n Total energy deposited : dE6 = dE1 + dE5 = " + << G4BestUnit(energyPerEvent, "Energy") << " (" << G4BestUnit(fEdepTotMin, "Energy") + << " --> " << G4BestUnit(fEdepTotMax, "Energy") << ") \n" + << G4endl; + } + G4cout.precision(prec); - - //clear maps + + // clear maps // fProcCounter.clear(); fEtransfByProcess.clear(); fEkinOfSecondaries.clear(); - //save histograms - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + // save histograms + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + if (analysisManager->IsActive()) { analysisManager->Write(); analysisManager->CloseFile(); } @@ -429,65 +398,61 @@ void RunAction::EndOfRunAction(const G4Run* aRun) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double RunAction::GetEnergyFromRestrictedRange(G4double range, - G4ParticleDefinition* particle, G4Material* material, G4double Etry) +G4double RunAction::GetEnergyFromRestrictedRange(G4double range, G4ParticleDefinition* particle, + G4Material* material, G4double Etry) { G4EmCalculator emCal; - + G4double Energy = Etry, dE = 0., dEdx; G4double r, dr; - G4double err = 1., errmax = 0.00001; - G4int iter = 0 , itermax = 10; + G4double err = 1., errmax = 0.00001; + G4int iter = 0, itermax = 10; while (err > errmax && iter < itermax) { iter++; Energy -= dE; - r = emCal.GetRangeFromRestricteDEDX(Energy,particle,material); - dr = r - range; - dEdx = emCal.GetDEDX(Energy,particle,material); - dE = dEdx*dr; - err = std::abs(dE)/Energy; + r = emCal.GetRangeFromRestricteDEDX(Energy, particle, material); + dr = r - range; + dEdx = emCal.GetDEDX(Energy, particle, material); + dE = dEdx * dr; + err = std::abs(dE) / Energy; } if (iter == itermax) { - G4cout - << "\n ---> warning: RunAction::GetEnergyFromRestRange() did not converge" - << " Etry = " << G4BestUnit(Etry,"Energy") - << " Energy = " << G4BestUnit(Energy,"Energy") - << " err = " << err - << " iter = " << iter << G4endl; - } - + G4cout << "\n ---> warning: RunAction::GetEnergyFromRestRange() did not converge" + << " Etry = " << G4BestUnit(Etry, "Energy") + << " Energy = " << G4BestUnit(Energy, "Energy") << " err = " << err + << " iter = " << iter << G4endl; + } + return Energy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double RunAction::GetEnergyFromCSDARange(G4double range, - G4ParticleDefinition* particle, G4Material* material, G4double Etry) +G4double RunAction::GetEnergyFromCSDARange(G4double range, G4ParticleDefinition* particle, + G4Material* material, G4double Etry) { G4EmCalculator emCal; - + G4double Energy = Etry, dE = 0., dEdx; G4double r, dr; - G4double err = 1., errmax = 0.00001; - G4int iter = 0 , itermax = 10; + G4double err = 1., errmax = 0.00001; + G4int iter = 0, itermax = 10; while (err > errmax && iter < itermax) { iter++; Energy -= dE; - r = emCal.GetCSDARange(Energy,particle,material); - dr = r - range; - dEdx = emCal.ComputeTotalDEDX(Energy,particle,material); - dE = dEdx*dr; - err = std::abs(dE)/Energy; + r = emCal.GetCSDARange(Energy, particle, material); + dr = r - range; + dEdx = emCal.ComputeTotalDEDX(Energy, particle, material); + dE = dEdx * dr; + err = std::abs(dE) / Energy; } if (iter == itermax) { - G4cout - << "\n ---> warning: RunAction::GetEnergyFromCSDARange() did not converge" - << " Etry = " << G4BestUnit(Etry,"Energy") - << " Energy = " << G4BestUnit(Energy,"Energy") - << " err = " << err - << " iter = " << iter << G4endl; - } - + G4cout << "\n ---> warning: RunAction::GetEnergyFromCSDARange() did not converge" + << " Etry = " << G4BestUnit(Etry, "Energy") + << " Energy = " << G4BestUnit(Energy, "Energy") << " err = " << err + << " iter = " << iter << G4endl; + } + return Energy; } diff --git a/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc index 20b6aae8433..1333189191b 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc @@ -31,6 +31,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StackingAction.hh" + #include "StackingMessenger.hh" #include "G4Track.hh" @@ -51,11 +52,12 @@ StackingAction::~StackingAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* track) +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* track) { - if ((track->GetTrackID() == 1) || (fTrackSecondaries)) return fUrgent; - else return fKill; + if ((track->GetTrackID() == 1) || (fTrackSecondaries)) + return fUrgent; + else + return fKill; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/StackingMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/StackingMessenger.cc index 60ad6f95641..82773b1e122 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StackingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StackingMessenger.cc @@ -33,16 +33,16 @@ #include "StackingMessenger.hh" #include "StackingAction.hh" + #include "G4UIcmdWithABool.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingMessenger::StackingMessenger(StackingAction* stack) -: fStackAction(stack) +StackingMessenger::StackingMessenger(StackingAction* stack) : fStackAction(stack) { - fTrackCmd = new G4UIcmdWithABool("/testem/trackSecondaries",this); + fTrackCmd = new G4UIcmdWithABool("/testem/trackSecondaries", this); fTrackCmd->SetGuidance(" kill or keep secondary tracks"); - fTrackCmd->SetParameterName("flag",true); + fTrackCmd->SetParameterName("flag", true); fTrackCmd->SetDefaultValue(true); } @@ -56,9 +56,10 @@ StackingMessenger::~StackingMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StackingMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fTrackCmd) - {fStackAction->SetTrackSecondaries(fTrackCmd->GetNewBoolValue(newValue));} +{ + if (command == fTrackCmd) { + fStackAction->SetTrackSecondaries(fTrackCmd->GetNewBoolValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/StepMax.cc b/examples/extended/electromagnetic/TestEm18/src/StepMax.cc index ac135e9e9b1..9eb1d0dc53a 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StepMax.cc @@ -31,40 +31,45 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::StepMax(const G4String& processName) - : G4VDiscreteProcess(processName) +StepMax::StepMax(const G4String& processName) : G4VDiscreteProcess(processName) { fMess = new StepMaxMessenger(this); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) -{ +G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) +{ return (particle.GetPDGCharge() != 0.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void StepMax::SetMaxStep(G4double step) {fMaxChargedStep = step;} + +void StepMax::SetMaxStep(G4double step) +{ + fMaxChargedStep = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; - + return fMaxChargedStep; } @@ -72,11 +77,9 @@ G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc index 5f24fb1945e..729f776deaf 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc @@ -33,16 +33,16 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -: fStepMax(stepM) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); +StepMaxMessenger::StepMaxMessenger(StepMax* stepM) : fStepMax(stepM) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); } @@ -57,9 +57,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc index ab766f9b162..28c797c2f71 100644 --- a/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc @@ -32,71 +32,70 @@ #include "SteppingAction.hh" -#include "RunAction.hh" #include "EventAction.hh" #include "HistoManager.hh" +#include "RunAction.hh" -#include "G4Step.hh" #include "G4ParticleTypes.hh" +#include "G4Step.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(RunAction* RA, EventAction* EA) -: fRunaction(RA), fEventaction(EA) -{ } +SteppingAction::SteppingAction(RunAction* RA, EventAction* EA) : fRunaction(RA), fEventaction(EA) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* step) { - // energy continuously deposited along trajectory - // - G4int trackID = step->GetTrack()->GetTrackID(); - G4double Edep = step->GetTotalEnergyDeposit(); - if (Edep > 0.) fEventaction->SumEnergyDeposited(trackID, Edep); - - // the rest for primary track only - if (trackID > 1) return; - - // count processes - // - const G4StepPoint* endPoint = step->GetPostStepPoint(); - const G4VProcess* process = endPoint->GetProcessDefinedStep(); - G4String procName = process->GetProcessName(); - G4int subtype = process-> GetProcessSubType(); - G4int nbsec = step->GetNumberOfSecondariesInCurrentStep(); - if ((subtype == 2)&&(nbsec == 0)) procName = "Edep alone"; - fRunaction->CountProcesses(procName); - - // step size and track length - // - G4double stepSize = step->GetStepLength(); - fRunaction->TrackLength(stepSize); - G4AnalysisManager::Instance()->FillH1(1,stepSize); + // energy continuously deposited along trajectory + // + G4int trackID = step->GetTrack()->GetTrackID(); + G4double Edep = step->GetTotalEnergyDeposit(); + if (Edep > 0.) fEventaction->SumEnergyDeposited(trackID, Edep); - if (nbsec == 0) return; // no secondary particles + // the rest for primary track only + if (trackID > 1) return; - // energy transfered to secondary particles - // - const std::vector* secondaries - = step->GetSecondaryInCurrentStep(); - G4double Etransfer = 0.; - for (G4int itr=0; itrGetPostStepPoint(); + const G4VProcess* process = endPoint->GetProcessDefinedStep(); + G4String procName = process->GetProcessName(); + G4int subtype = process->GetProcessSubType(); + G4int nbsec = step->GetNumberOfSecondariesInCurrentStep(); + if ((subtype == 2) && (nbsec == 0)) procName = "Edep alone"; + fRunaction->CountProcesses(procName); + + // step size and track length + // + G4double stepSize = step->GetStepLength(); + fRunaction->TrackLength(stepSize); + G4AnalysisManager::Instance()->FillH1(1, stepSize); + + if (nbsec == 0) return; // no secondary particles + + // energy transfered to secondary particles + // + const std::vector* secondaries = step->GetSecondaryInCurrentStep(); + G4double Etransfer = 0.; + for (G4int itr = 0; itr < nbsec; itr++) { const G4Track* trk = (*secondaries)[itr]; const G4ParticleDefinition* particle = trk->GetParticleDefinition(); G4String name = particle->GetParticleName(); G4double energy = trk->GetKineticEnergy(); - fRunaction->EnergySpectrumOfSecondaries(name,energy); - G4int ih = 0; - if (particle == G4Gamma::Gamma()) ih = 11; - else if (particle == G4Electron::Electron()) ih = 12; - else if (particle == G4Positron::Positron()) ih = 13; - if (ih > 0) G4AnalysisManager::Instance()->FillH1(ih,energy); - if (subtype == 4) energy = trk->GetTotalEnergy(); //(e+,e-) production + fRunaction->EnergySpectrumOfSecondaries(name, energy); + G4int ih = 0; + if (particle == G4Gamma::Gamma()) + ih = 11; + else if (particle == G4Electron::Electron()) + ih = 12; + else if (particle == G4Positron::Positron()) + ih = 13; + if (ih > 0) G4AnalysisManager::Instance()->FillH1(ih, energy); + if (subtype == 4) energy = trk->GetTotalEnergy(); //(e+,e-) production Etransfer += energy; - } - fEventaction->SumEnergyTransfered(process, Etransfer); + } + fEventaction->SumEnergyTransfered(process, Etransfer); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm18/src/TrackingAction.cc index fb5d4383cc3..abb4a347e4d 100644 --- a/examples/extended/electromagnetic/TestEm18/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/TrackingAction.cc @@ -32,14 +32,13 @@ #include "TrackingAction.hh" -#include "RunAction.hh" #include "HistoManager.hh" +#include "RunAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackingAction::TrackingAction(RunAction* runaction) -: fRunAction(runaction) -{ +TrackingAction::TrackingAction(RunAction* runaction) : fRunAction(runaction) +{ fEkin1 = 0.; } @@ -59,9 +58,8 @@ void TrackingAction::PostUserTrackingAction(const G4Track* track) G4double Ekin2 = track->GetKineticEnergy(); G4double dElost = fEkin1 - Ekin2; fRunAction->EnergyBalance(dElost); - G4AnalysisManager::Instance()->FillH1(8,dElost); + G4AnalysisManager::Instance()->FillH1(8, dElost); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm2/.README.txt b/examples/extended/electromagnetic/TestEm2/.README.txt index 4f944b2a7ad..828f0033ab9 100644 --- a/examples/extended/electromagnetic/TestEm2/.README.txt +++ b/examples/extended/electromagnetic/TestEm2/.README.txt @@ -138,6 +138,7 @@ Idle> exit - run03.mac: H2O; L = 9.97 radl; R = 0.665 radl; electron 1 GeV (Electron-induced cascade showers: J&H Crannel - Phys. Rev. 184-2 - August69) - test.mac: PbWO4; L = 20 radl; R = 5 radl; electron 5 GeV + - stepMax.mac: chargedgeantino in PbWO4; To illustrate step max mechanism; - vis.mac: to activate visualization \section TestEm2_s7 HISTOGRAMS diff --git a/examples/extended/electromagnetic/TestEm2/History b/examples/extended/electromagnetic/TestEm2/History index 8323707ff38..133734ce5b8 100644 --- a/examples/extended/electromagnetic/TestEm2/History +++ b/examples/extended/electromagnetic/TestEm2/History @@ -4,6 +4,9 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-04-03 Michel Maire (testem2-V11-02-00) +- Readme: document stepMax.mac + ## 2023-05-04 Michel Maire (testem2-V11-01-00) - Revision of all headers diff --git a/examples/extended/electromagnetic/TestEm2/README b/examples/extended/electromagnetic/TestEm2/README index 8607be26aad..201747851c4 100644 --- a/examples/extended/electromagnetic/TestEm2/README +++ b/examples/extended/electromagnetic/TestEm2/README @@ -129,7 +129,8 @@ (Electron-induced cascade showers: J&H Crannel - Phys. Rev. 184-2 - August69) - run03.mac: H2O; L = 9.97 radl; R = 0.665 radl; electron 1 GeV (Electron-induced cascade showers: J&H Crannel - Phys. Rev. 184-2 - August69) - - test.mac: PbWO4; L = 20 radl; R = 5 radl; electron 5 GeV + - test.mac: PbWO4; L = 20 radl; R = 5 radl; electron 5 GeV + - stepMax.mac: chargedgeantino in PbWO4; To illustrate step max mechanism; - vis.mac: to activate visualization 7- HISTOGRAMS diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.cc b/examples/extended/electromagnetic/TestEm2/TestEm2.cc index f3116c98e66..73fa0d40cbb 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.cc +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.cc @@ -31,68 +31,69 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) { ui = new G4UIExecutive(argc,argv); } - - //Use SteppingVerbose with Unit + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } + + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //Creating run manager + + // Creating run manager auto runManager = G4RunManagerFactory::CreateRunManager(); - - if (argc==3) { - G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); - runManager->SetNumberOfThreads(nThreads); + + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } - - //set mandatory initialization classes + + // set mandatory initialization classes DetectorConstruction* detector = new DetectorConstruction(); runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList()); - //set user actions + // set user actions runManager->SetUserInitialization(new ActionInitialization(detector)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager - G4UImanager* UImanager = G4UImanager::GetUIpointer(); + // get the pointer to the User Interface manager + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode + if (ui) { + // interactive mode visManager = new G4VisExecutive; visManager->Initialize(); ui->SessionStart(); delete ui; - } else { - //batch mode + } + else { + // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.out b/examples/extended/electromagnetic/TestEm2/TestEm2.out index 730d8bbb917..a2ee5660da8 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.out +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -279,7 +279,7 @@ eBrem: for e+ XStype:3 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -599,51 +599,51 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 100 - User=2.490000s Real=2.560568s Sys=0.000000s + User=2.400000s Real=2.425051s Sys=0.000000s LOGITUDINAL PROFILE CUMULATIVE LOGITUDINAL PROFILE bin Mean rms bin Mean rms 0.00-> 0.50 radl: 0.18% 0.08% 0-> 0.50 radl: 0.18% 0.08% - 0.50-> 1.00 radl: 0.42% 0.24% 0-> 1.00 radl: 0.59% 0.28% - 1.00-> 1.50 radl: 0.84% 0.45% 0-> 1.50 radl: 1.43% 0.65% - 1.50-> 2.00 radl: 1.44% 0.81% 0-> 2.00 radl: 2.87% 1.37% - 2.00-> 2.50 radl: 2.14% 1.03% 0-> 2.50 radl: 5.00% 2.24% - 2.50-> 3.00 radl: 2.79% 1.22% 0-> 3.00 radl: 7.80% 3.28% - 3.00-> 3.50 radl: 3.53% 1.32% 0-> 3.50 radl: 11.33% 4.36% - 3.50-> 4.00 radl: 4.31% 1.55% 0-> 4.00 radl: 15.64% 5.56% - 4.00-> 4.50 radl: 4.78% 1.43% 0-> 4.50 radl: 20.42% 6.46% - 4.50-> 5.00 radl: 5.28% 1.40% 0-> 5.00 radl: 25.70% 7.37% - 5.00-> 5.50 radl: 5.50% 1.43% 0-> 5.50 radl: 31.19% 8.23% - 5.50-> 6.00 radl: 5.63% 1.38% 0-> 6.00 radl: 36.83% 8.97% - 6.00-> 6.50 radl: 5.52% 1.30% 0-> 6.50 radl: 42.35% 9.60% - 6.50-> 7.00 radl: 5.20% 1.25% 0-> 7.00 radl: 47.55% 10.10% - 7.00-> 7.50 radl: 5.15% 1.31% 0-> 7.50 radl: 52.70% 10.37% - 7.50-> 8.00 radl: 4.94% 1.12% 0-> 8.00 radl: 57.65% 10.55% - 8.00-> 8.50 radl: 4.48% 1.04% 0-> 8.50 radl: 62.13% 10.38% - 8.50-> 9.00 radl: 4.00% 1.01% 0-> 9.00 radl: 66.12% 10.09% - 9.00-> 9.50 radl: 3.61% 0.90% 0-> 9.50 radl: 69.73% 9.75% - 9.50->10.00 radl: 3.23% 0.92% 0->10.00 radl: 72.96% 9.36% - 10.00->10.50 radl: 3.03% 1.00% 0->10.50 radl: 75.99% 8.85% - 10.50->11.00 radl: 2.54% 0.85% 0->11.00 radl: 78.54% 8.35% - 11.00->11.50 radl: 2.40% 0.94% 0->11.50 radl: 80.93% 7.76% - 11.50->12.00 radl: 2.05% 1.00% 0->12.00 radl: 82.98% 7.15% - 12.00->12.50 radl: 1.80% 0.96% 0->12.50 radl: 84.77% 6.54% - 12.50->13.00 radl: 1.59% 0.82% 0->13.00 radl: 86.36% 5.90% - 13.00->13.50 radl: 1.36% 0.77% 0->13.50 radl: 87.72% 5.29% - 13.50->14.00 radl: 1.21% 0.60% 0->14.00 radl: 88.93% 4.81% - 14.00->14.50 radl: 1.05% 0.65% 0->14.50 radl: 89.98% 4.29% - 14.50->15.00 radl: 0.84% 0.58% 0->15.00 radl: 90.82% 3.83% - 15.00->15.50 radl: 0.73% 0.50% 0->15.50 radl: 91.56% 3.46% - 15.50->16.00 radl: 0.65% 0.54% 0->16.00 radl: 92.21% 3.03% - 16.00->16.50 radl: 0.55% 0.44% 0->16.50 radl: 92.75% 2.66% - 16.50->17.00 radl: 0.54% 0.47% 0->17.00 radl: 93.30% 2.27% - 17.00->17.50 radl: 0.46% 0.39% 0->17.50 radl: 93.76% 1.96% - 17.50->18.00 radl: 0.34% 0.28% 0->18.00 radl: 94.10% 1.74% - 18.00->18.50 radl: 0.28% 0.31% 0->18.50 radl: 94.38% 1.49% - 18.50->19.00 radl: 0.26% 0.25% 0->19.00 radl: 94.64% 1.30% - 19.00->19.50 radl: 0.21% 0.22% 0->19.50 radl: 94.86% 1.15% - 19.50->20.00 radl: 0.14% 0.15% 0->20.00 radl: 95.00% 1.07% + 0.50-> 1.00 radl: 0.44% 0.30% 0-> 1.00 radl: 0.62% 0.34% + 1.00-> 1.50 radl: 0.89% 0.50% 0-> 1.50 radl: 1.52% 0.77% + 1.50-> 2.00 radl: 1.64% 0.80% 0-> 2.00 radl: 3.15% 1.45% + 2.00-> 2.50 radl: 2.41% 1.15% 0-> 2.50 radl: 5.56% 2.46% + 2.50-> 3.00 radl: 3.30% 1.46% 0-> 3.00 radl: 8.86% 3.75% + 3.00-> 3.50 radl: 4.01% 1.49% 0-> 3.50 radl: 12.87% 4.98% + 3.50-> 4.00 radl: 4.58% 1.56% 0-> 4.00 radl: 17.45% 6.28% + 4.00-> 4.50 radl: 5.14% 1.69% 0-> 4.50 radl: 22.59% 7.60% + 4.50-> 5.00 radl: 5.39% 1.71% 0-> 5.00 radl: 27.98% 8.76% + 5.00-> 5.50 radl: 5.63% 1.75% 0-> 5.50 radl: 33.61% 9.83% + 5.50-> 6.00 radl: 5.52% 1.54% 0-> 6.00 radl: 39.13% 10.66% + 6.00-> 6.50 radl: 5.35% 1.33% 0-> 6.50 radl: 44.48% 11.22% + 6.50-> 7.00 radl: 5.16% 1.32% 0-> 7.00 radl: 49.64% 11.51% + 7.00-> 7.50 radl: 5.03% 1.16% 0-> 7.50 radl: 54.68% 11.54% + 7.50-> 8.00 radl: 4.62% 1.17% 0-> 8.00 radl: 59.29% 11.27% + 8.00-> 8.50 radl: 4.27% 1.05% 0-> 8.50 radl: 63.56% 11.14% + 8.50-> 9.00 radl: 3.88% 1.09% 0-> 9.00 radl: 67.44% 10.81% + 9.00-> 9.50 radl: 3.41% 1.00% 0-> 9.50 radl: 70.86% 10.48% + 9.50->10.00 radl: 3.11% 0.97% 0->10.00 radl: 73.97% 9.98% + 10.00->10.50 radl: 2.81% 0.91% 0->10.50 radl: 76.78% 9.45% + 10.50->11.00 radl: 2.50% 1.02% 0->11.00 radl: 79.28% 8.80% + 11.00->11.50 radl: 2.27% 0.96% 0->11.50 radl: 81.55% 8.03% + 11.50->12.00 radl: 2.04% 1.03% 0->12.00 radl: 83.59% 7.24% + 12.00->12.50 radl: 1.78% 0.90% 0->12.50 radl: 85.38% 6.49% + 12.50->13.00 radl: 1.53% 0.88% 0->13.00 radl: 86.91% 5.78% + 13.00->13.50 radl: 1.29% 0.79% 0->13.50 radl: 88.20% 5.11% + 13.50->14.00 radl: 1.11% 0.73% 0->14.00 radl: 89.32% 4.53% + 14.00->14.50 radl: 0.96% 0.67% 0->14.50 radl: 90.28% 3.99% + 14.50->15.00 radl: 0.89% 0.61% 0->15.00 radl: 91.17% 3.50% + 15.00->15.50 radl: 0.76% 0.57% 0->15.50 radl: 91.93% 3.04% + 15.50->16.00 radl: 0.64% 0.49% 0->16.00 radl: 92.56% 2.66% + 16.00->16.50 radl: 0.53% 0.35% 0->16.50 radl: 93.09% 2.40% + 16.50->17.00 radl: 0.45% 0.35% 0->17.00 radl: 93.54% 2.15% + 17.00->17.50 radl: 0.37% 0.29% 0->17.50 radl: 93.91% 1.91% + 17.50->18.00 radl: 0.32% 0.27% 0->18.00 radl: 94.23% 1.72% + 18.00->18.50 radl: 0.28% 0.26% 0->18.50 radl: 94.51% 1.53% + 18.50->19.00 radl: 0.23% 0.22% 0->19.00 radl: 94.74% 1.38% + 19.00->19.50 radl: 0.21% 0.22% 0->19.50 radl: 94.95% 1.25% + 19.50->20.00 radl: 0.15% 0.19% 0->20.00 radl: 95.10% 1.13% @@ -651,85 +651,85 @@ Run Summary bin Mean rms bin Mean rms - 0.00-> 0.10 radl: 17.68% 1.86% 0-> 0.10 radl: 17.68% 1.86% - 0.10-> 0.20 radl: 13.49% 1.36% 0-> 0.20 radl: 31.17% 2.13% - 0.20-> 0.30 radl: 10.18% 1.10% 0-> 0.30 radl: 41.35% 2.40% - 0.30-> 0.40 radl: 7.77% 0.80% 0-> 0.40 radl: 49.12% 2.40% - 0.40-> 0.50 radl: 6.04% 0.71% 0-> 0.50 radl: 55.16% 2.58% - 0.50-> 0.60 radl: 4.86% 0.67% 0-> 0.60 radl: 60.02% 2.46% - 0.60-> 0.70 radl: 3.97% 0.63% 0-> 0.70 radl: 64.00% 2.37% - 0.70-> 0.80 radl: 3.28% 0.54% 0-> 0.80 radl: 67.27% 2.30% - 0.80-> 0.90 radl: 2.74% 0.47% 0-> 0.90 radl: 70.01% 2.16% - 0.90-> 1.00 radl: 2.34% 0.50% 0-> 1.00 radl: 72.35% 2.01% - 1.00-> 1.10 radl: 1.97% 0.45% 0-> 1.10 radl: 74.32% 1.82% - 1.10-> 1.20 radl: 1.74% 0.38% 0-> 1.20 radl: 76.06% 1.70% - 1.20-> 1.30 radl: 1.50% 0.33% 0-> 1.30 radl: 77.56% 1.59% - 1.30-> 1.40 radl: 1.35% 0.29% 0-> 1.40 radl: 78.91% 1.56% - 1.40-> 1.50 radl: 1.22% 0.29% 0-> 1.50 radl: 80.13% 1.51% - 1.50-> 1.60 radl: 1.12% 0.28% 0-> 1.60 radl: 81.25% 1.48% - 1.60-> 1.70 radl: 1.02% 0.25% 0-> 1.70 radl: 82.27% 1.45% - 1.70-> 1.80 radl: 0.98% 0.25% 0-> 1.80 radl: 83.24% 1.43% - 1.80-> 1.90 radl: 0.90% 0.25% 0-> 1.90 radl: 84.14% 1.40% - 1.90-> 2.00 radl: 0.82% 0.24% 0-> 2.00 radl: 84.96% 1.39% - 2.00-> 2.10 radl: 0.72% 0.18% 0-> 2.10 radl: 85.69% 1.37% - 2.10-> 2.20 radl: 0.67% 0.22% 0-> 2.20 radl: 86.36% 1.34% - 2.20-> 2.30 radl: 0.63% 0.19% 0-> 2.30 radl: 86.99% 1.34% - 2.30-> 2.40 radl: 0.59% 0.20% 0-> 2.40 radl: 87.59% 1.31% - 2.40-> 2.50 radl: 0.57% 0.15% 0-> 2.50 radl: 88.16% 1.31% - 2.50-> 2.60 radl: 0.50% 0.16% 0-> 2.60 radl: 88.66% 1.31% - 2.60-> 2.70 radl: 0.50% 0.15% 0-> 2.70 radl: 89.16% 1.29% - 2.70-> 2.80 radl: 0.46% 0.17% 0-> 2.80 radl: 89.62% 1.25% - 2.80-> 2.90 radl: 0.42% 0.14% 0-> 2.90 radl: 90.04% 1.24% - 2.90-> 3.00 radl: 0.39% 0.12% 0-> 3.00 radl: 90.43% 1.24% - 3.00-> 3.10 radl: 0.37% 0.13% 0-> 3.10 radl: 90.79% 1.22% - 3.10-> 3.20 radl: 0.35% 0.13% 0-> 3.20 radl: 91.14% 1.21% - 3.20-> 3.30 radl: 0.34% 0.13% 0-> 3.30 radl: 91.48% 1.17% - 3.30-> 3.40 radl: 0.32% 0.13% 0-> 3.40 radl: 91.80% 1.15% - 3.40-> 3.50 radl: 0.31% 0.13% 0-> 3.50 radl: 92.10% 1.15% - 3.50-> 3.60 radl: 0.28% 0.10% 0-> 3.60 radl: 92.38% 1.14% - 3.60-> 3.70 radl: 0.26% 0.10% 0-> 3.70 radl: 92.64% 1.14% - 3.70-> 3.80 radl: 0.22% 0.10% 0-> 3.80 radl: 92.87% 1.13% - 3.80-> 3.90 radl: 0.25% 0.10% 0-> 3.90 radl: 93.12% 1.09% - 3.90-> 4.00 radl: 0.23% 0.10% 0-> 4.00 radl: 93.35% 1.08% - 4.00-> 4.10 radl: 0.21% 0.10% 0-> 4.10 radl: 93.56% 1.08% - 4.10-> 4.20 radl: 0.20% 0.10% 0-> 4.20 radl: 93.77% 1.08% - 4.20-> 4.30 radl: 0.18% 0.09% 0-> 4.30 radl: 93.94% 1.08% - 4.30-> 4.40 radl: 0.18% 0.10% 0-> 4.40 radl: 94.12% 1.08% - 4.40-> 4.50 radl: 0.17% 0.08% 0-> 4.50 radl: 94.29% 1.07% - 4.50-> 4.60 radl: 0.17% 0.09% 0-> 4.60 radl: 94.45% 1.05% - 4.60-> 4.70 radl: 0.14% 0.08% 0-> 4.70 radl: 94.60% 1.04% - 4.70-> 4.80 radl: 0.16% 0.08% 0-> 4.80 radl: 94.76% 1.06% - 4.80-> 4.90 radl: 0.14% 0.08% 0-> 4.90 radl: 94.90% 1.07% - 4.90-> 5.00 radl: 0.10% 0.05% 0-> 5.00 radl: 95.00% 1.07% + 0.00-> 0.10 radl: 17.73% 1.95% 0-> 0.10 radl: 17.73% 1.95% + 0.10-> 0.20 radl: 13.20% 1.42% 0-> 0.20 radl: 30.92% 2.47% + 0.20-> 0.30 radl: 9.96% 1.24% 0-> 0.30 radl: 40.88% 2.59% + 0.30-> 0.40 radl: 7.75% 0.89% 0-> 0.40 radl: 48.63% 2.49% + 0.40-> 0.50 radl: 6.05% 0.75% 0-> 0.50 radl: 54.68% 2.46% + 0.50-> 0.60 radl: 4.90% 0.64% 0-> 0.60 radl: 59.59% 2.34% + 0.60-> 0.70 radl: 3.96% 0.60% 0-> 0.70 radl: 63.54% 2.20% + 0.70-> 0.80 radl: 3.25% 0.59% 0-> 0.80 radl: 66.79% 2.03% + 0.80-> 0.90 radl: 2.86% 0.57% 0-> 0.90 radl: 69.65% 1.97% + 0.90-> 1.00 radl: 2.38% 0.47% 0-> 1.00 radl: 72.03% 1.88% + 1.00-> 1.10 radl: 2.05% 0.42% 0-> 1.10 radl: 74.08% 1.76% + 1.10-> 1.20 radl: 1.81% 0.39% 0-> 1.20 radl: 75.89% 1.70% + 1.20-> 1.30 radl: 1.55% 0.30% 0-> 1.30 radl: 77.44% 1.62% + 1.30-> 1.40 radl: 1.42% 0.35% 0-> 1.40 radl: 78.87% 1.59% + 1.40-> 1.50 radl: 1.25% 0.30% 0-> 1.50 radl: 80.12% 1.58% + 1.50-> 1.60 radl: 1.13% 0.26% 0-> 1.60 radl: 81.25% 1.54% + 1.60-> 1.70 radl: 1.03% 0.25% 0-> 1.70 radl: 82.28% 1.56% + 1.70-> 1.80 radl: 0.99% 0.23% 0-> 1.80 radl: 83.27% 1.56% + 1.80-> 1.90 radl: 0.88% 0.20% 0-> 1.90 radl: 84.15% 1.54% + 1.90-> 2.00 radl: 0.85% 0.22% 0-> 2.00 radl: 84.99% 1.51% + 2.00-> 2.10 radl: 0.75% 0.19% 0-> 2.10 radl: 85.74% 1.48% + 2.10-> 2.20 radl: 0.70% 0.22% 0-> 2.20 radl: 86.44% 1.44% + 2.20-> 2.30 radl: 0.65% 0.19% 0-> 2.30 radl: 87.09% 1.39% + 2.30-> 2.40 radl: 0.61% 0.20% 0-> 2.40 radl: 87.70% 1.35% + 2.40-> 2.50 radl: 0.55% 0.16% 0-> 2.50 radl: 88.26% 1.33% + 2.50-> 2.60 radl: 0.50% 0.17% 0-> 2.60 radl: 88.75% 1.31% + 2.60-> 2.70 radl: 0.49% 0.15% 0-> 2.70 radl: 89.24% 1.32% + 2.70-> 2.80 radl: 0.43% 0.16% 0-> 2.80 radl: 89.68% 1.30% + 2.80-> 2.90 radl: 0.43% 0.14% 0-> 2.90 radl: 90.11% 1.28% + 2.90-> 3.00 radl: 0.41% 0.13% 0-> 3.00 radl: 90.52% 1.27% + 3.00-> 3.10 radl: 0.37% 0.13% 0-> 3.10 radl: 90.89% 1.26% + 3.10-> 3.20 radl: 0.35% 0.12% 0-> 3.20 radl: 91.24% 1.23% + 3.20-> 3.30 radl: 0.34% 0.13% 0-> 3.30 radl: 91.58% 1.22% + 3.30-> 3.40 radl: 0.32% 0.12% 0-> 3.40 radl: 91.90% 1.19% + 3.40-> 3.50 radl: 0.30% 0.12% 0-> 3.50 radl: 92.20% 1.19% + 3.50-> 3.60 radl: 0.28% 0.12% 0-> 3.60 radl: 92.48% 1.18% + 3.60-> 3.70 radl: 0.25% 0.09% 0-> 3.70 radl: 92.73% 1.16% + 3.70-> 3.80 radl: 0.25% 0.11% 0-> 3.80 radl: 92.99% 1.17% + 3.80-> 3.90 radl: 0.24% 0.11% 0-> 3.90 radl: 93.23% 1.14% + 3.90-> 4.00 radl: 0.23% 0.09% 0-> 4.00 radl: 93.46% 1.15% + 4.00-> 4.10 radl: 0.19% 0.09% 0-> 4.10 radl: 93.64% 1.16% + 4.10-> 4.20 radl: 0.20% 0.10% 0-> 4.20 radl: 93.85% 1.16% + 4.20-> 4.30 radl: 0.19% 0.09% 0-> 4.30 radl: 94.04% 1.15% + 4.30-> 4.40 radl: 0.20% 0.07% 0-> 4.40 radl: 94.24% 1.15% + 4.40-> 4.50 radl: 0.17% 0.08% 0-> 4.50 radl: 94.41% 1.14% + 4.50-> 4.60 radl: 0.16% 0.08% 0-> 4.60 radl: 94.57% 1.13% + 4.60-> 4.70 radl: 0.14% 0.08% 0-> 4.70 radl: 94.71% 1.12% + 4.70-> 4.80 radl: 0.15% 0.09% 0-> 4.80 radl: 94.86% 1.12% + 4.80-> 4.90 radl: 0.13% 0.08% 0-> 4.90 radl: 94.99% 1.13% + 4.90-> 5.00 radl: 0.11% 0.07% 0-> 5.00 radl: 95.10% 1.13% ===== SUMMARY ===== Total number of events: 100 - Mean number of charged steps: 7251.36 - Mean number of neutral steps: 4113.26 + Mean number of charged steps: 7243.52 + Mean number of neutral steps: 4104.99 - energy deposit : 95.00 % E0 +- 1.07 % E0 - charged traklen: 484.06 radl +- 5.59 radl - neutral traklen: 4204.35 radl +- 122.48 radl + energy deposit : 95.10 % E0 +- 1.13 % E0 + charged traklen: 485.02 radl +- 5.72 radl + neutral traklen: 4211.12 radl +- 106.32 radl - 90.00 % confinement: radius = 2.89 radl (2.58 cm ) + 90.00 % confinement: radius = 2.87 radl (2.56 cm ) <<<>>> 100 events for Total Energy in Absorber -Edep: 0.949982 delEdep= 0.000981825 nrms= 1.19735 -Erms: 0.0107345 delErms= 0.00253445 nrms= 3.0908 +Edep: 0.95103 delEdep= 0.00203021 nrms= 2.47586 +Erms: 0.0113416 delErms= 0.0031416 nrms= 3.83121 <<<>>> IS ACCEPTED ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={361321420877048618, 554786381671741085, 923204730180075713, 653520139043486636, 1419719948418791371, 1329365653395800180, 2105109492189455942, 346937733242020002, 1078950172930912791, 1662255175276436863, 173037477673007135, 632407609306360719, 1457821341578574702, 1242211937465852605, 1341944455345203339, 2271027155638727229, 2085831826184861184} counter= 4sumtot= 1192708576708804506 +N=17 V[N]={1320352641469246449, 748593876044476691, 1615749449855265301, 125343198321865026, 834324597444753381, 476231807464612, 1793595680660756118, 1053561202518711313, 1364853499329730466, 611659800538802749, 19571227452826305, 1518611527987771938, 1594630539722534896, 1449659023793603771, 2005265392046213865, 509648880159559296, 2217712594629105637} counter= 16sumtot= 336865290073136206 --------------------------------------- ... write file : testem2.root - done ... close file : testem2.root - done ... clear all data - done ================== Deleting memory pools =================== Number of memory pools allocated: 9 of which, static: 0 -Dynamic pools deleted: 9 / Total memory freed: 0.062 MB +Dynamic pools deleted: 9 / Total memory freed: 0.067 MB ============================================================ diff --git a/examples/extended/electromagnetic/TestEm2/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm2/include/ActionInitialization.hh index 5812637849d..a1e88ccac8e 100644 --- a/examples/extended/electromagnetic/TestEm2/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm2/include/ActionInitialization.hh @@ -37,18 +37,15 @@ class DetectorConstruction; class ActionInitialization : public G4VUserActionInitialization { -public: - - ActionInitialization(DetectorConstruction*); - ~ActionInitialization() override = default; + public: + ActionInitialization(DetectorConstruction*); + ~ActionInitialization() override = default; - void Build() const override; - void BuildForMaster() const override; - -private: - - DetectorConstruction* fDetector = nullptr; + void Build() const override; + void BuildForMaster() const override; + private: + DetectorConstruction* fDetector = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh index 8ec266b38fc..392727ff3b1 100644 --- a/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh @@ -33,12 +33,12 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 -#include "G4VUserDetectorConstruction.hh" -#include "G4ThreeVector.hh" +#include "G4Cache.hh" #include "G4Material.hh" +#include "G4ThreeVector.hh" #include "G4VPhysicalVolume.hh" +#include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "G4Cache.hh" class G4Tubs; class G4LogicalVolume; @@ -51,60 +51,54 @@ const G4int kMaxBin = 500; class DetectorConstruction : public G4VUserDetectorConstruction { -public: - - DetectorConstruction(); - ~DetectorConstruction() override; + public: + DetectorConstruction(); + ~DetectorConstruction() override; -public: + public: + void SetMaterial(const G4String&); + void SetLBining(G4ThreeVector); + void SetRBining(G4ThreeVector); - void SetMaterial(const G4String&); - void SetLBining (G4ThreeVector); - void SetRBining (G4ThreeVector); + G4VPhysicalVolume* Construct() override; - G4VPhysicalVolume* Construct() override; + void ConstructSDandField() override; - void ConstructSDandField() override; + const G4VPhysicalVolume* GetEcal() const { return fPhysiEcal; }; + const G4Material* GetMaterial() const { return fMaterial; }; - const - G4VPhysicalVolume* GetEcal() const {return fPhysiEcal;}; - const G4Material* GetMaterial() const {return fMaterial;}; + // Subdivision of absorber + G4int GetnLtot() const { return fNLtot; }; + G4int GetnRtot() const { return fNRtot; }; + G4double GetdLradl() const { return fDLradl; }; + G4double GetdRradl() const { return fDRradl; }; + G4double GetdLlength() const { return fDLlength; }; + G4double GetdRlength() const { return fDRlength; }; + G4double GetfullLength() const { return fEcalLength; }; + G4double GetfullRadius() const { return fEcalRadius; }; - // Subdivision of absorber - G4int GetnLtot() const {return fNLtot;}; - G4int GetnRtot() const {return fNRtot;}; - G4double GetdLradl() const {return fDLradl;}; - G4double GetdRradl() const {return fDRradl;}; - G4double GetdLlength() const {return fDLlength;}; - G4double GetdRlength() const {return fDRlength;}; - G4double GetfullLength() const {return fEcalLength;}; - G4double GetfullRadius() const {return fEcalRadius;}; + private: + void DefineMaterials(); + void UpdateParameters(); -private: + G4int fNLtot = 40, fNRtot = 50; // nb of bins: longitudinal and radial + G4double fDLradl = 0.5, fDRradl = 0.1; // bin thickness (in radl unit) + G4double fDLlength = 0., fDRlength = 0.; // bin thickness (in length unit) - void DefineMaterials(); - void UpdateParameters(); + G4Material* fMaterial = nullptr; // pointer to the material - G4int fNLtot = 40, fNRtot = 50; // nb of bins: longitudinal and radial - G4double fDLradl = 0.5, fDRradl = 0.1; // bin thickness (in radl unit) - G4double fDLlength = 0., fDRlength = 0.; // bin thickness (in length unit) + G4double fEcalLength = 0.; // full length of the Calorimeter + G4double fEcalRadius = 0.; // radius of the Calorimeter - G4Material* fMaterial = nullptr; //pointer to the material - - G4double fEcalLength = 0.; //full length of the Calorimeter - G4double fEcalRadius = 0.; //radius of the Calorimeter + G4Tubs* fSolidEcal = nullptr; // pointer to the solid calorimeter + G4LogicalVolume* fLogicEcal = nullptr; // pointer to the logical calorimeter + G4VPhysicalVolume* fPhysiEcal = nullptr; // pointer to the physical calorimeter - G4Tubs* fSolidEcal = nullptr; //pointer to the solid calorimeter - G4LogicalVolume* fLogicEcal = nullptr; //pointer to the logical calorimeter - G4VPhysicalVolume* fPhysiEcal = nullptr; //pointer to the physical calorimeter + DetectorMessenger* fDetectorMessenger = nullptr; // pointer to the Messenger - DetectorMessenger* fDetectorMessenger = nullptr; //pointer to the Messenger - - G4Cache fFieldMessenger = nullptr; - + G4Cache fFieldMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh index b601e11c495..b39f9ce7923 100644 --- a/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh @@ -26,15 +26,15 @@ /// \file electromagnetic/TestEm2/include/DetectorMessenger.hh /// \brief Definition of the DetectorMessenger class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -45,25 +45,24 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { -public: - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; + public: + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; - void SetNewValue(G4UIcommand*, G4String) override; + void SetNewValue(G4UIcommand*, G4String) override; -private: - DetectorConstruction* fDetector = nullptr; + private: + DetectorConstruction* fDetector = nullptr; - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - G4UIcmdWithAString* fMaterCmd = nullptr; - G4UIcmdWith3Vector* fLBinCmd = nullptr; - G4UIcmdWith3Vector* fRBinCmd = nullptr; + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fMaterCmd = nullptr; + G4UIcmdWith3Vector* fLBinCmd = nullptr; + G4UIcmdWith3Vector* fRBinCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh b/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh index 36c713ce224..72e852902d6 100644 --- a/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh +++ b/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh @@ -39,19 +39,18 @@ class EmAcceptance { -public: - EmAcceptance() = default; - ~EmAcceptance() = default; + public: + EmAcceptance() = default; + ~EmAcceptance() = default; - void BeginOfAcceptance(const G4String& title, G4int stat); - void EndOfAcceptance(); + void BeginOfAcceptance(const G4String& title, G4int stat); + void EndOfAcceptance(); - void EmAcceptanceGauss(const G4String& title, G4int stat, - G4double avr, G4double avr0, - G4double rms, G4double limit); + void EmAcceptanceGauss(const G4String& title, G4int stat, G4double avr, G4double avr0, + G4double rms, G4double limit); -private: - G4bool fIsAccepted = false; + private: + G4bool fIsAccepted = false; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/EventAction.hh b/examples/extended/electromagnetic/TestEm2/include/EventAction.hh index 15dcf5734a2..17d69981e9d 100644 --- a/examples/extended/electromagnetic/TestEm2/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/EventAction.hh @@ -42,17 +42,14 @@ class G4Event; class EventAction : public G4UserEventAction { -public: - - EventAction() = default; - ~EventAction() override = default; + public: + EventAction() = default; + ~EventAction() override = default; - void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh index 655b124da6e..fbd233dfd9f 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh @@ -40,21 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; + ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh index f6b7335bc4f..36f4851634e 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh @@ -41,29 +41,27 @@ class PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { -public: - PhysicsList(); - ~PhysicsList() override; + public: + PhysicsList(); + ~PhysicsList() override; - void ConstructParticle() override; - void ConstructProcess() override; - void AddPhysicsList(const G4String& name); - - void AddStepMax(); - -private: + void ConstructParticle() override; + void ConstructProcess() override; + void AddPhysicsList(const G4String& name); - PhysicsListMessenger* fMessenger = nullptr; + void AddStepMax(); - G4String fEmName = " "; - G4VPhysicsConstructor* fEmPhysicsList = nullptr; - G4VPhysicsConstructor* fDecayPhysics = nullptr; - G4VPhysicsConstructor* fHadPhysicsList = nullptr ; + private: + PhysicsListMessenger* fMessenger = nullptr; + + G4String fEmName = " "; + G4VPhysicsConstructor* fEmPhysicsList = nullptr; + G4VPhysicsConstructor* fDecayPhysics = nullptr; + G4VPhysicsConstructor* fHadPhysicsList = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh index 91e4ec135c1..192747b43ee 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh @@ -42,24 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { - public: - - PhysicsListMessenger(PhysicsList*); - ~PhysicsListMessenger() override; - - void SetNewValue(G4UIcommand*, G4String) override; + public: + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; - private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; + void SetNewValue(G4UIcommand*, G4String) override; + + private: + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh index 328260e4c34..fe0f2491d1c 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -46,17 +46,16 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + ~PrimaryGeneratorAction() override; void GeneratePrimaries(G4Event*) override; - inline G4ParticleGun* GetParticleGun() {return fParticleGun;}; - + inline G4ParticleGun* GetParticleGun() { return fParticleGun; }; + private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/Run.hh b/examples/extended/electromagnetic/TestEm2/include/Run.hh index 8b70e6ef277..3a663fd7fee 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Run.hh @@ -33,10 +33,11 @@ #ifndef Run_h #define Run_h 1 -#include "G4Run.hh" -#include "G4AnalysisManager.hh" #include "DetectorConstruction.hh" +#include "G4AnalysisManager.hh" +#include "G4Run.hh" + #include typedef std::vector MyVector; @@ -49,85 +50,88 @@ class PrimaryGeneratorAction; class Run : public G4Run { -public: + public: + Run(DetectorConstruction*, PrimaryGeneratorAction*); + ~Run() override = default; + + void Merge(const G4Run*) override; - Run(DetectorConstruction*, PrimaryGeneratorAction*); - ~Run() override = default; + void InitializePerEvent(); + void FillPerEvent(); - void Merge(const G4Run*) override; + inline void FillPerTrack(G4double, G4double); + inline void FillPerStep(G4double, G4int, G4int); - void InitializePerEvent(); - void FillPerEvent(); + inline void AddStep(G4double q); - inline void FillPerTrack(G4double,G4double); - inline void FillPerStep (G4double,G4int,G4int); + void EndOfRun(G4double edep, G4double rms, G4double& limit); - inline void AddStep(G4double q); + inline void SetVerbose(G4int val) { fVerbose = val; }; - void EndOfRun(G4double edep, G4double rms, G4double& limit); + private: + void Reset(); - inline void SetVerbose(G4int val) {fVerbose = val;}; - -private: - void Reset(); + DetectorConstruction* fDet = nullptr; + PrimaryGeneratorAction* fKin = nullptr; - DetectorConstruction* fDet = nullptr; - PrimaryGeneratorAction* fKin = nullptr; - - G4int f_nLbin = kMaxBin; - MyVector f_dEdL; - MyVector fSumELongit; - MyVector fSumE2Longit; - MyVector fSumELongitCumul; - MyVector fSumE2LongitCumul; + G4int f_nLbin = kMaxBin; + MyVector f_dEdL; + MyVector fSumELongit; + MyVector fSumE2Longit; + MyVector fSumELongitCumul; + MyVector fSumE2LongitCumul; - G4int f_nRbin = kMaxBin; - MyVector f_dEdR; - MyVector fSumERadial; - MyVector fSumE2Radial; - MyVector fSumERadialCumul; - MyVector fSumE2RadialCumul; + G4int f_nRbin = kMaxBin; + MyVector f_dEdR; + MyVector fSumERadial; + MyVector fSumE2Radial; + MyVector fSumERadialCumul; + MyVector fSumE2RadialCumul; - G4double fChargTrLength = 0.; - G4double fSumChargTrLength = 0.; - G4double fSum2ChargTrLength = 0.; + G4double fChargTrLength = 0.; + G4double fSumChargTrLength = 0.; + G4double fSum2ChargTrLength = 0.; - G4double fNeutrTrLength = 0.; - G4double fSumNeutrTrLength = 0.; - G4double fSum2NeutrTrLength = 0.; + G4double fNeutrTrLength = 0.; + G4double fSumNeutrTrLength = 0.; + G4double fSum2NeutrTrLength = 0.; - G4double fChargedStep = 0.; - G4double fNeutralStep = 0.; + G4double fChargedStep = 0.; + G4double fNeutralStep = 0.; - G4int fVerbose = 0; + G4int fVerbose = 0; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline -void Run::FillPerTrack(G4double charge, G4double trkLength) +inline void Run::FillPerTrack(G4double charge, G4double trkLength) { - if (charge != 0.) fChargTrLength += trkLength; - else fNeutrTrLength += trkLength; + if (charge != 0.) + fChargTrLength += trkLength; + else + fNeutrTrLength += trkLength; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline -void Run::FillPerStep(G4double dEstep, G4int Lbin, G4int Rbin) +inline void Run::FillPerStep(G4double dEstep, G4int Lbin, G4int Rbin) { - f_dEdL[Lbin] += dEstep; f_dEdR[Rbin] += dEstep; + f_dEdL[Lbin] += dEstep; + f_dEdR[Rbin] += dEstep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline void Run::AddStep(G4double q) { - if (q == 0.0) { fNeutralStep += 1.0; } - else { fChargedStep += 1.0; } + if (q == 0.0) { + fNeutralStep += 1.0; + } + else { + fChargedStep += 1.0; + } } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/RunAction.hh b/examples/extended/electromagnetic/TestEm2/include/RunAction.hh index 0e6d4ee8f13..2927b33c54a 100644 --- a/examples/extended/electromagnetic/TestEm2/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/RunAction.hh @@ -33,9 +33,9 @@ #ifndef RunAction_h #define RunAction_h 1 -#include "G4UserRunAction.hh" -#include "G4ThreeVector.hh" #include "G4AnalysisManager.hh" +#include "G4ThreeVector.hh" +#include "G4UserRunAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,39 +48,36 @@ class Run; class RunAction : public G4UserRunAction { -public: + public: + RunAction(DetectorConstruction*, PrimaryGeneratorAction*); + ~RunAction() override; + + virtual G4Run* GenerateRun() override; + void BeginOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - RunAction(DetectorConstruction*, PrimaryGeneratorAction*); - ~RunAction() override; + void SetVerbose(G4int val); - virtual G4Run* GenerateRun() override; - void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + // Acceptance parameters + void SetEdepAndRMS(G4ThreeVector); - void SetVerbose(G4int val); + private: + void BookHisto(); - // Acceptance parameters - void SetEdepAndRMS(G4ThreeVector); - -private: - void BookHisto(); - -private: - DetectorConstruction* fDet = nullptr; - PrimaryGeneratorAction* fKin = nullptr; - RunActionMessenger* fRunMessenger = nullptr; - G4AnalysisManager* fAnalysisManager = nullptr; - Run* fRun = nullptr; + private: + DetectorConstruction* fDet = nullptr; + PrimaryGeneratorAction* fKin = nullptr; + RunActionMessenger* fRunMessenger = nullptr; + G4AnalysisManager* fAnalysisManager = nullptr; + Run* fRun = nullptr; - G4int fVerbose = 0; - - G4double fEdeptrue = 1.; - G4double fRmstrue = 1.; - G4double fLimittrue = DBL_MAX; + G4int fVerbose = 0; + G4double fEdeptrue = 1.; + G4double fRmstrue = 1.; + G4double fLimittrue = DBL_MAX; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh index a63a68d3fcf..848208b8fc3 100644 --- a/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh @@ -33,8 +33,8 @@ #ifndef RunActionMessenger_h #define RunActionMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class RunAction; class G4UIdirectory; @@ -44,20 +44,20 @@ class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class RunActionMessenger: public G4UImessenger +class RunActionMessenger : public G4UImessenger { -public: - RunActionMessenger(RunAction*); - ~RunActionMessenger() override; - - void SetNewValue(G4UIcommand*, G4String) override; - -private: - RunAction* fRun = nullptr; - - G4UIdirectory* fRunDir = nullptr; - G4UIcmdWith3Vector* fAccCmd = nullptr; - G4UIcmdWithAnInteger* fVerbCmd = nullptr; + public: + RunActionMessenger(RunAction*); + ~RunActionMessenger() override; + + void SetNewValue(G4UIcommand*, G4String) override; + + private: + RunAction* fRun = nullptr; + + G4UIdirectory* fRunDir = nullptr; + G4UIcmdWith3Vector* fAccCmd = nullptr; + G4UIcmdWithAnInteger* fVerbCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/StepMax.hh b/examples/extended/electromagnetic/TestEm2/include/StepMax.hh index d7204ca2231..d25c8da9832 100644 --- a/examples/extended/electromagnetic/TestEm2/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm2/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -45,32 +45,28 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { public: - StepMax(const G4String& processName = "UserMaxStep"); - ~StepMax() override; + ~StepMax() override; G4bool IsApplicable(const G4ParticleDefinition&) override; void SetMaxStep(G4double); - G4double GetMaxStep() {return fMaxChargedStep;}; + G4double GetMaxStep() { return fMaxChargedStep; }; - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) override; + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, G4double previousStepSize, + G4ForceCondition* condition) override; G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; - G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) override; + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) override; private: + G4double fMaxChargedStep = DBL_MAX; - G4double fMaxChargedStep = DBL_MAX; - - StepMaxMessenger* fMess = nullptr; + StepMaxMessenger* fMess = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh index 6158e14334a..81518725605 100644 --- a/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh @@ -33,22 +33,22 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger() override; - + ~StepMaxMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: StepMax* fStepMax = nullptr; G4UIcmdWithADoubleAndUnit* fStepMaxCmd = nullptr; diff --git a/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh index b086952ede1..09310201253 100644 --- a/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh @@ -41,14 +41,14 @@ class DetectorConstruction; class SteppingAction : public G4UserSteppingAction { -public: - SteppingAction(DetectorConstruction*); - ~SteppingAction() override = default; - - void UserSteppingAction(const G4Step*) override; - -private: - DetectorConstruction* fDetector = nullptr; + public: + SteppingAction(DetectorConstruction*); + ~SteppingAction() override = default; + + void UserSteppingAction(const G4Step*) override; + + private: + DetectorConstruction* fDetector = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh index 71a86e5ac39..8750f686b94 100644 --- a/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh @@ -37,13 +37,13 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { +class TrackingAction : public G4UserTrackingAction +{ + public: + TrackingAction() = default; + ~TrackingAction() override = default; -public: - TrackingAction() = default; - ~TrackingAction() override = default; - - void PostUserTrackingAction(const G4Track*) override; + void PostUserTrackingAction(const G4Track*) override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm2/src/ActionInitialization.cc index 94e93b0b099..fbbefccc224 100644 --- a/examples/extended/electromagnetic/TestEm2/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm2/src/ActionInitialization.cc @@ -27,23 +27,20 @@ #include "ActionInitialization.hh" -#include "RunAction.hh" #include "EventAction.hh" -#include "TrackingAction.hh" -#include "SteppingAction.hh" #include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "SteppingAction.hh" +#include "TrackingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* det) - : fDetector(det) -{} +ActionInitialization::ActionInitialization(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::Build() const { - PrimaryGeneratorAction* kin = new PrimaryGeneratorAction(fDetector); SetUserAction(kin); @@ -57,8 +54,7 @@ void ActionInitialization::Build() const void ActionInitialization::BuildForMaster() const { - SetUserAction( - new RunAction(fDetector, new PrimaryGeneratorAction(fDetector))); + SetUserAction(new RunAction(fDetector, new PrimaryGeneratorAction(fDetector))); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc index d5d33415405..215b4b613b6 100644 --- a/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc @@ -30,27 +30,23 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" -#include "DetectorMessenger.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" +#include "DetectorMessenger.hh" +#include "G4AutoDelete.hh" #include "G4GeometryManager.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" - #include "G4GlobalMagFieldMessenger.hh" - +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "G4NistManager.hh" +#include "G4PVPlacement.hh" +#include "G4PhysicalVolumeStore.hh" #include "G4RunManager.hh" - +#include "G4SolidStore.hh" #include "G4SystemOfUnits.hh" +#include "G4Tubs.hh" #include "G4UnitsTable.hh" -#include "G4AutoDelete.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() @@ -63,7 +59,7 @@ DetectorConstruction::DetectorConstruction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ +{ delete fDetectorMessenger; } @@ -75,11 +71,11 @@ void DetectorConstruction::DefineMaterials() // define few Elements by hand // G4double a, z; - - G4Element* H = new G4Element("Hydrogen", "H", z= 1., a= 1.01*g/mole); - G4Element* O = new G4Element("Oxygen" , "O", z= 8., a= 16.00*g/mole); - G4Element* Ge = new G4Element("Germanium", "Ge",z=32., a= 72.59*g/mole); - G4Element* Bi = new G4Element("Bismuth", "Bi",z=83., a= 208.98*g/mole); + + G4Element* H = new G4Element("Hydrogen", "H", z = 1., a = 1.01 * g / mole); + G4Element* O = new G4Element("Oxygen", "O", z = 8., a = 16.00 * g / mole); + G4Element* Ge = new G4Element("Germanium", "Ge", z = 32., a = 72.59 * g / mole); + G4Element* Bi = new G4Element("Bismuth", "Bi", z = 83., a = 208.98 * g / mole); // // define materials @@ -88,27 +84,25 @@ void DetectorConstruction::DefineMaterials() G4int ncomponents, natoms; // water with ionisation potential 78 eV - G4Material* H2O = - new G4Material("Water", density= 1.00*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); + G4Material* H2O = new G4Material("Water", density = 1.00 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); // pure materails - new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); - new G4Material("Aluminium", z=13., a= 26.98*g/mole, density= 2.7*g/cm3); - new G4Material("Iron", z=26., a= 55.85*g/mole, density= 7.87*g/cm3); - new G4Material("Copper", z=29., a= 63.55*g/mole, density= 8.960*g/cm3); - new G4Material("Tungsten", z=74., a=183.84*g/mole, density=19.35*g/cm3); - new G4Material("Lead", z=82., a=207.19*g/mole, density=11.35*g/cm3); - new G4Material("Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3); + new G4Material("liquidArgon", z = 18., a = 39.95 * g / mole, density = 1.390 * g / cm3); + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.7 * g / cm3); + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.87 * g / cm3); + new G4Material("Copper", z = 29., a = 63.55 * g / mole, density = 8.960 * g / cm3); + new G4Material("Tungsten", z = 74., a = 183.84 * g / mole, density = 19.35 * g / cm3); + new G4Material("Lead", z = 82., a = 207.19 * g / mole, density = 11.35 * g / cm3); + new G4Material("Uranium", z = 92., a = 238.03 * g / mole, density = 18.95 * g / cm3); // compound material - G4Material* BGO = - new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3); - BGO->AddElement(O , natoms=12); - BGO->AddElement(Ge, natoms= 3); - BGO->AddElement(Bi, natoms= 4); + G4Material* BGO = new G4Material("BGO", density = 7.10 * g / cm3, ncomponents = 3); + BGO->AddElement(O, natoms = 12); + BGO->AddElement(Ge, natoms = 3); + BGO->AddElement(Bi, natoms = 4); ////G4cout << *(G4Material::GetMaterialTable()) << G4endl; } @@ -118,11 +112,13 @@ void DetectorConstruction::DefineMaterials() void DetectorConstruction::UpdateParameters() { G4double Radl = fMaterial->GetRadlen(); - fDLlength = fDLradl*Radl; fDRlength = fDRradl*Radl; - fEcalLength = fNLtot*fDLlength; fEcalRadius = fNRtot*fDRlength; - if(fSolidEcal) { + fDLlength = fDLradl * Radl; + fDRlength = fDRradl * Radl; + fEcalLength = fNLtot * fDLlength; + fEcalRadius = fNRtot * fDRlength; + if (fSolidEcal) { fSolidEcal->SetOuterRadius(fEcalRadius); - fSolidEcal->SetZHalfLength(0.5*fEcalLength); + fSolidEcal->SetZHalfLength(0.5 * fEcalLength); } } @@ -134,18 +130,17 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // // Ecal // - if(!fPhysiEcal) { - fSolidEcal = new G4Tubs("Ecal",0.,fEcalRadius,0.5*fEcalLength,0.,360*deg); - fLogicEcal = new G4LogicalVolume( fSolidEcal,fMaterial,"Ecal",0,0,0); - fPhysiEcal = new G4PVPlacement(0,G4ThreeVector(), - fLogicEcal,"Ecal",0,false,0); + if (!fPhysiEcal) { + fSolidEcal = new G4Tubs("Ecal", 0., fEcalRadius, 0.5 * fEcalLength, 0., 360 * deg); + fLogicEcal = new G4LogicalVolume(fSolidEcal, fMaterial, "Ecal", 0, 0, 0); + fPhysiEcal = new G4PVPlacement(0, G4ThreeVector(), fLogicEcal, "Ecal", 0, false, 0); } - G4cout << "\n Absorber is " << G4BestUnit(fEcalLength,"Length") - << " of " << fMaterial->GetName() - << " R= " << fEcalRadius/cm << " cm \n" << G4endl; - G4cout << fMaterial << G4endl; + G4cout << "\n Absorber is " << G4BestUnit(fEcalLength, "Length") << " of " << fMaterial->GetName() + << " R= " << fEcalRadius / cm << " cm \n" + << G4endl; + G4cout << fMaterial << G4endl; // - //always return the physical World + // always return the physical World // return fPhysiEcal; } @@ -155,12 +150,13 @@ G4VPhysicalVolume* DetectorConstruction::Construct() void DetectorConstruction::SetMaterial(const G4String& materialChoice) { // search the material by its name - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); - if(pttoMaterial && fMaterial != pttoMaterial) { + if (pttoMaterial && fMaterial != pttoMaterial) { fMaterial = pttoMaterial; - if(fLogicEcal) { fLogicEcal->SetMaterial(fMaterial); } + if (fLogicEcal) { + fLogicEcal->SetMaterial(fMaterial); + } G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } } @@ -171,10 +167,10 @@ void DetectorConstruction::SetLBining(G4ThreeVector Value) { fNLtot = (G4int)Value(0); if (fNLtot > kMaxBin) { - G4cout << "\n ---> warning from SetLBining: " - << fNLtot << " truncated to " << kMaxBin << G4endl; + G4cout << "\n ---> warning from SetLBining: " << fNLtot << " truncated to " << kMaxBin + << G4endl; fNLtot = kMaxBin; - } + } fDLradl = Value(1); UpdateParameters(); } @@ -185,10 +181,10 @@ void DetectorConstruction::SetRBining(G4ThreeVector Value) { fNRtot = (G4int)Value(0); if (fNRtot > kMaxBin) { - G4cout << "\n ---> warning from SetRBining: " - << fNRtot << " truncated to " << kMaxBin << G4endl; + G4cout << "\n ---> warning from SetRBining: " << fNRtot << " truncated to " << kMaxBin + << G4endl; fNRtot = kMaxBin; - } + } fDRradl = Value(1); UpdateParameters(); } @@ -197,16 +193,15 @@ void DetectorConstruction::SetRBining(G4ThreeVector Value) void DetectorConstruction::ConstructSDandField() { - if ( fFieldMessenger.Get() == nullptr ) { + if (fFieldMessenger.Get() == nullptr) { // Create global magnetic field messenger. // Uniform magnetic field is then created automatically if // the field value is not zero. G4ThreeVector fieldValue = G4ThreeVector(); - G4GlobalMagFieldMessenger* msg = - new G4GlobalMagFieldMessenger(fieldValue); - //msg->SetVerboseLevel(1); + G4GlobalMagFieldMessenger* msg = new G4GlobalMagFieldMessenger(fieldValue); + // msg->SetVerboseLevel(1); G4AutoDelete::Register(msg); - fFieldMessenger.Put( msg ); + fFieldMessenger.Put(msg); } } diff --git a/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc index 24f7918af12..3f0db78e883 100644 --- a/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc @@ -33,43 +33,43 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWith3Vector.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:fDetector(Det) +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) { fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance(" detector control."); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction commands"); - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select Material."); - fMaterCmd->SetParameterName("material",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fMaterCmd->SetParameterName("material", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fMaterCmd->SetToBeBroadcasted(false); - fLBinCmd = new G4UIcmdWith3Vector("/testem/det/setLbin",this); + fLBinCmd = new G4UIcmdWith3Vector("/testem/det/setLbin", this); fLBinCmd->SetGuidance("set longitudinal bining"); fLBinCmd->SetGuidance("nb of bins; bin thickness (in radl)"); - fLBinCmd->SetParameterName("nLtot","dLradl"," ",true); + fLBinCmd->SetParameterName("nLtot", "dLradl", " ", true); fLBinCmd->SetRange("nLtot>=1 && dLradl>0"); - fLBinCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fLBinCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fLBinCmd->SetToBeBroadcasted(false); - fRBinCmd = new G4UIcmdWith3Vector("/testem/det/setRbin",this); + fRBinCmd = new G4UIcmdWith3Vector("/testem/det/setRbin", this); fRBinCmd->SetGuidance("set radial bining"); fRBinCmd->SetGuidance("nb of bins; bin thickness (in radl)"); - fRBinCmd->SetParameterName("nRtot","dRradl"," ",true); + fRBinCmd->SetParameterName("nRtot", "dRradl", " ", true); fRBinCmd->SetRange("nRtot>=1 && dRradl>0"); - fRBinCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fRBinCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fRBinCmd->SetToBeBroadcasted(false); } @@ -87,16 +87,18 @@ DetectorMessenger::~DetectorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fLBinCmd ) - { fDetector->SetLBining(fLBinCmd->GetNew3VectorValue(newValue));} +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } - if( command == fRBinCmd ) - { fDetector->SetRBining(fRBinCmd->GetNew3VectorValue(newValue));} + if (command == fLBinCmd) { + fDetector->SetLBining(fLBinCmd->GetNew3VectorValue(newValue)); + } + if (command == fRBinCmd) { + fDetector->SetRBining(fRBinCmd->GetNew3VectorValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc b/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc index b4615b256fc..3d74570d2db 100644 --- a/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc +++ b/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc @@ -46,24 +46,22 @@ void EmAcceptance::BeginOfAcceptance(const G4String& title, G4int stat) void EmAcceptance::EndOfAcceptance() { G4String resume = "IS ACCEPTED"; - if(!fIsAccepted) resume = "IS NOT ACCEPTED"; + if (!fIsAccepted) resume = "IS NOT ACCEPTED"; G4cout << "<<<>>> " << resume << G4endl; G4cout << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EmAcceptance::EmAcceptanceGauss(const G4String& title, G4int stat, - G4double avr, G4double avr0, +void EmAcceptance::EmAcceptanceGauss(const G4String& title, G4int stat, G4double avr, G4double avr0, G4double rms, G4double limit) { G4double x = std::sqrt((G4double)stat); G4double dde = avr - avr0; - G4double de = dde*x/rms; - if(std::fabs(de) > limit) fIsAccepted = false; - - G4cout << title << ": " << avr << " del" << title << "= " << dde - << " nrms= " << de << G4endl; + G4double de = dde * x / rms; + if (std::fabs(de) > limit) fIsAccepted = false; + + G4cout << title << ": " << avr << " del" << title << "= " << dde << " nrms= " << de << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/EventAction.cc b/examples/extended/electromagnetic/TestEm2/src/EventAction.cc index 1bd3b761a21..acd0fe56363 100644 --- a/examples/extended/electromagnetic/TestEm2/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/EventAction.cc @@ -33,6 +33,7 @@ #include "EventAction.hh" #include "Run.hh" + #include "G4Event.hh" #include "G4RunManager.hh" #include "G4UnitsTable.hh" @@ -41,20 +42,17 @@ void EventAction::BeginOfEventAction(const G4Event*) { - //additional initializations - Run* run - = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - run->InitializePerEvent(); + // additional initializations + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + run->InitializePerEvent(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::EndOfEventAction(const G4Event*) -{ - Run* run - = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - run->FillPerEvent(); +{ + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + run->FillPerEvent(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc index 876dc20e865..ea5bdc6b031 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc @@ -28,62 +28,54 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BuilderType.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4RayleighScattering.hh" +#include "G4IonParametrisedLossModel.hh" #include "G4KleinNishinaModel.hh" #include "G4LivermorePhotoElectricModel.hh" - -#include "G4eMultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuMultipleScattering.hh" -#include "G4MuIonisation.hh" +#include "G4LossTableManager.hh" +#include "G4MscStepLimitType.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuPairProduction.hh" - -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4MscStepLimitType.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4BuilderType.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetVerbose(0); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetStepFunction(0.1, 100*um); - param->SetStepFunctionMuHad(0.1, 50*um); - param->SetStepFunctionLightIons(0.1, 20*um); - param->SetStepFunctionIons(0.1, 1*um); - param->SetMscStepLimitType(fUseDistanceToBoundary); - param->SetDeexcitationIgnoreCut(true); - SetPhysicsType(bElectromagnetic); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetVerbose(0); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetStepFunction(0.1, 100 * um); + param->SetStepFunctionMuHad(0.1, 50 * um); + param->SetStepFunctionLightIons(0.1, 20 * um); + param->SetStepFunctionIons(0.1, 1 * um); + param->SetMscStepLimitType(fUseDistanceToBoundary); + param->SetDeexcitationIgnoreCut(true); + SetPhysicsType(bElectromagnetic); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -91,74 +83,62 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ph->RegisterProcess(new G4RayleighScattering, particle); + if (particleName == "gamma") { + ph->RegisterProcess(new G4RayleighScattering, particle); ph->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* cs = new G4ComptonScattering; + G4ComptonScattering* cs = new G4ComptonScattering; cs->SetEmModel(new G4KleinNishinaModel()); ph->RegisterProcess(cs, particle); ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + } + else if (particleName == "e-") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); - ph->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + ph->RegisterProcess(new G4eBremsstrahlung(), particle); + } + else if (particleName == "e+") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); - ph->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - ph->RegisterProcess(new G4MuMultipleScattering(), particle); + ph->RegisterProcess(new G4eplusAnnihilation(), particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + ph->RegisterProcess(new G4MuMultipleScattering(), particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(new G4MuBremsstrahlung(), particle); ph->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); - ph->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4hPairProduction(), particle); + } + else if (particleName == "alpha" || particleName == "He3") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if (particleName == "GenericIon") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); ph->RegisterProcess(ionIoni, particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } @@ -171,4 +151,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc index d0d9d42cf47..9e916bebaab 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc @@ -31,65 +31,58 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" +#include "StepMax.hh" +#include "G4DecayPhysics.hh" +#include "G4EmDNAPhysics.hh" +#include "G4EmDNAPhysics_option2.hh" +#include "G4EmDNAPhysics_option4.hh" +#include "G4EmDNAPhysics_option6.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsSS.hh" - -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" - -#include "G4EmDNAPhysics.hh" -#include "G4EmDNAPhysics_option2.hh" -#include "G4EmDNAPhysics_option4.hh" -#include "G4EmDNAPhysics_option6.hh" - #include "G4HadronElasticPhysics.hh" - -#include "G4DecayPhysics.hh" -#include "StepMax.hh" - -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" - #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // particles +#include "G4BaryonConstructor.hh" #include "G4BosonConstructor.hh" +#include "G4DNAGenericIonsManager.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" #include "G4ShortLivedConstructor.hh" -#include "G4DNAGenericIonsManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsList::PhysicsList() -{ - fMessenger = new PhysicsListMessenger(this); +{ + fMessenger = new PhysicsListMessenger(this); SetVerboseLevel(1); - + // EM physics fEmName = G4String("emstandard_opt4"); fEmPhysicsList = new G4EmStandardPhysics_option4(); - // Decay physics + // Decay physics fDecayPhysics = new G4DecayPhysics(1); - - SetDefaultCutValue(1*mm); + + SetDefaultCutValue(1 * mm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -97,14 +90,14 @@ PhysicsList::PhysicsList() PhysicsList::~PhysicsList() { delete fEmPhysicsList; - delete fMessenger; + delete fMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; + G4BosonConstructor pBosonConstructor; pBosonConstructor.ConstructParticle(); G4LeptonConstructor pLeptonConstructor; @@ -125,11 +118,11 @@ void PhysicsList::ConstructParticle() // Geant4-DNA G4DNAGenericIonsManager* genericIonsManager; - genericIonsManager=G4DNAGenericIonsManager::Instance(); + genericIonsManager = G4DNAGenericIonsManager::Instance(); genericIonsManager->GetIon("alpha++"); genericIonsManager->GetIon("alpha+"); genericIonsManager->GetIon("helium"); - genericIonsManager->GetIon("hydrogen"); + genericIonsManager->GetIon("hydrogen"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -139,7 +132,9 @@ void PhysicsList::ConstructProcess() AddTransportation(); fEmPhysicsList->ConstructProcess(); fDecayPhysics->ConstructProcess(); - if(fHadPhysicsList) { fHadPhysicsList->ConstructProcess(); } + if (fHadPhysicsList) { + fHadPhysicsList->ConstructProcess(); + } AddStepMax(); } @@ -150,16 +145,15 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process StepMax* stepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (stepMaxProcess->IsApplicable(*particle)) - { - pmanager->AddDiscreteProcess(stepMaxProcess); - } + if (stepMaxProcess->IsApplicable(*particle)) { + pmanager->AddDiscreteProcess(stepMaxProcess); + } } } @@ -167,109 +161,98 @@ void PhysicsList::AddStepMax() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>1) { + if (verboseLevel > 1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } if (name == fEmName) return; if (name == "local") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt0") { - + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1") { - + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2") { - + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3") { - + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emstandardSS") { - + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "emstandardWVI") { - + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else if (name == "emstandardGS") { - + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else if (name == "empenelope") { + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else if (name == "emlowenergy") { + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(); - - } else if (name == "emlivermore") { + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else if (name == "dna") { + } + else if (name == "dna") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics(); - - } else if (name == "dna_opt2") { + } + else if (name == "dna_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option2(); - - } else if (name == "dna_opt4") { + } + else if (name == "dna_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option4(); - - } else if (name == "dna_opt6") { + } + else if (name == "dna_opt6") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option6(); - - } else if (name == "had_elastic" && !fHadPhysicsList) { + } + else if (name == "had_elastic" && !fHadPhysicsList) { fHadPhysicsList = new G4HadronElasticPhysics(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc index bcbcb0b47c8..9d50788494a 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc @@ -33,22 +33,22 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) - :fPhysicsList(pPhys) +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) { fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); - fListCmd->SetToBeBroadcasted(false); + fListCmd->SetToBeBroadcasted(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -62,9 +62,10 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue); } +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc index 6ced2394345..9091655ff3f 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc @@ -33,25 +33,24 @@ #include "PrimaryGeneratorAction.hh" #include "DetectorConstruction.hh" + #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction (DetectorConstruction* det) -:fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(5.*GeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-1*cm)); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); + fParticleGun->SetParticleEnergy(5. * GeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., -1 * cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., 1.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -65,12 +64,11 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begin of event + // this function is called at the begin of event // - G4double position = -0.5*(fDetector->GetfullLength()); - fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,position)); + G4double position = -0.5 * (fDetector->GetfullLength()); + fParticleGun->SetParticlePosition(G4ThreeVector(0., 0., position)); fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm2/src/Run.cc b/examples/extended/electromagnetic/TestEm2/src/Run.cc index 4313b48353b..ef8d10b7866 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Run.cc @@ -26,24 +26,24 @@ /// \file electromagnetic/TestEm2/src/Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" -#include "PrimaryGeneratorAction.hh" #include "EmAcceptance.hh" +#include "PrimaryGeneratorAction.hh" #include "G4Run.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(DetectorConstruction* det, PrimaryGeneratorAction* kin) - :fDet(det),fKin(kin) +Run::Run(DetectorConstruction* det, PrimaryGeneratorAction* kin) : fDet(det), fKin(kin) { Reset(); } @@ -51,7 +51,7 @@ Run::Run(DetectorConstruction* det, PrimaryGeneratorAction* kin) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::Reset() -{ +{ f_nLbin = fDet->GetnLtot(); f_dEdL.resize(f_nLbin); fSumELongit.resize(f_nLbin); @@ -65,37 +65,38 @@ void Run::Reset() fSumERadialCumul.resize(f_nRbin); fSumE2Radial.resize(f_nRbin); fSumE2RadialCumul.resize(f_nRbin); - + fChargedStep = 0.0; - fNeutralStep = 0.0; - + fNeutralStep = 0.0; + fVerbose = 0; - - //initialize arrays of cumulative energy deposition + + // initialize arrays of cumulative energy deposition // - for (G4int i=0; iGetParticleGun()->GetParticleEnergy(); - G4double mass=fKin->GetParticleGun()->GetParticleDefinition()->GetPDGMass(); - G4double radl=fDet->GetMaterial()->GetRadlen(); + G4double Ekin = fKin->GetParticleGun()->GetParticleEnergy(); + G4double mass = fKin->GetParticleGun()->GetParticleDefinition()->GetPDGMass(); + G4double radl = fDet->GetMaterial()->GetRadlen(); G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - analysisManager->FillH1(1, 100.*dLCumul/(Ekin+mass)); - analysisManager->FillH1(2, fChargTrLength/radl); - analysisManager->FillH1(3, fNeutrTrLength/radl); - - //profiles - G4double norm = 100./(Ekin+mass); - G4double dLradl = fDet->GetdLradl(); - for (G4int i=0; iFillP1(0, bin, norm*f_dEdL[i]/dLradl); + analysisManager->FillH1(1, 100. * dLCumul / (Ekin + mass)); + analysisManager->FillH1(2, fChargTrLength / radl); + analysisManager->FillH1(3, fNeutrTrLength / radl); + + // profiles + G4double norm = 100. / (Ekin + mass); + G4double dLradl = fDet->GetdLradl(); + for (G4int i = 0; i < f_nLbin; ++i) { + G4double bin = (i + 0.5) * dLradl; + analysisManager->FillP1(0, bin, norm * f_dEdL[i] / dLradl); + } + G4double dRradl = fDet->GetdRradl(); + for (G4int j = 0; j < f_nRbin; ++j) { + G4double bin = (j + 0.5) * dRradl; + analysisManager->FillP1(1, bin, norm * f_dEdR[j] / dRradl); } - G4double dRradl = fDet->GetdRradl(); - for (G4int j=0; jFillP1(1, bin, norm*f_dEdR[j]/dRradl); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -163,150 +162,148 @@ void Run::Merge(const G4Run* run) const Run* localRun = static_cast(run); fChargedStep += localRun->fChargedStep; - fNeutralStep += localRun->fNeutralStep; + fNeutralStep += localRun->fNeutralStep; - for (G4int i=0; ifSumELongit[i]; fSumE2Longit[i] += localRun->fSumE2Longit[i]; fSumELongitCumul[i] += localRun->fSumELongitCumul[i]; fSumE2LongitCumul[i] += localRun->fSumE2LongitCumul[i]; } - for (G4int j=0; jfSumERadial[j]; fSumE2Radial[j] += localRun->fSumE2Radial[j]; fSumERadialCumul[j] += localRun->fSumERadialCumul[j]; fSumE2RadialCumul[j] += localRun->fSumE2RadialCumul[j]; } - fSumChargTrLength += localRun->fSumChargTrLength; + fSumChargTrLength += localRun->fSumChargTrLength; fSum2ChargTrLength += localRun->fSum2ChargTrLength; - fSumNeutrTrLength += localRun->fSumNeutrTrLength; + fSumNeutrTrLength += localRun->fSumNeutrTrLength; fSum2NeutrTrLength += localRun->fSum2NeutrTrLength; - G4Run::Merge(run); + G4Run::Merge(run); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Run::EndOfRun(G4double edep, G4double rms, G4double& limit) +void Run::EndOfRun(G4double edep, G4double rms, G4double& limit) { G4int NbOfEvents = GetNumberOfEvent(); G4double kinEnergy = fKin->GetParticleGun()->GetParticleEnergy(); - assert(NbOfEvents*kinEnergy > 0); + assert(NbOfEvents * kinEnergy > 0); fChargedStep /= G4double(NbOfEvents); - fNeutralStep /= G4double(NbOfEvents); + fNeutralStep /= G4double(NbOfEvents); - G4double mass=fKin->GetParticleGun()->GetParticleDefinition()->GetPDGMass(); - G4double norme = 100./(NbOfEvents*(kinEnergy+mass)); - - //longitudinal + G4double mass = fKin->GetParticleGun()->GetParticleDefinition()->GetPDGMass(); + G4double norme = 100. / (NbOfEvents * (kinEnergy + mass)); + + // longitudinal // G4double dLradl = fDet->GetdLradl(); - MyVector MeanELongit(f_nLbin), rmsELongit(f_nLbin); + MyVector MeanELongit(f_nLbin), rmsELongit(f_nLbin); MyVector MeanELongitCumul(f_nLbin), rmsELongitCumul(f_nLbin); G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); G4int i; - for (i=0; iFillH1(4, bin,MeanELongit[i]/dLradl); - analysisManager->FillH1(5, bin, rmsELongit[i]/dLradl); - bin = (i+1)*dLradl; - analysisManager->FillH1(6, bin,MeanELongitCumul[i]); + for (i = 0; i < f_nLbin; ++i) { + MeanELongit[i] = norme * fSumELongit[i]; + rmsELongit[i] = + norme * std::sqrt(std::abs(NbOfEvents * fSumE2Longit[i] - fSumELongit[i] * fSumELongit[i])); + + MeanELongitCumul[i] = norme * fSumELongitCumul[i]; + rmsELongitCumul[i] = norme + * std::sqrt(std::abs(NbOfEvents * fSumE2LongitCumul[i] + - fSumELongitCumul[i] * fSumELongitCumul[i])); + G4double bin = (i + 0.5) * dLradl; + analysisManager->FillH1(4, bin, MeanELongit[i] / dLradl); + analysisManager->FillH1(5, bin, rmsELongit[i] / dLradl); + bin = (i + 1) * dLradl; + analysisManager->FillH1(6, bin, MeanELongitCumul[i]); analysisManager->FillH1(7, bin, rmsELongitCumul[i]); } - //radial + // radial // G4double dRradl = fDet->GetdRradl(); - MyVector MeanERadial(f_nRbin), rmsERadial(f_nRbin); + MyVector MeanERadial(f_nRbin), rmsERadial(f_nRbin); MyVector MeanERadialCumul(f_nRbin), rmsERadialCumul(f_nRbin); - for (i=0; iFillH1(8, bin,MeanERadial[i]/dRradl); - analysisManager->FillH1(9, bin, rmsERadial[i]/dRradl); - bin = (i+1)*dRradl; - analysisManager->FillH1(10, bin,MeanERadialCumul[i]); - analysisManager->FillH1(11, bin, rmsERadialCumul[i]); + for (i = 0; i < f_nRbin; ++i) { + MeanERadial[i] = norme * fSumERadial[i]; + rmsERadial[i] = + norme * std::sqrt(std::abs(NbOfEvents * fSumE2Radial[i] - fSumERadial[i] * fSumERadial[i])); + + MeanERadialCumul[i] = norme * fSumERadialCumul[i]; + rmsERadialCumul[i] = norme + * std::sqrt(std::abs(NbOfEvents * fSumE2RadialCumul[i] + - fSumERadialCumul[i] * fSumERadialCumul[i])); + + G4double bin = (i + 0.5) * dRradl; + analysisManager->FillH1(8, bin, MeanERadial[i] / dRradl); + analysisManager->FillH1(9, bin, rmsERadial[i] / dRradl); + bin = (i + 1) * dRradl; + analysisManager->FillH1(10, bin, MeanERadialCumul[i]); + analysisManager->FillH1(11, bin, rmsERadialCumul[i]); } - //find Moliere confinement + // find Moliere confinement // const G4double EMoliere = 90.; G4double iMoliere = 0.; - if ((MeanERadialCumul[0] <= EMoliere) && - (MeanERadialCumul[f_nRbin-1] >= EMoliere)) { + if ((MeanERadialCumul[0] <= EMoliere) && (MeanERadialCumul[f_nRbin - 1] >= EMoliere)) { G4int imin = 0; - while( (imin < f_nRbin-1) && (MeanERadialCumul[imin] < EMoliere) ) - { ++imin; } + while ((imin < f_nRbin - 1) && (MeanERadialCumul[imin] < EMoliere)) { + ++imin; + } - G4double del = MeanERadialCumul[imin+1] - MeanERadialCumul[imin]; - G4double ratio = - (del > 0.0) ? (EMoliere - MeanERadialCumul[imin])/del : 0.0; + G4double del = MeanERadialCumul[imin + 1] - MeanERadialCumul[imin]; + G4double ratio = (del > 0.0) ? (EMoliere - MeanERadialCumul[imin]) / del : 0.0; iMoliere = 1. + imin + ratio; - } - - //track length + } + + // track length // - norme = 1./(NbOfEvents*(fDet->GetMaterial()->GetRadlen())); - G4double MeanChargTrLength = norme*fSumChargTrLength; - G4double rmsChargTrLength = - norme*std::sqrt(std::abs(NbOfEvents*fSum2ChargTrLength - - fSumChargTrLength*fSumChargTrLength)); - - G4double MeanNeutrTrLength = norme*fSumNeutrTrLength; - G4double rmsNeutrTrLength = - norme*std::sqrt(std::abs(NbOfEvents*fSum2NeutrTrLength - - fSumNeutrTrLength*fSumNeutrTrLength)); - - //print + norme = 1. / (NbOfEvents * (fDet->GetMaterial()->GetRadlen())); + G4double MeanChargTrLength = norme * fSumChargTrLength; + G4double rmsChargTrLength = + norme + * std::sqrt(std::abs(NbOfEvents * fSum2ChargTrLength - fSumChargTrLength * fSumChargTrLength)); + + G4double MeanNeutrTrLength = norme * fSumNeutrTrLength; + G4double rmsNeutrTrLength = + norme + * std::sqrt(std::abs(NbOfEvents * fSum2NeutrTrLength - fSumNeutrTrLength * fSumNeutrTrLength)); + + // print std::ios::fmtflags mode = G4cout.flags(); - G4cout.setf(std::ios::fixed,std::ios::floatfield); - G4int prec = G4cout.precision(2); - - if (fVerbose) { + G4cout.setf(std::ios::fixed, std::ios::floatfield); + G4int prec = G4cout.precision(2); + if (fVerbose) { G4cout << " LOGITUDINAL PROFILE " << " CUMULATIVE LOGITUDINAL PROFILE" << G4endl << G4endl; - G4cout << " bin " << " Mean rms " - << " bin " << " Mean rms \n" << G4endl; + G4cout << " bin " + << " Mean rms " + << " bin " + << " Mean rms \n" + << G4endl; - for (i=0; i" - << std::setw(5) << sup << " radl: " - << std::setw(7) << MeanELongit[i] << "% " - << std::setw(9) << rmsELongit[i] << "% " - << " 0->" << std::setw(5) << sup << " radl: " - << std::setw(7) << MeanELongitCumul[i] << "% " - << std::setw(7) << rmsELongitCumul[i] << "% " - <" << std::setw(5) << sup << " radl: " << std::setw(7) + << MeanELongit[i] << "% " << std::setw(9) << rmsELongit[i] << "% " + << " 0->" << std::setw(5) << sup << " radl: " << std::setw(7) + << MeanELongitCumul[i] << "% " << std::setw(7) << rmsELongitCumul[i] << "% " + << G4endl; } G4cout << G4endl << G4endl << G4endl; @@ -314,61 +311,58 @@ void Run::EndOfRun(G4double edep, G4double rms, G4double& limit) G4cout << " RADIAL PROFILE " << " CUMULATIVE RADIAL PROFILE" << G4endl << G4endl; - G4cout << " bin " << " Mean rms " - << " bin " << " Mean rms \n" << G4endl; - - for (i=0; i" - << std::setw(5) << sup << " radl: " - << std::setw(7) << MeanERadial[i] << "% " - << std::setw(9) << rmsERadial[i] << "% " - << " 0->" << std::setw(5) << sup << " radl: " - << std::setw(7) << MeanERadialCumul[i] << "% " - << std::setw(7) << rmsERadialCumul[i] << "% " - <" << std::setw(5) << sup << " radl: " << std::setw(7) + << MeanERadial[i] << "% " << std::setw(9) << rmsERadial[i] << "% " + << " 0->" << std::setw(5) << sup << " radl: " << std::setw(7) + << MeanERadialCumul[i] << "% " << std::setw(7) << rmsERadialCumul[i] << "% " + << G4endl; + } } - + G4cout << "\n ===== SUMMARY ===== \n" << G4endl; G4cout << " Total number of events: " << NbOfEvents << "\n" << " Mean number of charged steps: " << fChargedStep << G4endl; - G4cout << " Mean number of neutral steps: " << fNeutralStep - << "\n" << G4endl; - - G4cout << " energy deposit : " - << std::setw(7) << MeanELongitCumul[f_nLbin-1] << " % E0 +- " - << std::setw(7) << rmsELongitCumul[f_nLbin-1] << " % E0" << G4endl; - G4cout << " charged traklen: " - << std::setw(7) << MeanChargTrLength << " radl +- " - << std::setw(7) << rmsChargTrLength << " radl" << G4endl; - G4cout << " neutral traklen: " - << std::setw(7) << MeanNeutrTrLength << " radl +- " - << std::setw(7) << rmsNeutrTrLength << " radl" << G4endl; - - if (iMoliere > 0. ) { - G4double RMoliere1 = iMoliere*fDet->GetdRradl(); - G4double RMoliere2 = iMoliere*fDet->GetdRlength(); - G4cout << "\n " << EMoliere << " % confinement: radius = " - << RMoliere1 << " radl (" - << G4BestUnit( RMoliere2, "Length") << ")" << "\n" << G4endl; - } - - G4cout.setf(mode,std::ios::floatfield); + G4cout << " Mean number of neutral steps: " << fNeutralStep << "\n" << G4endl; + + G4cout << " energy deposit : " << std::setw(7) << MeanELongitCumul[f_nLbin - 1] << " % E0 +- " + << std::setw(7) << rmsELongitCumul[f_nLbin - 1] << " % E0" << G4endl; + G4cout << " charged traklen: " << std::setw(7) << MeanChargTrLength << " radl +- " << std::setw(7) + << rmsChargTrLength << " radl" << G4endl; + G4cout << " neutral traklen: " << std::setw(7) << MeanNeutrTrLength << " radl +- " << std::setw(7) + << rmsNeutrTrLength << " radl" << G4endl; + + if (iMoliere > 0.) { + G4double RMoliere1 = iMoliere * fDet->GetdRradl(); + G4double RMoliere2 = iMoliere * fDet->GetdRlength(); + G4cout << "\n " << EMoliere << " % confinement: radius = " << RMoliere1 << " radl (" + << G4BestUnit(RMoliere2, "Length") << ")" + << "\n" + << G4endl; + } + + G4cout.setf(mode, std::ios::floatfield); G4cout.precision(prec); // Acceptance - - G4int nLbin = fDet->GetnLtot(); - if (limit < DBL_MAX) { + + G4int nLbin = fDet->GetnLtot(); + if (limit < DBL_MAX) { EmAcceptance acc; - acc.BeginOfAcceptance("Total Energy in Absorber",NbOfEvents); - G4double e = MeanELongitCumul[nLbin-1]/100.; - G4double r = rmsELongitCumul[nLbin-1]/100.; - acc.EmAcceptanceGauss("Edep",NbOfEvents,e,edep,rms,limit); - acc.EmAcceptanceGauss("Erms",NbOfEvents,r,rms,rms,2.0*limit); + acc.BeginOfAcceptance("Total Energy in Absorber", NbOfEvents); + G4double e = MeanELongitCumul[nLbin - 1] / 100.; + G4double r = rmsELongitCumul[nLbin - 1] / 100.; + acc.EmAcceptanceGauss("Edep", NbOfEvents, e, edep, rms, limit); + acc.EmAcceptanceGauss("Erms", NbOfEvents, r, rms, rms, 2.0 * limit); acc.EndOfAcceptance(); } limit = DBL_MAX; diff --git a/examples/extended/electromagnetic/TestEm2/src/RunAction.cc b/examples/extended/electromagnetic/TestEm2/src/RunAction.cc index f50a8da9255..fd5d11e2ecf 100644 --- a/examples/extended/electromagnetic/TestEm2/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/RunAction.cc @@ -26,28 +26,26 @@ /// \file electromagnetic/TestEm2/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" #include "DetectorConstruction.hh" +#include "EmAcceptance.hh" #include "PrimaryGeneratorAction.hh" -#include "RunActionMessenger.hh" #include "Run.hh" -#include "EmAcceptance.hh" +#include "RunActionMessenger.hh" #include "G4Run.hh" #include "G4RunManager.hh" #include "G4SystemOfUnits.hh" - #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) - :fDet(det),fKin(kin) +RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) : fDet(det), fKin(kin) { fRunMessenger = new RunActionMessenger(this); @@ -74,7 +72,7 @@ void RunAction::BookHisto() { // Get analysis manager fAnalysisManager = G4AnalysisManager::Instance(); - + // Open an output file fAnalysisManager->OpenFile(); fAnalysisManager->SetVerboseLevel(1); @@ -82,53 +80,42 @@ void RunAction::BookHisto() // Creating histograms // G4double Ekin = fKin->GetParticleGun()->GetParticleEnergy(); - G4int nLbin = fDet->GetnLtot(); - G4int nRbin = fDet->GetnRtot(); + G4int nLbin = fDet->GetnLtot(); + G4int nRbin = fDet->GetnRtot(); G4double dLradl = fDet->GetdLradl(); G4double dRradl = fDet->GetdRradl(); - - fAnalysisManager->SetFirstHistoId(1); - fAnalysisManager->CreateH1( "h1","total energy deposit(percent of Einc)", - 110,0.,110.); - - fAnalysisManager->CreateH1( "h2","total charged tracklength (radl)", - 110,0.,110.*Ekin/GeV); - - fAnalysisManager->CreateH1( "h3","total neutral tracklength (radl)", - 110,0.,1100.*Ekin/GeV); - - fAnalysisManager->CreateH1( "h4","longit energy profile (% of E inc)", - nLbin,0.,nLbin*dLradl); - - fAnalysisManager->CreateP1( "p4","longit energy profile (% of E inc)", - nLbin,0.,nLbin*dLradl, 0., 1000.); - - fAnalysisManager->CreateH1( "h5","rms on longit Edep (% of E inc)", - nLbin,0.,nLbin*dLradl); - - G4double Zmin=0.5*dLradl, Zmax=Zmin+nLbin*dLradl; - fAnalysisManager->CreateH1( "h6","cumul longit energy dep (% of E inc)", - nLbin,Zmin,Zmax); - - fAnalysisManager->CreateH1( "h7","rms on cumul longit Edep (% of E inc)", - nLbin,Zmin,Zmax); - - fAnalysisManager->CreateH1( "h8","radial energy profile (% of E inc)", - nRbin,0.,nRbin*dRradl); - - fAnalysisManager->CreateP1( "p8","radial energy profile (% of E inc)", - nRbin,0.,nRbin*dRradl, 0., 1000.); - - fAnalysisManager->CreateH1( "h9","rms on radial Edep (% of E inc)", - nRbin,0.,nRbin*dRradl); - - G4double Rmin=0.5*dRradl, Rmax=Rmin+nRbin*dRradl; - fAnalysisManager->CreateH1("h10","cumul radial energy dep (% of E inc)", - nRbin,Rmin,Rmax); - - fAnalysisManager->CreateH1("h11","rms on cumul radial Edep (% of E inc)", - nRbin,Rmin,Rmax); - + + fAnalysisManager->SetFirstHistoId(1); + fAnalysisManager->CreateH1("h1", "total energy deposit(percent of Einc)", 110, 0., 110.); + + fAnalysisManager->CreateH1("h2", "total charged tracklength (radl)", 110, 0., 110. * Ekin / GeV); + + fAnalysisManager->CreateH1("h3", "total neutral tracklength (radl)", 110, 0., 1100. * Ekin / GeV); + + fAnalysisManager->CreateH1("h4", "longit energy profile (% of E inc)", nLbin, 0., nLbin * dLradl); + + fAnalysisManager->CreateP1("p4", "longit energy profile (% of E inc)", nLbin, 0., nLbin * dLradl, + 0., 1000.); + + fAnalysisManager->CreateH1("h5", "rms on longit Edep (% of E inc)", nLbin, 0., nLbin * dLradl); + + G4double Zmin = 0.5 * dLradl, Zmax = Zmin + nLbin * dLradl; + fAnalysisManager->CreateH1("h6", "cumul longit energy dep (% of E inc)", nLbin, Zmin, Zmax); + + fAnalysisManager->CreateH1("h7", "rms on cumul longit Edep (% of E inc)", nLbin, Zmin, Zmax); + + fAnalysisManager->CreateH1("h8", "radial energy profile (% of E inc)", nRbin, 0., nRbin * dRradl); + + fAnalysisManager->CreateP1("p8", "radial energy profile (% of E inc)", nRbin, 0., nRbin * dRradl, + 0., 1000.); + + fAnalysisManager->CreateH1("h9", "rms on radial Edep (% of E inc)", nRbin, 0., nRbin * dRradl); + + G4double Rmin = 0.5 * dRradl, Rmax = Rmin + nRbin * dRradl; + fAnalysisManager->CreateH1("h10", "cumul radial energy dep (% of E inc)", nRbin, Rmin, Rmax); + + fAnalysisManager->CreateH1("h11", "rms on cumul radial Edep (% of E inc)", nRbin, Rmin, Rmax); + G4String fileName = fAnalysisManager->GetFileName(); G4String extension = fAnalysisManager->GetFileType(); G4String fullFileName = fileName + "." + extension; @@ -138,8 +125,8 @@ void RunAction::BookHisto() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ - fRun = new Run(fDet, fKin); +{ + fRun = new Run(fDet, fKin); fRun->SetVerbose(fVerbose); return fRun; } @@ -149,9 +136,9 @@ G4Run* RunAction::GenerateRun() void RunAction::BeginOfRunAction(const G4Run*) { // show Rndm status - if (isMaster) G4Random::showEngineStatus(); + if (isMaster) G4Random::showEngineStatus(); - //histograms + // histograms // BookHisto(); } @@ -160,17 +147,17 @@ void RunAction::BeginOfRunAction(const G4Run*) void RunAction::EndOfRunAction(const G4Run*) { - //compute and print statistic - // - if (isMaster) fRun->EndOfRun(fEdeptrue, fRmstrue, fLimittrue); + // compute and print statistic + // + if (isMaster) fRun->EndOfRun(fEdeptrue, fRmstrue, fLimittrue); - // show Rndm status - if (isMaster) G4Random::showEngineStatus(); + // show Rndm status + if (isMaster) G4Random::showEngineStatus(); - // save histos and close analysis - fAnalysisManager->Write(); - fAnalysisManager->CloseFile(); - fAnalysisManager->Clear(); + // save histos and close analysis + fAnalysisManager->Write(); + fAnalysisManager->CloseFile(); + fAnalysisManager->Clear(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -178,15 +165,15 @@ void RunAction::EndOfRunAction(const G4Run*) void RunAction::SetEdepAndRMS(G4ThreeVector Value) { fEdeptrue = Value(0); - fRmstrue = Value(1); - fLimittrue= Value(2); + fRmstrue = Value(1); + fLimittrue = Value(2); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::SetVerbose(G4int val) +void RunAction::SetVerbose(G4int val) { fVerbose = val; if (fRun) fRun->SetVerbose(val); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc index 98e0d89c629..1592b5837c4 100644 --- a/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc @@ -33,29 +33,29 @@ #include "RunActionMessenger.hh" #include "RunAction.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWith3Vector.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunActionMessenger::RunActionMessenger(RunAction* run) -:fRun(run) +RunActionMessenger::RunActionMessenger(RunAction* run) : fRun(run) { fRunDir = new G4UIdirectory("/testem/run/"); fRunDir->SetGuidance("run control"); - - fAccCmd = new G4UIcmdWith3Vector("/testem/run/acceptance",this); + + fAccCmd = new G4UIcmdWith3Vector("/testem/run/acceptance", this); fAccCmd->SetGuidance("set Edep and RMS"); fAccCmd->SetGuidance("acceptance values for first layer"); - fAccCmd->SetParameterName("edep","rms","limit",true); + fAccCmd->SetParameterName("edep", "rms", "limit", true); fAccCmd->SetRange("edep>0 && edep<1 && rms>0"); - fAccCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fVerbCmd = new G4UIcmdWithAnInteger("/testem/run/verbose",this); + fAccCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fVerbCmd = new G4UIcmdWithAnInteger("/testem/run/verbose", this); fVerbCmd->SetGuidance("set verbose level for runAction"); - fVerbCmd->SetParameterName("verbose",false); + fVerbCmd->SetParameterName("verbose", false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,13 +69,15 @@ RunActionMessenger::~RunActionMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunActionMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if (command == fAccCmd ) - { fRun->SetEdepAndRMS(fAccCmd->GetNew3VectorValue(newValue));} - - if (command == fVerbCmd ) - { fRun->SetVerbose(fVerbCmd->GetNewIntValue(newValue));} +void RunActionMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fAccCmd) { + fRun->SetEdepAndRMS(fAccCmd->GetNew3VectorValue(newValue)); + } + + if (command == fVerbCmd) { + fRun->SetVerbose(fVerbCmd->GetNewIntValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/StepMax.cc b/examples/extended/electromagnetic/TestEm2/src/StepMax.cc index 8c7a0372f86..90c22086cd1 100644 --- a/examples/extended/electromagnetic/TestEm2/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm2/src/StepMax.cc @@ -31,19 +31,22 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::StepMax(const G4String& processName) - : G4VDiscreteProcess(processName) +StepMax::StepMax(const G4String& processName) : G4VDiscreteProcess(processName) { fMess = new StepMaxMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,13 +57,15 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep(G4double step) {fMaxChargedStep = step;} +void StepMax::SetMaxStep(G4double step) +{ + fMaxChargedStep = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track&, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; @@ -72,16 +77,16 @@ G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track&, G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) +G4double StepMax::GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) { - return fMaxChargedStep; -} + return fMaxChargedStep; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc index 254894b9dd4..78046257a62 100644 --- a/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc @@ -33,16 +33,16 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -:fStepMax(stepM) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); +StepMaxMessenger::StepMaxMessenger(StepMax* stepM) : fStepMax(stepM) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); } @@ -57,9 +57,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc index 5755ab4021d..b9295a8bb49 100644 --- a/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc @@ -31,6 +31,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" + #include "DetectorConstruction.hh" #include "Run.hh" @@ -39,30 +40,27 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(DetectorConstruction* det) -:fDetector(det) -{} +SteppingAction::SteppingAction(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* step) -{ +{ // energy deposit // G4double dEStep = step->GetTotalEnergyDeposit(); - Run* run - = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); run->AddStep(step->GetTrack()->GetDefinition()->GetPDGCharge()); if (dEStep > 0.) { - G4ThreeVector prePoint = step->GetPreStepPoint()->GetPosition(); + G4ThreeVector prePoint = step->GetPreStepPoint()->GetPosition(); G4ThreeVector delta = step->GetPostStepPoint()->GetPosition() - prePoint; - prePoint += G4UniformRand()*delta; + prePoint += G4UniformRand() * delta; G4double x = prePoint.x(), y = prePoint.y(), z = prePoint.z(); - G4double radius = std::sqrt(x*x + y*y); - G4double offset = 0.5*fDetector->GetfullLength(); - G4int SlideNb = G4int((z + offset)/fDetector->GetdLlength()); - G4int RingNb = G4int(radius/fDetector->GetdRlength()); - run->FillPerStep(dEStep,SlideNb,RingNb); + G4double radius = std::sqrt(x * x + y * y); + G4double offset = 0.5 * fDetector->GetfullLength(); + G4int SlideNb = G4int((z + offset) / fDetector->GetdLlength()); + G4int RingNb = G4int(radius / fDetector->GetdRlength()); + run->FillPerStep(dEStep, SlideNb, RingNb); } } diff --git a/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc index 8f72e3b5824..50198e550aa 100644 --- a/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc @@ -31,6 +31,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "TrackingAction.hh" + #include "Run.hh" #include "G4RunManager.hh" @@ -40,14 +41,12 @@ void TrackingAction::PostUserTrackingAction(const G4Track* aTrack) { - //count total track length - G4double charge = aTrack->GetDefinition()->GetPDGCharge(); - G4double TrLeng = aTrack->GetTrackLength(); - - Run* run - = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - run->FillPerTrack(charge,TrLeng); + // count total track length + G4double charge = aTrack->GetDefinition()->GetPDGCharge(); + G4double TrLeng = aTrack->GetTrackLength(); + + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + run->FillPerTrack(charge, TrLeng); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm3/.README.txt b/examples/extended/electromagnetic/TestEm3/.README.txt index ec83c005956..8317c78ecf4 100644 --- a/examples/extended/electromagnetic/TestEm3/.README.txt +++ b/examples/extended/electromagnetic/TestEm3/.README.txt @@ -162,6 +162,7 @@ Idle> exit - lockwood.mac: Al-Au-Al 1 layer (G.L.Lockwood et al. SAND79-0414 (1980)) - run01.mac: Lead-liquidArgon 50 layers; electron 1 GeV - run02.mac: Tungsten-Silicon 50 layers; electron 1 GeV + - stepMax.mac: to illustrate step max mechanism - storeTables.mac: show how to store and retrieve physics tables - tileCal.mac: ATLAS tileCal - vis.mac: to activate visualization diff --git a/examples/extended/electromagnetic/TestEm3/History b/examples/extended/electromagnetic/TestEm3/History index 904a6899d8d..1b36f3d84c9 100644 --- a/examples/extended/electromagnetic/TestEm3/History +++ b/examples/extended/electromagnetic/TestEm3/History @@ -4,8 +4,11 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-04-03 Michel Maire (testem3-V11-02-00) +- Readme: documente stepMax.mac + ## 2023-05-04 Vladimir Ivantchenko (testem3-V11-01-02) -- Run - fixed division by zero for the case if energy deposition in a layer is zero +- Run.cc: fixed division by zero for the case if energy deposition in a layer is zero ## 2023-04-15 Michel Maire (testem3-V11-01-01) - revision of all headers diff --git a/examples/extended/electromagnetic/TestEm3/README b/examples/extended/electromagnetic/TestEm3/README index b7da2050dbe..f29b51a1ef3 100644 --- a/examples/extended/electromagnetic/TestEm3/README +++ b/examples/extended/electromagnetic/TestEm3/README @@ -155,6 +155,7 @@ - lockwood.mac: Al-Au-Al 1 layer (G.L.Lockwood et al. SAND79-0414 (1980)) - run01.mac: Lead-liquidArgon 50 layers; electron 1 GeV - run02.mac: Tungsten-Silicon 50 layers; electron 1 GeV + - stepMax.mac: to illustrate step max mechanism - storeTables.mac: show how to store and retrieve physics tables - tileCal.mac: ATLAS tileCal - vis.mac: to activate visualization diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3-geom.out b/examples/extended/electromagnetic/TestEm3/TestEm3-geom.out index 37d590b769f..2e4a01d6659 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3-geom.out +++ b/examples/extended/electromagnetic/TestEm3/TestEm3-geom.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -57,6 +57,15 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo G4ChordFinder: stepperDriverId: 2 # /testem/gun/setDefault + +-------- WWWW ------- G4Exception-START -------- WWWW ------- +*** G4Exception : Event0401 + issued by : G4VPrimaryGenerator::SetParticlePosition +Invalid vertex position ((-60,0,0)). Position MUST be located -inside- the world volume. +Gun position has NOT been changed! +*** This is just a warning message. *** +-------- WWWW -------- G4Exception-END --------- WWWW ------- + /testem/gun/rndm 0.1 /gun/particle proton /gun/energy 300 MeV @@ -237,9 +246,9 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2ggOKVI : Emin= 0 eV Emax= 100 TeV CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1 Lambda table from 100 MeV to 100 TeV, 20 bins/decade, spline: 0 @@ -544,24 +553,24 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1 ------------------------------------------------------------ material Edep RMS sqrt(E0(GeV))*rmsE/Emean total tracklen - Aluminium: 85.764 MeV : 1.608 MeV 1.027 +- 0.3247 % 10.3 cm +- 602 um + Aluminium: 0 eV : 0 eV 0 +- 0 % 0 fm +- 0 fm - Total energy deposited = 85.76 MeV +- 1.608 MeV - Energy leakage = 214.2 MeV +- 1.608 MeV + Total energy deposited = 0 eV +- 0 eV + Energy leakage = 300 MeV +- 0 eV Total energy : Edep + Eleak = 300 MeV +- 0 eV ------------------------------------------------------------ Beam particle proton E = 300 MeV Mean number of gamma 0 Mean number of e- 0 Mean number of e+ 0 - Mean number of charged steps 6.1 + Mean number of charged steps 0 Mean number of neutral steps 0 ------------------------------------------------------------ Energy deposition from Energy flow balance : material Total Edep - Aluminium: 85.7636 MeV + Aluminium: 300 MeV ------------------------------------------------------------ diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.cc b/examples/extended/electromagnetic/TestEm3/TestEm3.cc index c5bcdb0c36c..42082ea45db 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.cc +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.cc @@ -30,68 +30,69 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) { ui = new G4UIExecutive(argc,argv); } - - //Use SteppingVerbose with Unit + if (argc == 1) { + ui = new G4UIExecutive(argc, argv); + } + + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //Creating run manager + + // Creating run manager auto runManager = G4RunManagerFactory::CreateRunManager(); - - if (argc==3) { - G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); - runManager->SetNumberOfThreads(nThreads); + + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* detector = new DetectorConstruction; runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList); - //set user action classes + // set user action classes runManager->SetUserInitialization(new ActionInitialization(detector)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode + if (ui) { + // interactive mode visManager = new G4VisExecutive(); visManager->Initialize(); ui->SessionStart(); delete ui; - } else { - //batch mode + } + else { + // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.out b/examples/extended/electromagnetic/TestEm3/TestEm3.out index afb5ebb5ae7..9d8528ee1d1 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.out +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -224,7 +224,7 @@ eBrem: for e+ XStype:4 SubType=3 eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -547,31 +547,31 @@ Index : 2 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 100 - User=1.500000s Real=1.702545s Sys=0.000000s + User=1.600000s Real=1.721576s Sys=0.000000s ------------------------------------------------------------ material Edep RMS sqrt(E0(GeV))*rmsE/Emean total tracklen - G4_Pb: 775.36 MeV : 17.79 MeV 2.295 +- 0.2295 % 54.7 cm +- 1.37 cm - G4_lAr: 213.68 MeV : 16.63 MeV 7.783 +- 0.7783 % 1.05 m +- 8.45 cm + G4_Pb: 777.02 MeV : 15.11 MeV 1.944 +- 0.1944 % 54.9 cm +- 1.24 cm + G4_lAr: 212.08 MeV : 14.64 MeV 6.903 +- 0.6903 % 1.04 m +- 7.59 cm - Total energy deposited = 989 MeV +- 7.31 MeV - Energy leakage = 10.95 MeV +- 7.291 MeV - Total energy : Edep + Eleak = 1000 MeV +- 101.7 keV + Total energy deposited = 989.1 MeV +- 7.478 MeV + Energy leakage = 10.88 MeV +- 7.445 MeV + Total energy : Edep + Eleak = 1000 MeV +- 143.1 keV ------------------------------------------------------------ Beam particle e- E = 1 GeV - Mean number of gamma 506.9 - Mean number of e- 870.1 - Mean number of e+ 53.67 - Mean number of charged steps 3659.12 - Mean number of neutral steps 3651.52 + Mean number of gamma 509.6 + Mean number of e- 877.1 + Mean number of e+ 53.4 + Mean number of charged steps 3659.8 + Mean number of neutral steps 3743.57 ------------------------------------------------------------ Energy deposition from Energy flow balance : material Total Edep - G4_Pb: 775.372 MeV - G4_lAr: 213.651 MeV + G4_Pb: 777.04 MeV + G4_lAr: 212.063 MeV ------------------------------------------------------------ @@ -622,36 +622,36 @@ Index : 2 used in the geometry : Yes Run terminated. Run Summary Number of events processed : 100 - User=1.210000s Real=1.234455s Sys=0.000000s + User=1.240000s Real=1.306412s Sys=0.000000s ------------------------------------------------------------ material Edep RMS sqrt(E0(GeV))*rmsE/Emean total tracklen - G4_Pb: 773.86 MeV : 20.77 MeV 2.683 +- 0.2683 % 52 cm +- 1.36 cm - G4_lAr: 215.88 MeV : 17.59 MeV 8.15 +- 0.815 % 1.02 m +- 8.23 cm + G4_Pb: 772.06 MeV : 27.33 MeV 3.54 +- 0.354 % 51.9 cm +- 1.77 cm + G4_lAr: 215.96 MeV : 17.58 MeV 8.142 +- 0.8142 % 1.02 m +- 8.02 cm - Total energy deposited = 989.7 MeV +- 14.37 MeV - Energy leakage = 8.747 MeV +- 6.022 MeV - Total energy : Edep + Eleak = 998.5 MeV +- 12.42 MeV + Total energy deposited = 988 MeV +- 26.74 MeV + Energy leakage = 11.93 MeV +- 21.64 MeV + Total energy : Edep + Eleak = 999.9 MeV +- 14.43 MeV ------------------------------------------------------------ Beam particle e- E = 1 GeV Mean number of gamma 290.5 - Mean number of e- 556.2 - Mean number of e+ 53.21 - Mean number of charged steps 3103.77 - Mean number of neutral steps 2939.75 + Mean number of e- 553.8 + Mean number of e+ 53.4 + Mean number of charged steps 3118.64 + Mean number of neutral steps 2942.43 ------------------------------------------------------------ Energy deposition from Energy flow balance : material Total Edep - G4_Pb: 773.503 MeV - G4_lAr: 217.71 MeV + G4_Pb: 771.342 MeV + G4_lAr: 216.669 MeV ------------------------------------------------------------ # ================== Deleting memory pools =================== -Number of memory pools allocated: 11 of which, static: 0 -Dynamic pools deleted: 11 / Total memory freed: 0.11 MB +Number of memory pools allocated: 9 of which, static: 0 +Dynamic pools deleted: 9 / Total memory freed: 0.091 MB ============================================================ diff --git a/examples/extended/electromagnetic/TestEm3/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm3/include/ActionInitialization.hh index 8cb4ed377ed..dec9a6a88cb 100644 --- a/examples/extended/electromagnetic/TestEm3/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm3/include/ActionInitialization.hh @@ -41,15 +41,13 @@ class ActionInitialization : public G4VUserActionInitialization { public: ActionInitialization(DetectorConstruction*); - ~ActionInitialization() override = default; + ~ActionInitialization() override = default; void BuildForMaster() const override; void Build() const override; - + private: DetectorConstruction* fDetector = nullptr; }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh index 989c7de1c0d..44d7bed9782 100644 --- a/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh @@ -33,9 +33,9 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 +#include "G4Cache.hh" #include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "G4Cache.hh" class G4Box; class G4LogicalVolume; @@ -45,87 +45,83 @@ class DetectorMessenger; class G4GlobalMagFieldMessenger; - const G4int kMaxAbsor = 10; // 0 + 9 - +const G4int kMaxAbsor = 10; // 0 + 9 + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class DetectorConstruction : public G4VUserDetectorConstruction { -public: - - DetectorConstruction(); - ~DetectorConstruction() override; - -public: - - void SetNbOfAbsor (G4int); - void SetAbsorMaterial (G4int,const G4String&); - void SetAbsorThickness(G4int,G4double); - - void SetWorldMaterial (const G4String&); - void SetCalorSizeYZ (G4double); - void SetNbOfLayers (G4int); - - G4VPhysicalVolume* Construct() override; - void ConstructSDandField() override; - -public: - - void PrintCalorParameters(); - - G4double GetWorldSizeX() const {return fWorldSizeX;}; - G4double GetWorldSizeYZ() const {return fWorldSizeYZ;}; - - G4double GetCalorThickness() const {return fCalorThickness;}; - G4double GetCalorSizeYZ() const {return fCalorSizeYZ;}; - - G4int GetNbOfLayers() const {return fNbOfLayers;}; - - G4int GetNbOfAbsor() const {return fNbOfAbsor;}; - G4double GetAbsorThickness(G4int i) const {return fAbsorThickness[i];}; - const G4Material* GetAbsorMaterial(G4int i) const {return fAbsorMaterial[i];}; - - const G4VPhysicalVolume* GetphysiWorld() const {return fPhysiWorld;}; - const G4Material* GetWorldMaterial() const {return fWorldMaterial;}; - const G4VPhysicalVolume* GetAbsorber(G4int i) const {return fPhysiAbsor[i];}; - -private: - - void DefineMaterials(); - void ComputeCalorParameters(); - - G4int fNbOfAbsor = 0; - G4Material* fAbsorMaterial[kMaxAbsor]; - G4double fAbsorThickness[kMaxAbsor]; - - G4int fNbOfLayers = 0; - G4double fLayerThickness = 0.; - - G4double fCalorSizeYZ = 0.; - G4double fCalorThickness = 0.; - - G4Material* fWorldMaterial = nullptr; - G4double fWorldSizeYZ = 0.; - G4double fWorldSizeX = 0.; - - G4Box* fSolidWorld = nullptr; - G4LogicalVolume* fLogicWorld = nullptr; - G4VPhysicalVolume* fPhysiWorld = nullptr; - - G4Box* fSolidCalor = nullptr; - G4LogicalVolume* fLogicCalor = nullptr; - G4VPhysicalVolume* fPhysiCalor = nullptr; - - G4Box* fSolidLayer = nullptr; - G4LogicalVolume* fLogicLayer = nullptr; - G4VPhysicalVolume* fPhysiLayer = nullptr; - - G4Box* fSolidAbsor[kMaxAbsor]; - G4LogicalVolume* fLogicAbsor[kMaxAbsor]; - G4VPhysicalVolume* fPhysiAbsor[kMaxAbsor]; - - DetectorMessenger* fDetectorMessenger = nullptr; - G4Cache fFieldMessenger = nullptr; + public: + DetectorConstruction(); + ~DetectorConstruction() override; + + public: + void SetNbOfAbsor(G4int); + void SetAbsorMaterial(G4int, const G4String&); + void SetAbsorThickness(G4int, G4double); + + void SetWorldMaterial(const G4String&); + void SetCalorSizeYZ(G4double); + void SetNbOfLayers(G4int); + + G4VPhysicalVolume* Construct() override; + void ConstructSDandField() override; + + public: + void PrintCalorParameters(); + + G4double GetWorldSizeX() const { return fWorldSizeX; }; + G4double GetWorldSizeYZ() const { return fWorldSizeYZ; }; + + G4double GetCalorThickness() const { return fCalorThickness; }; + G4double GetCalorSizeYZ() const { return fCalorSizeYZ; }; + + G4int GetNbOfLayers() const { return fNbOfLayers; }; + + G4int GetNbOfAbsor() const { return fNbOfAbsor; }; + G4double GetAbsorThickness(G4int i) const { return fAbsorThickness[i]; }; + const G4Material* GetAbsorMaterial(G4int i) const { return fAbsorMaterial[i]; }; + + const G4VPhysicalVolume* GetphysiWorld() const { return fPhysiWorld; }; + const G4Material* GetWorldMaterial() const { return fWorldMaterial; }; + const G4VPhysicalVolume* GetAbsorber(G4int i) const { return fPhysiAbsor[i]; }; + + private: + void DefineMaterials(); + void ComputeCalorParameters(); + + G4int fNbOfAbsor = 0; + G4Material* fAbsorMaterial[kMaxAbsor]; + G4double fAbsorThickness[kMaxAbsor]; + + G4int fNbOfLayers = 0; + G4double fLayerThickness = 0.; + + G4double fCalorSizeYZ = 0.; + G4double fCalorThickness = 0.; + + G4Material* fWorldMaterial = nullptr; + G4double fWorldSizeYZ = 0.; + G4double fWorldSizeX = 0.; + + G4Box* fSolidWorld = nullptr; + G4LogicalVolume* fLogicWorld = nullptr; + G4VPhysicalVolume* fPhysiWorld = nullptr; + + G4Box* fSolidCalor = nullptr; + G4LogicalVolume* fLogicCalor = nullptr; + G4VPhysicalVolume* fPhysiCalor = nullptr; + + G4Box* fSolidLayer = nullptr; + G4LogicalVolume* fLogicLayer = nullptr; + G4VPhysicalVolume* fPhysiLayer = nullptr; + + G4Box* fSolidAbsor[kMaxAbsor]; + G4LogicalVolume* fLogicAbsor[kMaxAbsor]; + G4VPhysicalVolume* fPhysiAbsor[kMaxAbsor]; + + DetectorMessenger* fDetectorMessenger = nullptr; + G4Cache fFieldMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh index c3ea2a33f02..720da078c7c 100644 --- a/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh @@ -33,8 +33,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -45,27 +45,26 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger() override; + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; void SetNewValue(G4UIcommand*, G4String) override; private: - DetectorConstruction* fDetector = nullptr; + DetectorConstruction* fDetector = nullptr; - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; - - G4UIcmdWithADoubleAndUnit* fSizeYZCmd = nullptr; - G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; - G4UIcmdWithAnInteger* fNbAbsorCmd = nullptr; - G4UIcommand* fAbsorCmd = nullptr; + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + + G4UIcmdWithADoubleAndUnit* fSizeYZCmd = nullptr; + G4UIcmdWithAnInteger* fNbLayersCmd = nullptr; + G4UIcmdWithAnInteger* fNbAbsorCmd = nullptr; + G4UIcommand* fAbsorCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh b/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh index d89594652a6..4c4dc372ecb 100644 --- a/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh +++ b/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh @@ -39,21 +39,18 @@ class EmAcceptance { -public: + public: + EmAcceptance() = default; + ~EmAcceptance() = default; - EmAcceptance() = default; - ~EmAcceptance() = default; + void BeginOfAcceptance(const G4String& title, G4int stat); + void EndOfAcceptance(); - void BeginOfAcceptance(const G4String& title, G4int stat); - void EndOfAcceptance(); + void EmAcceptanceGauss(const G4String& title, G4int stat, G4double avr, G4double avr0, + G4double rms, G4double limit); - void EmAcceptanceGauss(const G4String& title, G4int stat, - G4double avr, G4double avr0, - G4double rms, G4double limit); - -private: - - G4bool fIsAccepted = false; + private: + G4bool fIsAccepted = false; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/EventAction.hh b/examples/extended/electromagnetic/TestEm3/include/EventAction.hh index 3a0ad6235e3..cf9684d93c1 100644 --- a/examples/extended/electromagnetic/TestEm3/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/EventAction.hh @@ -33,34 +33,33 @@ #ifndef EventAction_h #define EventAction_h 1 +#include "DetectorConstruction.hh" + #include "G4UserEventAction.hh" #include "globals.hh" -#include "DetectorConstruction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class EventAction : public G4UserEventAction { - public: + public: EventAction(DetectorConstruction*); - ~EventAction() override = default; + ~EventAction() override = default; void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; - + void EndOfEventAction(const G4Event*) override; + void SumEnergy(G4int k, G4double de, G4double dl); - void SumEnergyLeak (G4double eleak); - - private: + void SumEnergyLeak(G4double eleak); + + private: DetectorConstruction* fDetector = nullptr; - - G4double fEnergyDeposit[kMaxAbsor]; - G4double fTrackLengthCh[kMaxAbsor]; - G4double fEnergyLeak; + + G4double fEnergyDeposit[kMaxAbsor]; + G4double fTrackLengthCh[kMaxAbsor]; + G4double fEnergyLeak; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh index d2559342ade..648ddaa3106 100644 --- a/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh @@ -23,28 +23,28 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" - const G4int kMaxHisto = 2*kMaxAbsor + 5; - +const G4int kMaxHisto = 2 * kMaxAbsor + 5; + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class HistoManager { public: HistoManager(); - ~HistoManager() = default; + ~HistoManager() = default; private: void Book(); @@ -54,4 +54,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh index 60ddb96599e..b7e8e2df7a8 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh @@ -40,21 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: - PhysListEmStandard(const G4String& name = "standard"); + public: + PhysListEmStandard(const G4String& name = "standard"); ~PhysListEmStandard() override = default; - public: + public: // This method is dummy for physics void ConstructParticle() override {}; - + // 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 + // registered to the process manager of each particle type void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh index b2ffe853373..36f4851634e 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh @@ -41,29 +41,27 @@ class PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { -public: - PhysicsList(); - ~PhysicsList()override; + public: + PhysicsList(); + ~PhysicsList() override; - void ConstructParticle() override; - void ConstructProcess() override; - void AddPhysicsList(const G4String& name); - - void AddStepMax(); - -private: + void ConstructParticle() override; + void ConstructProcess() override; + void AddPhysicsList(const G4String& name); - PhysicsListMessenger* fMessenger = nullptr; + void AddStepMax(); - G4String fEmName = " "; - G4VPhysicsConstructor* fEmPhysicsList = nullptr; - G4VPhysicsConstructor* fDecayPhysics = nullptr; - G4VPhysicsConstructor* fHadPhysicsList = nullptr; + private: + PhysicsListMessenger* fMessenger = nullptr; + + G4String fEmName = " "; + G4VPhysicsConstructor* fEmPhysicsList = nullptr; + G4VPhysicsConstructor* fDecayPhysics = nullptr; + G4VPhysicsConstructor* fHadPhysicsList = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh index f3112a68198..192747b43ee 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh @@ -42,24 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { -public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger() override; - - void SetNewValue(G4UIcommand*, G4String) override; - -private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; + public: + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + + void SetNewValue(G4UIcommand*, G4String) override; + + private: + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh index 5bf6d0e43ca..18511c663da 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -46,25 +46,24 @@ class PrimaryGeneratorMessenger; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; public: void SetDefaultKinematic(); - void SetRndmBeam(G4double val) { fRndmBeam = val;} + void SetRndmBeam(G4double val) { fRndmBeam = val; } void GeneratePrimaries(G4Event*) override; - - G4ParticleGun* GetParticleGun() {return fParticleGun;}; - + + G4ParticleGun* GetParticleGun() { return fParticleGun; }; + private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; - G4double fRndmBeam = 0.; //lateral beam extension in fraction of sizeYZ + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; + G4double fRndmBeam = 0.; // lateral beam extension in fraction of sizeYZ - PrimaryGeneratorMessenger* fGunMessenger = nullptr; + PrimaryGeneratorMessenger* fGunMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh index adcf763d80f..c79bf86313b 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh @@ -43,23 +43,22 @@ class G4UIcmdWithADouble; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger : public G4UImessenger { public: PrimaryGeneratorMessenger(PrimaryGeneratorAction*); - ~PrimaryGeneratorMessenger() override; - + ~PrimaryGeneratorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - PrimaryGeneratorAction* fAction = nullptr; - - G4UIdirectory* fGunDir = nullptr; - G4UIcmdWithoutParameter* fDefaultCmd = nullptr; - G4UIcmdWithADouble* fRndmCmd = nullptr; + PrimaryGeneratorAction* fAction = nullptr; + + G4UIdirectory* fGunDir = nullptr; + G4UIcmdWithoutParameter* fDefaultCmd = nullptr; + G4UIcmdWithADouble* fRndmCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/Run.hh b/examples/extended/electromagnetic/TestEm3/include/Run.hh index 5d95dae3a4d..e86ef2df53c 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Run.hh @@ -37,6 +37,7 @@ #include "G4Run.hh" #include "globals.hh" + #include class DetectorConstruction; @@ -49,56 +50,55 @@ class Run : public G4Run { public: Run(DetectorConstruction*); - ~Run() override = default; + ~Run() override = default; public: void SetPrimary(G4ParticleDefinition* particle, G4double energy); - - void FillPerEvent(G4int,G4double,G4double); - - void SumEnergies (G4double edeptot, G4double eleak); - void SumEnergyFlow (G4int plane, G4double Eflow); + + void FillPerEvent(G4int, G4double, G4double); + + void SumEnergies(G4double edeptot, G4double eleak); + void SumEnergyFlow(G4int plane, G4double Eflow); void SumLateralEleak(G4int cell, G4double Eflow); void AddChargedStep(); void AddNeutralStep(); void AddSecondaryTrack(const G4Track*); - + void SetEdepAndRMS(G4int, G4double, G4double, G4double); void SetApplyLimit(G4bool); - + void Merge(const G4Run*) override; void EndOfRun(); - + private: - DetectorConstruction* fDetector = nullptr; - G4ParticleDefinition* fParticle = nullptr; - G4double fEkin = 0.; - - G4double fSumEAbs [kMaxAbsor], fSum2EAbs [kMaxAbsor]; - G4double fSumLAbs [kMaxAbsor], fSum2LAbs [kMaxAbsor]; - - G4double fEdepTot = 0., fEdepTot2 = 0.; + DetectorConstruction* fDetector = nullptr; + G4ParticleDefinition* fParticle = nullptr; + G4double fEkin = 0.; + + G4double fSumEAbs[kMaxAbsor], fSum2EAbs[kMaxAbsor]; + G4double fSumLAbs[kMaxAbsor], fSum2LAbs[kMaxAbsor]; + + G4double fEdepTot = 0., fEdepTot2 = 0.; G4double fEleakTot = 0., fEleakTot2 = 0.; - G4double fEtotal = 0., fEtotal2 = 0.; - + G4double fEtotal = 0., fEtotal2 = 0.; + std::vector fEnergyFlow; std::vector fLateralEleak; std::vector fEnergyDeposit[kMaxAbsor]; - + G4double fChargedStep = 0.; G4double fNeutralStep = 0.; - G4int fN_gamma = 0; - G4int fN_elec = 0; - G4int fN_pos = 0; - - G4double fEdeptrue [kMaxAbsor]; - G4double fRmstrue [kMaxAbsor]; - G4double fLimittrue[kMaxAbsor]; + G4int fN_gamma = 0; + G4int fN_elec = 0; + G4int fN_pos = 0; + + G4double fEdeptrue[kMaxAbsor]; + G4double fRmstrue[kMaxAbsor]; + G4double fLimittrue[kMaxAbsor]; G4bool fApplyLimit = false; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/RunAction.hh b/examples/extended/electromagnetic/TestEm3/include/RunAction.hh index a364ae47ab5..46d4b3ab1ba 100644 --- a/examples/extended/electromagnetic/TestEm3/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/RunAction.hh @@ -38,7 +38,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class Run; +class Run; class DetectorConstruction; class PrimaryGeneratorAction; class RunActionMessenger; @@ -49,30 +49,27 @@ class G4Timer; class RunAction : public G4UserRunAction { -public: + public: + RunAction(DetectorConstruction*, PrimaryGeneratorAction* prim = 0); + ~RunAction() override; - RunAction(DetectorConstruction*, PrimaryGeneratorAction* prim=0); - ~RunAction() override; + G4Run* GenerateRun() override; + void BeginOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; - G4Run* GenerateRun() override; - void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; - - // Acceptance parameters - void SetEdepAndRMS(G4int, G4double, G4double, G4double); - void SetApplyLimit(G4bool val); + // Acceptance parameters + void SetEdepAndRMS(G4int, G4double, G4double, G4double); + void SetApplyLimit(G4bool val); -private: - - DetectorConstruction* fDetector = nullptr; - PrimaryGeneratorAction* fPrimary = nullptr; - Run* fRun = nullptr; - RunActionMessenger* fRunMessenger = nullptr; - HistoManager* fHistoManager = nullptr; - G4Timer* fTimer = nullptr; + private: + DetectorConstruction* fDetector = nullptr; + PrimaryGeneratorAction* fPrimary = nullptr; + Run* fRun = nullptr; + RunActionMessenger* fRunMessenger = nullptr; + HistoManager* fHistoManager = nullptr; + G4Timer* fTimer = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh index 09187e310f2..bc7fd3ad178 100644 --- a/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh @@ -33,8 +33,8 @@ #ifndef RunActionMessenger_h #define RunActionMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class RunAction; class G4UIdirectory; @@ -43,20 +43,20 @@ class G4UIcmdWithABool; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class RunActionMessenger: public G4UImessenger +class RunActionMessenger : public G4UImessenger { -public: - RunActionMessenger(RunAction*); - ~RunActionMessenger() override; - - void SetNewValue(G4UIcommand*, G4String) override; - -private: - RunAction* fRunAction = nullptr; - - G4UIdirectory* fRunDir = nullptr; - G4UIcommand* fAccCmd = nullptr; - G4UIcmdWithABool* fLimCmd = nullptr; + public: + RunActionMessenger(RunAction*); + ~RunActionMessenger() override; + + void SetNewValue(G4UIcommand*, G4String) override; + + private: + RunAction* fRunAction = nullptr; + + G4UIdirectory* fRunDir = nullptr; + G4UIcommand* fAccCmd = nullptr; + G4UIcmdWithABool* fLimCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/StepMax.hh b/examples/extended/electromagnetic/TestEm3/include/StepMax.hh index d464da619f8..8ffd05d6adb 100644 --- a/examples/extended/electromagnetic/TestEm3/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm3/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -45,32 +45,28 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { public: + StepMax(const G4String& processName = "UserMaxStep"); + ~StepMax(); - StepMax(const G4String& processName = "UserMaxStep"); - ~StepMax(); - - G4bool IsApplicable(const G4ParticleDefinition&) override; + G4bool IsApplicable(const G4ParticleDefinition&) override; - void SetMaxStep(G4double); + void SetMaxStep(G4double); - G4double GetMaxStep() {return fMaxChargedStep;}; + G4double GetMaxStep() { return fMaxChargedStep; }; - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) override; + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, G4double previousStepSize, + G4ForceCondition* condition) override; - G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; - G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) override; + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) override; private: + G4double fMaxChargedStep = DBL_MAX; - G4double fMaxChargedStep = DBL_MAX; - - StepMaxMessenger* fMess = nullptr; + StepMaxMessenger* fMess = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh index 6158e14334a..81518725605 100644 --- a/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh @@ -33,22 +33,22 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger() override; - + ~StepMaxMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: StepMax* fStepMax = nullptr; G4UIcmdWithADoubleAndUnit* fStepMaxCmd = nullptr; diff --git a/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh index 21d011c4246..c43e68222e2 100644 --- a/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm3/include/SteppingAction.hh /// \brief Definition of the SteppingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,15 +45,15 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction(DetectorConstruction*, EventAction*); - ~SteppingAction() override = default; + ~SteppingAction() override = default; void UserSteppingAction(const G4Step*) override; - + G4double BirksAttenuation(const G4Step*); - + private: DetectorConstruction* fDetector = nullptr; - EventAction* fEventAct = nullptr; + EventAction* fEventAct = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh index 2954fd980a4..3fbbd9ef2e1 100644 --- a/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh @@ -41,18 +41,18 @@ class EventAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { - - public: +class TrackingAction : public G4UserTrackingAction +{ + public: TrackingAction(DetectorConstruction*, EventAction*); - ~TrackingAction() override = default; - - void PreUserTrackingAction(const G4Track*) override; + ~TrackingAction() override = default; + + void PreUserTrackingAction(const G4Track*) override; void PostUserTrackingAction(const G4Track*) override; - + private: DetectorConstruction* fDetector = nullptr; - EventAction* fEventAct = nullptr; + EventAction* fEventAct = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm3/src/ActionInitialization.cc index 2392a1a827f..b0736dd3617 100644 --- a/examples/extended/electromagnetic/TestEm3/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm3/src/ActionInitialization.cc @@ -28,43 +28,41 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + #include "DetectorConstruction.hh" +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" -#include "TrackingAction.hh" #include "SteppingAction.hh" +#include "TrackingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* det) - :fDetector(det) -{ } +ActionInitialization::ActionInitialization(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::BuildForMaster() const { - SetUserAction(new RunAction(fDetector)); + SetUserAction(new RunAction(fDetector)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::Build() const { - PrimaryGeneratorAction* prim = new PrimaryGeneratorAction(fDetector); SetUserAction(prim); - RunAction* run = new RunAction(fDetector,prim); - SetUserAction(run); - + RunAction* run = new RunAction(fDetector, prim); + SetUserAction(run); + EventAction* event = new EventAction(fDetector); SetUserAction(event); - SetUserAction(new TrackingAction(fDetector,event)); + SetUserAction(new TrackingAction(fDetector, event)); - SetUserAction(new SteppingAction(fDetector,event)); -} + SetUserAction(new SteppingAction(fDetector, event)); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc index 45c776f4536..fefd85a9673 100644 --- a/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc @@ -31,24 +31,23 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4NistManager.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" - -#include "G4GeometryManager.hh" +#include "G4PhysicalConstants.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" - #include "G4RunManager.hh" +#include "G4SolidStore.hh" #include "G4SystemOfUnits.hh" #include "G4UnitsTable.hh" -#include "G4PhysicalConstants.hh" #include @@ -56,27 +55,27 @@ DetectorConstruction::DetectorConstruction() { - for(G4int i=0; iSetVerbose(0); // // define Elements // - G4double z,a; + G4double z, a; - G4Element* H = manager->FindOrBuildElement(1); - G4Element* C = manager->FindOrBuildElement(6); - G4Element* N = manager->FindOrBuildElement(7); - G4Element* O = manager->FindOrBuildElement(8); + G4Element* H = manager->FindOrBuildElement(1); + G4Element* C = manager->FindOrBuildElement(6); + G4Element* N = manager->FindOrBuildElement(7); + G4Element* O = manager->FindOrBuildElement(8); G4Element* Si = manager->FindOrBuildElement(14); G4Element* Ge = manager->FindOrBuildElement(32); G4Element* Sb = manager->FindOrBuildElement(51); - G4Element* I = manager->FindOrBuildElement(53); + G4Element* I = manager->FindOrBuildElement(53); G4Element* Cs = manager->FindOrBuildElement(55); G4Element* Pb = manager->FindOrBuildElement(82); G4Element* Bi = manager->FindOrBuildElement(83); @@ -117,163 +116,150 @@ void DetectorConstruction::DefineMaterials() // // define an Element from isotopes, by relative abundance // - G4int iz, n; //iz=number of protons in an isotope; - // n=number of nucleons in an isotope; - G4int ncomponents; - G4double abundance; + G4int iz, n; // iz=number of protons in an isotope; + // n=number of nucleons in an isotope; + G4int ncomponents; + G4double 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); + 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", "U", ncomponents=2); - U->AddIsotope(U5, abundance= 90.*perCent); - U->AddIsotope(U8, abundance= 10.*perCent); + G4Element* U = new G4Element("enriched Uranium", "U", ncomponents = 2); + U->AddIsotope(U5, abundance = 90. * perCent); + U->AddIsotope(U8, abundance = 10. * perCent); // // define simple materials // G4double density; - new G4Material("liquidH2", z=1., a= 1.008*g/mole, density= 70.8*mg/cm3); - new G4Material("Aluminium", z=13., a= 26.98*g/mole, density= 2.700*g/cm3); - new G4Material("Titanium", z=22., a= 47.867*g/mole, density= 4.54*g/cm3); - new G4Material("Iron", z=26., a= 55.85*g/mole, density= 7.870*g/cm3); - new G4Material("Copper", z=29., a= 63.55*g/mole, density= 8.960*g/cm3); - new G4Material("Tungsten", z=74., a= 183.85*g/mole, density= 19.30*g/cm3); - new G4Material("Gold", z=79., a= 196.97*g/mole, density= 19.32*g/cm3); - new G4Material("Uranium", z=92., a= 238.03*g/mole, density= 18.95*g/cm3); + new G4Material("liquidH2", z = 1., a = 1.008 * g / mole, density = 70.8 * mg / cm3); + new G4Material("Aluminium", z = 13., a = 26.98 * g / mole, density = 2.700 * g / cm3); + new G4Material("Titanium", z = 22., a = 47.867 * g / mole, density = 4.54 * g / cm3); + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); + new G4Material("Copper", z = 29., a = 63.55 * g / mole, density = 8.960 * g / cm3); + new G4Material("Tungsten", z = 74., a = 183.85 * g / mole, density = 19.30 * g / cm3); + new G4Material("Gold", z = 79., a = 196.97 * g / mole, density = 19.32 * g / cm3); + new G4Material("Uranium", z = 92., a = 238.03 * g / mole, density = 18.95 * g / cm3); // // define a material from elements. case 1: chemical molecule // G4int natoms; - G4Material* H2O = - new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); - H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV); + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); + H2O->GetIonisation()->SetMeanExcitationEnergy(78.0 * eV); H2O->SetChemicalFormula("H_2O"); - - G4Material* CH = - new G4Material("Polystyrene", density= 1.032*g/cm3, ncomponents=2); - CH->AddElement(C, natoms=1); - CH->AddElement(H, natoms=1); - - G4Material* Sci = - new G4Material("Scintillator", density= 1.032*g/cm3, ncomponents=2); - Sci->AddElement(C, natoms=9); - Sci->AddElement(H, natoms=10); - - Sci->GetIonisation()->SetBirksConstant(0.126*mm/MeV); - - G4Material* Lct = - new G4Material("Lucite", density= 1.185*g/cm3, ncomponents=3); - Lct->AddElement(C, 59.97*perCent); - Lct->AddElement(H, 8.07*perCent); - Lct->AddElement(O, 31.96*perCent); - - G4Material* Sili = - new G4Material("Silicon", density= 2.330*g/cm3, ncomponents=1); - Sili->AddElement(Si, natoms=1); - - G4Material* SiO2 = - new G4Material("quartz", density= 2.200*g/cm3, ncomponents=2); - SiO2->AddElement(Si, natoms=1); - SiO2->AddElement(O , natoms=2); - - G4Material* G10 = - new G4Material("NemaG10", density= 1.700*g/cm3, ncomponents=4); - G10->AddElement(Si, natoms=1); - G10->AddElement(O , natoms=2); - G10->AddElement(C , natoms=3); - G10->AddElement(H , natoms=3); - - G4Material* CsI = - new G4Material("CsI", density= 4.534*g/cm3, ncomponents=2); - CsI->AddElement(Cs, natoms=1); - CsI->AddElement(I , natoms=1); - CsI->GetIonisation()->SetMeanExcitationEnergy(553.1*eV); - - G4Material* BGO = - new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3); - BGO->AddElement(O , natoms=12); - BGO->AddElement(Ge, natoms= 3); - BGO->AddElement(Bi, natoms= 4); - - //SiNx - density= 3.1 *g/cm3; - G4Material* SiNx= new G4Material("SiNx", density, ncomponents=3); - SiNx-> AddElement(Si, 300); - SiNx-> AddElement(N, 310); - SiNx-> AddElement(H, 6); + + G4Material* CH = new G4Material("Polystyrene", density = 1.032 * g / cm3, ncomponents = 2); + CH->AddElement(C, natoms = 1); + CH->AddElement(H, natoms = 1); + + G4Material* Sci = new G4Material("Scintillator", density = 1.032 * g / cm3, ncomponents = 2); + Sci->AddElement(C, natoms = 9); + Sci->AddElement(H, natoms = 10); + + Sci->GetIonisation()->SetBirksConstant(0.126 * mm / MeV); + + G4Material* Lct = new G4Material("Lucite", density = 1.185 * g / cm3, ncomponents = 3); + Lct->AddElement(C, 59.97 * perCent); + Lct->AddElement(H, 8.07 * perCent); + Lct->AddElement(O, 31.96 * perCent); + + G4Material* Sili = new G4Material("Silicon", density = 2.330 * g / cm3, ncomponents = 1); + Sili->AddElement(Si, natoms = 1); + + G4Material* SiO2 = new G4Material("quartz", density = 2.200 * g / cm3, ncomponents = 2); + SiO2->AddElement(Si, natoms = 1); + SiO2->AddElement(O, natoms = 2); + + G4Material* G10 = new G4Material("NemaG10", density = 1.700 * g / cm3, ncomponents = 4); + G10->AddElement(Si, natoms = 1); + G10->AddElement(O, natoms = 2); + G10->AddElement(C, natoms = 3); + G10->AddElement(H, natoms = 3); + + G4Material* CsI = new G4Material("CsI", density = 4.534 * g / cm3, ncomponents = 2); + CsI->AddElement(Cs, natoms = 1); + CsI->AddElement(I, natoms = 1); + CsI->GetIonisation()->SetMeanExcitationEnergy(553.1 * eV); + + G4Material* BGO = new G4Material("BGO", density = 7.10 * g / cm3, ncomponents = 3); + BGO->AddElement(O, natoms = 12); + BGO->AddElement(Ge, natoms = 3); + BGO->AddElement(Bi, natoms = 4); + + // SiNx + density = 3.1 * g / cm3; + G4Material* SiNx = new G4Material("SiNx", density, ncomponents = 3); + SiNx->AddElement(Si, 300); + SiNx->AddElement(N, 310); + SiNx->AddElement(H, 6); // - // define gaseous materials using G4 NIST database + // define gaseous materials using G4 NIST database // G4double fractionmass; - + G4Material* Air = manager->FindOrBuildMaterial("G4_AIR"); - manager->ConstructNewGasMaterial("Air20","G4_AIR",293.*kelvin,1.*atmosphere); + manager->ConstructNewGasMaterial("Air20", "G4_AIR", 293. * kelvin, 1. * atmosphere); G4Material* lAr = manager->FindOrBuildMaterial("G4_lAr"); - G4Material* lArEm3 = new G4Material("liquidArgon", density= 1.390*g/cm3, - ncomponents=1); - lArEm3->AddMaterial(lAr, fractionmass=1.0); + G4Material* lArEm3 = new G4Material("liquidArgon", density = 1.390 * g / cm3, ncomponents = 1); + lArEm3->AddMaterial(lAr, fractionmass = 1.0); // // define a material from elements and others materials (mixture of mixtures) // - G4Material* Lead = new G4Material("Lead",density=11.35*g/cm3,ncomponents=1); - Lead->AddElement(Pb, fractionmass=1.0); + G4Material* Lead = new G4Material("Lead", density = 11.35 * g / cm3, ncomponents = 1); + Lead->AddElement(Pb, fractionmass = 1.0); - G4Material* LeadSb = new G4Material("LeadSb", density=11.35*g/cm3, - ncomponents=2); - LeadSb->AddElement(Sb, fractionmass=4.*perCent); - LeadSb->AddElement(Pb, fractionmass=96.*perCent); + G4Material* LeadSb = new G4Material("LeadSb", density = 11.35 * g / cm3, ncomponents = 2); + LeadSb->AddElement(Sb, fractionmass = 4. * perCent); + LeadSb->AddElement(Pb, fractionmass = 96. * perCent); - 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); + 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 // G4double temperature, pressure; - - G4Material* CO2 = - new G4Material("CarbonicGas", density= 27.*mg/cm3, ncomponents=2, - kStateGas, temperature= 325.*kelvin, pressure= 50.*atmosphere); - CO2->AddElement(C, natoms=1); - CO2->AddElement(O, natoms=2); - - G4Material* steam = - new G4Material("WaterSteam", density= 1.0*mg/cm3, ncomponents=1, - kStateGas, temperature= 273*kelvin, pressure= 1*atmosphere); - steam->AddMaterial(H2O, fractionmass=1.); - - new G4Material("ArgonGas", z=18, a=39.948*g/mole, density= 1.782*mg/cm3, - kStateGas, 273.15*kelvin, 1*atmosphere); + + G4Material* CO2 = + new G4Material("CarbonicGas", density = 27. * mg / cm3, ncomponents = 2, kStateGas, + temperature = 325. * kelvin, pressure = 50. * atmosphere); + CO2->AddElement(C, natoms = 1); + CO2->AddElement(O, natoms = 2); + + G4Material* steam = + new G4Material("WaterSteam", density = 1.0 * mg / cm3, ncomponents = 1, kStateGas, + temperature = 273 * kelvin, pressure = 1 * atmosphere); + steam->AddMaterial(H2O, fractionmass = 1.); + + new G4Material("ArgonGas", z = 18, a = 39.948 * g / mole, density = 1.782 * mg / cm3, kStateGas, + 273.15 * kelvin, 1 * atmosphere); // // examples of vacuum // - density = universe_mean_density; //from PhysicalConstants.h - pressure = 3.e-18*pascal; - temperature = 2.73*kelvin; - new G4Material("Galactic", z=1., a=1.008*g/mole, density, - kStateGas,temperature,pressure); + density = universe_mean_density; // from PhysicalConstants.h + pressure = 3.e-18 * pascal; + temperature = 2.73 * kelvin; + new G4Material("Galactic", z = 1., a = 1.008 * g / mole, density, kStateGas, temperature, + pressure); - density = 1.e-5*g/cm3; - pressure = 2.e-2*bar; - temperature = STP_Temperature; //from PhysicalConstants.h - G4Material* beam = - new G4Material("Beam", density, ncomponents=1, - kStateGas,temperature,pressure); - beam->AddMaterial(Air, fractionmass=1.); + density = 1.e-5 * g / cm3; + pressure = 2.e-2 * bar; + temperature = STP_Temperature; // from PhysicalConstants.h + G4Material* beam = + new G4Material("Beam", density, ncomponents = 1, kStateGas, temperature, pressure); + beam->AddMaterial(Air, fractionmass = 1.); // G4cout << *(G4Material::GetMaterialTable()) << G4endl; } @@ -284,112 +270,95 @@ void DetectorConstruction::ComputeCalorParameters() { // Compute derived parameters of the calorimeter fLayerThickness = 0.; - for (G4int iAbs=1; iAbs<=fNbOfAbsor; iAbs++) { + for (G4int iAbs = 1; iAbs <= fNbOfAbsor; iAbs++) { fLayerThickness += fAbsorThickness[iAbs]; } - fCalorThickness = fNbOfLayers*fLayerThickness; - fWorldSizeX = 1.2*fCalorThickness; - fWorldSizeYZ = 1.2*fCalorSizeYZ; + fCalorThickness = fNbOfLayers * fLayerThickness; + fWorldSizeX = 1.2 * fCalorThickness; + fWorldSizeYZ = 1.2 * fCalorSizeYZ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VPhysicalVolume* DetectorConstruction::Construct() { - if(fPhysiWorld) { return fPhysiWorld; } + if (fPhysiWorld) { + return fPhysiWorld; + } // complete the Calor parameters definition ComputeCalorParameters(); // // World // - fSolidWorld = new G4Box("World", //its name - fWorldSizeX/2,fWorldSizeYZ/2,fWorldSizeYZ/2); //its size - - fLogicWorld = new G4LogicalVolume(fSolidWorld, //its solid - fWorldMaterial, //its material - "World"); //its name - - fPhysiWorld = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicWorld, //its fLogical volume - "World", //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number + fSolidWorld = new G4Box("World", // its name + fWorldSizeX / 2, fWorldSizeYZ / 2, fWorldSizeYZ / 2); // its size + + fLogicWorld = new G4LogicalVolume(fSolidWorld, // its solid + fWorldMaterial, // its material + "World"); // its name + + fPhysiWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicWorld, // its fLogical volume + "World", // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number // // Calorimeter // - fSolidCalor = new G4Box("Calorimeter", - fCalorThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); + fSolidCalor = new G4Box("Calorimeter", fCalorThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); - fLogicCalor = new G4LogicalVolume(fSolidCalor, - fWorldMaterial, - "Calorimeter"); + fLogicCalor = new G4LogicalVolume(fSolidCalor, fWorldMaterial, "Calorimeter"); - fPhysiCalor = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fLogicCalor, //its fLogical volume - "Calorimeter", //its name - fLogicWorld, //its mother volume - false, //no boolean operation - 0); //copy number + fPhysiCalor = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fLogicCalor, // its fLogical volume + "Calorimeter", // its name + fLogicWorld, // its mother volume + false, // no boolean operation + 0); // copy number // // Layers // - fSolidLayer = new G4Box("Layer", - fLayerThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2); + fSolidLayer = new G4Box("Layer", fLayerThickness / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); - fLogicLayer = new G4LogicalVolume(fSolidLayer, - fWorldMaterial, - "Layer"); + fLogicLayer = new G4LogicalVolume(fSolidLayer, fWorldMaterial, "Layer"); if (fNbOfLayers > 1) { - fPhysiLayer = new G4PVReplica("Layer", - fLogicLayer, - fLogicCalor, - kXAxis, - fNbOfLayers, - fLayerThickness); - } else { - fPhysiLayer = new G4PVPlacement(0, - G4ThreeVector(), - fLogicLayer, - "Layer", - fLogicCalor, - false, - 0); + fPhysiLayer = + new G4PVReplica("Layer", fLogicLayer, fLogicCalor, kXAxis, fNbOfLayers, fLayerThickness); + } + else { + fPhysiLayer = + new G4PVPlacement(0, G4ThreeVector(), fLogicLayer, "Layer", fLogicCalor, false, 0); } // // Absorbers // - G4double xfront = -0.5*fLayerThickness; - for (G4int k=1; k<=fNbOfAbsor; ++k) { - fSolidAbsor[k] = new G4Box("Absorber", //its name - fAbsorThickness[k]/2,fCalorSizeYZ/2,fCalorSizeYZ/2); + G4double xfront = -0.5 * fLayerThickness; + for (G4int k = 1; k <= fNbOfAbsor; ++k) { + fSolidAbsor[k] = new G4Box("Absorber", // its name + fAbsorThickness[k] / 2, fCalorSizeYZ / 2, fCalorSizeYZ / 2); - fLogicAbsor[k] = new G4LogicalVolume(fSolidAbsor[k], //its solid - fAbsorMaterial[k], //its material + fLogicAbsor[k] = new G4LogicalVolume(fSolidAbsor[k], // its solid + fAbsorMaterial[k], // its material fAbsorMaterial[k]->GetName()); - G4double xcenter = xfront+0.5*fAbsorThickness[k]; + G4double xcenter = xfront + 0.5 * fAbsorThickness[k]; xfront += fAbsorThickness[k]; - fPhysiAbsor[k] = new G4PVPlacement(0, - G4ThreeVector(xcenter,0.,0.), - fLogicAbsor[k], - fAbsorMaterial[k]->GetName(), - fLogicLayer, - false, - k); //copy number - + fPhysiAbsor[k] = new G4PVPlacement(0, G4ThreeVector(xcenter, 0., 0.), fLogicAbsor[k], + fAbsorMaterial[k]->GetName(), fLogicLayer, false, + k); // copy number } PrintCalorParameters(); - //always return the fPhysical World + // always return the fPhysical World // return fPhysiWorld; } @@ -400,14 +369,14 @@ void DetectorConstruction::PrintCalorParameters() { G4cout << "\n-------------------------------------------------------------" << "\n ---> The calorimeter is " << fNbOfLayers << " layers of:"; - for (G4int i=1; i<=fNbOfAbsor; ++i) { - G4cout << "\n \t" << std::setw(12) << fAbsorMaterial[i]->GetName() <<": " - << std::setw(6) << G4BestUnit(fAbsorThickness[i],"Length"); + for (G4int i = 1; i <= fNbOfAbsor; ++i) { + G4cout << "\n \t" << std::setw(12) << fAbsorMaterial[i]->GetName() << ": " << std::setw(6) + << G4BestUnit(fAbsorThickness[i], "Length"); } G4cout << "\n-------------------------------------------------------------\n"; - - G4cout << "\n" << fWorldMaterial << G4endl; - for (G4int j=1; j<=fNbOfAbsor; ++j) { + + G4cout << "\n" << fWorldMaterial << G4endl; + for (G4int j = 1; j <= fNbOfAbsor; ++j) { G4cout << "\n" << fAbsorMaterial[j] << G4endl; } G4cout << "\n-------------------------------------------------------------\n"; @@ -418,11 +387,10 @@ void DetectorConstruction::PrintCalorParameters() void DetectorConstruction::SetWorldMaterial(const G4String& material) { // search the material by its name - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(material); - if(pttoMaterial) { + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(material); + if (pttoMaterial) { fWorldMaterial = pttoMaterial; - if(fLogicWorld) { + if (fLogicWorld) { fLogicWorld->SetMaterial(fWorldMaterial); fLogicLayer->SetMaterial(fWorldMaterial); G4RunManager::GetRunManager()->PhysicsHasBeenModified(); @@ -436,11 +404,11 @@ void DetectorConstruction::SetNbOfLayers(G4int ival) { // set the number of Layers // - if (ival < 1) - { G4cout << "\n --->warning from SetfNbOfLayers: " - << ival << " must be at least 1. Command refused" << G4endl; - return; - } + if (ival < 1) { + G4cout << "\n --->warning from SetfNbOfLayers: " << ival + << " must be at least 1. Command refused" << G4endl; + return; + } fNbOfLayers = ival; } @@ -450,35 +418,32 @@ void DetectorConstruction::SetNbOfAbsor(G4int ival) { // set the number of Absorbers // - if (ival < 1 || ival > (kMaxAbsor-1)) - { G4cout << "\n ---> warning from SetfNbOfAbsor: " - << ival << " must be at least 1 and and most " << kMaxAbsor-1 - << ". Command refused" << G4endl; - return; - } + if (ival < 1 || ival > (kMaxAbsor - 1)) { + G4cout << "\n ---> warning from SetfNbOfAbsor: " << ival << " must be at least 1 and and most " + << kMaxAbsor - 1 << ". Command refused" << G4endl; + return; + } fNbOfAbsor = ival; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorConstruction::SetAbsorMaterial(G4int ival, - const G4String& material) +void DetectorConstruction::SetAbsorMaterial(G4int ival, const G4String& material) { // search the material by its name // - if (ival > fNbOfAbsor || ival <= 0) - { G4cout << "\n --->warning from SetAbsorMaterial: absor number " - << ival << " out of range. Command refused" << G4endl; - return; - } + if (ival > fNbOfAbsor || ival <= 0) { + G4cout << "\n --->warning from SetAbsorMaterial: absor number " << ival + << " out of range. Command refused" << G4endl; + return; + } - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(material); + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(material); if (pttoMaterial) { fAbsorMaterial[ival] = pttoMaterial; - if(fLogicAbsor[ival]) { + if (fLogicAbsor[ival]) { fLogicAbsor[ival]->SetMaterial(pttoMaterial); - G4RunManager::GetRunManager()->PhysicsHasBeenModified(); + G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } } } @@ -489,16 +454,16 @@ void DetectorConstruction::SetAbsorThickness(G4int ival, G4double val) { // change Absorber thickness // - if (ival > fNbOfAbsor || ival <= 0) - { G4cout << "\n --->warning from SetAbsorThickness: absor number " - << ival << " out of range. Command refused" << G4endl; - return; - } - if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetAbsorThickness: thickness " - << val << " out of range. Command refused" << G4endl; - return; - } + if (ival > fNbOfAbsor || ival <= 0) { + G4cout << "\n --->warning from SetAbsorThickness: absor number " << ival + << " out of range. Command refused" << G4endl; + return; + } + if (val <= DBL_MIN) { + G4cout << "\n --->warning from SetAbsorThickness: thickness " << val + << " out of range. Command refused" << G4endl; + return; + } fAbsorThickness[ival] = val; } @@ -508,31 +473,30 @@ void DetectorConstruction::SetCalorSizeYZ(G4double val) { // change the transverse size // - if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetfCalorSizeYZ: thickness " - << val << " out of range. Command refused" << G4endl; - return; - } + if (val <= DBL_MIN) { + G4cout << "\n --->warning from SetfCalorSizeYZ: thickness " << val + << " out of range. Command refused" << G4endl; + return; + } fCalorSizeYZ = val; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4GlobalMagFieldMessenger.hh" #include "G4AutoDelete.hh" +#include "G4GlobalMagFieldMessenger.hh" void DetectorConstruction::ConstructSDandField() { - if ( fFieldMessenger.Get() == nullptr ) { + if (fFieldMessenger.Get() == nullptr) { // Create global magnetic field messenger. // Uniform magnetic field is then created automatically if // the field value is not zero. G4ThreeVector fieldValue = G4ThreeVector(); - G4GlobalMagFieldMessenger* msg = - new G4GlobalMagFieldMessenger(fieldValue); - //msg->SetVerboseLevel(1); + G4GlobalMagFieldMessenger* msg = new G4GlobalMagFieldMessenger(fieldValue); + // msg->SetVerboseLevel(1); G4AutoDelete::Register(msg); - fFieldMessenger.Put( msg ); + fFieldMessenger.Put(msg); } } diff --git a/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc index 0b751310fd0..fc1690b65d1 100644 --- a/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc @@ -32,77 +32,77 @@ #include "DetectorMessenger.hh" -#include - #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcommand.hh" -#include "G4UIparameter.hh" -#include "G4UIcmdWithAnInteger.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAnInteger.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIcommand.hh" +#include "G4UIdirectory.hh" +#include "G4UIparameter.hh" + +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("UI commands specific to this example"); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction commands"); - - fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSizeYZ",this); + + fSizeYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSizeYZ", this); fSizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); - fSizeYZCmd->SetParameterName("Size",false); + fSizeYZCmd->SetParameterName("Size", false); fSizeYZCmd->SetRange("Size>0."); fSizeYZCmd->SetUnitCategory("Length"); fSizeYZCmd->AvailableForStates(G4State_PreInit); fSizeYZCmd->SetToBeBroadcasted(false); - - fNbLayersCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfLayers",this); + + fNbLayersCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfLayers", this); fNbLayersCmd->SetGuidance("Set number of layers."); - fNbLayersCmd->SetParameterName("NbLayers",false); + fNbLayersCmd->SetParameterName("NbLayers", false); fNbLayersCmd->SetRange("NbLayers>0"); fNbLayersCmd->AvailableForStates(G4State_PreInit); fNbLayersCmd->SetToBeBroadcasted(false); - - fNbAbsorCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfAbsor",this); + + fNbAbsorCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfAbsor", this); fNbAbsorCmd->SetGuidance("Set number of Absorbers."); - fNbAbsorCmd->SetParameterName("NbAbsor",false); + fNbAbsorCmd->SetParameterName("NbAbsor", false); fNbAbsorCmd->SetRange("NbAbsor>0"); fNbAbsorCmd->AvailableForStates(G4State_PreInit); fNbAbsorCmd->SetToBeBroadcasted(false); - - fAbsorCmd = new G4UIcommand("/testem/det/setAbsor",this); + + fAbsorCmd = new G4UIcommand("/testem/det/setAbsor", this); fAbsorCmd->SetGuidance("Set the absor nb, the material, the thickness."); fAbsorCmd->SetGuidance(" absor number : from 1 to NbOfAbsor"); fAbsorCmd->SetGuidance(" material name"); - fAbsorCmd->SetGuidance(" thickness (with unit) : t>0."); + fAbsorCmd->SetGuidance(" thickness (with unit) : t>0."); // - G4UIparameter* AbsNbPrm = new G4UIparameter("AbsorNb",'i',false); + G4UIparameter* AbsNbPrm = new G4UIparameter("AbsorNb", 'i', false); AbsNbPrm->SetGuidance("absor number : from 1 to NbOfAbsor"); AbsNbPrm->SetParameterRange("AbsorNb>0"); fAbsorCmd->SetParameter(AbsNbPrm); // - G4UIparameter* MatPrm = new G4UIparameter("material",'s',false); + G4UIparameter* MatPrm = new G4UIparameter("material", 's', false); MatPrm->SetGuidance("material name"); fAbsorCmd->SetParameter(MatPrm); - // - G4UIparameter* ThickPrm = new G4UIparameter("thickness",'d',false); + // + G4UIparameter* ThickPrm = new G4UIparameter("thickness", 'd', false); ThickPrm->SetGuidance("thickness of absorber"); ThickPrm->SetParameterRange("thickness>0."); fAbsorCmd->SetParameter(ThickPrm); // - G4UIparameter* unitPrm = new G4UIparameter("unit",'s',false); + G4UIparameter* unitPrm = new G4UIparameter("unit", 's', false); unitPrm->SetGuidance("unit of thickness"); G4String unitList = G4UIcommand::UnitsList(G4UIcommand::CategoryOf("mm")); unitPrm->SetParameterCandidates(unitList); fAbsorCmd->SetParameter(unitPrm); // fAbsorCmd->AvailableForStates(G4State_PreInit); - fAbsorCmd->SetToBeBroadcasted(false); + fAbsorCmd->SetToBeBroadcasted(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -113,34 +113,37 @@ DetectorMessenger::~DetectorMessenger() delete fNbLayersCmd; delete fNbAbsorCmd; delete fAbsorCmd; - delete fDetDir; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == fSizeYZCmd ) - { fDetector->SetCalorSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue));} - - if( command == fNbLayersCmd ) - { fDetector->SetNbOfLayers(fNbLayersCmd->GetNewIntValue(newValue));} - - if( command == fNbAbsorCmd ) - { fDetector->SetNbOfAbsor(fNbAbsorCmd->GetNewIntValue(newValue));} - - if (command == fAbsorCmd) - { - G4int num; G4double tick; - G4String unt, mat; - std::istringstream is(newValue); - is >> num >> mat >> tick >> unt; - G4String material=mat; - tick *= G4UIcommand::ValueOf(unt); - fDetector->SetAbsorMaterial (num,material); - fDetector->SetAbsorThickness(num,tick); - } + if (command == fSizeYZCmd) { + fDetector->SetCalorSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue)); + } + + if (command == fNbLayersCmd) { + fDetector->SetNbOfLayers(fNbLayersCmd->GetNewIntValue(newValue)); + } + + if (command == fNbAbsorCmd) { + fDetector->SetNbOfAbsor(fNbAbsorCmd->GetNewIntValue(newValue)); + } + + if (command == fAbsorCmd) { + G4int num; + G4double tick; + G4String unt, mat; + std::istringstream is(newValue); + is >> num >> mat >> tick >> unt; + G4String material = mat; + tick *= G4UIcommand::ValueOf(unt); + fDetector->SetAbsorMaterial(num, material); + fDetector->SetAbsorThickness(num, tick); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc b/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc index fa2d4f65ccc..f67ad41dc6e 100644 --- a/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc +++ b/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc @@ -36,8 +36,7 @@ void EmAcceptance::BeginOfAcceptance(const G4String& title, G4int stat) { - G4cout << "\n<<<<>>>> " << stat << " events for " << title - << G4endl; + G4cout << "\n<<<<>>>> " << stat << " events for " << title << G4endl; fIsAccepted = true; } @@ -53,16 +52,14 @@ void EmAcceptance::EndOfAcceptance() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EmAcceptance::EmAcceptanceGauss(const G4String& title, G4int stat, - G4double avr, G4double avr0, - G4double rms, G4double limit) +void EmAcceptance::EmAcceptanceGauss(const G4String& title, G4int stat, G4double avr, G4double avr0, + G4double rms, G4double limit) { G4double x = std::sqrt((G4double)stat); G4double dde = avr - avr0; - G4double de = dde*x/rms; + G4double de = dde * x / rms; - G4cout << title << ": " << avr << " del"<< title << "= " << dde - << " nrms= " << de << G4endl; + G4cout << title << ": " << avr << " del" << title << "= " << dde << " nrms= " << de << G4endl; if (std::fabs(de) > limit) fIsAccepted = false; } diff --git a/examples/extended/electromagnetic/TestEm3/src/EventAction.cc b/examples/extended/electromagnetic/TestEm3/src/EventAction.cc index 03af3ecdfc6..a94f7138bdc 100644 --- a/examples/extended/electromagnetic/TestEm3/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/EventAction.cc @@ -32,36 +32,34 @@ #include "EventAction.hh" -#include "Run.hh" #include "HistoManager.hh" +#include "Run.hh" -#include "G4RunManager.hh" #include "G4Event.hh" +#include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -EventAction::EventAction(DetectorConstruction* det) -:fDetector(det) -{ } +EventAction::EventAction(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::BeginOfEventAction(const G4Event*) -{ - //initialize EnergyDeposit per event +{ + // initialize EnergyDeposit per event // - for (G4int k=0; k( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - - G4double EdepTot =0.; - for (G4int k=1; k<=fDetector->GetNbOfAbsor(); k++) { - run->FillPerEvent(k,fEnergyDeposit[k],fTrackLengthCh[k]); - if (fEnergyDeposit[k] > 0.) - G4AnalysisManager::Instance()->FillH1(k, fEnergyDeposit[k]); - EdepTot += fEnergyDeposit[k]; + // get Run + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + G4double EdepTot = 0.; + for (G4int k = 1; k <= fDetector->GetNbOfAbsor(); k++) { + run->FillPerEvent(k, fEnergyDeposit[k], fTrackLengthCh[k]); + if (fEnergyDeposit[k] > 0.) G4AnalysisManager::Instance()->FillH1(k, fEnergyDeposit[k]); + EdepTot += fEnergyDeposit[k]; } - - run->SumEnergies(EdepTot,fEnergyLeak); - - //histograms + + run->SumEnergies(EdepTot, fEnergyLeak); + + // histograms G4AnalysisManager* analysis = G4AnalysisManager::Instance(); analysis->FillH1(kMaxAbsor, EdepTot); - G4int id = 2*kMaxAbsor+3; + G4int id = 2 * kMaxAbsor + 3; analysis->FillH1(id, fEnergyLeak); G4double ETot = EdepTot + fEnergyLeak; - analysis->FillH1(++id, ETot); + analysis->FillH1(++id, ETot); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc index d32cda03227..cd55e03f296 100644 --- a/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc @@ -23,14 +23,16 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" -#include "G4UnitsTable.hh" + #include "DetectorConstruction.hh" +#include "G4UnitsTable.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... HistoManager::HistoManager() @@ -49,31 +51,30 @@ void HistoManager::Book() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName(fFileName); analysisManager->SetVerboseLevel(1); - analysisManager->SetActivation(true); // enable inactivation of histograms + analysisManager->SetActivation(true); // enable inactivation of histograms // Define histograms start values - - const G4String id[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", - "10","11","12","13","14","15","16","17","18","19", - "20","21","22","23","24"}; + + const G4String id[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", + "9", "10", "11", "12", "13", "14", "15", "16", "17", + "18", "19", "20", "21", "22", "23", "24"}; G4String title; // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - - // Create all histograms as inactivated + + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; k kMaxAbsor) title = "Edep longit. profile (MeV/event) in absorber " - + id[k-kMaxAbsor]; - if (k == 2*kMaxAbsor+1) title = "energy flow (MeV/event)"; - if (k == 2*kMaxAbsor+2) title = "lateral energy leak (MeV/event)"; - if (k == 2*kMaxAbsor+3) title = "total energy leakage"; - if (k == 2*kMaxAbsor+4) title = "total energy relased : Edep + Eleak"; + if (k > kMaxAbsor) title = "Edep longit. profile (MeV/event) in absorber " + id[k - kMaxAbsor]; + if (k == 2 * kMaxAbsor + 1) title = "energy flow (MeV/event)"; + if (k == 2 * kMaxAbsor + 2) title = "lateral energy leak (MeV/event)"; + if (k == 2 * kMaxAbsor + 3) title = "total energy leakage"; + if (k == 2 * kMaxAbsor + 4) title = "total energy relased : Edep + Eleak"; G4int ih = analysisManager->CreateH1(id[k], title, nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc index 876dc20e865..ea5bdc6b031 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc @@ -28,62 +28,54 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BuilderType.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4RayleighScattering.hh" +#include "G4IonParametrisedLossModel.hh" #include "G4KleinNishinaModel.hh" #include "G4LivermorePhotoElectricModel.hh" - -#include "G4eMultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuMultipleScattering.hh" -#include "G4MuIonisation.hh" +#include "G4LossTableManager.hh" +#include "G4MscStepLimitType.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuPairProduction.hh" - -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4MscStepLimitType.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4BuilderType.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetVerbose(0); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetStepFunction(0.1, 100*um); - param->SetStepFunctionMuHad(0.1, 50*um); - param->SetStepFunctionLightIons(0.1, 20*um); - param->SetStepFunctionIons(0.1, 1*um); - param->SetMscStepLimitType(fUseDistanceToBoundary); - param->SetDeexcitationIgnoreCut(true); - SetPhysicsType(bElectromagnetic); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetVerbose(0); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetStepFunction(0.1, 100 * um); + param->SetStepFunctionMuHad(0.1, 50 * um); + param->SetStepFunctionLightIons(0.1, 20 * um); + param->SetStepFunctionIons(0.1, 1 * um); + param->SetMscStepLimitType(fUseDistanceToBoundary); + param->SetDeexcitationIgnoreCut(true); + SetPhysicsType(bElectromagnetic); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -91,74 +83,62 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ph->RegisterProcess(new G4RayleighScattering, particle); + if (particleName == "gamma") { + ph->RegisterProcess(new G4RayleighScattering, particle); ph->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* cs = new G4ComptonScattering; + G4ComptonScattering* cs = new G4ComptonScattering; cs->SetEmModel(new G4KleinNishinaModel()); ph->RegisterProcess(cs, particle); ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + } + else if (particleName == "e-") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); - ph->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + ph->RegisterProcess(new G4eBremsstrahlung(), particle); + } + else if (particleName == "e+") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); - ph->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - ph->RegisterProcess(new G4MuMultipleScattering(), particle); + ph->RegisterProcess(new G4eplusAnnihilation(), particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + ph->RegisterProcess(new G4MuMultipleScattering(), particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(new G4MuBremsstrahlung(), particle); ph->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); - ph->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4hPairProduction(), particle); + } + else if (particleName == "alpha" || particleName == "He3") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if (particleName == "GenericIon") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); ph->RegisterProcess(ionIoni, particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } @@ -171,4 +151,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc index 73b462d1b4f..45af6ad134c 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc @@ -31,65 +31,58 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" +#include "StepMax.hh" +#include "G4DecayPhysics.hh" +#include "G4EmDNAPhysics.hh" +#include "G4EmDNAPhysics_option2.hh" +#include "G4EmDNAPhysics_option4.hh" +#include "G4EmDNAPhysics_option6.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsSS.hh" - -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" - -#include "G4EmDNAPhysics.hh" -#include "G4EmDNAPhysics_option2.hh" -#include "G4EmDNAPhysics_option4.hh" -#include "G4EmDNAPhysics_option6.hh" - #include "G4HadronElasticPhysics.hh" - -#include "G4DecayPhysics.hh" -#include "StepMax.hh" - -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" - #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // particles +#include "G4BaryonConstructor.hh" #include "G4BosonConstructor.hh" +#include "G4DNAGenericIonsManager.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" #include "G4ShortLivedConstructor.hh" -#include "G4DNAGenericIonsManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsList::PhysicsList() -{ - fMessenger = new PhysicsListMessenger(this); +{ + fMessenger = new PhysicsListMessenger(this); SetVerboseLevel(1); - + // EM physics fEmName = G4String("emstandard_opt4"); fEmPhysicsList = new G4EmStandardPhysics_option4(); - // Decay physics + // Decay physics fDecayPhysics = new G4DecayPhysics(1); - - SetDefaultCutValue(1*mm); + + SetDefaultCutValue(1 * mm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -97,14 +90,14 @@ PhysicsList::PhysicsList() PhysicsList::~PhysicsList() { delete fEmPhysicsList; - delete fMessenger; + delete fMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; + G4BosonConstructor pBosonConstructor; pBosonConstructor.ConstructParticle(); G4LeptonConstructor pLeptonConstructor; @@ -125,11 +118,11 @@ void PhysicsList::ConstructParticle() // Geant4-DNA G4DNAGenericIonsManager* genericIonsManager; - genericIonsManager=G4DNAGenericIonsManager::Instance(); + genericIonsManager = G4DNAGenericIonsManager::Instance(); genericIonsManager->GetIon("alpha++"); genericIonsManager->GetIon("alpha+"); genericIonsManager->GetIon("helium"); - genericIonsManager->GetIon("hydrogen"); + genericIonsManager->GetIon("hydrogen"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -139,7 +132,9 @@ void PhysicsList::ConstructProcess() AddTransportation(); fEmPhysicsList->ConstructProcess(); fDecayPhysics->ConstructProcess(); - if(fHadPhysicsList) { fHadPhysicsList->ConstructProcess(); } + if (fHadPhysicsList) { + fHadPhysicsList->ConstructProcess(); + } AddStepMax(); } @@ -150,16 +145,15 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process StepMax* stepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (stepMaxProcess->IsApplicable(*particle)) - { - pmanager ->AddDiscreteProcess(stepMaxProcess); - } + if (stepMaxProcess->IsApplicable(*particle)) { + pmanager->AddDiscreteProcess(stepMaxProcess); + } } } @@ -167,109 +161,98 @@ void PhysicsList::AddStepMax() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>-1) { + if (verboseLevel > -1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } if (name == fEmName) return; if (name == "local") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt0") { - + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1") { - + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2") { - + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3") { - + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emstandardSS") { - + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "emstandardWVI") { - + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else if (name == "emstandardGS") { - + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else if (name == "empenelope") { + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else if (name == "emlowenergy") { + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(); - - } else if (name == "emlivermore") { + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else if (name == "dna") { + } + else if (name == "dna") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics(); - - } else if (name == "dna_opt2") { + } + else if (name == "dna_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option2(); - - } else if (name == "dna_opt4") { + } + else if (name == "dna_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option4(); - - } else if (name == "dna_opt6") { + } + else if (name == "dna_opt6") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option6(); - - } else if (name == "had_elastic" && !fHadPhysicsList) { + } + else if (name == "had_elastic" && !fHadPhysicsList) { fHadPhysicsList = new G4HadronElasticPhysics(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc index 409887c0e30..9d50788494a 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc @@ -33,20 +33,20 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) - :fPhysicsList(pPhys) -{ +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) +{ fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); fListCmd->SetToBeBroadcasted(false); } @@ -62,9 +62,10 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue); } +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc index 673d8766011..b1b32ee3be7 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc @@ -32,27 +32,26 @@ #include "PrimaryGeneratorAction.hh" -#include "PrimaryGeneratorMessenger.hh" #include "DetectorConstruction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) -:fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); SetDefaultKinematic(); - - //create a messenger for this class + + // create a messenger for this class fGunMessenger = new PrimaryGeneratorMessenger(this); } @@ -70,35 +69,33 @@ void PrimaryGeneratorAction::SetDefaultKinematic() { G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="e-"); + G4ParticleDefinition* particle = particleTable->FindParticle(particleName = "e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(1.*GeV); - G4double position = -0.5*(fDetector->GetWorldSizeX()); - fParticleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(1. * GeV); + G4double position = -0.5 * (fDetector->GetWorldSizeX()); + fParticleGun->SetParticlePosition(G4ThreeVector(position, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - //randomize the beam, if requested. - if (fRndmBeam > 0.) - { - G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); - G4double rbeam = 0.5*(fDetector->GetCalorSizeYZ())*fRndmBeam; - G4double x0 = oldPosition.x(); - G4double y0 = oldPosition.y() + (2*G4UniformRand()-1.)*rbeam; - G4double z0 = oldPosition.z() + (2*G4UniformRand()-1.)*rbeam; - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - fParticleGun->GeneratePrimaryVertex(anEvent); - fParticleGun->SetParticlePosition(oldPosition); - } - else fParticleGun->GeneratePrimaryVertex(anEvent); + // randomize the beam, if requested. + if (fRndmBeam > 0.) { + G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); + G4double rbeam = 0.5 * (fDetector->GetCalorSizeYZ()) * fRndmBeam; + G4double x0 = oldPosition.x(); + G4double y0 = oldPosition.y() + (2 * G4UniformRand() - 1.) * rbeam; + G4double z0 = oldPosition.z() + (2 * G4UniformRand() - 1.) * rbeam; + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); + fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->SetParticlePosition(oldPosition); + } + else + fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc index 3c0b790e534..9aa603cef04 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc @@ -33,29 +33,28 @@ #include "PrimaryGeneratorMessenger.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithoutParameter.hh" + #include "G4UIcmdWithADouble.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( - PrimaryGeneratorAction* Gun) -:fAction(Gun) +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger(PrimaryGeneratorAction* Gun) : fAction(Gun) { fGunDir = new G4UIdirectory("/testem/gun/"); fGunDir->SetGuidance("gun control"); - - fDefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault",this); + + fDefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault", this); fDefaultCmd->SetGuidance("set/reset kinematic defined in PrimaryGenerator"); - fDefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm",this); + fDefaultCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm", this); fRndmCmd->SetGuidance("random lateral extension on the beam"); fRndmCmd->SetGuidance("in fraction of 0.5*sizeYZ"); - fRndmCmd->SetParameterName("rBeam",false); + fRndmCmd->SetParameterName("rBeam", false); fRndmCmd->SetRange("rBeam>=0.&&rBeam<=1."); - fRndmCmd->AvailableForStates(G4State_Idle); + fRndmCmd->AvailableForStates(G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,20 +63,20 @@ PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() { delete fDefaultCmd; delete fRndmCmd; - delete fGunDir; + delete fGunDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if( command == fDefaultCmd ) - { fAction->SetDefaultKinematic();} - - if( command == fRndmCmd ) - { fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue));} +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fDefaultCmd) { + fAction->SetDefaultKinematic(); + } + + if (command == fRndmCmd) { + fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm3/src/Run.cc b/examples/extended/electromagnetic/TestEm3/src/Run.cc index e92d7df033a..41109493ed4 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Run.cc @@ -26,58 +26,59 @@ /// \file electromagnetic/TestEm3/src/Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" + #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" -#include "HistoManager.hh" #include "EmAcceptance.hh" +#include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" -#include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "G4Track.hh" -#include "G4Gamma.hh" #include "G4Electron.hh" +#include "G4Gamma.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4Positron.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4Track.hh" +#include "G4UnitsTable.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(DetectorConstruction* det) -: fDetector(det) +Run::Run(DetectorConstruction* det) : fDetector(det) { - //initialize cumulative quantities + // initialize cumulative quantities // - for (G4int k=0; kGetNbOfLayers())*(fDetector->GetNbOfAbsor()) + 2; + G4int nbPlanes = (fDetector->GetNbOfLayers()) * (fDetector->GetNbOfAbsor()) + 2; fEnergyFlow.resize(nbPlanes); fLateralEleak.resize(nbPlanes); - for (G4int k=0; kGetDefinition(); - if(d == G4Gamma::Gamma()) { ++fN_gamma; } - else if (d == G4Electron::Electron()) { ++fN_elec; } - else if (d == G4Positron::Positron()) { ++fN_pos; } + if (d == G4Gamma::Gamma()) { + ++fN_gamma; + } + else if (d == G4Electron::Electron()) { + ++fN_elec; + } + else if (d == G4Positron::Positron()) { + ++fN_pos; + } } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::Merge(const G4Run* run) @@ -150,50 +162,49 @@ void Run::Merge(const G4Run* run) // pass information about primary particle fParticle = localRun->fParticle; - fEkin = localRun->fEkin; + fEkin = localRun->fEkin; // accumulate sums // - for (G4int k=0; kfSumEAbs[k]; - fSum2EAbs[k] += localRun->fSum2EAbs[k]; - fSumLAbs[k] += localRun->fSumLAbs[k]; + for (G4int k = 0; k < kMaxAbsor; k++) { + fSumEAbs[k] += localRun->fSumEAbs[k]; + fSum2EAbs[k] += localRun->fSum2EAbs[k]; + fSumLAbs[k] += localRun->fSumLAbs[k]; fSum2LAbs[k] += localRun->fSum2LAbs[k]; } - fEdepTot += localRun->fEdepTot; + fEdepTot += localRun->fEdepTot; fEdepTot2 += localRun->fEdepTot2; - - fEleakTot += localRun->fEleakTot; + + fEleakTot += localRun->fEleakTot; fEleakTot2 += localRun->fEleakTot2; - - fEtotal += localRun->fEtotal; - fEtotal2 += localRun->fEtotal2; - - G4int nbPlanes = (fDetector->GetNbOfLayers())*(fDetector->GetNbOfAbsor()) + 2; - for (G4int k=0; kfEnergyFlow[k]; + + fEtotal += localRun->fEtotal; + fEtotal2 += localRun->fEtotal2; + + G4int nbPlanes = (fDetector->GetNbOfLayers()) * (fDetector->GetNbOfAbsor()) + 2; + for (G4int k = 0; k < nbPlanes; k++) { + fEnergyFlow[k] += localRun->fEnergyFlow[k]; fLateralEleak[k] += localRun->fLateralEleak[k]; } - - - fChargedStep += localRun->fChargedStep; + + fChargedStep += localRun->fChargedStep; fNeutralStep += localRun->fNeutralStep; - - fN_gamma += localRun->fN_gamma; - fN_elec += localRun->fN_elec; - fN_pos += localRun->fN_pos; - + + fN_gamma += localRun->fN_gamma; + fN_elec += localRun->fN_elec; + fN_pos += localRun->fN_pos; + fApplyLimit = localRun->fApplyLimit; - - for (G4int k=0; kfEdeptrue[k]; - fRmstrue[k] = localRun->fRmstrue[k]; - fLimittrue[k] = localRun->fLimittrue[k]; + + for (G4int k = 0; k < kMaxAbsor; k++) { + fEdeptrue[k] = localRun->fEdeptrue[k]; + fRmstrue[k] = localRun->fRmstrue[k]; + fLimittrue[k] = localRun->fLimittrue[k]; } - - G4Run::Merge(run); -} + + G4Run::Merge(run); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -201,186 +212,172 @@ void Run::EndOfRun() { G4int nEvt = numberOfEvent; G4double norm = G4double(nEvt); - if(norm > 0) norm = 1./norm; + if (norm > 0) norm = 1. / norm; G4double qnorm = std::sqrt(norm); fChargedStep *= norm; fNeutralStep *= norm; - //compute and print statistic + // compute and print statistic // G4double beamEnergy = fEkin; - G4double sqbeam = std::sqrt(beamEnergy/GeV); + G4double sqbeam = std::sqrt(beamEnergy / GeV); - G4double MeanEAbs,MeanEAbs2,rmsEAbs,resolution,rmsres; - G4double MeanLAbs,MeanLAbs2,rmsLAbs; + G4double MeanEAbs, MeanEAbs2, rmsEAbs, resolution, rmsres; + G4double MeanLAbs, MeanLAbs2, rmsLAbs; std::ios::fmtflags mode = G4cout.flags(); - G4int prec = G4cout.precision(2); + G4int prec = G4cout.precision(2); G4cout << "\n------------------------------------------------------------\n"; - G4cout << std::setw(14) << "material" - << std::setw(17) << "Edep RMS" - << std::setw(33) << "sqrt(E0(GeV))*rmsE/Emean" - << std::setw(23) << "total tracklen \n \n"; - - for (G4int k=1; k<=fDetector->GetNbOfAbsor(); k++) - { - MeanEAbs = fSumEAbs[k]*norm; - MeanEAbs2 = fSum2EAbs[k]*norm; - rmsEAbs = std::sqrt(std::abs(MeanEAbs2 - MeanEAbs*MeanEAbs)); - //G4cout << "k= " << k << " RMS= " << rmsEAbs - // << " fApplyLimit: " << fApplyLimit << G4endl; - if(fApplyLimit) { - G4int nn = 0; - G4double sume = 0.0; - G4double sume2 = 0.0; - // compute trancated means - G4double lim = rmsEAbs * 2.5; - for(G4int i=0; iGetNbOfAbsor(); k++) { + MeanEAbs = fSumEAbs[k] * norm; + MeanEAbs2 = fSum2EAbs[k] * norm; + rmsEAbs = std::sqrt(std::abs(MeanEAbs2 - MeanEAbs * MeanEAbs)); + // G4cout << "k= " << k << " RMS= " << rmsEAbs + // << " fApplyLimit: " << fApplyLimit << G4endl; + if (fApplyLimit) { + G4int nn = 0; + G4double sume = 0.0; + G4double sume2 = 0.0; + // compute trancated means + G4double lim = rmsEAbs * 2.5; + for (G4int i = 0; i < nEvt; i++) { + G4double e = (fEnergyDeposit[k])[i]; + if (std::abs(e - MeanEAbs) < lim) { + sume += e; + sume2 += e * e; + nn++; } - G4double norm1 = G4double(nn); - if(norm1 > 0.0) norm1 = 1.0/norm1; - MeanEAbs = sume*norm1; - MeanEAbs2 = sume2*norm1; - rmsEAbs = std::sqrt(std::abs(MeanEAbs2 - MeanEAbs*MeanEAbs)); } - - resolution = (MeanEAbs > 0.) ? 100.*sqbeam*rmsEAbs/MeanEAbs : 0.0; - rmsres = resolution*qnorm; - - // Save mean and RMS - fSumEAbs[k] = MeanEAbs; - fSum2EAbs[k] = rmsEAbs; - - MeanLAbs = fSumLAbs[k]*norm; - MeanLAbs2 = fSum2LAbs[k]*norm; - rmsLAbs = std::sqrt(std::abs(MeanLAbs2 - MeanLAbs*MeanLAbs)); - - //print - // - G4cout - << std::setw(14) << fDetector->GetAbsorMaterial(k)->GetName() << ": " - << std::setprecision(5) - << std::setw(6) << G4BestUnit(MeanEAbs,"Energy") << " : " - << std::setprecision(4) - << std::setw(5) << G4BestUnit( rmsEAbs,"Energy") - << std::setw(10) << resolution << " +- " - << std::setw(5) << rmsres << " %" - << std::setprecision(3) - << std::setw(10) << G4BestUnit(MeanLAbs,"Length") << " +- " - << std::setw(4) << G4BestUnit( rmsLAbs,"Length") - << G4endl; + G4double norm1 = G4double(nn); + if (norm1 > 0.0) norm1 = 1.0 / norm1; + MeanEAbs = sume * norm1; + MeanEAbs2 = sume2 * norm1; + rmsEAbs = std::sqrt(std::abs(MeanEAbs2 - MeanEAbs * MeanEAbs)); } - - //total energy deposited + + resolution = (MeanEAbs > 0.) ? 100. * sqbeam * rmsEAbs / MeanEAbs : 0.0; + rmsres = resolution * qnorm; + + // Save mean and RMS + fSumEAbs[k] = MeanEAbs; + fSum2EAbs[k] = rmsEAbs; + + MeanLAbs = fSumLAbs[k] * norm; + MeanLAbs2 = fSum2LAbs[k] * norm; + rmsLAbs = std::sqrt(std::abs(MeanLAbs2 - MeanLAbs * MeanLAbs)); + + // print + // + G4cout << std::setw(14) << fDetector->GetAbsorMaterial(k)->GetName() << ": " + << std::setprecision(5) << std::setw(6) << G4BestUnit(MeanEAbs, "Energy") << " : " + << std::setprecision(4) << std::setw(5) << G4BestUnit(rmsEAbs, "Energy") << std::setw(10) + << resolution << " +- " << std::setw(5) << rmsres << " %" << std::setprecision(3) + << std::setw(10) << G4BestUnit(MeanLAbs, "Length") << " +- " << std::setw(4) + << G4BestUnit(rmsLAbs, "Length") << G4endl; + } + + // total energy deposited // fEdepTot *= norm; fEdepTot2 *= norm; - G4double rmsEdep = std::sqrt(std::abs(fEdepTot2 - fEdepTot*fEdepTot)); - - G4cout << "\n Total energy deposited = " << std::setprecision(4) - << G4BestUnit(fEdepTot,"Energy") - << " +- " << G4BestUnit(rmsEdep, "Energy") << G4endl; - - //Energy leakage + G4double rmsEdep = std::sqrt(std::abs(fEdepTot2 - fEdepTot * fEdepTot)); + + G4cout << "\n Total energy deposited = " << std::setprecision(4) << G4BestUnit(fEdepTot, "Energy") + << " +- " << G4BestUnit(rmsEdep, "Energy") << G4endl; + + // Energy leakage // fEleakTot *= norm; fEleakTot2 *= norm; - G4double rmsEleak = std::sqrt(std::abs(fEleakTot2 - fEleakTot*fEleakTot)); - - G4cout << " Energy leakage = " << G4BestUnit(fEleakTot, "Energy") - << " +- " << G4BestUnit(rmsEleak, "Energy") << G4endl; - - //total energy + G4double rmsEleak = std::sqrt(std::abs(fEleakTot2 - fEleakTot * fEleakTot)); + + G4cout << " Energy leakage = " << G4BestUnit(fEleakTot, "Energy") << " +- " + << G4BestUnit(rmsEleak, "Energy") << G4endl; + + // total energy // fEtotal *= norm; fEtotal2 *= norm; - G4double rmsEtotal = std::sqrt(std::abs(fEtotal2 - fEtotal*fEtotal)); - - G4cout << " Total energy : Edep + Eleak = " - << G4BestUnit(fEtotal,"Energy") - << " +- " << G4BestUnit(rmsEtotal, "Energy") << G4endl; - + G4double rmsEtotal = std::sqrt(std::abs(fEtotal2 - fEtotal * fEtotal)); + + G4cout << " Total energy : Edep + Eleak = " << G4BestUnit(fEtotal, "Energy") << " +- " + << G4BestUnit(rmsEtotal, "Energy") << G4endl; + G4cout << "------------------------------------------------------------\n"; - G4cout << " Beam particle " - << fParticle->GetParticleName() - << " E = " << G4BestUnit(beamEnergy,"Energy") << G4endl; - G4cout << " Mean number of gamma " << (G4double)fN_gamma*norm << G4endl; - G4cout << " Mean number of e- " << (G4double)fN_elec*norm << G4endl; - G4cout << " Mean number of e+ " << (G4double)fN_pos*norm << G4endl; - G4cout << std::setprecision(6) - << " Mean number of charged steps " << fChargedStep << G4endl; + G4cout << " Beam particle " << fParticle->GetParticleName() + << " E = " << G4BestUnit(beamEnergy, "Energy") << G4endl; + G4cout << " Mean number of gamma " << (G4double)fN_gamma * norm << G4endl; + G4cout << " Mean number of e- " << (G4double)fN_elec * norm << G4endl; + G4cout << " Mean number of e+ " << (G4double)fN_pos * norm << G4endl; + G4cout << std::setprecision(6) << " Mean number of charged steps " << fChargedStep << G4endl; G4cout << " Mean number of neutral steps " << fNeutralStep << G4endl; G4cout << "------------------------------------------------------------\n"; - - //Energy flow + + // Energy flow // G4AnalysisManager* analysis = G4AnalysisManager::Instance(); - G4int Idmax = (fDetector->GetNbOfLayers())*(fDetector->GetNbOfAbsor()); - for (G4int Id=1; Id<=Idmax+1; Id++) { - analysis->FillH1(2*kMaxAbsor+1, (G4double)Id, fEnergyFlow[Id]); - analysis->FillH1(2*kMaxAbsor+2, (G4double)Id, fLateralEleak[Id]); + G4int Idmax = (fDetector->GetNbOfLayers()) * (fDetector->GetNbOfAbsor()); + for (G4int Id = 1; Id <= Idmax + 1; Id++) { + analysis->FillH1(2 * kMaxAbsor + 1, (G4double)Id, fEnergyFlow[Id]); + analysis->FillH1(2 * kMaxAbsor + 2, (G4double)Id, fLateralEleak[Id]); } - - //Energy deposit from energy flow balance + + // Energy deposit from energy flow balance // G4double EdepTot[kMaxAbsor]; - for (G4int k=0; kGetNbOfAbsor(); - for (G4int Id=1; Id<=Idmax; Id++) { - G4int iAbsor = Id%nbOfAbsor; if (iAbsor==0) iAbsor = nbOfAbsor; - EdepTot[iAbsor] += (fEnergyFlow[Id]-fEnergyFlow[Id+1]-fLateralEleak[Id]); + for (G4int Id = 1; Id <= Idmax; Id++) { + G4int iAbsor = Id % nbOfAbsor; + if (iAbsor == 0) iAbsor = nbOfAbsor; + EdepTot[iAbsor] += (fEnergyFlow[Id] - fEnergyFlow[Id + 1] - fLateralEleak[Id]); } - - G4cout << std::setprecision(3) - << "\n Energy deposition from Energy flow balance : \n" + + G4cout << std::setprecision(3) << "\n Energy deposition from Energy flow balance : \n" << std::setw(10) << " material \t Total Edep \n \n"; G4cout.precision(6); - - for (G4int k=1; k<=nbOfAbsor; k++) { - EdepTot [k] *= norm; + + for (G4int k = 1; k <= nbOfAbsor; k++) { + EdepTot[k] *= norm; G4cout << std::setw(10) << fDetector->GetAbsorMaterial(k)->GetName() << ":" - << "\t " << G4BestUnit(EdepTot [k],"Energy") << "\n"; + << "\t " << G4BestUnit(EdepTot[k], "Energy") << "\n"; } - - G4cout << "\n------------------------------------------------------------\n" - << G4endl; + + G4cout << "\n------------------------------------------------------------\n" << G4endl; // Acceptance EmAcceptance acc; G4bool isStarted = false; - for (G4int j=1; j<=fDetector->GetNbOfAbsor(); j++) { + for (G4int j = 1; j <= fDetector->GetNbOfAbsor(); j++) { if (fLimittrue[j] < DBL_MAX) { if (!isStarted) { - acc.BeginOfAcceptance("Sampling Calorimeter",nEvt); + acc.BeginOfAcceptance("Sampling Calorimeter", nEvt); isStarted = true; } MeanEAbs = fSumEAbs[j]; - rmsEAbs = fSum2EAbs[j]; + rmsEAbs = fSum2EAbs[j]; G4String mat = fDetector->GetAbsorMaterial(j)->GetName(); - acc.EmAcceptanceGauss("Edep"+mat, nEvt, MeanEAbs, - fEdeptrue[j], fRmstrue[j], fLimittrue[j]); - acc.EmAcceptanceGauss("Erms"+mat, nEvt, rmsEAbs, - fRmstrue[j], fRmstrue[j], 2.0*fLimittrue[j]); + acc.EmAcceptanceGauss("Edep" + mat, nEvt, MeanEAbs, fEdeptrue[j], fRmstrue[j], fLimittrue[j]); + acc.EmAcceptanceGauss("Erms" + mat, nEvt, rmsEAbs, fRmstrue[j], fRmstrue[j], + 2.0 * fLimittrue[j]); } } - if(isStarted) acc.EndOfAcceptance(); + if (isStarted) acc.EndOfAcceptance(); - //normalize histograms + // normalize histograms // - for (G4int ih = kMaxAbsor+1; ih < kMaxHisto-2; ih++) { - analysis->ScaleH1(ih,norm/MeV); + for (G4int ih = kMaxAbsor + 1; ih < kMaxHisto - 2; ih++) { + analysis->ScaleH1(ih, norm / MeV); } - - G4cout.setf(mode,std::ios::floatfield); + + G4cout.setf(mode, std::ios::floatfield); G4cout.precision(prec); } @@ -388,9 +385,9 @@ void Run::EndOfRun() void Run::SetEdepAndRMS(G4int i, G4double edep, G4double rms, G4double lim) { - if (i>=0 && i= 0 && i < kMaxAbsor) { + fEdeptrue[i] = edep; + fRmstrue[i] = rms; fLimittrue[i] = lim; } } diff --git a/examples/extended/electromagnetic/TestEm3/src/RunAction.cc b/examples/extended/electromagnetic/TestEm3/src/RunAction.cc index 14913db437d..6ef33fc2e1c 100644 --- a/examples/extended/electromagnetic/TestEm3/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/RunAction.cc @@ -33,18 +33,19 @@ #include "RunAction.hh" #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" -#include "RunActionMessenger.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" #include "Run.hh" -#include "G4Timer.hh" +#include "RunActionMessenger.hh" + #include "G4RunManager.hh" +#include "G4Timer.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim) - : fDetector(det), fPrimary(prim) + : fDetector(det), fPrimary(prim) { fRunMessenger = new RunActionMessenger(this); fHistoManager = new HistoManager(); @@ -60,8 +61,8 @@ RunAction::~RunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ - fRun = new Run(fDetector); +{ + fRun = new Run(fDetector); return fRun; } @@ -70,14 +71,13 @@ G4Run* RunAction::GenerateRun() void RunAction::BeginOfRunAction(const G4Run*) { // keep run condition - if ( fPrimary ) { - G4ParticleDefinition* particle - = fPrimary->GetParticleGun()->GetParticleDefinition(); + if (fPrimary) { + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); fRun->SetPrimary(particle, energy); } - - //histograms + + // histograms // G4AnalysisManager* analysis = G4AnalysisManager::Instance(); if (analysis->IsActive()) analysis->OpenFile(); @@ -95,39 +95,38 @@ void RunAction::BeginOfRunAction(const G4Run*) void RunAction::EndOfRunAction(const G4Run*) { - // compute and print statistic + // compute and print statistic if (isMaster) { fTimer->Stop(); - if(!((G4RunManager::GetRunManager()->GetRunManagerType() == - G4RunManager::sequentialRM))) { - G4cout << "\n" << "Total number of events: " - << fRun->GetNumberOfEvent() << G4endl; - G4cout << "Master thread time: " << *fTimer << G4endl; + if (!((G4RunManager::GetRunManager()->GetRunManagerType() == G4RunManager::sequentialRM))) { + G4cout << "\n" + << "Total number of events: " << fRun->GetNumberOfEvent() << G4endl; + G4cout << "Master thread time: " << *fTimer << G4endl; } delete fTimer; fRun->EndOfRun(); } - //save histograms - G4AnalysisManager* analysis = G4AnalysisManager::Instance(); - if (analysis->IsActive()) { + // save histograms + G4AnalysisManager* analysis = G4AnalysisManager::Instance(); + if (analysis->IsActive()) { analysis->Write(); analysis->CloseFile(); - } + } // show Rndm status - // if (isMaster) G4Random::showEngineStatus(); + // if (isMaster) G4Random::showEngineStatus(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::SetEdepAndRMS(G4int i,G4double edep,G4double rms,G4double lim) +void RunAction::SetEdepAndRMS(G4int i, G4double edep, G4double rms, G4double lim) { if (fRun) fRun->SetEdepAndRMS(i, edep, rms, lim); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::SetApplyLimit(G4bool val) +void RunAction::SetApplyLimit(G4bool val) { if (fRun) fRun->SetApplyLimit(val); } diff --git a/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc index c31595b7d8b..5d5264fa97d 100644 --- a/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc @@ -33,47 +33,47 @@ #include "RunActionMessenger.hh" #include "RunAction.hh" -#include "G4UIdirectory.hh" + +#include "G4UIcmdWithABool.hh" #include "G4UIcommand.hh" +#include "G4UIdirectory.hh" #include "G4UIparameter.hh" -#include "G4UIcmdWithABool.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunActionMessenger::RunActionMessenger(RunAction* run) -:fRunAction(run) +RunActionMessenger::RunActionMessenger(RunAction* run) : fRunAction(run) { fRunDir = new G4UIdirectory("/testem/run/"); fRunDir->SetGuidance("run commands"); - - fAccCmd = new G4UIcommand("/testem/run/acceptance",this); + + fAccCmd = new G4UIcommand("/testem/run/acceptance", this); fAccCmd->SetGuidance("Check Edep and RMS of energy deposition for given absorber"); // - G4UIparameter* AbsNbPrm = new G4UIparameter("AbsorNb",'i',false); + G4UIparameter* AbsNbPrm = new G4UIparameter("AbsorNb", 'i', false); AbsNbPrm->SetGuidance("absorber number : from 1 to NbOfAbsor"); AbsNbPrm->SetParameterRange("AbsorNb>0"); fAccCmd->SetParameter(AbsNbPrm); - // - G4UIparameter* edep = new G4UIparameter("Edep",'d',false); + // + G4UIparameter* edep = new G4UIparameter("Edep", 'd', false); edep->SetGuidance("mean energy deposition (MeV)"); edep->SetParameterRange("Edep>=0."); fAccCmd->SetParameter(edep); - // - G4UIparameter* rms = new G4UIparameter("RMS",'d',false); + // + G4UIparameter* rms = new G4UIparameter("RMS", 'd', false); rms->SetGuidance("RMS of energy deposition (MeV)"); rms->SetParameterRange("RMS>=0."); fAccCmd->SetParameter(rms); - // - G4UIparameter* lim = new G4UIparameter("nRMS",'d',false); + // + G4UIparameter* lim = new G4UIparameter("nRMS", 'd', false); lim->SetGuidance("Limit in number of RMS of energy deposition"); lim->SetParameterRange("Limit>=0."); fAccCmd->SetParameter(lim); // - fLimCmd = new G4UIcmdWithABool("/testem/run/limitEdep",this); + fLimCmd = new G4UIcmdWithABool("/testem/run/limitEdep", this); fLimCmd->SetGuidance("remove energy outside acceptance limit"); - fLimCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fLimCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,25 +81,25 @@ RunActionMessenger::RunActionMessenger(RunAction* run) RunActionMessenger::~RunActionMessenger() { delete fAccCmd; - delete fRunDir; + delete fRunDir; delete fLimCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunActionMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == fAccCmd ) - { - G4int num; - G4double edep, rms, lim; - std::istringstream is(newValue); - is >> num >> edep >> rms >> lim; - fRunAction->SetEdepAndRMS(num,edep,rms,lim); - } +void RunActionMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fAccCmd) { + G4int num; + G4double edep, rms, lim; + std::istringstream is(newValue); + is >> num >> edep >> rms >> lim; + fRunAction->SetEdepAndRMS(num, edep, rms, lim); + } - if( command == fLimCmd ) - { fRunAction->SetApplyLimit(fLimCmd->GetNewBoolValue(newValue));} + if (command == fLimCmd) { + fRunAction->SetApplyLimit(fLimCmd->GetNewBoolValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/StepMax.cc b/examples/extended/electromagnetic/TestEm3/src/StepMax.cc index 13dffe830c8..ac3a646988a 100644 --- a/examples/extended/electromagnetic/TestEm3/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm3/src/StepMax.cc @@ -31,19 +31,22 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::StepMax(const G4String& processName) -: G4VDiscreteProcess(processName) +StepMax::StepMax(const G4String& processName) : G4VDiscreteProcess(processName) { fMess = new StepMaxMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,35 +57,39 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep(G4double step) {fMaxChargedStep = step;} +void StepMax::SetMaxStep(G4double step) +{ + fMaxChargedStep = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track& track, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track& track, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; - if (track.GetVolume()->GetName() == "World") return DBL_MAX; - else return fMaxChargedStep; + if (track.GetVolume()->GetName() == "World") + return DBL_MAX; + else + return fMaxChargedStep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) +G4double StepMax::GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) { - return fMaxChargedStep; -} + return fMaxChargedStep; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc index 254894b9dd4..78046257a62 100644 --- a/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc @@ -33,16 +33,16 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -:fStepMax(stepM) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); +StepMaxMessenger::StepMaxMessenger(StepMax* stepM) : fStepMax(stepM) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); } @@ -57,9 +57,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc index 31ba34e2ea7..b335a8ec215 100644 --- a/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc @@ -33,112 +33,113 @@ #include "SteppingAction.hh" #include "DetectorConstruction.hh" -#include "Run.hh" #include "EventAction.hh" #include "HistoManager.hh" +#include "Run.hh" +#include "G4PhysicalConstants.hh" #include "G4Positron.hh" #include "G4RunManager.hh" -#include "G4PhysicalConstants.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(DetectorConstruction* det, EventAction* evt) -:fDetector(det),fEventAct(evt) -{ } + : fDetector(det), fEventAct(evt) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) { - //track informations - const G4StepPoint* prePoint = aStep->GetPreStepPoint(); - - //if World, return + // track informations + const G4StepPoint* prePoint = aStep->GetPreStepPoint(); + + // if World, return // - G4VPhysicalVolume* volume = prePoint->GetTouchableHandle()->GetVolume(); - //if sum of absorbers do not fill exactly a layer: check material, not volume. + G4VPhysicalVolume* volume = prePoint->GetTouchableHandle()->GetVolume(); + // if sum of absorbers do not fill exactly a layer: check material, not volume. const G4Material* mat = volume->GetLogicalVolume()->GetMaterial(); - if (mat == fDetector->GetWorldMaterial()) return; + if (mat == fDetector->GetWorldMaterial()) return; const G4StepPoint* endPoint = aStep->GetPostStepPoint(); - const G4ParticleDefinition* particle = aStep->GetTrack()->GetDefinition(); - - //here we are in an absorber. Locate it + const G4ParticleDefinition* particle = aStep->GetTrack()->GetDefinition(); + + // here we are in an absorber. Locate it // - G4int absorNum = prePoint->GetTouchableHandle()->GetCopyNumber(0); - G4int layerNum = prePoint->GetTouchableHandle()->GetCopyNumber(1); - - //get Run - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - + G4int absorNum = prePoint->GetTouchableHandle()->GetCopyNumber(0); + G4int layerNum = prePoint->GetTouchableHandle()->GetCopyNumber(1); + + // get Run + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + // collect energy deposit taking into account track weight - G4double edep = aStep->GetTotalEnergyDeposit()*aStep->GetTrack()->GetWeight(); - + G4double edep = aStep->GetTotalEnergyDeposit() * aStep->GetTrack()->GetWeight(); + // collect step length of charged particles G4double stepl = 0.; if (particle->GetPDGCharge() != 0.) { stepl = aStep->GetStepLength(); run->AddChargedStep(); - } else { run->AddNeutralStep(); } - + } + else { + run->AddNeutralStep(); + } + // G4cout << "Nabs= " << absorNum << " edep(keV)= " << edep << G4endl; - + // sum up per event - fEventAct->SumEnergy(absorNum,edep,stepl); - - //longitudinal profile of edep per absorber - if (edep>0.) { - G4AnalysisManager::Instance()->FillH1(kMaxAbsor+absorNum, - G4double(layerNum+1), edep); + fEventAct->SumEnergy(absorNum, edep, stepl); + + // longitudinal profile of edep per absorber + if (edep > 0.) { + G4AnalysisManager::Instance()->FillH1(kMaxAbsor + absorNum, G4double(layerNum + 1), edep); } - //energy flow + // energy flow // - // unique identificator of layer+absorber - G4int Idnow = (fDetector->GetNbOfAbsor())*layerNum + absorNum; + // unique identificator of layer+absorber + G4int Idnow = (fDetector->GetNbOfAbsor()) * layerNum + absorNum; G4int plane; // - //leaving the absorber ? + // leaving the absorber ? if (endPoint->GetStepStatus() == fGeomBoundary) { - G4ThreeVector position = endPoint->GetPosition(); + G4ThreeVector position = endPoint->GetPosition(); G4ThreeVector direction = endPoint->GetMomentumDirection(); - G4double sizeYZ = 0.5*fDetector->GetCalorSizeYZ(); + G4double sizeYZ = 0.5 * fDetector->GetCalorSizeYZ(); G4double Eflow = endPoint->GetKineticEnergy(); - if(particle == G4Positron::Positron()) Eflow += 2*electron_mass_c2; - if((std::abs(position.y()) >= sizeYZ) || (std::abs(position.z()) >= sizeYZ)) - run->SumLateralEleak(Idnow, Eflow); - else if (direction.x() >= 0.) run->SumEnergyFlow(plane=Idnow+1, Eflow); - else run->SumEnergyFlow(plane=Idnow, -Eflow); - } - -//// example of Birk attenuation -///G4double destep = aStep->GetTotalEnergyDeposit(); -///G4double response = BirksAttenuation(aStep); -///G4cout << " Destep: " << destep/keV << " keV" -/// << " response after Birks: " << response/keV << " keV" << G4endl; + if (particle == G4Positron::Positron()) Eflow += 2 * electron_mass_c2; + if ((std::abs(position.y()) >= sizeYZ) || (std::abs(position.z()) >= sizeYZ)) + run->SumLateralEleak(Idnow, Eflow); + else if (direction.x() >= 0.) + run->SumEnergyFlow(plane = Idnow + 1, Eflow); + else + run->SumEnergyFlow(plane = Idnow, -Eflow); + } + + //// example of Birk attenuation + /// G4double destep = aStep->GetTotalEnergyDeposit(); + /// G4double response = BirksAttenuation(aStep); + /// G4cout << " Destep: " << destep/keV << " keV" + /// << " response after Birks: " << response/keV << " keV" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double SteppingAction::BirksAttenuation(const G4Step* aStep) { - //Example of Birk attenuation law in organic scintillators. - //adapted from Geant3 PHYS337. See MIN 80 (1970) 239-244 - // - const G4Material* material = aStep->GetTrack()->GetMaterial(); - G4double birk1 = material->GetIonisation()->GetBirksConstant(); - G4double destep = aStep->GetTotalEnergyDeposit(); - G4double stepl = aStep->GetStepLength(); - G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge(); - // - G4double response = destep; - if (birk1*destep*stepl*charge != 0.) - { - response = destep/(1. + birk1*destep/stepl); - } - return response; + // Example of Birk attenuation law in organic scintillators. + // adapted from Geant3 PHYS337. See MIN 80 (1970) 239-244 + // + const G4Material* material = aStep->GetTrack()->GetMaterial(); + G4double birk1 = material->GetIonisation()->GetBirksConstant(); + G4double destep = aStep->GetTotalEnergyDeposit(); + G4double stepl = aStep->GetStepLength(); + G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge(); + // + G4double response = destep; + if (birk1 * destep * stepl * charge != 0.) { + response = destep / (1. + birk1 * destep / stepl); + } + return response; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc index ceb43569b08..f119b02d878 100644 --- a/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc @@ -34,27 +34,26 @@ #include "TrackingAction.hh" #include "DetectorConstruction.hh" -#include "Run.hh" #include "EventAction.hh" +#include "Run.hh" -#include "G4RunManager.hh" -#include "G4Positron.hh" #include "G4PhysicalConstants.hh" +#include "G4Positron.hh" +#include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackingAction::TrackingAction(DetectorConstruction* det,EventAction* evt) -:fDetector(det),fEventAct(evt) -{ } - +TrackingAction::TrackingAction(DetectorConstruction* det, EventAction* evt) + : fDetector(det), fEventAct(evt) +{} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void TrackingAction::PreUserTrackingAction(const G4Track* track ) +void TrackingAction::PreUserTrackingAction(const G4Track* track) { - //get Run - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - + // get Run + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + // Energy flow initialisation for primary particle // if (track->GetTrackID() == 1) { @@ -64,32 +63,34 @@ void TrackingAction::PreUserTrackingAction(const G4Track* track ) const G4VTouchable* touchable = track->GetTouchable(); G4int absorNum = touchable->GetCopyNumber(); G4int layerNum = touchable->GetReplicaNumber(1); - Idnow = (fDetector->GetNbOfAbsor())*layerNum + absorNum; + Idnow = (fDetector->GetNbOfAbsor()) * layerNum + absorNum; } - + G4double Eflow = track->GetKineticEnergy(); if (track->GetDefinition() == G4Positron::Positron()) { - Eflow += 2*electron_mass_c2; + Eflow += 2 * electron_mass_c2; + } + + // flux artefact, if primary vertex is inside the calorimeter + for (G4int pl = 1; pl <= Idnow; ++pl) { + run->SumEnergyFlow(pl, Eflow); } - - //flux artefact, if primary vertex is inside the calorimeter - for (G4int pl=1; pl<=Idnow; ++pl) {run->SumEnergyFlow(pl, Eflow);} - } else { + } + else { run->AddSecondaryTrack(track); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void TrackingAction::PostUserTrackingAction(const G4Track* track ) +void TrackingAction::PostUserTrackingAction(const G4Track* track) { - // energy leakage - G4StepStatus status = track->GetStep()->GetPostStepPoint()->GetStepStatus(); - if (status == fWorldBoundary) { + // energy leakage + G4StepStatus status = track->GetStep()->GetPostStepPoint()->GetStepStatus(); + if (status == fWorldBoundary) { G4double eleak = track->GetKineticEnergy(); fEventAct->SumEnergyLeak(eleak); - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm3/stepMax.mac b/examples/extended/electromagnetic/TestEm3/stepMax.mac index dcff1a3d7c4..038a20282f7 100644 --- a/examples/extended/electromagnetic/TestEm3/stepMax.mac +++ b/examples/extended/electromagnetic/TestEm3/stepMax.mac @@ -1,5 +1,5 @@ # -# macro file for TestEm1.cc +# macro file for TestEm3.cc # /control/verbose 2 /run/verbose 1 diff --git a/examples/extended/electromagnetic/TestEm4/.README.txt b/examples/extended/electromagnetic/TestEm4/.README.txt index 73b81100d2d..c3c89205435 100644 --- a/examples/extended/electromagnetic/TestEm4/.README.txt +++ b/examples/extended/electromagnetic/TestEm4/.README.txt @@ -53,6 +53,8 @@ Idle> type your commands .... Idle> exit \endverbatim + +macro verbose.mac illustrate capability of verbosity \section TestEm4_s7 USING HISTOGRAMS diff --git a/examples/extended/electromagnetic/TestEm4/CMakeLists.txt b/examples/extended/electromagnetic/TestEm4/CMakeLists.txt index 958bee50d72..c686e671879 100644 --- a/examples/extended/electromagnetic/TestEm4/CMakeLists.txt +++ b/examples/extended/electromagnetic/TestEm4/CMakeLists.txt @@ -40,7 +40,7 @@ target_link_libraries(TestEm4 ${Geant4_LIBRARIES} ${HBOOK_LIBRARIES}) # relies on these scripts being in the current working directory. # set(TestEm4_SCRIPTS - rndmSeed.mac TestEm4.in TestEm4.out vis.mac + rndmSeed.mac TestEm4.in TestEm4.out verbose.mac vis.mac ) foreach(_script ${TestEm4_SCRIPTS}) diff --git a/examples/extended/electromagnetic/TestEm4/History b/examples/extended/electromagnetic/TestEm4/History index 5b7d79cf78d..913561d7b28 100644 --- a/examples/extended/electromagnetic/TestEm4/History +++ b/examples/extended/electromagnetic/TestEm4/History @@ -4,6 +4,14 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry, which **must** added in reverse chronological order (newest at the top). It must **not** be used as a substitute for writing good git commit messages! +## 2024-04-22 Vladimir Ivantchenko (testem4-V11-02-01) +- PhysicsLists - fixed annoyng warnings on decay table, + removed obsolete methods. + +## 2024-04-05 Michel Maire (testem4-V11-02-00) +- Run.cc: remove Tabs +- Readme: document verbose.mac + ## 2023-04-06 Michel Maire (testem4-V11-01-00) - revision of all headers - RunAction: print run conditions and histograms statistic diff --git a/examples/extended/electromagnetic/TestEm4/README b/examples/extended/electromagnetic/TestEm4/README index 4e8e0b3bd3e..3976d14e6d8 100644 --- a/examples/extended/electromagnetic/TestEm4/README +++ b/examples/extended/electromagnetic/TestEm4/README @@ -52,6 +52,8 @@ Idle> type your commands .... Idle> exit + + macro verbose.mac illustrate capability of verbosity 7- USING HISTOGRAMS diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.cc b/examples/extended/electromagnetic/TestEm4/TestEm4.cc index baab8152dd4..53667ce416d 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.cc +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.cc @@ -31,75 +31,72 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //choose the Random engine + // choose the Random engine G4Random::setTheEngine(new CLHEP::RanecuEngine); - - //Use SteppingVerbose with Unit + + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //construct the run manager + + // construct the run manager auto runManager = G4RunManagerFactory::CreateRunManager(); - if (argc==3) { - G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); - runManager->SetNumberOfThreads(nThreads); + if (argc == 3) { + G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); + runManager->SetNumberOfThreads(nThreads); } - //set mandatory initialization classes + // set mandatory initialization classes runManager->SetUserInitialization(new DetectorConstruction); runManager->SetUserInitialization(new PhysicsList); - //set user action classes + // set user action classes runManager->SetUserInitialization(new ActionInitialization()); - //Initialize G4 kernel + // Initialize G4 kernel runManager->Initialize(); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.out b/examples/extended/electromagnetic/TestEm4/TestEm4.out index 41ee58257d9..e1d7a7baa08 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.out +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -31,7 +31,6 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ---> Isotope: F19 Z = 9 N = 19 A = 19.00 g/mole abundance: 100.000 % ElmMassFraction: 61.26 % ElmAbundance 50.00 % -PhysicsList::SetCuts:CutLength : 1 (mm) /control/cout/ignoreThreadsExcept 0 /run/verbose 2 # @@ -175,7 +174,7 @@ Region -- -- is not associated to any world. Index : 0 used in the geometry : Yes Material : FluorCarbonate Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm - Energy thresholds : gamma 3.64815 keV e- 431.054 keV e+ 417.356 keV proton -1 MeV + Energy thresholds : gamma 3.64815 keV e- 431.054 keV e+ 417.356 keV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld @@ -209,25 +208,26 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Run terminated. Run Summary Number of events processed : 100000 - User=0.710000s Real=0.755292s Sys=0.000000s + User=0.770000s Real=0.822511s Sys=0.000000s --------------------End of Global Run------------------------ The run consists of 100000 gamma of 9 MeV in a volume of C6F6 - Energy deposit per event: mean = 928.584 keV rms = 2.34926 MeV + Energy deposit per event: mean = 921.134 keV rms = 2.34106 MeV ------------------------------------------------------------ --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2851671, 824097029 + Current couple of seeds = 417036897, 829731305 ---------------------------------------- ... write file : testem4.root - done ... close file : testem4.root - done G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:0) +UserDetectorConstruction deleted 0x1c43400 +UserPhysicsList deleted 0x1c427a0 +UserActionInitialization deleted 0x1ca8050 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. @@ -243,12 +243,12 @@ Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB Pool ID '7G4Event', size : 0.000961 MB Pool ID '15G4PrimaryVertex', size : 0.000961 MB Pool ID '17G4PrimaryParticle', size : 0.000961 MB -Pool ID '17G4DynamicParticle', size : 0.00385 MB -Pool ID '7G4Track', size : 0.00673 MB +Pool ID '17G4DynamicParticle', size : 0.00288 MB +Pool ID '7G4Track', size : 0.00577 MB Pool ID '18G4TouchableHistory', size : 0.000961 MB Pool ID '15G4CountedObjectIvE', size : 0.000961 MB Number of memory pools allocated: 9 of which, static: 0 -Dynamic pools deleted: 9 / Total memory freed: 0.023 MB +Dynamic pools deleted: 9 / Total memory freed: 0.021 MB ============================================================ G4Allocator objects are deleted. UImanager deleted. diff --git a/examples/extended/electromagnetic/TestEm4/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm4/include/ActionInitialization.hh index b378777cb23..dc49e25b8e1 100644 --- a/examples/extended/electromagnetic/TestEm4/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm4/include/ActionInitialization.hh @@ -38,12 +38,10 @@ class ActionInitialization : public G4VUserActionInitialization { public: ActionInitialization() = default; - ~ActionInitialization() override = default; + ~ActionInitialization() override = default; - void BuildForMaster() const override; - void Build() const override; + void BuildForMaster() const override; + void Build() const override; }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh index 7f1b923a0da..2aafae1795c 100644 --- a/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh @@ -25,7 +25,7 @@ // /// \file electromagnetic/TestEm4/include/DetectorConstruction.hh /// \brief Definition of the DetectorConstruction class -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,14 +41,12 @@ class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction() = default; - ~DetectorConstruction() override = default; - + ~DetectorConstruction() override = default; + G4VPhysicalVolume* Construct() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm4/include/EventAction.hh b/examples/extended/electromagnetic/TestEm4/include/EventAction.hh index 3828cca5931..bee09ea2dbf 100644 --- a/examples/extended/electromagnetic/TestEm4/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/EventAction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm4/include/EventAction.hh /// \brief Definition of the EventAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,21 +42,19 @@ class EventAction : public G4UserEventAction { public: EventAction() = default; - ~EventAction() override = default; + ~EventAction() override = default; public: void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; - + void EndOfEventAction(const G4Event*) override; + void AddEdep(G4double Edep); - G4double GetEnergyDeposit() {return fTotalEnergyDeposit;}; - + G4double GetEnergyDeposit() { return fTotalEnergyDeposit; }; + private: - G4double fTotalEnergyDeposit = 0.; // Energy deposited in c6f6 + G4double fTotalEnergyDeposit = 0.; // Energy deposited in c6f6 }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh index a4131cd9ad5..d64fe1ebe94 100644 --- a/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh @@ -25,7 +25,7 @@ // /// \file electromagnetic/TestEm4/include/PhysicsList.hh /// \brief Definition of the PhysicsList class -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,32 +38,17 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VUserPhysicsList +class PhysicsList : public G4VUserPhysicsList { public: PhysicsList(); - ~PhysicsList() override = default; + ~PhysicsList() override = default; - protected: // Construct particle and physics void ConstructParticle() override; void ConstructProcess() override; - - void SetCuts() override; - - protected: - // these methods Construct particles - void ConstructBosons(); - void ConstructLeptons(); - - protected: - // these methods Construct physics processes and register them - void ConstructGeneral(); - void ConstructEM(); - }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh index 53645b83473..af25f838218 100644 --- a/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh @@ -44,8 +44,8 @@ class G4Event; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction() override; public: void GeneratePrimaries(G4Event*) override; @@ -58,4 +58,3 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm4/include/RunAction.hh b/examples/extended/electromagnetic/TestEm4/include/RunAction.hh index edbdf130eba..1a13cbe91b4 100644 --- a/examples/extended/electromagnetic/TestEm4/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/RunAction.hh @@ -46,14 +46,13 @@ class RunAction : public G4UserRunAction { public: RunAction(); - ~RunAction() override = default; + ~RunAction() override = default; public: void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh index 4adeed315d7..49f0fe11909 100644 --- a/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh @@ -43,10 +43,10 @@ class SteppingAction : public G4UserSteppingAction { public: SteppingAction(EventAction*); - ~SteppingAction() override = default; + ~SteppingAction() override = default; void UserSteppingAction(const G4Step*) override; - + private: EventAction* fEventAction = nullptr; }; diff --git a/examples/extended/electromagnetic/TestEm4/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm4/src/ActionInitialization.cc index 7a9617f3e1a..7cc875ae0b3 100644 --- a/examples/extended/electromagnetic/TestEm4/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm4/src/ActionInitialization.cc @@ -28,16 +28,17 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::BuildForMaster() const { - SetUserAction(new RunAction); + SetUserAction(new RunAction); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,6 +50,6 @@ void ActionInitialization::Build() const EventAction* eventAction = new EventAction; SetUserAction(eventAction); SetUserAction(new SteppingAction(eventAction)); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc index 121532dc844..a5089e5cf35 100644 --- a/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc @@ -34,11 +34,11 @@ #include "DetectorConstruction.hh" -#include "G4Material.hh" -#include "G4Tubs.hh" #include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4PVPlacement.hh" #include "G4SystemOfUnits.hh" +#include "G4Tubs.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -46,46 +46,42 @@ G4VPhysicalVolume* DetectorConstruction::Construct() { // // define a material from its elements. case 1: chemical molecule - // + // G4double a, z; - G4double density; + G4double density; G4int ncomponents, natoms; - - G4Element* C = new G4Element("Carbon" ,"C" , z= 6., a= 12.01*g/mole); - G4Element* F = new G4Element("Fluorine","F" , z= 9., a= 18.99*g/mole); - - G4Material* C6F6 = - new G4Material("FluorCarbonate", density= 1.61*g/cm3, ncomponents=2); - C6F6->AddElement(C, natoms=6); - C6F6->AddElement(F, natoms=6); - + + G4Element* C = new G4Element("Carbon", "C", z = 6., a = 12.01 * g / mole); + G4Element* F = new G4Element("Fluorine", "F", z = 9., a = 18.99 * g / mole); + + G4Material* C6F6 = new G4Material("FluorCarbonate", density = 1.61 * g / cm3, ncomponents = 2); + C6F6->AddElement(C, natoms = 6); + C6F6->AddElement(F, natoms = 6); + G4cout << C6F6 << G4endl; - - // + + // // Container - // - G4double Rmin=0., Rmax=5*cm, deltaZ= 5*cm, Phimin=0., deltaPhi=360*degree; + // + G4double Rmin = 0., Rmax = 5 * cm, deltaZ = 5 * cm, Phimin = 0., deltaPhi = 360 * degree; - G4Tubs* - solidWorld = new G4Tubs("C6F6", //its name - Rmin,Rmax,deltaZ,Phimin,deltaPhi); //its size + G4Tubs* solidWorld = new G4Tubs("C6F6", // its name + Rmin, Rmax, deltaZ, Phimin, deltaPhi); // its size - G4LogicalVolume* - logicWorld = new G4LogicalVolume(solidWorld, //its solid - C6F6, //its material - "C6F6"); //its name - G4VPhysicalVolume* - physiWorld = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - logicWorld, //its logical volume - "C6F6", //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number + G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, // its solid + C6F6, // its material + "C6F6"); // its name + G4VPhysicalVolume* physiWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + logicWorld, // its logical volume + "C6F6", // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number // - //always return the physical World - // + // always return the physical World + // return physiWorld; } diff --git a/examples/extended/electromagnetic/TestEm4/src/EventAction.cc b/examples/extended/electromagnetic/TestEm4/src/EventAction.cc index fd4f3a294f1..12cee21b368 100644 --- a/examples/extended/electromagnetic/TestEm4/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/EventAction.cc @@ -34,31 +34,30 @@ #include "G4AnalysisManager.hh" #include "G4Event.hh" -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::BeginOfEventAction( const G4Event*) -{ - //initializations - fTotalEnergyDeposit = 0.; +void EventAction::BeginOfEventAction(const G4Event*) +{ + // initializations + fTotalEnergyDeposit = 0.; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void EventAction::AddEdep(G4double Edep) { - fTotalEnergyDeposit += Edep; + fTotalEnergyDeposit += Edep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction( const G4Event*) -{ +void EventAction::EndOfEventAction(const G4Event*) +{ G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - analysisManager->FillH1(1, fTotalEnergyDeposit/MeV); + analysisManager->FillH1(1, fTotalEnergyDeposit / MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc index 5134b6ce7b3..7b56b9edf43 100644 --- a/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc @@ -34,18 +34,26 @@ #include "PhysicsList.hh" +#include "G4ComptonScattering.hh" +#include "G4EmBuilder.hh" +#include "G4GammaConversion.hh" #include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" #include "G4ParticleTable.hh" - +#include "G4ParticleTypes.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" #include "G4SystemOfUnits.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4eplusAnnihilation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsList::PhysicsList() { - defaultCutValue = 1.0*mm; + defaultCutValue = 1.0 * mm; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,25 +63,8 @@ void PhysicsList::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(); - G4GenericIon::GenericIonDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void PhysicsList::ConstructBosons() -{ - G4Gamma::GammaDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void PhysicsList::ConstructLeptons() -{ - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); + // created in the program. + G4EmBuilder::ConstructMinimalEmSet(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,72 +72,31 @@ void PhysicsList::ConstructLeptons() void PhysicsList::ConstructProcess() { AddTransportation(); - ConstructEM(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4PhysicsListHelper.hh" - -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4eMultipleScattering.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void PhysicsList::ConstructEM() -{ G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - - auto particleIterator=GetParticleIterator(); + + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - + if (particleName == "gamma") { - ph->RegisterProcess(new G4PhotoElectricEffect, particle); - ph->RegisterProcess(new G4ComptonScattering, particle); - ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - + ph->RegisterProcess(new G4ComptonScattering, particle); + ph->RegisterProcess(new G4GammaConversion, particle); + } + else if (particleName == "e-") { ph->RegisterProcess(new G4eMultipleScattering, particle); - ph->RegisterProcess(new G4eIonisation, particle); - ph->RegisterProcess(new G4eBremsstrahlung, particle); - - } else if (particleName == "e+") { - + ph->RegisterProcess(new G4eIonisation, particle); + ph->RegisterProcess(new G4eBremsstrahlung, particle); + } + else if (particleName == "e+") { ph->RegisterProcess(new G4eMultipleScattering, particle); - ph->RegisterProcess(new G4eIonisation, particle); - ph->RegisterProcess(new G4eBremsstrahlung, particle); - ph->RegisterProcess(new G4eplusAnnihilation, particle); + ph->RegisterProcess(new G4eIonisation, particle); + ph->RegisterProcess(new G4eBremsstrahlung, particle); + ph->RegisterProcess(new G4eplusAnnihilation, particle); } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void PhysicsList::SetCuts() -{ - if (verboseLevel >0){ - G4cout << "PhysicsList::SetCuts:"; - G4cout << "CutLength : " << defaultCutValue/mm << " (mm)" << 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+"); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc index 79274a8de7d..e45ce7d1925 100644 --- a/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc @@ -33,9 +33,9 @@ #include "PrimaryGeneratorAction.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" @@ -45,16 +45,15 @@ PrimaryGeneratorAction::PrimaryGeneratorAction() { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); - + fParticleGun = new G4ParticleGun(n_particle); + // default particle kinematic - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(9*MeV); - fParticleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(9 * MeV); + fParticleGun->SetParticlePosition(G4ThreeVector(0. * cm, 0. * cm, 0. * cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,20 +67,17 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - //distribution uniform in solid angle + // distribution uniform in solid angle // - G4double cosTheta = 2*G4UniformRand() - 1., phi = twopi*G4UniformRand(); - G4double sinTheta = std::sqrt(1. - cosTheta*cosTheta); - G4double ux = sinTheta*std::cos(phi), - uy = sinTheta*std::sin(phi), - uz = cosTheta; + G4double cosTheta = 2 * G4UniformRand() - 1., phi = twopi * G4UniformRand(); + G4double sinTheta = std::sqrt(1. - cosTheta * cosTheta); + G4double ux = sinTheta * std::cos(phi), uy = sinTheta * std::sin(phi), uz = cosTheta; + + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(ux, uy, uz)); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(ux,uy,uz)); - fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm4/src/RunAction.cc b/examples/extended/electromagnetic/TestEm4/src/RunAction.cc index ffd043c58d0..9625896fd6c 100644 --- a/examples/extended/electromagnetic/TestEm4/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/RunAction.cc @@ -26,20 +26,20 @@ /// \file electromagnetic/TestEm4/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "PrimaryGeneratorAction.hh" #include "G4AnalysisManager.hh" +#include "G4ParticleGun.hh" #include "G4Run.hh" #include "G4RunManager.hh" -#include "G4ParticleGun.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,12 +48,12 @@ RunAction::RunAction() { G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); analysisManager->SetDefaultFileType("root"); - analysisManager->SetVerboseLevel(1); + analysisManager->SetVerboseLevel(1); analysisManager->SetFirstHistoId(1); - + // Creating histograms // - analysisManager->CreateH1("1","energy (MeV) deposited in C6F6",100,0.,10.); + analysisManager->CreateH1("1", "energy (MeV) deposited in C6F6", 100, 0., 10.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,14 +63,13 @@ void RunAction::BeginOfRunAction(const G4Run*) // show Rndm status if (isMaster) G4Random::showEngineStatus(); - - // Get analysis manager + // Get analysis manager G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); // Open an output file // G4String fileName = "testem4"; - analysisManager->OpenFile(fileName); + analysisManager->OpenFile(fileName); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -86,40 +85,32 @@ void RunAction::EndOfRunAction(const G4Run* run) // Run conditions // note: There is no primary generator action object for "master" // run manager for multi-threaded mode. - PrimaryGeneratorAction* generatorAction = (PrimaryGeneratorAction*) - (G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction()); + PrimaryGeneratorAction* generatorAction = + (PrimaryGeneratorAction*)(G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction()); G4String runCondition = " "; - if (generatorAction) - { + if (generatorAction) { G4ParticleGun* particleGun = generatorAction->GetParticleGun(); - runCondition = particleGun->GetParticleDefinition()->GetParticleName(); + runCondition = particleGun->GetParticleDefinition()->GetParticleName(); runCondition += " of "; G4double particleEnergy = particleGun->GetParticleEnergy(); - runCondition += G4BestUnit(particleEnergy,"Energy"); + runCondition += G4BestUnit(particleEnergy, "Energy"); runCondition += " in a volume of C6F6 "; } - G4cout - << G4endl - << "--------------------End of Global Run------------------------"; - G4cout - << G4endl - << " The run consists of " << nofEvents << " " << runCondition << G4endl; - if ( analysisManager->GetH1(1) ) { + G4cout << G4endl << "--------------------End of Global Run------------------------"; + G4cout << G4endl << " The run consists of " << nofEvents << " " << runCondition << G4endl; + if (analysisManager->GetH1(1)) { G4cout << " Energy deposit per event: mean = " << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy") - << " rms = " - << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") - << G4endl - << "------------------------------------------------------------" - << G4endl; + << " rms = " << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl + << "------------------------------------------------------------" << G4endl; } } // show Rndm status if (isMaster) G4Random::showEngineStatus(); - //save histograms + // save histograms analysisManager->Write(); analysisManager->CloseFile(); } diff --git a/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc index 3d55a1cc80f..4b644bf7391 100644 --- a/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc @@ -28,32 +28,31 @@ // // // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" + #include "EventAction.hh" -#include "G4SteppingManager.hh" + #include "G4RunManager.hh" +#include "G4SteppingManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(EventAction* EvAct) -:fEventAction(EvAct) -{ } +SteppingAction::SteppingAction(EventAction* EvAct) : fEventAction(EvAct) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) { - G4double EdepStep = aStep->GetTotalEnergyDeposit(); - if (EdepStep > 0.) fEventAction->AddEdep(EdepStep); - - //example of saving random number seed of this event, under condition - //// if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); + G4double EdepStep = aStep->GetTotalEnergyDeposit(); + if (EdepStep > 0.) fEventAction->AddEdep(EdepStep); + + // 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/electromagnetic/TestEm4/verbose.mac b/examples/extended/electromagnetic/TestEm4/verbose.mac index 4b5a75e85d5..99bc6b73cd8 100644 --- a/examples/extended/electromagnetic/TestEm4/verbose.mac +++ b/examples/extended/electromagnetic/TestEm4/verbose.mac @@ -3,6 +3,8 @@ # /process/em/verbose 0 # -/tracking/verbose 6 +/tracking/verbose 2 +/run/beamOn 1 # +/tracking/verbose 6 /run/beamOn 1 diff --git a/examples/extended/electromagnetic/TestEm5/.README.txt b/examples/extended/electromagnetic/TestEm5/.README.txt index 7b917a6d88a..60df21fd6af 100644 --- a/examples/extended/electromagnetic/TestEm5/.README.txt +++ b/examples/extended/electromagnetic/TestEm5/.README.txt @@ -252,7 +252,6 @@ Macros provided in this example: - shen2.mac: proton 175 GeV/c, transmitted through 8.004 mm Al (G. Shen et al. Phys.Rev. D20 (1979) page 1584.) - stepMax.mac: to test the command /testem/stepMax - - subcut.mac: to test the control sub-cutoff production - tavora.mac: Back scattering of 35 keV electrons in Silver. (L.M. Tavora et al. J.Phys.D: Appl. Phys. 33 (2000) page 2497, Fig. 7) diff --git a/examples/extended/electromagnetic/TestEm5/History b/examples/extended/electromagnetic/TestEm5/History index e79f5ef013a..8ed7078e6d9 100644 --- a/examples/extended/electromagnetic/TestEm5/History +++ b/examples/extended/electromagnetic/TestEm5/History @@ -1,16 +1,17 @@ # Example TestEm5 History See `CONTRIBUTING.rst` for details of **required** info/format for each entry, -which **must** added in reverse chronological order (newest at the top). -It must **not** be used as a substitute for writing good git commit messages! +which **must** added in reverse chronological order (newest at the top). It must **not** +be used as a substitute for writing good git commit messages! -------------------------------------------------------------------------------- +## 2024-04-06 Michel Maire (testem5-V11-02-02) +- remove subcut.mac -## 2024-02-02 Vladimir Ivanchenko (testem5-V11-01-02) +## 2024-02-02 Vladimir Ivanchenko (testem5-V11-02-01) - TrackingAction - added protection against wrong argument of std::acos rarely happens for very high energy projectile particles -## 2024-01-30 Vladimir Ivanchenko +## 2024-01-30 Vladimir Ivanchenko (testem5-V11-02-00) - PrimaryGeneratorAction - added tiny shift of position of the particle gun from the world volume boundary. This fix removes a warning due to the new protection in G4ParticleGun diff --git a/examples/extended/electromagnetic/TestEm5/README b/examples/extended/electromagnetic/TestEm5/README index 753933efde2..c1cf7ab333b 100644 --- a/examples/extended/electromagnetic/TestEm5/README +++ b/examples/extended/electromagnetic/TestEm5/README @@ -240,7 +240,6 @@ - shen2.mac: proton 175 GeV/c, transmitted through 8.004 mm Al (G. Shen et al. Phys.Rev. D20 (1979) page 1584.) - stepMax.mac: to test the command /testem/stepMax - - subcut.mac: to test the control sub-cutoff production - tavora.mac: Back scattering of 35 keV electrons in Silver. (L.M. Tavora et al. J.Phys.D: Appl. Phys. 33 (2000) page 2497, Fig. 7) diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5-geom.out b/examples/extended/electromagnetic/TestEm5/TestEm5-geom.out index 26698a4c69a..316c91f8bc2 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5-geom.out +++ b/examples/extended/electromagnetic/TestEm5/TestEm5-geom.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -105,7 +105,7 @@ Step# X Y Z KineE dEStep StepLeng T Run terminated. Run Summary Number of events processed : 1 - User=0.000000s Real=0.001084s Sys=0.000000s + User=0.000000s Real=0.000397s Sys=0.000000s ======================== run summary ====================== @@ -185,7 +185,7 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 6 - User=0.000000s Real=0.000084s Sys=0.000000s + User=0.000000s Real=0.000058s Sys=0.000000s ======================== run summary ====================== diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5-pixe_ANSTO.out b/examples/extended/electromagnetic/TestEm5/TestEm5-pixe_ANSTO.out index 4c83a271574..96f12b526ad 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5-pixe_ANSTO.out +++ b/examples/extended/electromagnetic/TestEm5/TestEm5-pixe_ANSTO.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -236,7 +236,7 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 100000 - User=74.580000s Real=96.146056s Sys=0.010000s + User=73.480000s Real=93.646424s Sys=0.160000s ======================== run summary ====================== diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.cc b/examples/extended/electromagnetic/TestEm5/TestEm5.cc index 9f58dde26d8..cbf3898142c 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.cc +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.cc @@ -31,74 +31,71 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Types.hh" - -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - +#include "ActionInitialization.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" -#include "ActionInitialization.hh" -#include "G4VisExecutive.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" +#include "G4Types.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" +#include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -int main(int argc,char** argv) { - - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); - - //Use SteppingVerbose with Unit + if (argc == 1) ui = new G4UIExecutive(argc, argv); + + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //Creating run manager + + // Creating run manager auto* runManager = G4RunManagerFactory::CreateRunManager(); - if (argc==3) { + if (argc == 3) { G4int nThreads = G4UIcommand::ConvertToInt(argv[2]); runManager->SetNumberOfThreads(nThreads); - - G4cout << "===== TestEm5 is started with " - << runManager->GetNumberOfThreads() << " threads =====" << G4endl; + + G4cout << "===== TestEm5 is started with " << runManager->GetNumberOfThreads() + << " threads =====" << G4endl; } - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* detector = new DetectorConstruction; runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList()); - //set user action classes + // set user action classes runManager->SetUserInitialization(new ActionInitialization(detector)); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager + // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode - visManager = new G4VisExecutive; - visManager->Initialize(); - ui->SessionStart(); - delete ui; + if (ui) { + // interactive mode + visManager = new G4VisExecutive; + visManager->Initialize(); + ui->SessionStart(); + delete ui; } - else { - //batch mode - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + else { + // batch mode + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete visManager; delete runManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.out b/examples/extended/electromagnetic/TestEm5/TestEm5.out index 5b9aa45186f..0392a07d363 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.out +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.out @@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -228,7 +228,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -515,30 +515,30 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 100000 - User=0.980000s Real=1.016717s Sys=0.000000s + User=0.890000s Real=0.938960s Sys=0.000000s ======================== 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.362 keV +- 16.35 eV + Total energy deposit in absorber per event = 6.346 keV +- 16.23 eV - -----> Mean dE/dx = 3.181 MeV/cm (1.365 MeV*cm2/g) + -----> Mean dE/dx = 3.173 MeV/cm (1.362 MeV*cm2/g) From formulas : restricted dEdx = 2.96 MeV/cm (1.27 MeV*cm2/g) full dEdx = 4.727 MeV/cm (2.029 MeV*cm2/g) - Leakage : primary = 5 GeV +- 1.302 keV secondaries = 3.608 keV +- 1.301 keV + Leakage : primary = 5 GeV +- 1.301 keV secondaries = 3.621 keV +- 1.301 keV Energy balance : edep + eleak = 5 GeV - Total track length (charged) in absorber per event = 20.26 um +- 7.884 nm - Total track length (neutral) in absorber per event = 1.211e+04 fm +- 1.211e+04 fm + Total track length (charged) in absorber per event = 20.26 um +- 7.733 nm + Total track length (neutral) in absorber per event = 1.273 Ang +- 7.208e+04 fm - Number of steps (charged) in absorber per event = 1.114 +- 0.003351 - Number of steps (neutral) in absorber per event = 1e-05 +- 1e-05 + Number of steps (charged) in absorber per event = 1.129 +- 0.003973 + Number of steps (neutral) in absorber per event = 4e-05 +- 2e-05 - Number of secondaries per event : Gammas = 1e-05 electrons = 0.01744 positrons = 0 + Number of secondaries per event : Gammas = 4e-05 electrons = 0.01731 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 % @@ -547,12 +547,12 @@ 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.02505 mrad (central part only) + rms proj angle of transmit primary particle = 0.02511 mrad (central part only) computed theta0 (Highland formula) = 0.02627 mrad - central part defined as +- 0.07881 mrad Tail ratio = 1.963 % + central part defined as +- 0.07881 mrad Tail ratio = 1.945 % Gamma process counts: - Photoeffect 1 + Photoeffect 3 Compton 0 Conversion 0 Rayleigh 0 @@ -560,7 +560,7 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1984814923991830562, 2205052685199712209, 118066585300997038, 671116324075856316, 65474211969868711, 1277465100891970477, 33468360710031178, 1812963526553037017, 831560092735354316, 291208242280442521, 540404564740903430, 921639831643025160, 1130534175923902069, 1993020132571141292, 483989855188546070, 1456234643328636014, 1817839686423116261} counter= 17sumtot= 1493951879032512984 +N=17 V[N]={821612629383806282, 1355057195926553987, 1269729022158354381, 44614384821324673, 1303746237006252945, 287979836684896906, 2187769835849609370, 723285766230658542, 843848951070026816, 411140667534285683, 1214416906255647570, 627651330024082620, 2171256320394340744, 456036330617358175, 101021189349451762, 395972390457516759, 480661350402717899} counter= 4sumtot= 860742288884721408 --------------------------------------- # /testem/det/setAbsMat Gold @@ -605,7 +605,7 @@ Index : 2 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1984814923991830562, 2205052685199712209, 118066585300997038, 671116324075856316, 65474211969868711, 1277465100891970477, 33468360710031178, 1812963526553037017, 831560092735354316, 291208242280442521, 540404564740903430, 921639831643025160, 1130534175923902069, 1993020132571141292, 483989855188546070, 1456234643328636014, 1817839686423116261} counter= 17sumtot= 1493951879032512984 +N=17 V[N]={821612629383806282, 1355057195926553987, 1269729022158354381, 44614384821324673, 1303746237006252945, 287979836684896906, 2187769835849609370, 723285766230658542, 843848951070026816, 411140667534285683, 1214416906255647570, 627651330024082620, 2171256320394340744, 456036330617358175, 101021189349451762, 395972390457516759, 480661350402717899} counter= 4sumtot= 860742288884721408 --------------------------------------- --> Event 0 starts. --> Event 10000 starts. @@ -615,52 +615,52 @@ N=17 V[N]={1984814923991830562, 2205052685199712209, 118066585300997038, 6711163 Run terminated. Run Summary Number of events processed : 50000 - User=0.950000s Real=1.042663s Sys=0.000000s + User=0.650000s Real=0.669512s Sys=0.000000s ======================== run summary ====================== The run was 50000 e- of 15.7 MeV through 9.66 um of Gold (density: 19.3 g/cm3 ) - Total energy deposit in absorber per event = 18.45 keV +- 63.61 eV + Total energy deposit in absorber per event = 18.5 keV +- 65.14 eV - -----> Mean dE/dx = 19.1 MeV/cm (0.9888 MeV*cm2/g) + -----> Mean dE/dx = 19.16 MeV/cm (0.9915 MeV*cm2/g) From formulas : restricted dEdx = 17.91 MeV/cm (0.927 MeV*cm2/g) full dEdx = 61.41 MeV/cm (3.179 MeV*cm2/g) - Leakage : primary = 15.64 MeV +- 2.294 keV secondaries = 41.99 keV +- 2.29 keV + Leakage : primary = 15.64 MeV +- 2.184 keV secondaries = 40.21 keV +- 2.179 keV Energy balance : edep + eleak = 15.7 MeV - Total track length (charged) in absorber per event = 9.917 um +- 11.34 nm - Total track length (neutral) in absorber per event = 124.1 nm +- 4.625 nm + Total track length (charged) in absorber per event = 9.932 um +- 12.05 nm + Total track length (neutral) in absorber per event = 130.4 nm +- 8.558 nm - Number of steps (charged) in absorber per event = 4.77 +- 0.00695 - Number of steps (neutral) in absorber per event = 0.02762 +- 0.0007623 + Number of steps (charged) in absorber per event = 2.708 +- 0.00813 + Number of steps (neutral) in absorber per event = 0.02784 +- 0.0007708 - Number of secondaries per event : Gammas = 0.0275 electrons = 0.02184 positrons = 0 + Number of secondaries per event : Gammas = 0.02774 electrons = 0.02262 positrons = 0 - Number of events with the primary particle transmitted = 99.98 % - Number of events with at least 1 particle transmitted (same charge as primary) = 99.98 % + Number of events with the primary particle transmitted = 99.99 % + Number of events with at least 1 particle transmitted (same charge as primary) = 99.99 % - Number of events with the primary particle reflected = 0.018 % - Number of events with at least 1 particle reflected (same charge as primary) = 0.324 % + Number of events with the primary particle reflected = 0.008 % + Number of events with at least 1 particle reflected (same charge as primary) = 0.322 % MultipleScattering: - rms proj angle of transmit primary particle = 35.5 mrad (central part only) + rms proj angle of transmit primary particle = 34.83 mrad (central part only) computed theta0 (Highland formula) = 35.1 mrad - central part defined as +- 105.3 mrad Tail ratio = 2.85 % + central part defined as +- 105.3 mrad Tail ratio = 2.914 % Gamma process counts: - Photoeffect 228 - Compton 1 + Photoeffect 233 + Compton 0 Conversion 0 Rayleigh 5 ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1780458468141902664, 801723010833915312, 1477701925928052486, 52144768437989515, 1565536410252058436, 1279426372692747552, 1830600969368605237, 1027769574682063956, 634575864880643965, 1382216179555924992, 10695250554594466, 585778628011080317, 1562183092256870958, 1826067376076962598, 662435105423133488, 1924100741744677708, 77529485566438175} counter= 7sumtot= 34199150698110217 +N=17 V[N]={1350763663012815612, 1294348897496478787, 1497574536371361083, 1311753551330282605, 1604272835801072024, 478382643570230237, 174370242934593580, 1118323367948153675, 183190413119826769, 6592242593151900, 954709532099726697, 1955739663614221939, 708984632719044540, 2058128678670554479, 968441555857833481, 1086034042937008217, 1747224124524366416} counter= 14sumtot= 52090550891170433 --------------------------------------- # /run/setCut 10 um @@ -710,7 +710,7 @@ Index : 3 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1780458468141902664, 801723010833915312, 1477701925928052486, 52144768437989515, 1565536410252058436, 1279426372692747552, 1830600969368605237, 1027769574682063956, 634575864880643965, 1382216179555924992, 10695250554594466, 585778628011080317, 1562183092256870958, 1826067376076962598, 662435105423133488, 1924100741744677708, 77529485566438175} counter= 7sumtot= 34199150698110217 +N=17 V[N]={1350763663012815612, 1294348897496478787, 1497574536371361083, 1311753551330282605, 1604272835801072024, 478382643570230237, 174370242934593580, 1118323367948153675, 183190413119826769, 6592242593151900, 954709532099726697, 1955739663614221939, 708984632719044540, 2058128678670554479, 968441555857833481, 1086034042937008217, 1747224124524366416} counter= 14sumtot= 52090550891170433 --------------------------------------- --> Event 0 starts. --> Event 10000 starts. @@ -720,52 +720,52 @@ N=17 V[N]={1780458468141902664, 801723010833915312, 1477701925928052486, 5214476 Run terminated. Run Summary Number of events processed : 50000 - User=1.900000s Real=2.007580s Sys=0.000000s + User=1.820000s Real=1.980485s Sys=0.000000s ======================== run summary ====================== The run was 50000 mu+ of 96.2 MeV through 4.74 mm of G4_POLYETHYLENE (density: 940 mg/cm3) - Total energy deposit in absorber per event = 1.055 MeV +- 1.004 keV + Total energy deposit in absorber per event = 1.053 MeV +- 987.7 eV - -----> Mean dE/dx = 2.225 MeV/cm (2.367 MeV*cm2/g) + -----> Mean dE/dx = 2.221 MeV/cm (2.363 MeV*cm2/g) From formulas : restricted dEdx = 1.761 MeV/cm (1.873 MeV*cm2/g) full dEdx = 2.28 MeV/cm (2.425 MeV*cm2/g) - Leakage : primary = 95.12 MeV +- 1.362 keV secondaries = 27.09 keV +- 731 eV + Leakage : primary = 95.12 MeV +- 1.349 keV secondaries = 27.37 keV +- 729.9 eV Energy balance : edep + eleak = 96.2 MeV - Total track length (charged) in absorber per event = 5.177 mm +- 3.812 um - Total track length (neutral) in absorber per event = 21.31 um +- 2.099 um + Total track length (charged) in absorber per event = 5.168 mm +- 3.713 um + Total track length (neutral) in absorber per event = 18.36 um +- 2.016 um - Number of steps (charged) in absorber per event = 11.21 +- 0.02846 - Number of steps (neutral) in absorber per event = 0.0097 +- 0.0004709 + Number of steps (charged) in absorber per event = 11.46 +- 0.03112 + Number of steps (neutral) in absorber per event = 0.00928 +- 0.0004498 - Number of secondaries per event : Gammas = 0.00914 electrons = 4.184 positrons = 0 + Number of secondaries per event : Gammas = 0.0089 electrons = 4.187 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 % - Number of events with the primary particle reflected = 0 % - Number of events with at least 1 particle reflected (same charge as primary) = 0 % + Number of events with the primary particle reflected = 0.004 % + Number of events with at least 1 particle reflected (same charge as primary) = 0.004 % MultipleScattering: - rms proj angle of transmit primary particle = 7.337 mrad (central part only) + rms proj angle of transmit primary particle = 7.321 mrad (central part only) computed theta0 (Highland formula) = 7.636 mrad - central part defined as +- 22.91 mrad Tail ratio = 1.282 % + central part defined as +- 22.91 mrad Tail ratio = 1.233 % Gamma process counts: - Photoeffect 298 - Compton 18 + Photoeffect 290 + Compton 16 Conversion 0 - Rayleigh 10 + Rayleigh 3 ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1674739253389811489, 1802648265088868514, 1973314902192210249, 2107339236751131495, 830264431093412607, 1148332816091231473, 813261342574948098, 1938184868562807038, 1989493520031806300, 1165149198235008918, 1402164941366250757, 74995481012511946, 89669716029435025, 551023686229252082, 2163961765186887531, 1103633582272021779, 2004682549788183728} counter= 7sumtot= 2080272472972533470 +N=17 V[N]={259808161633608381, 1699288445904995528, 1090904378916437161, 706721855983804764, 650736876350838486, 2058478167238721866, 1715703218711355282, 390147856004027483, 1510430911949678032, 2292085793239906216, 1954290827584041406, 1081447968060984640, 598848276166094160, 570192178062982954, 971153001893022519, 484014818966045887, 1454776790956935882} counter= 3sumtot= 1042285453913929039 --------------------------------------- # /run/setCut 1 mm @@ -821,7 +821,7 @@ Index : 4 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1674739253389811489, 1802648265088868514, 1973314902192210249, 2107339236751131495, 830264431093412607, 1148332816091231473, 813261342574948098, 1938184868562807038, 1989493520031806300, 1165149198235008918, 1402164941366250757, 74995481012511946, 89669716029435025, 551023686229252082, 2163961765186887531, 1103633582272021779, 2004682549788183728} counter= 7sumtot= 2080272472972533470 +N=17 V[N]={259808161633608381, 1699288445904995528, 1090904378916437161, 706721855983804764, 650736876350838486, 2058478167238721866, 1715703218711355282, 390147856004027483, 1510430911949678032, 2292085793239906216, 1954290827584041406, 1081447968060984640, 598848276166094160, 570192178062982954, 971153001893022519, 484014818966045887, 1454776790956935882} counter= 3sumtot= 1042285453913929039 --------------------------------------- --> Event 0 starts. --> Event 10000 starts. @@ -831,30 +831,30 @@ N=17 V[N]={1674739253389811489, 1802648265088868514, 1973314902192210249, 210733 Run terminated. Run Summary Number of events processed : 50000 - User=0.490000s Real=0.511217s Sys=0.000000s + User=0.480000s Real=0.511424s Sys=0.000000s ======================== run summary ====================== The run was 50000 proton of 175 GeV through 8 mm of Aluminium (density: 2.7 g/cm3 ) - Total energy deposit in absorber per event = 4.982 MeV +- 284.9 keV + Total energy deposit in absorber per event = 5.161 MeV +- 331.3 keV - -----> Mean dE/dx = 6.225 MeV/cm (2.305 MeV*cm2/g) + -----> Mean dE/dx = 6.449 MeV/cm (2.388 MeV*cm2/g) From formulas : restricted dEdx = 4.024 MeV/cm (1.49 MeV*cm2/g) full dEdx = 6.049 MeV/cm (2.24 MeV*cm2/g) - Leakage : primary = 174.7 GeV +- 285 keV secondaries = 0 eV +- 0 eV + Leakage : primary = 174.7 GeV +- 331.4 keV secondaries = 0 eV +- 0 eV Energy balance : edep + eleak = 174.7 GeV Total track length (charged) in absorber per event = 8.004 mm +- 0 fm Total track length (neutral) in absorber per event = 0 fm +- 0 fm - Number of steps (charged) in absorber per event = 1.271 +- 0.002328 + Number of steps (charged) in absorber per event = 1.264 +- 0.002314 Number of steps (neutral) in absorber per event = 0 +- 0 - Number of secondaries per event : Gammas = 0 electrons = 0.2709 positrons = 0.00094 + Number of secondaries per event : Gammas = 0 electrons = 0.2644 positrons = 0.00072 Number of events with the primary particle transmitted = 100 % Number of events with at least 1 particle transmitted (same charge as primary) = 100 % @@ -863,9 +863,9 @@ 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.02059 mrad (central part only) + rms proj angle of transmit primary particle = 0.02057 mrad (central part only) computed theta0 (Highland formula) = 0.02111 mrad - central part defined as +- 0.06333 mrad Tail ratio = 1.317 % + central part defined as +- 0.06333 mrad Tail ratio = 1.352 % Gamma process counts: Photoeffect 0 @@ -876,7 +876,7 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={124270640368694576, 805382113268323920, 1069731235038687364, 687921940121822479, 1768335728743554278, 164441047886264349, 1226475523506238540, 720436030736729593, 1497784267068356604, 1687709245711056436, 1184724211636719927, 2096511312536995817, 2258873876948961818, 744801420442789395, 1935708634374911217, 992229977805666515, 564954303379169252} counter= 7sumtot= 1083547435865390472 +N=17 V[N]={208646914259207529, 44936455847492391, 617853924538367756, 122840575292410615, 554625140930138278, 425420266314921049, 1100409250128904939, 88037367507246226, 886917685562055761, 484189764832677705, 1494479114852379083, 856245190962181511, 63808615407432736, 1760858753733414007, 1397402278650583195, 1407199650688570504, 212537499099074009} counter= 10sumtot= 197193402538587539 --------------------------------------- # /testem/det/setAbsMat Iron @@ -933,7 +933,7 @@ Index : 5 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={124270640368694576, 805382113268323920, 1069731235038687364, 687921940121822479, 1768335728743554278, 164441047886264349, 1226475523506238540, 720436030736729593, 1497784267068356604, 1687709245711056436, 1184724211636719927, 2096511312536995817, 2258873876948961818, 744801420442789395, 1935708634374911217, 992229977805666515, 564954303379169252} counter= 7sumtot= 1083547435865390472 +N=17 V[N]={208646914259207529, 44936455847492391, 617853924538367756, 122840575292410615, 554625140930138278, 425420266314921049, 1100409250128904939, 88037367507246226, 886917685562055761, 484189764832677705, 1494479114852379083, 856245190962181511, 63808615407432736, 1760858753733414007, 1397402278650583195, 1407199650688570504, 212537499099074009} counter= 10sumtot= 197193402538587539 --------------------------------------- --> Event 0 starts. --> Event 10000 starts. @@ -943,30 +943,30 @@ N=17 V[N]={124270640368694576, 805382113268323920, 1069731235038687364, 68792194 Run terminated. Run Summary Number of events processed : 50000 - User=7.500000s Real=7.629246s Sys=0.000000s + User=7.540000s Real=7.847703s Sys=0.010000s ======================== run summary ====================== The run was 50000 mu+ of 100 GeV through 1 m of Iron (density: 7.87 g/cm3 ) - Total energy deposit in absorber per event = 2.167 GeV +- 15.02 MeV + Total energy deposit in absorber per event = 2.166 GeV +- 14.98 MeV - -----> Mean dE/dx = 21.67 MeV/cm (2.754 MeV*cm2/g) + -----> Mean dE/dx = 21.66 MeV/cm (2.752 MeV*cm2/g) From formulas : restricted dEdx = 11.21 MeV/cm (1.425 MeV*cm2/g) full dEdx = 21.61 MeV/cm (2.746 MeV*cm2/g) - Leakage : primary = 97.83 GeV +- 15.04 MeV secondaries = 0 eV +- 0 eV + Leakage : primary = 97.83 GeV +- 14.99 MeV secondaries = 0 eV +- 0 eV Energy balance : edep + eleak = 100 GeV Total track length (charged) in absorber per event = 100 cm +- 7.917 um Total track length (neutral) in absorber per event = 0 fm +- 0 fm - Number of steps (charged) in absorber per event = 47.59 +- 0.03058 + Number of steps (charged) in absorber per event = 47.58 +- 0.03057 Number of steps (neutral) in absorber per event = 0 +- 0 - Number of secondaries per event : Gammas = 0.04866 electrons = 46.53 positrons = 1.269 + Number of secondaries per event : Gammas = 0.0488 electrons = 46.53 positrons = 1.27 Number of events with the primary particle transmitted = 100 % Number of events with at least 1 particle transmitted (same charge as primary) = 100 % @@ -988,7 +988,7 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={857472656068191321, 804791187577848603, 775115872735030452, 751721792065361295, 688137462046520613, 875545005041593692, 1440037618387741290, 1264690344871567092, 724160688584223628, 1523434541006392367, 1528130702568625287, 1384417610048629732, 1338024612375844771, 1487034497604332030, 1483377706839330603, 1532868456265981, 1883754973884774106} counter= 12sumtot= 364636066452721255 +N=17 V[N]={1677103876344921596, 2145489090854365033, 481303451215822613, 1616489373288118465, 384234704660471306, 839699839614129357, 1492764307969312906, 821359852248163654, 784933776173016720, 1581977921863174715, 1177477298979774340, 2171462053635775432, 513278174562618836, 299019185349657766, 561025169451506329, 147941292274911013, 1054042942077394166} counter= 14sumtot= 1608701246067276590 --------------------------------------- # ================== Deleting memory pools =================== diff --git a/examples/extended/electromagnetic/TestEm5/include/ActionInitialization.hh b/examples/extended/electromagnetic/TestEm5/include/ActionInitialization.hh index 8cb4ed377ed..dec9a6a88cb 100644 --- a/examples/extended/electromagnetic/TestEm5/include/ActionInitialization.hh +++ b/examples/extended/electromagnetic/TestEm5/include/ActionInitialization.hh @@ -41,15 +41,13 @@ class ActionInitialization : public G4VUserActionInitialization { public: ActionInitialization(DetectorConstruction*); - ~ActionInitialization() override = default; + ~ActionInitialization() override = default; void BuildForMaster() const override; void Build() const override; - + private: DetectorConstruction* fDetector = nullptr; }; #endif - - diff --git a/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh index 5f7e68099aa..60c5e1a70e2 100644 --- a/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh @@ -33,10 +33,10 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 -#include "G4VUserDetectorConstruction.hh" +#include "G4Cache.hh" #include "G4LogicalVolume.hh" +#include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "G4Cache.hh" class G4Box; class G4VPhysicalVolume; @@ -50,71 +50,68 @@ class G4GlobalMagFieldMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { -public: - - explicit DetectorConstruction(); - ~DetectorConstruction() override; + public: + explicit DetectorConstruction(); + ~DetectorConstruction() override; - void SetAbsorberMaterial (const G4String&); - void SetAbsorberThickness(G4double); - void SetAbsorberSizeYZ (G4double); + void SetAbsorberMaterial(const G4String&); + void SetAbsorberThickness(G4double); + void SetAbsorberSizeYZ(G4double); - void SetAbsorberXpos(G4double); + void SetAbsorberXpos(G4double); - void SetWorldMaterial(const G4String&); - void SetWorldSizeX (G4double); - void SetWorldSizeYZ (G4double); + void SetWorldMaterial(const G4String&); + void SetWorldSizeX(G4double); + void SetWorldSizeYZ(G4double); - void SetMagField(G4double); + void SetMagField(G4double); - G4VPhysicalVolume* Construct() override; - void ConstructSDandField() override; + G4VPhysicalVolume* Construct() override; + void ConstructSDandField() override; - void PrintGeomParameters(); + void PrintGeomParameters(); - const G4Material* GetAbsorberMaterial() const {return fAbsorberMaterial;}; - G4double GetAbsorberThickness() const {return fAbsorberThickness;}; - G4double GetAbsorberSizeYZ() const {return fAbsorberSizeYZ;}; + const G4Material* GetAbsorberMaterial() const { return fAbsorberMaterial; }; + G4double GetAbsorberThickness() const { return fAbsorberThickness; }; + G4double GetAbsorberSizeYZ() const { return fAbsorberSizeYZ; }; - G4double GetAbsorberXpos() const {return fXposAbs;}; - G4double GetxstartAbs() const {return fXstartAbs;}; - G4double GetxendAbs() const {return fXendAbs;}; + G4double GetAbsorberXpos() const { return fXposAbs; }; + G4double GetxstartAbs() const { return fXstartAbs; }; + G4double GetxendAbs() const { return fXendAbs; }; - const G4Material* GetWorldMaterial() const {return fWorldMaterial;}; - G4double GetWorldSizeX() const {return fWorldSizeX;}; + const G4Material* GetWorldMaterial() const { return fWorldMaterial; }; + G4double GetWorldSizeX() const { return fWorldSizeX; }; - const G4VPhysicalVolume* GetAbsorber() const {return fPhysiAbsorber;}; + const G4VPhysicalVolume* GetAbsorber() const { return fPhysiAbsorber; }; -private: + private: + void DefineMaterials(); + void ComputeGeomParameters(); + void ChangeGeometry(); - void DefineMaterials(); - void ComputeGeomParameters(); - void ChangeGeometry(); + G4Material* fAbsorberMaterial = nullptr; + G4double fAbsorberThickness = 0.; + G4double fAbsorberSizeYZ = 0.; - G4Material* fAbsorberMaterial = nullptr; - G4double fAbsorberThickness = 0.; - G4double fAbsorberSizeYZ = 0.; + G4double fXposAbs = 0.; + G4double fXstartAbs = 0., fXendAbs = 0.; - G4double fXposAbs = 0.; - G4double fXstartAbs = 0., fXendAbs = 0.; + G4Material* fWorldMaterial = nullptr; + G4double fWorldSizeX = 0.; + G4double fWorldSizeYZ = 0.; - G4Material* fWorldMaterial = nullptr; - G4double fWorldSizeX = 0.; - G4double fWorldSizeYZ = 0.; + G4Box* fSolidWorld = nullptr; + G4LogicalVolume* fLogicWorld = nullptr; + G4VPhysicalVolume* fPhysiWorld = nullptr; - G4Box* fSolidWorld = nullptr; - G4LogicalVolume* fLogicWorld = nullptr; - G4VPhysicalVolume* fPhysiWorld = nullptr; + G4Box* fSolidAbsorber = nullptr; + G4LogicalVolume* fLogicAbsorber = nullptr; + G4VPhysicalVolume* fPhysiAbsorber = nullptr; - G4Box* fSolidAbsorber = nullptr; - G4LogicalVolume* fLogicAbsorber = nullptr; - G4VPhysicalVolume* fPhysiAbsorber = nullptr; - - DetectorMessenger* fDetectorMessenger = nullptr; - G4Cache fFieldMessenger = nullptr; + DetectorMessenger* fDetectorMessenger = nullptr; + G4Cache fFieldMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh index 94390cee4c2..3acf0638aee 100644 --- a/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh @@ -45,33 +45,31 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { -public: - DetectorMessenger(DetectorConstruction*); - ~DetectorMessenger() override; - - void SetNewValue(G4UIcommand*, G4String) override; - -private: - DetectorConstruction* fDetector = nullptr; - - G4UIdirectory* fTestemDir = nullptr; - G4UIdirectory* fDetDir = nullptr; + public: + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger() override; - G4UIcmdWithAString* fAbsMaterCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fAbsThickCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fAbsSizYZCmd = nullptr; + void SetNewValue(G4UIcommand*, G4String) override; - G4UIcmdWithADoubleAndUnit* fAbsXposCmd = nullptr; + private: + DetectorConstruction* fDetector = nullptr; - G4UIcmdWithAString* fWorldMaterCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fWorldXCmd = nullptr; - G4UIcmdWithADoubleAndUnit* fWorldYZCmd = nullptr; + G4UIdirectory* fTestemDir = nullptr; + G4UIdirectory* fDetDir = nullptr; + G4UIcmdWithAString* fAbsMaterCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fAbsThickCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fAbsSizYZCmd = nullptr; + + G4UIcmdWithADoubleAndUnit* fAbsXposCmd = nullptr; + + G4UIcmdWithAString* fWorldMaterCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fWorldXCmd = nullptr; + G4UIcmdWithADoubleAndUnit* fWorldYZCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/EventAction.hh b/examples/extended/electromagnetic/TestEm5/include/EventAction.hh index ff9f62dc8d3..c578adf3372 100644 --- a/examples/extended/electromagnetic/TestEm5/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/EventAction.hh @@ -42,36 +42,37 @@ class G4VProcess; class EventAction : public G4UserEventAction { -public: - EventAction() = default; - ~EventAction() override = default; + public: + EventAction() = default; + ~EventAction() override = default; - void BeginOfEventAction(const G4Event*) override; - void EndOfEventAction(const G4Event*) override; - - void AddEnergy (G4double edep) {fEnergyDeposit += edep;}; - void AddTrakLenCharg(G4double length) {fTrakLenCharged += length;}; - void AddTrakLenNeutr(G4double length) {fTrakLenNeutral += length;}; - - void CountStepsCharg () {++fNbStepsCharged;}; - void CountStepsNeutr (const G4VProcess*); - - void SetTransmitFlag (G4int flag) - {if (flag > fTransmitFlag) fTransmitFlag = flag;}; - void SetReflectFlag (G4int flag) - {if (flag > fReflectFlag) fReflectFlag = flag;}; - - -private: - G4double fEnergyDeposit = 0.; - G4double fTrakLenCharged = 0., fTrakLenNeutral = 0.; - G4int fNbStepsCharged = 0, fNbStepsNeutral = 0; - G4int fTransmitFlag = 0, fReflectFlag = 0; - G4int fTypes[4] = {0,0,0,0}; + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; + + void AddEnergy(G4double edep) { fEnergyDeposit += edep; }; + void AddTrakLenCharg(G4double length) { fTrakLenCharged += length; }; + void AddTrakLenNeutr(G4double length) { fTrakLenNeutral += length; }; + + void CountStepsCharg() { ++fNbStepsCharged; }; + void CountStepsNeutr(const G4VProcess*); + + void SetTransmitFlag(G4int flag) + { + if (flag > fTransmitFlag) fTransmitFlag = flag; + }; + void SetReflectFlag(G4int flag) + { + if (flag > fReflectFlag) fReflectFlag = flag; + }; + + private: + G4double fEnergyDeposit = 0.; + G4double fTrakLenCharged = 0., fTrakLenNeutral = 0.; + G4int fNbStepsCharged = 0, fNbStepsNeutral = 0; + G4int fTransmitFlag = 0, fReflectFlag = 0; + G4int fTypes[4] = {0, 0, 0, 0}; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh index 0d5126158fa..3bedc5529a9 100644 --- a/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh @@ -26,15 +26,15 @@ /// \file electromagnetic/TestEm5/include/HistoManager.hh /// \brief Definition of the HistoManager class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef HistoManager_h #define HistoManager_h 1 -#include "globals.hh" #include "G4AnalysisManager.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,7 +42,7 @@ class HistoManager { public: HistoManager(); - ~HistoManager() = default; + ~HistoManager() = default; private: void Book(); @@ -52,4 +52,3 @@ class HistoManager //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh index ce7baa89922..cd3dfd5fad7 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh @@ -40,21 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { -public: - PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard() override = default; - -public: - // This method is dummy for physics - void ConstructParticle() override {}; - - // 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 - void ConstructProcess() override; + public: + PhysListEmStandard(const G4String& name = "standard"); + ~PhysListEmStandard() override = default; + + public: + // This method is dummy for physics + void ConstructParticle() override {}; + + // 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 + void ConstructProcess() override; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh index 3ab042c5736..6fb96f55fe1 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh @@ -41,30 +41,28 @@ class PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { -public: - PhysicsList(); - ~PhysicsList() override; + public: + PhysicsList(); + ~PhysicsList() override; - void ConstructParticle() override; - - void AddPhysicsList(const G4String& name); - - void ConstructProcess() override; - void AddStepMax(); - -private: + void ConstructParticle() override; - PhysicsListMessenger* fMessenger = nullptr; + void AddPhysicsList(const G4String& name); - G4String fEmName = " "; - G4VPhysicsConstructor* fEmPhysicsList = nullptr; - G4VPhysicsConstructor* fDecayPhysics = nullptr; - G4VPhysicsConstructor* fHadPhysicsList = nullptr; + void ConstructProcess() override; + void AddStepMax(); + + private: + PhysicsListMessenger* fMessenger = nullptr; + + G4String fEmName = " "; + G4VPhysicsConstructor* fEmPhysicsList = nullptr; + G4VPhysicsConstructor* fDecayPhysics = nullptr; + G4VPhysicsConstructor* fHadPhysicsList = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh index f3729dc3ec7..1c39fc10d51 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh @@ -42,24 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { -public: - - PhysicsListMessenger(PhysicsList*); - ~PhysicsListMessenger() override; - - void SetNewValue(G4UIcommand*, G4String) override; - -private: - - PhysicsList* fPhysicsList = nullptr; - - G4UIdirectory* fPhysDir = nullptr; - G4UIcmdWithAString* fListCmd = nullptr; + public: + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger() override; + + void SetNewValue(G4UIcommand*, G4String) override; + + private: + PhysicsList* fPhysicsList = nullptr; + + G4UIdirectory* fPhysDir = nullptr; + G4UIcmdWithAString* fListCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh index 8227ec0a428..14872fc1677 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -46,24 +46,23 @@ class PrimaryGeneratorMessenger; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction() override; + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction() override; public: void SetDefaultKinematic(); - void SetRndmBeam(G4double val) {fRndmBeam = val;}; + void SetRndmBeam(G4double val) { fRndmBeam = val; }; void GeneratePrimaries(G4Event*) override; - G4ParticleGun* GetParticleGun() {return fParticleGun;}; + G4ParticleGun* GetParticleGun() { return fParticleGun; }; private: - G4ParticleGun* fParticleGun = nullptr; - DetectorConstruction* fDetector = nullptr; - G4double fRndmBeam = 0.; - + G4ParticleGun* fParticleGun = nullptr; + DetectorConstruction* fDetector = nullptr; + G4double fRndmBeam = 0.; + PrimaryGeneratorMessenger* fGunMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh index 4a664175216..1cc5b528533 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh @@ -43,23 +43,22 @@ class G4UIcmdWithADouble; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger : public G4UImessenger { public: PrimaryGeneratorMessenger(PrimaryGeneratorAction*); - ~PrimaryGeneratorMessenger() override; - + ~PrimaryGeneratorMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - PrimaryGeneratorAction* fAction = nullptr; - - G4UIdirectory* fGunDir = nullptr; - G4UIcmdWithoutParameter* fDefaultCmd = nullptr; - G4UIcmdWithADouble* fRndmCmd = nullptr; + PrimaryGeneratorAction* fAction = nullptr; + + G4UIdirectory* fGunDir = nullptr; + G4UIcmdWithoutParameter* fDefaultCmd = nullptr; + G4UIcmdWithADouble* fRndmCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/Run.hh b/examples/extended/electromagnetic/TestEm5/include/Run.hh index 58cb105c373..d9fb73fb1a0 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Run.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Run.hh @@ -33,12 +33,10 @@ #ifndef Run_h #define Run_h 1 -#include "G4Run.hh" - -#include "G4Gamma.hh" #include "G4Electron.hh" +#include "G4Gamma.hh" #include "G4Positron.hh" - +#include "G4Run.hh" #include "globals.hh" class DetectorConstruction; @@ -48,79 +46,121 @@ class G4ParticleDefinition; class Run : public G4Run { -public: - Run(DetectorConstruction*); - ~Run() override = default; - - void SetPrimary(G4ParticleDefinition* particle, G4double energy); - - void AddEnergy (G4double edep) - {fEnergyDeposit += edep; fEnergyDeposit2 += edep*edep;}; - - void AddTrakLenCharg (G4double length) - {fTrakLenCharged += length; fTrakLenCharged2 += length*length;}; - - void AddTrakLenNeutr (G4double length) - {fTrakLenNeutral += length; fTrakLenNeutral2 += length*length;}; - - void AddMscProjTheta (G4double theta) - { if (std::abs(theta) <= fMscThetaCentral) { fMscEntryCentral++; - fMscProjecTheta += theta; fMscProjecTheta2 += theta*theta;} - }; - - void CountStepsCharg (G4int nSteps) - {fNbStepsCharged += nSteps; fNbStepsCharged2 += nSteps*nSteps;}; - - void CountStepsNeutr (G4int nSteps) - {fNbStepsNeutral += nSteps; fNbStepsNeutral2 += nSteps*nSteps;}; - - void CountParticles (G4ParticleDefinition* part) - { if (part == G4Gamma::Gamma()) ++fNbGamma; - else if (part == G4Electron::Electron()) ++fNbElect; - else if (part == G4Positron::Positron()) ++fNbPosit; }; - - void CountTransmit (G4int flag) - { if (flag == 1) ++fTransmit[0]; - else if (flag == 2) { ++fTransmit[0]; ++fTransmit[1]; }}; - - void CountReflect (G4int flag) - { if (flag == 1) ++fReflect[0]; - else if (flag == 2) { ++fReflect[0]; ++fReflect[1]; }}; - - void AddEnergyLeak (G4double eleak, G4int index) - {fEnergyLeak[index] += eleak; fEnergyLeak2[index] += eleak*eleak;}; - - G4double ComputeMscHighland(); - - void CountGammaProcesses(G4int* type) - { for(G4int i=0; i<4; ++i) { fTypes[i] += type[i]; }} - - void Merge(const G4Run*) override; - - void EndOfRun(); - -private: - DetectorConstruction* fDetector = nullptr; - G4ParticleDefinition* fParticle = nullptr; - G4double fEkin = 0.; - - G4double fEnergyDeposit = 0., fEnergyDeposit2 = 0.; - G4double fTrakLenCharged = 0., fTrakLenCharged2 = 0.; - G4double fTrakLenNeutral = 0., fTrakLenNeutral2 = 0.; - G4double fNbStepsCharged = 0., fNbStepsCharged2 = 0.; - G4double fNbStepsNeutral = 0., fNbStepsNeutral2 = 0.; - G4double fMscProjecTheta = 0., fMscProjecTheta2 = 0.; - G4double fMscThetaCentral = 0.; - - G4int fNbGamma = 0, fNbElect = 0, fNbPosit = 0; - G4int fTransmit[2] = {0,0}, fReflect[2] = {0,0}; - G4int fMscEntryCentral = 0; - G4int fTypes[4] = {0,0,0,0}; - - G4double fEnergyLeak[2] = {0,0}, fEnergyLeak2[2] = {0,0}; + public: + Run(DetectorConstruction*); + ~Run() override = default; + + void SetPrimary(G4ParticleDefinition* particle, G4double energy); + + void AddEnergy(G4double edep) + { + fEnergyDeposit += edep; + fEnergyDeposit2 += edep * edep; + }; + + void AddTrakLenCharg(G4double length) + { + fTrakLenCharged += length; + fTrakLenCharged2 += length * length; + }; + + void AddTrakLenNeutr(G4double length) + { + fTrakLenNeutral += length; + fTrakLenNeutral2 += length * length; + }; + + void AddMscProjTheta(G4double theta) + { + if (std::abs(theta) <= fMscThetaCentral) { + fMscEntryCentral++; + fMscProjecTheta += theta; + fMscProjecTheta2 += theta * theta; + } + }; + + void CountStepsCharg(G4int nSteps) + { + fNbStepsCharged += nSteps; + fNbStepsCharged2 += nSteps * nSteps; + }; + + void CountStepsNeutr(G4int nSteps) + { + fNbStepsNeutral += nSteps; + fNbStepsNeutral2 += nSteps * nSteps; + }; + + void CountParticles(G4ParticleDefinition* part) + { + if (part == G4Gamma::Gamma()) + ++fNbGamma; + else if (part == G4Electron::Electron()) + ++fNbElect; + else if (part == G4Positron::Positron()) + ++fNbPosit; + }; + + void CountTransmit(G4int flag) + { + if (flag == 1) + ++fTransmit[0]; + else if (flag == 2) { + ++fTransmit[0]; + ++fTransmit[1]; + } + }; + + void CountReflect(G4int flag) + { + if (flag == 1) + ++fReflect[0]; + else if (flag == 2) { + ++fReflect[0]; + ++fReflect[1]; + } + }; + + void AddEnergyLeak(G4double eleak, G4int index) + { + fEnergyLeak[index] += eleak; + fEnergyLeak2[index] += eleak * eleak; + }; + + G4double ComputeMscHighland(); + + void CountGammaProcesses(G4int* type) + { + for (G4int i = 0; i < 4; ++i) { + fTypes[i] += type[i]; + } + } + + void Merge(const G4Run*) override; + + void EndOfRun(); + + private: + DetectorConstruction* fDetector = nullptr; + G4ParticleDefinition* fParticle = nullptr; + G4double fEkin = 0.; + + G4double fEnergyDeposit = 0., fEnergyDeposit2 = 0.; + G4double fTrakLenCharged = 0., fTrakLenCharged2 = 0.; + G4double fTrakLenNeutral = 0., fTrakLenNeutral2 = 0.; + G4double fNbStepsCharged = 0., fNbStepsCharged2 = 0.; + G4double fNbStepsNeutral = 0., fNbStepsNeutral2 = 0.; + G4double fMscProjecTheta = 0., fMscProjecTheta2 = 0.; + G4double fMscThetaCentral = 0.; + + G4int fNbGamma = 0, fNbElect = 0, fNbPosit = 0; + G4int fTransmit[2] = {0, 0}, fReflect[2] = {0, 0}; + G4int fMscEntryCentral = 0; + G4int fTypes[4] = {0, 0, 0, 0}; + + G4double fEnergyLeak[2] = {0, 0}, fEnergyLeak2[2] = {0, 0}; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/RunAction.hh b/examples/extended/electromagnetic/TestEm5/include/RunAction.hh index 6425b715f18..ecbfce6107f 100644 --- a/examples/extended/electromagnetic/TestEm5/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/RunAction.hh @@ -47,24 +47,21 @@ class HistoManager; class RunAction : public G4UserRunAction { - -public: - + public: RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim = nullptr); - ~RunAction() override; - + ~RunAction() override; + G4Run* GenerateRun() override; void BeginOfRunAction(const G4Run*) override; - void EndOfRunAction(const G4Run*) override; + void EndOfRunAction(const G4Run*) override; private: - DetectorConstruction* fDetector = nullptr; + DetectorConstruction* fDetector = nullptr; PrimaryGeneratorAction* fPrimary = nullptr; - Run* fRun = nullptr; - HistoManager* fHistoManager = nullptr; + Run* fRun = nullptr; + HistoManager* fHistoManager = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh index 1efbdff4c48..4c965f3d531 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh @@ -45,20 +45,19 @@ class StackingAction : public G4UserStackingAction { public: StackingAction(EventAction*); - ~StackingAction() override; - - void SetKillStatus(G4int value) { fKillSecondary = value;}; - + ~StackingAction() override; + + void SetKillStatus(G4int value) { fKillSecondary = value; }; + G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*) override; private: - EventAction* fEventAction; - - G4bool fKillSecondary = false; - StackingMessenger* fStackMessenger = nullptr; + EventAction* fEventAction; + + G4bool fKillSecondary = false; + StackingMessenger* fStackMessenger = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh index 6e4516efebb..2ae13c17bdd 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh @@ -42,19 +42,19 @@ class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StackingMessenger: public G4UImessenger +class StackingMessenger : public G4UImessenger { public: StackingMessenger(StackingAction*); - ~StackingMessenger() override; - + ~StackingMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: - StackingAction* fStackAction = nullptr; - - G4UIdirectory* fStackDir = nullptr; - G4UIcmdWithAnInteger* fKillCmd = nullptr; + StackingAction* fStackAction = nullptr; + + G4UIdirectory* fStackDir = nullptr; + G4UIcmdWithAnInteger* fKillCmd = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/StepMax.hh b/examples/extended/electromagnetic/TestEm5/include/StepMax.hh index 26ce0c737ac..b94490e66d3 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -45,31 +45,27 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { public: - StepMax(const G4String& processName = "UserMaxStep"); - ~StepMax() override; + ~StepMax() override; G4bool IsApplicable(const G4ParticleDefinition&) override; void SetMaxStep(G4double); - G4double GetMaxStep() {return fMaxChargedStep;}; + G4double GetMaxStep() { return fMaxChargedStep; }; - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) override; + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, G4double previousStepSize, + G4ForceCondition* condition) override; G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override; - G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) override; + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) override; private: - - G4double fMaxChargedStep = DBL_MAX; - StepMaxMessenger* fMess = nullptr; + G4double fMaxChargedStep = DBL_MAX; + StepMaxMessenger* fMess = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh index 6158e14334a..81518725605 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh @@ -33,22 +33,22 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger() override; - + ~StepMaxMessenger() override; + void SetNewValue(G4UIcommand*, G4String) override; - + private: StepMax* fStepMax = nullptr; G4UIcmdWithADoubleAndUnit* fStepMaxCmd = nullptr; diff --git a/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh index 1866eced3f0..13f6836ee8f 100644 --- a/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh @@ -45,14 +45,14 @@ class EventAction; class SteppingAction : public G4UserSteppingAction { public: - SteppingAction(DetectorConstruction*,EventAction*); - ~SteppingAction() override = default; + SteppingAction(DetectorConstruction*, EventAction*); + ~SteppingAction() override = default; - void UserSteppingAction(const G4Step*) override; + void UserSteppingAction(const G4Step*) override; private: DetectorConstruction* fDetector = nullptr; - EventAction* fEventAction = nullptr; + EventAction* fEventAction = nullptr; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh index cc4f8618e24..83f7885b292 100644 --- a/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh @@ -41,19 +41,19 @@ class EventAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { +class TrackingAction : public G4UserTrackingAction +{ + public: + TrackingAction(DetectorConstruction*, EventAction*); + ~TrackingAction() override = default; - public: - TrackingAction(DetectorConstruction*,EventAction*); - ~TrackingAction() override = default; - - void PreUserTrackingAction(const G4Track*) override; + void PreUserTrackingAction(const G4Track*) override; void PostUserTrackingAction(const G4Track*) override; - + private: DetectorConstruction* fDetector = nullptr; - EventAction* fEventAction = nullptr; - + EventAction* fEventAction = nullptr; + G4double fXstartAbs = 0., fXendAbs = 0.; G4double fPrimaryCharge = 0.; G4double fDirX = 0.; diff --git a/examples/extended/electromagnetic/TestEm5/src/ActionInitialization.cc b/examples/extended/electromagnetic/TestEm5/src/ActionInitialization.cc index a2382cf3f85..b19c2416eb0 100644 --- a/examples/extended/electromagnetic/TestEm5/src/ActionInitialization.cc +++ b/examples/extended/electromagnetic/TestEm5/src/ActionInitialization.cc @@ -28,25 +28,24 @@ /// \brief Implementation of the ActionInitialization class #include "ActionInitialization.hh" + #include "DetectorConstruction.hh" +#include "EventAction.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" -#include "TrackingAction.hh" -#include "SteppingAction.hh" #include "StackingAction.hh" +#include "SteppingAction.hh" +#include "TrackingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ActionInitialization::ActionInitialization(DetectorConstruction* det) - : fDetector(det) -{ } +ActionInitialization::ActionInitialization(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ActionInitialization::BuildForMaster() const { - SetUserAction(new RunAction(fDetector)); + SetUserAction(new RunAction(fDetector)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,18 +54,18 @@ void ActionInitialization::Build() const { PrimaryGeneratorAction* primary = new PrimaryGeneratorAction(fDetector); SetUserAction(primary); - - RunAction* runaction = new RunAction(fDetector,primary); - SetUserAction(runaction); - + + RunAction* runaction = new RunAction(fDetector, primary); + SetUserAction(runaction); + EventAction* eventaction = new EventAction(); SetUserAction(eventaction); - SetUserAction(new TrackingAction(fDetector,eventaction)); + SetUserAction(new TrackingAction(fDetector, eventaction)); - SetUserAction(new SteppingAction(fDetector,eventaction)); + SetUserAction(new SteppingAction(fDetector, eventaction)); SetUserAction(new StackingAction(eventaction)); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc index 7117945b224..3a5b512dfca 100644 --- a/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc @@ -31,212 +31,198 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4Material.hh" +#include "G4AutoDelete.hh" #include "G4Box.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" - #include "G4GeometryManager.hh" -#include "G4PhysicalVolumeStore.hh" +#include "G4GlobalMagFieldMessenger.hh" +#include "G4LogicalVolume.hh" #include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" - -#include "G4UnitsTable.hh" +#include "G4Material.hh" #include "G4NistManager.hh" -#include "G4RunManager.hh" - +#include "G4PVPlacement.hh" #include "G4PhysicalConstants.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4RunManager.hh" +#include "G4SolidStore.hh" #include "G4SystemOfUnits.hh" - -#include "G4GlobalMagFieldMessenger.hh" -#include "G4AutoDelete.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() { // default parameter values of the calorimeter - fAbsorberThickness = 1.*cm; - fAbsorberSizeYZ = 2.*cm; - fXposAbs = 0.*cm; + fAbsorberThickness = 1. * cm; + fAbsorberSizeYZ = 2. * cm; + fXposAbs = 0. * cm; ComputeGeomParameters(); - - // materials + + // materials DefineMaterials(); - SetWorldMaterial ("G4_Galactic"); + SetWorldMaterial("G4_Galactic"); SetAbsorberMaterial("G4_Si"); - - // create commands for interactive definition of the calorimeter + + // create commands for interactive definition of the calorimeter fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ +{ delete fDetectorMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorConstruction::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; +{ + // 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 ncomponents, natoms; G4double fractionmass; G4double temperature, pressure; - + // // 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* Na = new G4Element("Sodium", symbol="Na", z=11, a= 22.99*g/mole); - G4Element* Ar = new G4Element("Argon", symbol="Ar", z=18, a= 39.95*g/mole); - G4Element* I = new G4Element("Iodine", symbol="I" , z=53, a= 126.90*g/mole); - G4Element* Xe = new G4Element("Xenon", symbol="Xe", z=54, a= 131.29*g/mole); + 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* Na = new G4Element("Sodium", symbol = "Na", z = 11, a = 22.99 * g / mole); + G4Element* Ar = new G4Element("Argon", symbol = "Ar", z = 18, a = 39.95 * g / mole); + G4Element* I = new G4Element("Iodine", symbol = "I", z = 53, a = 126.90 * g / mole); + G4Element* Xe = new G4Element("Xenon", symbol = "Xe", z = 54, a = 131.29 * g / mole); // // define simple materials // - new G4Material("H2Liq" , z= 1, a= 1.01*g/mole, density= 70.8*mg/cm3); - new G4Material("Beryllium", z= 4, a= 9.01*g/mole, density= 1.848*g/cm3); - new G4Material("Aluminium", z=13, a=26.98*g/mole, density= 2.700*g/cm3); - new G4Material("Silicon" , z=14, a=28.09*g/mole, density= 2.330*g/cm3); + new G4Material("H2Liq", z = 1, a = 1.01 * g / mole, density = 70.8 * mg / cm3); + new G4Material("Beryllium", z = 4, a = 9.01 * g / mole, density = 1.848 * g / cm3); + new G4Material("Aluminium", z = 13, a = 26.98 * g / mole, density = 2.700 * g / cm3); + new G4Material("Silicon", z = 14, a = 28.09 * g / mole, density = 2.330 * g / cm3); - G4Material* lAr = - new G4Material("liquidArgon", density= 1.390*g/cm3, ncomponents=1); - lAr->AddElement(Ar, natoms=1); + G4Material* lAr = new G4Material("liquidArgon", density = 1.390 * g / cm3, ncomponents = 1); + lAr->AddElement(Ar, natoms = 1); - new G4Material("Iron", z=26, a= 55.85*g/mole, density= 7.870*g/cm3); - new G4Material("Copper", z=29, a= 63.55*g/mole, density= 8.960*g/cm3); - new G4Material("Germanium",z=32, a= 72.61*g/mole, density= 5.323*g/cm3); - new G4Material("Silver", z=47, a=107.87*g/mole, density= 10.50*g/cm3); - new G4Material("Tungsten", z=74, a=183.85*g/mole, density= 19.30*g/cm3); - new G4Material("Gold", z=79, a=196.97*g/mole, density= 19.32*g/cm3); - new G4Material("Lead", z=82, a=207.19*g/mole, density= 11.35*g/cm3); + new G4Material("Iron", z = 26, a = 55.85 * g / mole, density = 7.870 * g / cm3); + new G4Material("Copper", z = 29, a = 63.55 * g / mole, density = 8.960 * g / cm3); + new G4Material("Germanium", z = 32, a = 72.61 * g / mole, density = 5.323 * g / cm3); + new G4Material("Silver", z = 47, a = 107.87 * g / mole, density = 10.50 * g / cm3); + new G4Material("Tungsten", z = 74, a = 183.85 * g / mole, density = 19.30 * g / cm3); + new G4Material("Gold", z = 79, a = 196.97 * g / mole, density = 19.32 * 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); - H2O->GetIonisation()->SetMeanExcitationEnergy(78*eV); + G4Material* H2O = new G4Material("Water", density = 1.000 * g / cm3, ncomponents = 2); + H2O->AddElement(H, natoms = 2); + H2O->AddElement(O, natoms = 1); + H2O->GetIonisation()->SetMeanExcitationEnergy(78 * eV); - G4Material* CH = new G4Material("Plastic",density= 1.04*g/cm3,ncomponents=2); - CH->AddElement(C, natoms=1); - CH->AddElement(H, natoms=1); + G4Material* CH = new G4Material("Plastic", density = 1.04 * g / cm3, ncomponents = 2); + CH->AddElement(C, natoms = 1); + CH->AddElement(H, natoms = 1); - G4Material* NaI = new G4Material("NaI", density= 3.67*g/cm3, ncomponents=2); - NaI->AddElement(Na, natoms=1); - NaI->AddElement(I , natoms=1); - NaI->GetIonisation()->SetMeanExcitationEnergy(452*eV); + G4Material* NaI = new G4Material("NaI", density = 3.67 * g / cm3, ncomponents = 2); + NaI->AddElement(Na, natoms = 1); + NaI->AddElement(I, natoms = 1); + NaI->GetIonisation()->SetMeanExcitationEnergy(452 * eV); // // 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); + G4Material* Air = new G4Material("Air", density = 1.290 * mg / cm3, ncomponents = 2); + Air->AddElement(N, fractionmass = 0.7); + Air->AddElement(O, fractionmass = 0.3); - G4Material* Air20 = - new G4Material("Air20", density= 1.205*mg/cm3, ncomponents=2, - kStateGas, 293.*kelvin, 1.*atmosphere); - Air20->AddElement(N, fractionmass=0.7); - Air20->AddElement(O, fractionmass=0.3); + G4Material* Air20 = new G4Material("Air20", density = 1.205 * mg / cm3, ncomponents = 2, + kStateGas, 293. * kelvin, 1. * atmosphere); + Air20->AddElement(N, fractionmass = 0.7); + Air20->AddElement(O, fractionmass = 0.3); - //Graphite + // Graphite // - G4Material* Graphite = - new G4Material("Graphite", density= 1.7*g/cm3, ncomponents=1); - Graphite->AddElement(C, fractionmass=1.); + G4Material* Graphite = new G4Material("Graphite", density = 1.7 * g / cm3, ncomponents = 1); + Graphite->AddElement(C, fractionmass = 1.); - //Havar + // Havar // - G4Element* Cr = new G4Element("Chrome", "Cr", z=24, a= 51.996*g/mole); - G4Element* Fe = new G4Element("Iron" , "Fe", z=26, a= 55.845*g/mole); - G4Element* Co = new G4Element("Cobalt", "Co", z=27, a= 58.933*g/mole); - G4Element* Ni = new G4Element("Nickel", "Ni", z=28, a= 58.693*g/mole); - G4Element* W = new G4Element("Tungsten","W", z=74, a= 183.850*g/mole); - - G4Material* Havar = - new G4Material("Havar", density= 8.3*g/cm3, ncomponents=5); - Havar->AddElement(Cr, fractionmass=0.1785); - Havar->AddElement(Fe, fractionmass=0.1822); - Havar->AddElement(Co, fractionmass=0.4452); - Havar->AddElement(Ni, fractionmass=0.1310); - Havar->AddElement(W , fractionmass=0.0631); + G4Element* Cr = new G4Element("Chrome", "Cr", z = 24, a = 51.996 * g / mole); + G4Element* Fe = new G4Element("Iron", "Fe", z = 26, a = 55.845 * g / mole); + G4Element* Co = new G4Element("Cobalt", "Co", z = 27, a = 58.933 * g / mole); + G4Element* Ni = new G4Element("Nickel", "Ni", z = 28, a = 58.693 * g / mole); + G4Element* W = new G4Element("Tungsten", "W", z = 74, a = 183.850 * g / mole); + + G4Material* Havar = new G4Material("Havar", density = 8.3 * g / cm3, ncomponents = 5); + Havar->AddElement(Cr, fractionmass = 0.1785); + Havar->AddElement(Fe, fractionmass = 0.1822); + Havar->AddElement(Co, fractionmass = 0.4452); + Havar->AddElement(Ni, fractionmass = 0.1310); + Havar->AddElement(W, fractionmass = 0.0631); // // examples of gas - // - new G4Material("ArgonGas", z=18, a=39.948*g/mole, density= 1.782*mg/cm3, - kStateGas, 273.15*kelvin, 1*atmosphere); - - new G4Material("XenonGas", z=54, a=131.29*g/mole, density= 5.458*mg/cm3, - kStateGas, 293.15*kelvin, 1*atmosphere); - - G4Material* CO2 = - new G4Material("CarbonicGas", density= 1.977*mg/cm3, ncomponents=2); - CO2->AddElement(C, natoms=1); - CO2->AddElement(O, natoms=2); - - G4Material* ArCO2 = - new G4Material("ArgonCO2", density= 1.8223*mg/cm3, ncomponents=2); - ArCO2->AddElement (Ar, fractionmass=0.7844); - ArCO2->AddMaterial(CO2, fractionmass=0.2156); - - //another way to define mixture of gas per volume + // + new G4Material("ArgonGas", z = 18, a = 39.948 * g / mole, density = 1.782 * mg / cm3, kStateGas, + 273.15 * kelvin, 1 * atmosphere); + + new G4Material("XenonGas", z = 54, a = 131.29 * g / mole, density = 5.458 * mg / cm3, kStateGas, + 293.15 * kelvin, 1 * atmosphere); + + G4Material* CO2 = new G4Material("CarbonicGas", density = 1.977 * mg / cm3, ncomponents = 2); + CO2->AddElement(C, natoms = 1); + CO2->AddElement(O, natoms = 2); + + G4Material* ArCO2 = new G4Material("ArgonCO2", density = 1.8223 * mg / cm3, ncomponents = 2); + ArCO2->AddElement(Ar, fractionmass = 0.7844); + ArCO2->AddMaterial(CO2, fractionmass = 0.2156); + + // another way to define mixture of gas per volume G4Material* NewArCO2 = - new G4Material("NewArgonCO2", density= 1.8223*mg/cm3, ncomponents=3); - NewArCO2->AddElement (Ar, natoms=8); - NewArCO2->AddElement (C, natoms=2); - NewArCO2->AddElement (O, natoms=4); - - G4Material* ArCH4 = - new G4Material("ArgonCH4", density= 1.709*mg/cm3, ncomponents=3); - ArCH4->AddElement (Ar, natoms=93); - ArCH4->AddElement (C, natoms=7); - ArCH4->AddElement (H, natoms=28); - - G4Material* XeCH = - new G4Material("XenonMethanePropane", density= 4.9196*mg/cm3, ncomponents=3, - kStateGas, 293.15*kelvin, 1*atmosphere); - XeCH->AddElement (Xe, natoms=875); - XeCH->AddElement (C, natoms=225); - XeCH->AddElement (H, natoms=700); - - G4Material* steam = - new G4Material("WaterSteam", density= 1.0*mg/cm3, ncomponents=1); - steam->AddMaterial(H2O, fractionmass=1.); - steam->GetIonisation()->SetMeanExcitationEnergy(71.6*eV); - - G4Material* rock1 = new G4Material("StandardRock", - 2.65*CLHEP::g/CLHEP::cm3, 1, kStateSolid); + new G4Material("NewArgonCO2", density = 1.8223 * mg / cm3, ncomponents = 3); + NewArCO2->AddElement(Ar, natoms = 8); + NewArCO2->AddElement(C, natoms = 2); + NewArCO2->AddElement(O, natoms = 4); + + G4Material* ArCH4 = new G4Material("ArgonCH4", density = 1.709 * mg / cm3, ncomponents = 3); + ArCH4->AddElement(Ar, natoms = 93); + ArCH4->AddElement(C, natoms = 7); + ArCH4->AddElement(H, natoms = 28); + + G4Material* XeCH = new G4Material("XenonMethanePropane", density = 4.9196 * mg / cm3, + ncomponents = 3, kStateGas, 293.15 * kelvin, 1 * atmosphere); + XeCH->AddElement(Xe, natoms = 875); + XeCH->AddElement(C, natoms = 225); + XeCH->AddElement(H, natoms = 700); + + G4Material* steam = new G4Material("WaterSteam", density = 1.0 * mg / cm3, ncomponents = 1); + steam->AddMaterial(H2O, fractionmass = 1.); + steam->GetIonisation()->SetMeanExcitationEnergy(71.6 * eV); + + G4Material* rock1 = new G4Material("StandardRock", 2.65 * CLHEP::g / CLHEP::cm3, 1, kStateSolid); rock1->AddElement(Na, 1); // // example of vacuum // - density = universe_mean_density; //from PhysicalConstants.h - pressure = 3.e-18*pascal; - temperature = 2.73*kelvin; - new G4Material("Galactic", z=1, a=1.01*g/mole,density, - kStateGas,temperature,pressure); + density = universe_mean_density; // from PhysicalConstants.h + pressure = 3.e-18 * pascal; + temperature = 2.73 * kelvin; + new G4Material("Galactic", z = 1, a = 1.01 * g / mole, density, kStateGas, temperature, pressure); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -244,57 +230,61 @@ void DetectorConstruction::DefineMaterials() void DetectorConstruction::ComputeGeomParameters() { // Compute derived parameters of the calorimeter - fXstartAbs = fXposAbs-0.5*fAbsorberThickness; - fXendAbs = fXposAbs+0.5*fAbsorberThickness; + fXstartAbs = fXposAbs - 0.5 * fAbsorberThickness; + fXendAbs = fXposAbs + 0.5 * fAbsorberThickness; G4double xmax = std::max(std::abs(fXstartAbs), std::abs(fXendAbs)); - fWorldSizeX = 2.4*xmax; - fWorldSizeYZ= 1.2*fAbsorberSizeYZ; - if(nullptr != fPhysiWorld) { ChangeGeometry(); } + fWorldSizeX = 2.4 * xmax; + fWorldSizeYZ = 1.2 * fAbsorberSizeYZ; + if (nullptr != fPhysiWorld) { + ChangeGeometry(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VPhysicalVolume* DetectorConstruction::Construct() -{ - if(nullptr != fPhysiWorld) { return fPhysiWorld; } +{ + if (nullptr != fPhysiWorld) { + return fPhysiWorld; + } // World // - fSolidWorld = new G4Box("World", //its name - fWorldSizeX/2,fWorldSizeYZ/2,fWorldSizeYZ/2); //its size - - fLogicWorld = new G4LogicalVolume(fSolidWorld, //its solid - fWorldMaterial, //its material - "World"); //its name - - fPhysiWorld = new G4PVPlacement(0, //no rotation - G4ThreeVector(0.,0.,0.), //at (0,0,0) - fLogicWorld, //its logical volume - "World", //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - + fSolidWorld = new G4Box("World", // its name + fWorldSizeX / 2, fWorldSizeYZ / 2, fWorldSizeYZ / 2); // its size + + fLogicWorld = new G4LogicalVolume(fSolidWorld, // its solid + fWorldMaterial, // its material + "World"); // its name + + fPhysiWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(0., 0., 0.), // at (0,0,0) + fLogicWorld, // its logical volume + "World", // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + // Absorber - // - fSolidAbsorber = new G4Box("Absorber", - fAbsorberThickness/2,fAbsorberSizeYZ/2,fAbsorberSizeYZ/2); - - fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, //its solid - fAbsorberMaterial, //its material - "Absorber"); //its name - - fPhysiAbsorber = new G4PVPlacement(0, //no rotation - G4ThreeVector(fXposAbs,0.,0.), //its position - fLogicAbsorber, //its logical volume - "Absorber", //its name - fLogicWorld, //its mother - false, //no boulean operat - 0); //copy number - - PrintGeomParameters(); - - //always return the physical World + // + fSolidAbsorber = + new G4Box("Absorber", fAbsorberThickness / 2, fAbsorberSizeYZ / 2, fAbsorberSizeYZ / 2); + + fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, // its solid + fAbsorberMaterial, // its material + "Absorber"); // its name + + fPhysiAbsorber = new G4PVPlacement(0, // no rotation + G4ThreeVector(fXposAbs, 0., 0.), // its position + fLogicAbsorber, // its logical volume + "Absorber", // its name + fLogicWorld, // its mother + false, // no boulean operat + 0); // copy number + + PrintGeomParameters(); + + // always return the physical World // return fPhysiWorld; } @@ -303,20 +293,17 @@ G4VPhysicalVolume* DetectorConstruction::Construct() void DetectorConstruction::PrintGeomParameters() { - G4cout << "\n" << fWorldMaterial << G4endl; + G4cout << "\n" << fWorldMaterial << G4endl; G4cout << "\n" << fAbsorberMaterial << G4endl; - - G4cout << "\n The WORLD is made of " << G4BestUnit(fWorldSizeX,"Length") - << " of " << fWorldMaterial->GetName(); - G4cout << ". The transverse size (YZ) of the world is " - << G4BestUnit(fWorldSizeYZ,"Length") << G4endl; - G4cout << " The ABSORBER is made of " - <GetName(); - G4cout << ". The transverse size (YZ) is " - << G4BestUnit(fAbsorberSizeYZ,"Length") << G4endl; - G4cout << " X position of the middle of the absorber " - << G4BestUnit(fXposAbs,"Length"); + + G4cout << "\n The WORLD is made of " << G4BestUnit(fWorldSizeX, "Length") << " of " + << fWorldMaterial->GetName(); + G4cout << ". The transverse size (YZ) of the world is " << G4BestUnit(fWorldSizeYZ, "Length") + << G4endl; + G4cout << " The ABSORBER is made of " << G4BestUnit(fAbsorberThickness, "Length") << " of " + << fAbsorberMaterial->GetName(); + G4cout << ". The transverse size (YZ) is " << G4BestUnit(fAbsorberSizeYZ, "Length") << G4endl; + G4cout << " X position of the middle of the absorber " << G4BestUnit(fXposAbs, "Length"); G4cout << G4endl; } @@ -325,12 +312,13 @@ void DetectorConstruction::PrintGeomParameters() void DetectorConstruction::SetAbsorberMaterial(const G4String& materialChoice) { // search the material by its name - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); if (pttoMaterial && fAbsorberMaterial != pttoMaterial) { - fAbsorberMaterial = pttoMaterial; - if(fLogicAbsorber) { fLogicAbsorber->SetMaterial(fAbsorberMaterial); } + fAbsorberMaterial = pttoMaterial; + if (fLogicAbsorber) { + fLogicAbsorber->SetMaterial(fAbsorberMaterial); + } G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } } @@ -340,16 +328,17 @@ void DetectorConstruction::SetAbsorberMaterial(const G4String& materialChoice) void DetectorConstruction::SetWorldMaterial(const G4String& materialChoice) { // search the material by its name - G4Material* pttoMaterial = - G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + G4Material* pttoMaterial = G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); if (pttoMaterial && fWorldMaterial != pttoMaterial) { - fWorldMaterial = pttoMaterial; - if(fLogicWorld) { fLogicWorld->SetMaterial(fWorldMaterial); } + fWorldMaterial = pttoMaterial; + if (fLogicWorld) { + fLogicWorld->SetMaterial(fWorldMaterial); + } G4RunManager::GetRunManager()->PhysicsHasBeenModified(); } } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorConstruction::SetAbsorberThickness(G4double val) @@ -388,22 +377,21 @@ void DetectorConstruction::SetAbsorberXpos(G4double val) { fXposAbs = val; ComputeGeomParameters(); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... void DetectorConstruction::ConstructSDandField() { - if ( fFieldMessenger.Get() == 0 ) { + if (fFieldMessenger.Get() == 0) { // Create global magnetic field messenger. // Uniform magnetic field is then created automatically if // the field value is not zero. G4ThreeVector fieldValue = G4ThreeVector(); - G4GlobalMagFieldMessenger* msg = - new G4GlobalMagFieldMessenger(fieldValue); - //msg->SetVerboseLevel(1); + G4GlobalMagFieldMessenger* msg = new G4GlobalMagFieldMessenger(fieldValue); + // msg->SetVerboseLevel(1); G4AutoDelete::Register(msg); - fFieldMessenger.Put( msg ); + fFieldMessenger.Put(msg); } } @@ -411,14 +399,13 @@ void DetectorConstruction::ConstructSDandField() void DetectorConstruction::ChangeGeometry() { - fSolidWorld->SetXHalfLength(fWorldSizeX*0.5); - fSolidWorld->SetYHalfLength(fWorldSizeYZ*0.5); - fSolidWorld->SetZHalfLength(fWorldSizeYZ*0.5); + fSolidWorld->SetXHalfLength(fWorldSizeX * 0.5); + fSolidWorld->SetYHalfLength(fWorldSizeYZ * 0.5); + fSolidWorld->SetZHalfLength(fWorldSizeYZ * 0.5); - fSolidAbsorber->SetXHalfLength(fAbsorberThickness*0.5); - fSolidAbsorber->SetYHalfLength(fAbsorberSizeYZ*0.5); - fSolidAbsorber->SetZHalfLength(fAbsorberSizeYZ*0.5); + fSolidAbsorber->SetXHalfLength(fAbsorberThickness * 0.5); + fSolidAbsorber->SetYHalfLength(fAbsorberSizeYZ * 0.5); + fSolidAbsorber->SetZHalfLength(fAbsorberSizeYZ * 0.5); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc index cea88f96db1..88c623e411a 100644 --- a/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc @@ -33,116 +33,121 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" + +#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:fDetector(Det) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) : fDetector(Det) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance("UI commands specific to this example."); - + fDetDir = new G4UIdirectory("/testem/det/", false); fDetDir->SetGuidance("detector construction commands"); - - fAbsMaterCmd = new G4UIcmdWithAString("/testem/det/setAbsMat",this); + + fAbsMaterCmd = new G4UIcmdWithAString("/testem/det/setAbsMat", this); fAbsMaterCmd->SetGuidance("Select Material of the Absorber."); - fAbsMaterCmd->SetParameterName("choice",false); - fAbsMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsMaterCmd->SetParameterName("choice", false); + fAbsMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fAbsMaterCmd->SetToBeBroadcasted(false); - - fWorldMaterCmd = new G4UIcmdWithAString("/testem/det/setWorldMat",this); + + fWorldMaterCmd = new G4UIcmdWithAString("/testem/det/setWorldMat", this); fWorldMaterCmd->SetGuidance("Select Material of the World."); - fWorldMaterCmd->SetParameterName("wchoice",false); - fWorldMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fWorldMaterCmd->SetParameterName("wchoice", false); + fWorldMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fWorldMaterCmd->SetToBeBroadcasted(false); - - fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsThick",this); + + fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsThick", this); fAbsThickCmd->SetGuidance("Set Thickness of the Absorber"); - fAbsThickCmd->SetParameterName("SizeZ",false); + fAbsThickCmd->SetParameterName("SizeZ", false); fAbsThickCmd->SetRange("SizeZ>0."); - fAbsThickCmd->SetUnitCategory("Length"); - fAbsThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsThickCmd->SetUnitCategory("Length"); + fAbsThickCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fAbsThickCmd->SetToBeBroadcasted(false); - - fAbsSizYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsYZ",this); + + fAbsSizYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsYZ", this); fAbsSizYZCmd->SetGuidance("Set sizeYZ of the Absorber"); - fAbsSizYZCmd->SetParameterName("SizeYZ",false); + fAbsSizYZCmd->SetParameterName("SizeYZ", false); fAbsSizYZCmd->SetRange("SizeYZ>0."); fAbsSizYZCmd->SetUnitCategory("Length"); - fAbsSizYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAbsSizYZCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fAbsSizYZCmd->SetToBeBroadcasted(false); - - fAbsXposCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsXpos",this); + + fAbsXposCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsXpos", this); fAbsXposCmd->SetGuidance("Set X pos. of the Absorber"); - fAbsXposCmd->SetParameterName("Xpos",false); + fAbsXposCmd->SetParameterName("Xpos", false); fAbsXposCmd->SetUnitCategory("Length"); fAbsXposCmd->AvailableForStates(G4State_PreInit); fAbsXposCmd->SetToBeBroadcasted(false); - - fWorldXCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setWorldX",this); + + fWorldXCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setWorldX", this); fWorldXCmd->SetGuidance("Set X size of the World"); - fWorldXCmd->SetParameterName("WSizeX",false); + fWorldXCmd->SetParameterName("WSizeX", false); fWorldXCmd->SetRange("WSizeX>0."); fWorldXCmd->SetUnitCategory("Length"); - fWorldXCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fWorldXCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fWorldXCmd->SetToBeBroadcasted(false); - - fWorldYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setWorldYZ",this); + + fWorldYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setWorldYZ", this); fWorldYZCmd->SetGuidance("Set sizeYZ of the World"); - fWorldYZCmd->SetParameterName("WSizeYZ",false); + fWorldYZCmd->SetParameterName("WSizeYZ", false); fWorldYZCmd->SetRange("WSizeYZ>0."); fWorldYZCmd->SetUnitCategory("Length"); - fWorldYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fWorldYZCmd->AvailableForStates(G4State_PreInit, G4State_Idle); fWorldYZCmd->SetToBeBroadcasted(false); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorMessenger::~DetectorMessenger() { - delete fAbsMaterCmd; - delete fAbsThickCmd; - delete fAbsSizYZCmd; - delete fAbsXposCmd; + delete fAbsMaterCmd; + delete fAbsThickCmd; + delete fAbsSizYZCmd; + delete fAbsXposCmd; delete fWorldMaterCmd; delete fWorldXCmd; delete fWorldYZCmd; - delete fDetDir; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if ( command == fAbsMaterCmd ) - {fDetector->SetAbsorberMaterial(newValue);} - - if ( command == fWorldMaterCmd ) - {fDetector->SetWorldMaterial(newValue);} - - if ( command == fAbsThickCmd ) - {fDetector->SetAbsorberThickness(fAbsThickCmd->GetNewDoubleValue(newValue));} - - if ( command == fAbsSizYZCmd ) - {fDetector->SetAbsorberSizeYZ(fAbsSizYZCmd->GetNewDoubleValue(newValue));} - - if ( command == fAbsXposCmd ) - {fDetector->SetAbsorberXpos(fAbsXposCmd->GetNewDoubleValue(newValue));} - - if ( command == fWorldXCmd ) - {fDetector->SetWorldSizeX(fWorldXCmd->GetNewDoubleValue(newValue));} - - if ( command == fWorldYZCmd ) - {fDetector->SetWorldSizeYZ(fWorldYZCmd->GetNewDoubleValue(newValue));} - +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fAbsMaterCmd) { + fDetector->SetAbsorberMaterial(newValue); + } + + if (command == fWorldMaterCmd) { + fDetector->SetWorldMaterial(newValue); + } + + if (command == fAbsThickCmd) { + fDetector->SetAbsorberThickness(fAbsThickCmd->GetNewDoubleValue(newValue)); + } + + if (command == fAbsSizYZCmd) { + fDetector->SetAbsorberSizeYZ(fAbsSizYZCmd->GetNewDoubleValue(newValue)); + } + + if (command == fAbsXposCmd) { + fDetector->SetAbsorberXpos(fAbsXposCmd->GetNewDoubleValue(newValue)); + } + + if (command == fWorldXCmd) { + fDetector->SetWorldSizeX(fWorldXCmd->GetNewDoubleValue(newValue)); + } + + if (command == fWorldYZCmd) { + fDetector->SetWorldSizeYZ(fWorldYZCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/EventAction.cc b/examples/extended/electromagnetic/TestEm5/src/EventAction.cc index d2ceb318690..deb00899886 100644 --- a/examples/extended/electromagnetic/TestEm5/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/EventAction.cc @@ -32,20 +32,20 @@ #include "EventAction.hh" -#include "Run.hh" #include "HistoManager.hh" +#include "Run.hh" -#include "G4RunManager.hh" #include "G4Event.hh" +#include "G4RunManager.hh" #include "G4VProcess.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::BeginOfEventAction(const G4Event* ) +void EventAction::BeginOfEventAction(const G4Event*) { // initialisation per event - fEnergyDeposit = fTrakLenCharged = fTrakLenNeutral = 0.; - fNbStepsCharged = fNbStepsNeutral = fTransmitFlag = fReflectFlag = 0; + fEnergyDeposit = fTrakLenCharged = fTrakLenNeutral = 0.; + fNbStepsCharged = fNbStepsNeutral = fTransmitFlag = fReflectFlag = 0; fTypes[0] = fTypes[1] = fTypes[2] = fTypes[3] = 0; } @@ -53,22 +53,20 @@ void EventAction::BeginOfEventAction(const G4Event* ) void EventAction::EndOfEventAction(const G4Event*) { - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); - - run->AddEnergy(fEnergyDeposit); - run->AddTrakLenCharg(fTrakLenCharged); - run->AddTrakLenNeutr(fTrakLenNeutral); + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + run->AddEnergy(fEnergyDeposit); + run->AddTrakLenCharg(fTrakLenCharged); + run->AddTrakLenNeutr(fTrakLenNeutral); - run->CountStepsCharg(fNbStepsCharged); - run->CountStepsNeutr(fNbStepsNeutral); + run->CountStepsCharg(fNbStepsCharged); + run->CountStepsNeutr(fNbStepsNeutral); - run->CountTransmit(fTransmitFlag); - run->CountReflect(fReflectFlag); - run->CountGammaProcesses(fTypes); + run->CountTransmit(fTransmitFlag); + run->CountReflect(fReflectFlag); + run->CountGammaProcesses(fTypes); - if (fEnergyDeposit > 0.) - G4AnalysisManager::Instance()->FillH1(1,fEnergyDeposit); + if (fEnergyDeposit > 0.) G4AnalysisManager::Instance()->FillH1(1, fEnergyDeposit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -76,14 +74,21 @@ void EventAction::EndOfEventAction(const G4Event*) void EventAction::CountStepsNeutr(const G4VProcess* ptr) { ++fNbStepsNeutral; - if(nullptr != ptr) { + if (nullptr != ptr) { G4int type = ptr->GetProcessSubType(); - if(type == 11) { ++fTypes[3]; } - else if(type == 12) { ++fTypes[0]; } - else if(type == 13) { ++fTypes[1]; } - else if(type == 14) { ++fTypes[2]; } + if (type == 11) { + ++fTypes[3]; + } + else if (type == 12) { + ++fTypes[0]; + } + else if (type == 13) { + ++fTypes[1]; + } + else if (type == 14) { + ++fTypes[2]; + } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc index 7e72ffda65a..a0daff73830 100644 --- a/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc @@ -26,11 +26,12 @@ /// \file electromagnetic/TestEm5/src/HistoManager.cc /// \brief Implementation of the HistoManager class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "HistoManager.hh" + #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,82 +52,90 @@ void HistoManager::Book() analysisManager->SetDefaultFileType("root"); analysisManager->SetFileName(fFileName); analysisManager->SetVerboseLevel(1); - analysisManager->SetActivation(true); // enable inactivation of histograms + analysisManager->SetActivation(true); // enable inactivation of histograms // Define histograms start values const G4int kMaxHisto = 62; - const G4String id[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", - "10","11","12","13","14","15","16","17","18","19", - "20","21","22","23","24","25","26","27","28","29", - "30","31","32","33","34","35","36","37","38","39", - "40","41","42","43","44","45","46","47","48","49", - "50","51","52","53","54","55","56","57","58","59", - "60","61" - }; - - const G4String title[] = - { "dummy", //0 - "energy deposit in absorber: dN/dE", //1 - "energy of charged secondaries at creation", //2 - "energy of neutral secondaries at creation", //3 - "energy of charged at creation (log scale)", //4 - "energy of neutral at creation (log scale)", //5 - "x_vertex of charged secondaries (all)", //6 - "x_vertex of charged secondaries (not absorbed)", //7 - "dummy","dummy", //8-9 - "(transmit, charged) : kinetic energy at exit: dN/dE", //10 - "(transmit, charged) : ener fluence: dE(MeV)/dOmega", //11 - "(transmit, charged) : space angle: dN/dOmega", //12 - "(transmit, charged) : projected angle at exit", //13 - "(transmit, charged) : projected position at exit", //14 - "(transmit, charged) : radius at exit", //15 - "dummy", //16 - "dummy", //17 - "dummy", //18 - "dummy", //19 - "(transmit, neutral) : kinetic energy at exit", //20 - "(transmit, neutral) : ener fluence: dE(MeV)/dOmega", //21 - "(transmit, neutral) : space angle: dN/dOmega", //22 - "(transmit, neutral) : projected angle at exit", //23 - "dummy","dummy","dummy","dummy","dummy","dummy", //24-29 - "(reflect , charged) : kinetic energy at exit", //30 - "(reflect , charged) : ener fluence: dE(MeV)/dOmega", //31 - "(reflect , charged) : space angle: dN/dOmega", //32 - "(reflect , charged) : projected angle at exit", //33 - "dummy","dummy","dummy","dummy","dummy","dummy", //34-39 - "(reflect , neutral) : kinetic energy at exit", //40 - "(reflect , neutral) : ener fluence: dE(MeV)/dOmega", //41 - "(reflect , neutral) : space angle: dN/dOmega", //42 - "(reflect , neutral) : projected angle at exit", //43 - "dummy", //44 - "dummy", //45 - "dummy", //46 - "dummy", //47 - "dummy", //48 - "dummy", //49 - "energy of Auger e- at creation", //50 - "energy of fluorescence gamma at creation", //51 - "energy of Auger e- at creation (log scale)", //52 - "energy of fluorescence gamma at creation (log scale)", //53 - "energy of PIXE Auger e- at creation", //54 - "energy of PIXE gamma at creation", //55 - "energy of PIXE Auger e- at creation (log scale)", //56 - "energy of PIXE gamma at creation (log scale)", //57 - "energy of DNA Auger e- at creation", //58 - "energy of DNA gamma at creation", //59 - "energy of DNA Auger e- at creation (log scale)", //60 - "energy of DNA gamma at creation (log scale)" //61 - }; + const G4String id[] = { + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", + "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", + "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", + "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61"}; + + const G4String title[] = { + "dummy", // 0 + "energy deposit in absorber: dN/dE", // 1 + "energy of charged secondaries at creation", // 2 + "energy of neutral secondaries at creation", // 3 + "energy of charged at creation (log scale)", // 4 + "energy of neutral at creation (log scale)", // 5 + "x_vertex of charged secondaries (all)", // 6 + "x_vertex of charged secondaries (not absorbed)", // 7 + "dummy", + "dummy", // 8-9 + "(transmit, charged) : kinetic energy at exit: dN/dE", // 10 + "(transmit, charged) : ener fluence: dE(MeV)/dOmega", // 11 + "(transmit, charged) : space angle: dN/dOmega", // 12 + "(transmit, charged) : projected angle at exit", // 13 + "(transmit, charged) : projected position at exit", // 14 + "(transmit, charged) : radius at exit", // 15 + "dummy", // 16 + "dummy", // 17 + "dummy", // 18 + "dummy", // 19 + "(transmit, neutral) : kinetic energy at exit", // 20 + "(transmit, neutral) : ener fluence: dE(MeV)/dOmega", // 21 + "(transmit, neutral) : space angle: dN/dOmega", // 22 + "(transmit, neutral) : projected angle at exit", // 23 + "dummy", + "dummy", + "dummy", + "dummy", + "dummy", + "dummy", // 24-29 + "(reflect , charged) : kinetic energy at exit", // 30 + "(reflect , charged) : ener fluence: dE(MeV)/dOmega", // 31 + "(reflect , charged) : space angle: dN/dOmega", // 32 + "(reflect , charged) : projected angle at exit", // 33 + "dummy", + "dummy", + "dummy", + "dummy", + "dummy", + "dummy", // 34-39 + "(reflect , neutral) : kinetic energy at exit", // 40 + "(reflect , neutral) : ener fluence: dE(MeV)/dOmega", // 41 + "(reflect , neutral) : space angle: dN/dOmega", // 42 + "(reflect , neutral) : projected angle at exit", // 43 + "dummy", // 44 + "dummy", // 45 + "dummy", // 46 + "dummy", // 47 + "dummy", // 48 + "dummy", // 49 + "energy of Auger e- at creation", // 50 + "energy of fluorescence gamma at creation", // 51 + "energy of Auger e- at creation (log scale)", // 52 + "energy of fluorescence gamma at creation (log scale)", // 53 + "energy of PIXE Auger e- at creation", // 54 + "energy of PIXE gamma at creation", // 55 + "energy of PIXE Auger e- at creation (log scale)", // 56 + "energy of PIXE gamma at creation (log scale)", // 57 + "energy of DNA Auger e- at creation", // 58 + "energy of DNA gamma at creation", // 59 + "energy of DNA Auger e- at creation (log scale)", // 60 + "energy of DNA gamma at creation (log scale)" // 61 + }; - // Default values (to be reset via /analysis/h1/set command) + // Default values (to be reset via /analysis/h1/set command) G4int nbins = 100; G4double vmin = 0.; G4double vmax = 100.; - // Create all histograms as inactivated + // Create all histograms as inactivated // as we have not yet set nbins, vmin, vmax - for (G4int k=0; kCreateH1("h"+id[k], title[k], nbins,vmin,vmax); + for (G4int k = 0; k < kMaxHisto; k++) { + G4int ih = analysisManager->CreateH1("h" + id[k], title[k], nbins, vmin, vmax); analysisManager->SetH1Activation(ih, false); } } diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc index c45e948e11f..582d8b6c190 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc @@ -28,67 +28,59 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PhysicsListHelper.hh" +#include "G4BuilderType.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4RayleighScattering.hh" +#include "G4IonParametrisedLossModel.hh" #include "G4KleinNishinaModel.hh" #include "G4LivermorePhotoElectricModel.hh" - -#include "G4eMultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuMultipleScattering.hh" -#include "G4MuIonisation.hh" +#include "G4LossTableManager.hh" +#include "G4MscStepLimitType.hh" #include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuPairProduction.hh" - -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" +#include "G4NuclearStopping.hh" +#include "G4ParticleDefinition.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PhysicsListHelper.hh" +#include "G4ProcessManager.hh" +#include "G4RayleighScattering.hh" +#include "G4SystemOfUnits.hh" +#include "G4UAtomicDeexcitation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4eplusAnnihilation.hh" #include "G4hBremsstrahlung.hh" +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" #include "G4hPairProduction.hh" - #include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" -#include "G4NuclearStopping.hh" - -#include "G4MscStepLimitType.hh" - -#include "G4LossTableManager.hh" -#include "G4UAtomicDeexcitation.hh" - -#include "G4BuilderType.hh" -#include "G4SystemOfUnits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysListEmStandard::PhysListEmStandard(const G4String& name) - : G4VPhysicsConstructor(name) +PhysListEmStandard::PhysListEmStandard(const G4String& name) : G4VPhysicsConstructor(name) { - G4EmParameters* param = G4EmParameters::Instance(); - param->SetDefaults(); - param->SetVerbose(0); - param->SetMinEnergy(10*eV); - param->SetMaxEnergy(10*TeV); - param->SetNumberOfBinsPerDecade(10); - param->SetStepFunction(0.1, 100*um); - param->SetStepFunctionMuHad(0.1, 50*um); - param->SetStepFunctionLightIons(0.1, 20*um); - param->SetStepFunctionIons(0.1, 1*um); - param->SetMscStepLimitType(fUseDistanceToBoundary); - param->SetDeexcitationIgnoreCut(true); - SetPhysicsType(bElectromagnetic); + G4EmParameters* param = G4EmParameters::Instance(); + param->SetDefaults(); + param->SetVerbose(0); + param->SetMinEnergy(10 * eV); + param->SetMaxEnergy(10 * TeV); + param->SetNumberOfBinsPerDecade(10); + param->SetStepFunction(0.1, 100 * um); + param->SetStepFunctionMuHad(0.1, 50 * um); + param->SetStepFunctionLightIons(0.1, 20 * um); + param->SetStepFunctionIons(0.1, 1 * um); + param->SetMscStepLimitType(fUseDistanceToBoundary); + param->SetDeexcitationIgnoreCut(true); + SetPhysicsType(bElectromagnetic); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//PhysListEmStandard::~PhysListEmStandard() +// PhysListEmStandard::~PhysListEmStandard() //{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -96,74 +88,62 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name) void PhysListEmStandard::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - + // Add standard EM Processes // - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while( (*particleIterator)() ){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - ph->RegisterProcess(new G4RayleighScattering, particle); + if (particleName == "gamma") { + ph->RegisterProcess(new G4RayleighScattering, particle); ph->RegisterProcess(new G4PhotoElectricEffect, particle); - G4ComptonScattering* cs = new G4ComptonScattering; + G4ComptonScattering* cs = new G4ComptonScattering; cs->SetEmModel(new G4KleinNishinaModel()); ph->RegisterProcess(cs, particle); ph->RegisterProcess(new G4GammaConversion, particle); - - } else if (particleName == "e-") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + } + else if (particleName == "e-") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); - ph->RegisterProcess(new G4eBremsstrahlung(), particle); - - } else if (particleName == "e+") { - - ph->RegisterProcess(new G4eMultipleScattering(), particle); + ph->RegisterProcess(new G4eBremsstrahlung(), particle); + } + else if (particleName == "e+") { + ph->RegisterProcess(new G4eMultipleScattering(), particle); ph->RegisterProcess(new G4eIonisation(), particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); - ph->RegisterProcess(new G4eplusAnnihilation(), particle); - - } else if (particleName == "mu+" || - particleName == "mu-" ) { - - ph->RegisterProcess(new G4MuMultipleScattering(), particle); + ph->RegisterProcess(new G4eplusAnnihilation(), particle); + } + else if (particleName == "mu+" || particleName == "mu-") { + ph->RegisterProcess(new G4MuMultipleScattering(), particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(new G4MuBremsstrahlung(), particle); ph->RegisterProcess(new G4MuPairProduction(), particle); - - } else if( particleName == "proton" || - particleName == "pi-" || - particleName == "pi+" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + } + else if (particleName == "proton" || particleName == "pi-" || particleName == "pi+") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); - ph->RegisterProcess(new G4hPairProduction(), particle); - - } else if( particleName == "alpha" || - particleName == "He3" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4hPairProduction(), particle); + } + else if (particleName == "alpha" || particleName == "He3") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if( particleName == "GenericIon" ) { - - ph->RegisterProcess(new G4hMultipleScattering(), particle); + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if (particleName == "GenericIon") { + ph->RegisterProcess(new G4hMultipleScattering(), particle); G4ionIonisation* ionIoni = new G4ionIonisation(); ionIoni->SetEmModel(new G4IonParametrisedLossModel()); ph->RegisterProcess(ionIoni, particle); - ph->RegisterProcess(new G4NuclearStopping(), particle); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //all others charged particles except geantino + ph->RegisterProcess(new G4NuclearStopping(), particle); + } + else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) + && (particle->GetParticleName() != "chargedgeantino")) + { + // all others charged particles except geantino ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } @@ -176,4 +156,3 @@ void PhysListEmStandard::ConstructProcess() } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc index 393bc300af5..1c0b32aa35a 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc @@ -31,65 +31,58 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" -#include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" +#include "PhysicsListMessenger.hh" +#include "StepMax.hh" +#include "G4DecayPhysics.hh" +#include "G4EmDNAPhysics.hh" +#include "G4EmDNAPhysics_option2.hh" +#include "G4EmDNAPhysics_option4.hh" +#include "G4EmDNAPhysics_option6.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsSS.hh" - -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" - -#include "G4EmDNAPhysics.hh" -#include "G4EmDNAPhysics_option2.hh" -#include "G4EmDNAPhysics_option4.hh" -#include "G4EmDNAPhysics_option6.hh" - #include "G4HadronElasticPhysics.hh" - -#include "G4DecayPhysics.hh" -#include "StepMax.hh" - -#include "G4UnitsTable.hh" -#include "G4SystemOfUnits.hh" - #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" +#include "G4SystemOfUnits.hh" +#include "G4UnitsTable.hh" // particles +#include "G4BaryonConstructor.hh" #include "G4BosonConstructor.hh" +#include "G4DNAGenericIonsManager.hh" +#include "G4IonConstructor.hh" #include "G4LeptonConstructor.hh" #include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" #include "G4ShortLivedConstructor.hh" -#include "G4DNAGenericIonsManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsList::PhysicsList() -{ - fMessenger = new PhysicsListMessenger(this); +{ + fMessenger = new PhysicsListMessenger(this); SetVerboseLevel(1); - + // EM physics fEmName = G4String("emstandard_opt4"); fEmPhysicsList = new G4EmStandardPhysics_option4(); - // Decay physics + // Decay physics fDecayPhysics = new G4DecayPhysics(1); - - SetDefaultCutValue(1*mm); + + SetDefaultCutValue(1 * mm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -97,14 +90,14 @@ PhysicsList::PhysicsList() PhysicsList::~PhysicsList() { delete fEmPhysicsList; - delete fMessenger; + delete fMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::ConstructParticle() { - G4BosonConstructor pBosonConstructor; + G4BosonConstructor pBosonConstructor; pBosonConstructor.ConstructParticle(); G4LeptonConstructor pLeptonConstructor; @@ -125,11 +118,11 @@ void PhysicsList::ConstructParticle() // Geant4-DNA G4DNAGenericIonsManager* genericIonsManager; - genericIonsManager=G4DNAGenericIonsManager::Instance(); + genericIonsManager = G4DNAGenericIonsManager::Instance(); genericIonsManager->GetIon("alpha++"); genericIonsManager->GetIon("alpha+"); genericIonsManager->GetIon("helium"); - genericIonsManager->GetIon("hydrogen"); + genericIonsManager->GetIon("hydrogen"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -139,7 +132,9 @@ void PhysicsList::ConstructProcess() AddTransportation(); fEmPhysicsList->ConstructProcess(); fDecayPhysics->ConstructProcess(); - if(fHadPhysicsList) { fHadPhysicsList->ConstructProcess(); } + if (fHadPhysicsList) { + fHadPhysicsList->ConstructProcess(); + } AddStepMax(); } @@ -150,16 +145,15 @@ void PhysicsList::AddStepMax() // Step limitation seen as a process StepMax* stepMaxProcess = new StepMax(); - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()){ + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (stepMaxProcess->IsApplicable(*particle)) - { - pmanager ->AddDiscreteProcess(stepMaxProcess); - } + if (stepMaxProcess->IsApplicable(*particle)) { + pmanager->AddDiscreteProcess(stepMaxProcess); + } } } @@ -167,109 +161,98 @@ void PhysicsList::AddStepMax() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>-1) { + if (verboseLevel > -1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } if (name == fEmName) return; if (name == "local") { - fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new PhysListEmStandard(name); - - } else if (name == "emstandard_opt0") { - + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1") { - + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2") { - + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3") { - + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emstandardSS") { - + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "emstandardWVI") { - + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else if (name == "emstandardGS") { - + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else if (name == "empenelope") { + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else if (name == "emlowenergy") { + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(); - - } else if (name == "emlivermore") { + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else if (name == "dna") { + } + else if (name == "dna") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics(); - - } else if (name == "dna_opt2") { + } + else if (name == "dna_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option2(); - - } else if (name == "dna_opt4") { + } + else if (name == "dna_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option4(); - - } else if (name == "dna_opt6") { + } + else if (name == "dna_opt6") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmDNAPhysics_option6(); - - } else if (name == "had_elastic" && !fHadPhysicsList) { + } + else if (name == "had_elastic" && !fHadPhysicsList) { fHadPhysicsList = new G4HadronElasticPhysics(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc index 2aa094a8288..77f3ed2d753 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc @@ -33,20 +33,20 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) - :fPhysicsList(pPhys) +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) : fPhysicsList(pPhys) { fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); fListCmd->SetToBeBroadcasted(false); } @@ -62,9 +62,10 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if( command == fListCmd ) - { fPhysicsList->AddPhysicsList(newValue); } +{ + if (command == fListCmd) { + fPhysicsList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc index 74d9c90601d..b643686c9f8 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc @@ -36,21 +36,20 @@ #include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" -#include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) - :fDetector(det) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) : fDetector(det) { G4int n_particle = 1; - fParticleGun = new G4ParticleGun(n_particle); + fParticleGun = new G4ParticleGun(n_particle); SetDefaultKinematic(); - - //create a messenger for this class + + // create a messenger for this class fGunMessenger = new PrimaryGeneratorMessenger(this); } @@ -59,44 +58,43 @@ PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete fParticleGun; - delete fGunMessenger; + delete fGunMessenger; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::SetDefaultKinematic() -{ +{ // default particle kinematic // G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4ParticleDefinition* particle - = particleTable->FindParticle("e-"); + G4ParticleDefinition* particle = particleTable->FindParticle("e-"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - fParticleGun->SetParticleEnergy(30.*MeV); - G4double x0 = -0.4999*(fDetector->GetWorldSizeX()); - fParticleGun->SetParticlePosition(G4ThreeVector(x0, 0.0, 0.0)); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + fParticleGun->SetParticleEnergy(30. * MeV); + G4double x0 = -0.4999 * (fDetector->GetWorldSizeX()); + fParticleGun->SetParticlePosition(G4ThreeVector(x0, 0.0, 0.0)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - //randomize the beam, if requested. - if (fRndmBeam > 0.) - { - G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); - G4double rbeam = 0.5*(fDetector->GetAbsorberSizeYZ())*fRndmBeam; - G4double x0 = oldPosition.x(); - G4double y0 = (2*G4UniformRand()-1.)*rbeam; - G4double z0 = (2*G4UniformRand()-1.)*rbeam; - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - fParticleGun->GeneratePrimaryVertex(anEvent); - fParticleGun->SetParticlePosition(oldPosition); - } - else fParticleGun->GeneratePrimaryVertex(anEvent); + // randomize the beam, if requested. + if (fRndmBeam > 0.) { + G4ThreeVector oldPosition = fParticleGun->GetParticlePosition(); + G4double rbeam = 0.5 * (fDetector->GetAbsorberSizeYZ()) * fRndmBeam; + G4double x0 = oldPosition.x(); + G4double y0 = (2 * G4UniformRand() - 1.) * rbeam; + G4double z0 = (2 * G4UniformRand() - 1.) * rbeam; + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); + fParticleGun->GeneratePrimaryVertex(anEvent); + fParticleGun->SetParticlePosition(oldPosition); + } + else + fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc index 034c57f437b..1555b97048f 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc @@ -33,29 +33,28 @@ #include "PrimaryGeneratorMessenger.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithoutParameter.hh" + #include "G4UIcmdWithADouble.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( - PrimaryGeneratorAction* Gun) -:fAction(Gun) +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger(PrimaryGeneratorAction* Gun) : fAction(Gun) { - fGunDir = new G4UIdirectory("/testem/gun/"); - fGunDir->SetGuidance("gun control"); - - fDefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault",this); - fDefaultCmd->SetGuidance("set/reset the kinematic defined in PrimaryGenerator"); - fDefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm",this); - fRndmCmd->SetGuidance("random lateral extension on the beam"); - fRndmCmd->SetGuidance("in fraction of 0.5*sizeYZ"); - fRndmCmd->SetParameterName("rBeam",false); - fRndmCmd->SetRange("rBeam>=0.&&rBeam<=1."); - fRndmCmd->AvailableForStates(G4State_Idle); + fGunDir = new G4UIdirectory("/testem/gun/"); + fGunDir->SetGuidance("gun control"); + + fDefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault", this); + fDefaultCmd->SetGuidance("set/reset the kinematic defined in PrimaryGenerator"); + fDefaultCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm", this); + fRndmCmd->SetGuidance("random lateral extension on the beam"); + fRndmCmd->SetGuidance("in fraction of 0.5*sizeYZ"); + fRndmCmd->SetParameterName("rBeam", false); + fRndmCmd->SetRange("rBeam>=0.&&rBeam<=1."); + fRndmCmd->AvailableForStates(G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,20 +63,20 @@ PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() { delete fDefaultCmd; delete fRndmCmd; - delete fGunDir; + delete fGunDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if (command == fDefaultCmd) - {fAction->SetDefaultKinematic();} - - if (command == fRndmCmd) - { fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue));} +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fDefaultCmd) { + fAction->SetDefaultKinematic(); + } + + if (command == fRndmCmd) { + fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm5/src/Run.cc b/examples/extended/electromagnetic/TestEm5/src/Run.cc index 3260d03e2d8..f239ab7e5c5 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Run.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Run.cc @@ -26,14 +26,15 @@ /// \file electromagnetic/TestEm5/src/Run.cc /// \brief Implementation of the Run class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Run.hh" + #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" #include "G4EmCalculator.hh" #include "G4SystemOfUnits.hh" @@ -43,21 +44,19 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Run::Run(DetectorConstruction* det) -: fDetector(det) -{ } +Run::Run(DetectorConstruction* det) : fDetector(det) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::SetPrimary(G4ParticleDefinition* particle, G4double energy) -{ +{ fParticle = particle; fEkin = energy; - - //compute theta0 - fMscThetaCentral = 3*ComputeMscHighland(); + + // compute theta0 + fMscThetaCentral = 3 * ComputeMscHighland(); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Run::Merge(const G4Run* run) @@ -66,48 +65,48 @@ void Run::Merge(const G4Run* run) // pass information about primary particle fParticle = localRun->fParticle; - fEkin = localRun->fEkin; - + fEkin = localRun->fEkin; + fMscThetaCentral = localRun->fMscThetaCentral; // accumulate sums // - fEnergyDeposit += localRun->fEnergyDeposit; - fEnergyDeposit2 += localRun->fEnergyDeposit2; - fTrakLenCharged += localRun->fTrakLenCharged; - fTrakLenCharged2 += localRun->fTrakLenCharged2; - fTrakLenNeutral += localRun->fTrakLenNeutral; + fEnergyDeposit += localRun->fEnergyDeposit; + fEnergyDeposit2 += localRun->fEnergyDeposit2; + fTrakLenCharged += localRun->fTrakLenCharged; + fTrakLenCharged2 += localRun->fTrakLenCharged2; + fTrakLenNeutral += localRun->fTrakLenNeutral; fTrakLenNeutral2 += localRun->fTrakLenNeutral2; - fNbStepsCharged += localRun->fNbStepsCharged; + fNbStepsCharged += localRun->fNbStepsCharged; fNbStepsCharged2 += localRun->fNbStepsCharged2; - fNbStepsNeutral += localRun->fNbStepsNeutral; + fNbStepsNeutral += localRun->fNbStepsNeutral; fNbStepsNeutral2 += localRun->fNbStepsNeutral2; - fMscProjecTheta += localRun->fMscProjecTheta; + fMscProjecTheta += localRun->fMscProjecTheta; fMscProjecTheta2 += localRun->fMscProjecTheta2; fTypes[0] += localRun->fTypes[0]; fTypes[1] += localRun->fTypes[1]; fTypes[2] += localRun->fTypes[2]; fTypes[3] += localRun->fTypes[3]; - + fNbGamma += localRun->fNbGamma; - fNbElect += localRun->fNbElect; + fNbElect += localRun->fNbElect; fNbPosit += localRun->fNbPosit; - - fTransmit[0] += localRun->fTransmit[0]; + + fTransmit[0] += localRun->fTransmit[0]; fTransmit[1] += localRun->fTransmit[1]; - fReflect[0] += localRun->fReflect[0]; - fReflect[1] += localRun->fReflect[1]; - + fReflect[0] += localRun->fReflect[0]; + fReflect[1] += localRun->fReflect[1]; + fMscEntryCentral += localRun->fMscEntryCentral; - - fEnergyLeak[0] += localRun->fEnergyLeak[0]; - fEnergyLeak[1] += localRun->fEnergyLeak[1]; + + fEnergyLeak[0] += localRun->fEnergyLeak[0]; + fEnergyLeak[1] += localRun->fEnergyLeak[1]; fEnergyLeak2[0] += localRun->fEnergyLeak2[0]; fEnergyLeak2[1] += localRun->fEnergyLeak2[1]; - - G4Run::Merge(run); -} + + G4Run::Merge(run); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -117,172 +116,183 @@ void Run::EndOfRun() // G4int TotNbofEvents = numberOfEvent; if (TotNbofEvents == 0) return; - + G4double EnergyBalance = fEnergyDeposit + fEnergyLeak[0] + fEnergyLeak[1]; EnergyBalance /= TotNbofEvents; - fEnergyDeposit /= TotNbofEvents; fEnergyDeposit2 /= TotNbofEvents; - G4double rmsEdep = fEnergyDeposit2 - fEnergyDeposit*fEnergyDeposit; - if (rmsEdep>0.) rmsEdep = std::sqrt(rmsEdep/TotNbofEvents); - else rmsEdep = 0.; - - fTrakLenCharged /= TotNbofEvents; fTrakLenCharged2 /= TotNbofEvents; - G4double rmsTLCh = fTrakLenCharged2 - fTrakLenCharged*fTrakLenCharged; - if (rmsTLCh>0.) rmsTLCh = std::sqrt(rmsTLCh/TotNbofEvents); - else rmsTLCh = 0.; - - fTrakLenNeutral /= TotNbofEvents; fTrakLenNeutral2 /= TotNbofEvents; - G4double rmsTLNe = fTrakLenNeutral2 - fTrakLenNeutral*fTrakLenNeutral; - if (rmsTLNe>0.) rmsTLNe = std::sqrt(rmsTLNe/TotNbofEvents); - else rmsTLNe = 0.; - - fNbStepsCharged /= TotNbofEvents; fNbStepsCharged2 /= TotNbofEvents; - G4double rmsStCh = fNbStepsCharged2 - fNbStepsCharged*fNbStepsCharged; - if (rmsStCh>0.) rmsStCh = std::sqrt(rmsStCh/TotNbofEvents); - else rmsStCh = 0.; - - fNbStepsNeutral /= TotNbofEvents; fNbStepsNeutral2 /= TotNbofEvents; - G4double rmsStNe = fNbStepsNeutral2 - fNbStepsNeutral*fNbStepsNeutral; - if (rmsStNe>0.) rmsStNe = std::sqrt(rmsStNe/TotNbofEvents); - else rmsStNe = 0.; - - G4double Gamma = (G4double)fNbGamma/TotNbofEvents; - G4double Elect = (G4double)fNbElect/TotNbofEvents; - G4double Posit = (G4double)fNbPosit/TotNbofEvents; + fEnergyDeposit /= TotNbofEvents; + fEnergyDeposit2 /= TotNbofEvents; + G4double rmsEdep = fEnergyDeposit2 - fEnergyDeposit * fEnergyDeposit; + if (rmsEdep > 0.) + rmsEdep = std::sqrt(rmsEdep / TotNbofEvents); + else + rmsEdep = 0.; + + fTrakLenCharged /= TotNbofEvents; + fTrakLenCharged2 /= TotNbofEvents; + G4double rmsTLCh = fTrakLenCharged2 - fTrakLenCharged * fTrakLenCharged; + if (rmsTLCh > 0.) + rmsTLCh = std::sqrt(rmsTLCh / TotNbofEvents); + else + rmsTLCh = 0.; + + fTrakLenNeutral /= TotNbofEvents; + fTrakLenNeutral2 /= TotNbofEvents; + G4double rmsTLNe = fTrakLenNeutral2 - fTrakLenNeutral * fTrakLenNeutral; + if (rmsTLNe > 0.) + rmsTLNe = std::sqrt(rmsTLNe / TotNbofEvents); + else + rmsTLNe = 0.; + + fNbStepsCharged /= TotNbofEvents; + fNbStepsCharged2 /= TotNbofEvents; + G4double rmsStCh = fNbStepsCharged2 - fNbStepsCharged * fNbStepsCharged; + if (rmsStCh > 0.) + rmsStCh = std::sqrt(rmsStCh / TotNbofEvents); + else + rmsStCh = 0.; + + fNbStepsNeutral /= TotNbofEvents; + fNbStepsNeutral2 /= TotNbofEvents; + G4double rmsStNe = fNbStepsNeutral2 - fNbStepsNeutral * fNbStepsNeutral; + if (rmsStNe > 0.) + rmsStNe = std::sqrt(rmsStNe / TotNbofEvents); + else + rmsStNe = 0.; + + G4double Gamma = (G4double)fNbGamma / TotNbofEvents; + G4double Elect = (G4double)fNbElect / TotNbofEvents; + G4double Posit = (G4double)fNbPosit / TotNbofEvents; G4double transmit[2]; - transmit[0] = 100.*fTransmit[0]/TotNbofEvents; - transmit[1] = 100.*fTransmit[1]/TotNbofEvents; + transmit[0] = 100. * fTransmit[0] / TotNbofEvents; + transmit[1] = 100. * fTransmit[1] / TotNbofEvents; G4double reflect[2]; - reflect[0] = 100.*fReflect[0]/TotNbofEvents; - reflect[1] = 100.*fReflect[1]/TotNbofEvents; + reflect[0] = 100. * fReflect[0] / TotNbofEvents; + reflect[1] = 100. * fReflect[1] / TotNbofEvents; G4double rmsMsc = 0., tailMsc = 0.; if (fMscEntryCentral > 0) { - fMscProjecTheta /= fMscEntryCentral; fMscProjecTheta2 /= fMscEntryCentral; - rmsMsc = fMscProjecTheta2 - fMscProjecTheta*fMscProjecTheta; - if (rmsMsc > 0.) { rmsMsc = std::sqrt(rmsMsc); } - if(fTransmit[1] > 0.0) { - tailMsc = 100.- (100.*fMscEntryCentral)/(2*fTransmit[1]); - } + fMscProjecTheta /= fMscEntryCentral; + fMscProjecTheta2 /= fMscEntryCentral; + rmsMsc = fMscProjecTheta2 - fMscProjecTheta * fMscProjecTheta; + if (rmsMsc > 0.) { + rmsMsc = std::sqrt(rmsMsc); + } + if (fTransmit[1] > 0.0) { + tailMsc = 100. - (100. * fMscEntryCentral) / (2 * fTransmit[1]); + } } - - fEnergyLeak[0] /= TotNbofEvents; fEnergyLeak2[0] /= TotNbofEvents; - G4double rmsEl0 = fEnergyLeak2[0] - fEnergyLeak[0]*fEnergyLeak[0]; - if (rmsEl0>0.) rmsEl0 = std::sqrt(rmsEl0/TotNbofEvents); - else rmsEl0 = 0.; - - fEnergyLeak[1] /= TotNbofEvents; fEnergyLeak2[1] /= TotNbofEvents; - G4double rmsEl1 = fEnergyLeak2[1] - fEnergyLeak[1]*fEnergyLeak[1]; - if (rmsEl1>0.) rmsEl1 = std::sqrt(rmsEl1/TotNbofEvents); - else rmsEl1 = 0.; - - - //Stopping Power from input Table. + + fEnergyLeak[0] /= TotNbofEvents; + fEnergyLeak2[0] /= TotNbofEvents; + G4double rmsEl0 = fEnergyLeak2[0] - fEnergyLeak[0] * fEnergyLeak[0]; + if (rmsEl0 > 0.) + rmsEl0 = std::sqrt(rmsEl0 / TotNbofEvents); + else + rmsEl0 = 0.; + + fEnergyLeak[1] /= TotNbofEvents; + fEnergyLeak2[1] /= TotNbofEvents; + G4double rmsEl1 = fEnergyLeak2[1] - fEnergyLeak[1] * fEnergyLeak[1]; + if (rmsEl1 > 0.) + rmsEl1 = std::sqrt(rmsEl1 / TotNbofEvents); + else + rmsEl1 = 0.; + + // Stopping Power from input Table. // const G4Material* material = fDetector->GetAbsorberMaterial(); - G4double length = fDetector->GetAbsorberThickness(); - G4double density = material->GetDensity(); - G4String partName = fParticle->GetParticleName(); + G4double length = fDetector->GetAbsorberThickness(); + G4double density = material->GetDensity(); + G4String partName = fParticle->GetParticleName(); G4EmCalculator emCalculator; G4double dEdxTable = 0., dEdxFull = 0.; - if (fParticle->GetPDGCharge()!= 0.) { - dEdxTable = emCalculator.GetDEDX(fEkin,fParticle,material); - dEdxFull = emCalculator.ComputeTotalDEDX(fEkin,fParticle,material); + if (fParticle->GetPDGCharge() != 0.) { + dEdxTable = emCalculator.GetDEDX(fEkin, fParticle, material); + dEdxFull = emCalculator.ComputeTotalDEDX(fEkin, fParticle, material); } - G4double stopTable = dEdxTable/density; - G4double stopFull = dEdxFull /density; - - //Stopping Power from simulation. - // - G4double meandEdx = fEnergyDeposit/length; - G4double stopPower = meandEdx/density; + G4double stopTable = dEdxTable / density; + G4double stopFull = dEdxFull / density; + + // Stopping Power from simulation. + // + G4double meandEdx = fEnergyDeposit / length; + G4double stopPower = meandEdx / density; G4cout << "\n ======================== run summary ======================\n"; G4int prec = G4cout.precision(3); - + G4cout << "\n The run was " << TotNbofEvents << " " << partName << " of " - << G4BestUnit(fEkin,"Energy") << " through " - << G4BestUnit(length,"Length") << " of " - << material->GetName() << " (density: " - << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; - + << G4BestUnit(fEkin, "Energy") << " through " << G4BestUnit(length, "Length") << " of " + << material->GetName() << " (density: " << G4BestUnit(density, "Volumic Mass") << ")" + << G4endl; + G4cout.precision(4); - + G4cout << "\n Total energy deposit in absorber per event = " - << G4BestUnit(fEnergyDeposit,"Energy") << " +- " - << G4BestUnit(rmsEdep, "Energy") - << G4endl; - - G4cout << "\n -----> Mean dE/dx = " << meandEdx/(MeV/cm) << " MeV/cm" - << "\t(" << stopPower/(MeV*cm2/g) << " MeV*cm2/g)" - << G4endl; - - G4cout << "\n From formulas :" << G4endl; - G4cout << " restricted dEdx = " << dEdxTable/(MeV/cm) << " MeV/cm" - << "\t(" << stopTable/(MeV*cm2/g) << " MeV*cm2/g)" + << G4BestUnit(fEnergyDeposit, "Energy") << " +- " << G4BestUnit(rmsEdep, "Energy") << G4endl; - - G4cout << " full dEdx = " << dEdxFull/(MeV/cm) << " MeV/cm" - << "\t(" << stopFull/(MeV*cm2/g) << " MeV*cm2/g)" - << G4endl; - - G4cout << "\n Leakage : primary = " - << G4BestUnit(fEnergyLeak[0],"Energy") << " +- " - << G4BestUnit(rmsEl0, "Energy") - << " secondaries = " - << G4BestUnit(fEnergyLeak[1],"Energy") << " +- " - << G4BestUnit(rmsEl1, "Energy") - << G4endl; - - G4cout << " Energy balance : edep + eleak = " - << G4BestUnit(EnergyBalance,"Energy") - << G4endl; - + + G4cout << "\n -----> Mean dE/dx = " << meandEdx / (MeV / cm) << " MeV/cm" + << "\t(" << stopPower / (MeV * cm2 / g) << " MeV*cm2/g)" << G4endl; + + G4cout << "\n From formulas :" << G4endl; + G4cout << " restricted dEdx = " << dEdxTable / (MeV / cm) << " MeV/cm" + << "\t(" << stopTable / (MeV * cm2 / g) << " MeV*cm2/g)" << G4endl; + + G4cout << " full dEdx = " << dEdxFull / (MeV / cm) << " MeV/cm" + << "\t(" << stopFull / (MeV * cm2 / g) << " MeV*cm2/g)" << G4endl; + + G4cout << "\n Leakage : primary = " << G4BestUnit(fEnergyLeak[0], "Energy") << " +- " + << G4BestUnit(rmsEl0, "Energy") + << " secondaries = " << G4BestUnit(fEnergyLeak[1], "Energy") << " +- " + << G4BestUnit(rmsEl1, "Energy") << G4endl; + + G4cout << " Energy balance : edep + eleak = " << G4BestUnit(EnergyBalance, "Energy") << G4endl; + G4cout << "\n Total track length (charged) in absorber per event = " - << G4BestUnit(fTrakLenCharged,"Length") << " +- " - << G4BestUnit(rmsTLCh, "Length") << G4endl; + << G4BestUnit(fTrakLenCharged, "Length") << " +- " << G4BestUnit(rmsTLCh, "Length") + << G4endl; G4cout << " Total track length (neutral) in absorber per event = " - << G4BestUnit(fTrakLenNeutral,"Length") << " +- " - << G4BestUnit(rmsTLNe, "Length") << G4endl; + << G4BestUnit(fTrakLenNeutral, "Length") << " +- " << G4BestUnit(rmsTLNe, "Length") + << G4endl; - G4cout << "\n Number of steps (charged) in absorber per event = " - << fNbStepsCharged << " +- " << rmsStCh << G4endl; + G4cout << "\n Number of steps (charged) in absorber per event = " << fNbStepsCharged << " +- " + << rmsStCh << G4endl; - G4cout << " Number of steps (neutral) in absorber per event = " - << fNbStepsNeutral << " +- " << rmsStNe << G4endl; + G4cout << " Number of steps (neutral) in absorber per event = " << fNbStepsNeutral << " +- " + << rmsStNe << G4endl; - G4cout << "\n Number of secondaries per event : Gammas = " << Gamma - << "; electrons = " << Elect - << "; positrons = " << Posit << G4endl; + G4cout << "\n Number of secondaries per event : Gammas = " << Gamma << "; electrons = " << Elect + << "; positrons = " << Posit << G4endl; - G4cout << "\n Number of events with the primary particle transmitted = " - << transmit[1] << " %" << G4endl; + G4cout << "\n Number of events with the primary particle transmitted = " << transmit[1] << " %" + << G4endl; G4cout << " Number of events with at least 1 particle transmitted " << "(same charge as primary) = " << transmit[0] << " %" << G4endl; - G4cout << "\n Number of events with the primary particle reflected = " - << reflect[1] << " %" << G4endl; + G4cout << "\n Number of events with the primary particle reflected = " << reflect[1] << " %" + << G4endl; G4cout << " Number of events with at least 1 particle reflected " << "(same charge as primary) = " << reflect[0] << " %" << G4endl; // compute width of the Gaussian central part of the MultipleScattering // - G4cout << "\n MultipleScattering:" - << "\n rms proj angle of transmit primary particle = " - << rmsMsc/mrad << " mrad (central part only)" << G4endl; - - G4cout << " computed theta0 (Highland formula) = " - << ComputeMscHighland()/mrad << " mrad" << G4endl; - - G4cout << " central part defined as +- " - << fMscThetaCentral/mrad << " mrad; " + G4cout << "\n MultipleScattering:" + << "\n rms proj angle of transmit primary particle = " << rmsMsc / mrad + << " mrad (central part only)" << G4endl; + + G4cout << " computed theta0 (Highland formula) = " << ComputeMscHighland() / mrad + << " mrad" << G4endl; + + G4cout << " central part defined as +- " << fMscThetaCentral / mrad << " mrad; " << " Tail ratio = " << tailMsc << " %" << G4endl; // gamma process counts @@ -292,46 +302,46 @@ void Run::EndOfRun() G4cout << " Compton " << fTypes[1] << G4endl; G4cout << " Conversion " << fTypes[2] << G4endl; G4cout << " Rayleigh " << fTypes[3] << G4endl; - + // normalize histograms // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - + G4int ih = 1; G4double binWidth = analysisManager->GetH1Width(ih); - G4double fac = 1./(TotNbofEvents*binWidth); - analysisManager->ScaleH1(ih,fac); + G4double fac = 1. / (TotNbofEvents * binWidth); + analysisManager->ScaleH1(ih, fac); ih = 10; binWidth = analysisManager->GetH1Width(ih); - fac = 1./(TotNbofEvents*binWidth); - analysisManager->ScaleH1(ih,fac); + fac = 1. / (TotNbofEvents * binWidth); + analysisManager->ScaleH1(ih, fac); ih = 12; - analysisManager->ScaleH1(ih,1./TotNbofEvents); + analysisManager->ScaleH1(ih, 1. / TotNbofEvents); // reset default precision G4cout.precision(prec); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double Run::ComputeMscHighland() { - //compute the width of the Gaussian central part of the MultipleScattering - //projected angular distribution. - //Eur. Phys. Jour. C15 (2000) page 166, formule 23.9 + // compute the width of the Gaussian central part of the MultipleScattering + // projected angular distribution. + // Eur. Phys. Jour. C15 (2000) page 166, formule 23.9 - G4double t = (fDetector->GetAbsorberThickness()) - /(fDetector->GetAbsorberMaterial()->GetRadlen()); + G4double t = + (fDetector->GetAbsorberThickness()) / (fDetector->GetAbsorberMaterial()->GetRadlen()); if (t < DBL_MIN) return 0.; G4double T = fEkin; G4double M = fParticle->GetPDGMass(); - G4double z = std::abs(fParticle->GetPDGCharge()/eplus); + G4double z = std::abs(fParticle->GetPDGCharge() / eplus); - G4double bpc = T*(T+2*M)/(T+M); - G4double teta0 = 13.6*MeV*z*std::sqrt(t)*(1.+0.038*std::log(t))/bpc; + G4double bpc = T * (T + 2 * M) / (T + M); + G4double teta0 = 13.6 * MeV * z * std::sqrt(t) * (1. + 0.038 * std::log(t)) / bpc; return teta0; } diff --git a/examples/extended/electromagnetic/TestEm5/src/RunAction.cc b/examples/extended/electromagnetic/TestEm5/src/RunAction.cc index 6fabe6cde9b..51d97964dd0 100644 --- a/examples/extended/electromagnetic/TestEm5/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/RunAction.cc @@ -31,24 +31,25 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "RunAction.hh" + #include "DetectorConstruction.hh" -#include "PrimaryGeneratorAction.hh" #include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" #include "Run.hh" +#include "G4EmCalculator.hh" #include "G4Run.hh" +#include "G4SystemOfUnits.hh" #include "G4UnitsTable.hh" -#include "G4EmCalculator.hh" - #include "Randomize.hh" -#include "G4SystemOfUnits.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) -: fDetector(det),fPrimary(kin) -{ + : fDetector(det), fPrimary(kin) +{ // Book predefined histograms fHistoManager = new HistoManager(); } @@ -56,14 +57,14 @@ RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::~RunAction() -{ +{ delete fHistoManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4Run* RunAction::GenerateRun() -{ +{ fRun = new Run(fDetector); return fRun; } @@ -74,37 +75,36 @@ void RunAction::BeginOfRunAction(const G4Run*) { // show Rndm status if (isMaster) G4Random::showEngineStatus(); - + // keep run condition - if ( fPrimary ) { - G4ParticleDefinition* particle - = fPrimary->GetParticleGun()->GetParticleDefinition(); + if (fPrimary) { + G4ParticleDefinition* particle = fPrimary->GetParticleGun()->GetParticleDefinition(); G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy(); fRun->SetPrimary(particle, energy); } - - //histograms - // + + // histograms + // G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + if (analysisManager->IsActive()) { analysisManager->OpenFile(); - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::EndOfRunAction(const G4Run*) -{ +{ // print Run summary // - if (isMaster) fRun->EndOfRun(); - + if (isMaster) fRun->EndOfRun(); + // save histograms - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - if ( analysisManager->IsActive() ) { + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + if (analysisManager->IsActive()) { analysisManager->Write(); analysisManager->CloseFile(); - } + } // show Rndm status if (isMaster) G4Random::showEngineStatus(); diff --git a/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc index f14842778a3..d48557b128b 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc @@ -32,19 +32,18 @@ #include "StackingAction.hh" -#include "Run.hh" #include "EventAction.hh" #include "HistoManager.hh" +#include "Run.hh" #include "StackingMessenger.hh" +#include "G4EmSecondaryParticleType.hh" #include "G4RunManager.hh" #include "G4Track.hh" -#include "G4EmSecondaryParticleType.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingAction::StackingAction(EventAction* event) - : fEventAction(event) +StackingAction::StackingAction(EventAction* event) : fEventAction(event) { fStackMessenger = new StackingMessenger(this); } @@ -58,72 +57,76 @@ StackingAction::~StackingAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* aTrack) +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* aTrack) { G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - //keep primary particle - if (aTrack->GetParentID() == 0) { return fUrgent; } + // keep primary particle + if (aTrack->GetParentID() == 0) { + return fUrgent; + } G4int procID = aTrack->GetCreatorProcess()->GetProcessSubType(); G4int modelID = aTrack->GetCreatorModelID(); - //count secondary particles - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + // count secondary particles + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); run->CountParticles(aTrack->GetDefinition()); /* - G4cout << "###StackingAction: new " + G4cout << "###StackingAction: new " << aTrack->GetDefinition()->GetParticleName() << " E(MeV)= " << aTrack->GetKineticEnergy() << " " << aTrack->GetMomentumDirection() << G4endl; */ // - //energy spectrum of secondaries + // energy spectrum of secondaries // G4double energy = aTrack->GetKineticEnergy(); G4double charge = aTrack->GetDefinition()->GetPDGCharge(); if (charge != 0.) { - analysisManager->FillH1(2,energy); - analysisManager->FillH1(4,energy); - if(procID >= 51 && procID <= 65) { - analysisManager->FillH1(58,energy); - analysisManager->FillH1(60,energy); - } else if(_AugerElectron == modelID) { - analysisManager->FillH1(50,energy); - analysisManager->FillH1(52,energy); - } else if(_ePIXE == modelID) { - analysisManager->FillH1(54,energy); - analysisManager->FillH1(56,energy); + analysisManager->FillH1(2, energy); + analysisManager->FillH1(4, energy); + if (procID >= 51 && procID <= 65) { + analysisManager->FillH1(58, energy); + analysisManager->FillH1(60, energy); + } + else if (_AugerElectron == modelID) { + analysisManager->FillH1(50, energy); + analysisManager->FillH1(52, energy); + } + else if (_ePIXE == modelID) { + analysisManager->FillH1(54, energy); + analysisManager->FillH1(56, energy); } } if (aTrack->GetDefinition() == G4Gamma::Gamma()) { - analysisManager->FillH1(3,energy); - analysisManager->FillH1(5,energy); - if(procID >= 51 && procID <= 65) { - analysisManager->FillH1(59,energy); - analysisManager->FillH1(61,energy); - } else if(_Fluorescence == modelID) { - analysisManager->FillH1(51,energy); - analysisManager->FillH1(53,energy); - } else if(_GammaPIXE == modelID) { - analysisManager->FillH1(55,energy); - analysisManager->FillH1(57,energy); + analysisManager->FillH1(3, energy); + analysisManager->FillH1(5, energy); + if (procID >= 51 && procID <= 65) { + analysisManager->FillH1(59, energy); + analysisManager->FillH1(61, energy); + } + else if (_Fluorescence == modelID) { + analysisManager->FillH1(51, energy); + analysisManager->FillH1(53, energy); + } + else if (_GammaPIXE == modelID) { + analysisManager->FillH1(55, energy); + analysisManager->FillH1(57, energy); } - } + } - //stack or delete secondaries + // stack or delete secondaries G4ClassificationOfNewTrack status = fUrgent; if (0 < fKillSecondary) { if (fKillSecondary == 1) { fEventAction->AddEnergy(energy); - } + } status = fKill; } - + return status; } diff --git a/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc index 1dd5d054793..4d4109db3d0 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc @@ -33,20 +33,20 @@ #include "StackingMessenger.hh" #include "StackingAction.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithAnInteger.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingMessenger::StackingMessenger(StackingAction* stack) -: fStackAction(stack) +StackingMessenger::StackingMessenger(StackingAction* stack) : fStackAction(stack) { fStackDir = new G4UIdirectory("/testem/stack/"); fStackDir->SetGuidance("stacking control"); - - fKillCmd = new G4UIcmdWithAnInteger("/testem/stack/killSecondaries",this); + + fKillCmd = new G4UIcmdWithAnInteger("/testem/stack/killSecondaries", this); fKillCmd->SetGuidance(" Choice: 0=no kill; 1=kill and record; 2=kill only"); - fKillCmd->SetParameterName("choice",true); + fKillCmd->SetParameterName("choice", true); fKillCmd->SetRange("choice>=0"); fKillCmd->SetDefaultValue(1); } @@ -62,9 +62,10 @@ StackingMessenger::~StackingMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StackingMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if(command == fKillCmd) - {fStackAction->SetKillStatus(fKillCmd->GetNewIntValue(newValue));} +{ + if (command == fKillCmd) { + fStackAction->SetKillStatus(fKillCmd->GetNewIntValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/StepMax.cc b/examples/extended/electromagnetic/TestEm5/src/StepMax.cc index 29f94931097..ac3a646988a 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StepMax.cc @@ -31,19 +31,22 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::StepMax(const G4String& processName) - : G4VDiscreteProcess(processName) +StepMax::StepMax(const G4String& processName) : G4VDiscreteProcess(processName) { fMess = new StepMaxMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() { delete fMess; } +StepMax::~StepMax() +{ + delete fMess; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,35 +57,39 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep(G4double step) {fMaxChargedStep = step;} +void StepMax::SetMaxStep(G4double step) +{ + fMaxChargedStep = step; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track& track, - G4double, - G4ForceCondition* condition ) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track& track, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; - if (track.GetVolume()->GetName() == "World") return DBL_MAX; - else return fMaxChargedStep; + if (track.GetVolume()->GetName() == "World") + return DBL_MAX; + else + return fMaxChargedStep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) { - // do nothing - aParticleChange.Initialize(aTrack); - return &aParticleChange; + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double StepMax::GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*) +G4double StepMax::GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) { - return fMaxChargedStep; -} + return fMaxChargedStep; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc index 254894b9dd4..78046257a62 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc @@ -33,16 +33,16 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMaxMessenger::StepMaxMessenger(StepMax* stepM) -:fStepMax(stepM) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this); +StepMaxMessenger::StepMaxMessenger(StepMax* stepM) : fStepMax(stepM) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); } @@ -57,9 +57,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc index 58965040c2f..98f60f9c15d 100644 --- a/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc @@ -33,36 +33,36 @@ #include "SteppingAction.hh" #include "DetectorConstruction.hh" -#include "RunAction.hh" #include "EventAction.hh" #include "HistoManager.hh" +#include "RunAction.hh" #include "G4Step.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(DetectorConstruction* det, EventAction* event) -:fDetector(det), fEventAction(event) + : fDetector(det), fEventAction(event) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) { - if (aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume() - != fDetector->GetAbsorber()) return; - - fEventAction->AddEnergy (aStep->GetTotalEnergyDeposit()); - + if (aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume() != fDetector->GetAbsorber()) + return; + + fEventAction->AddEnergy(aStep->GetTotalEnergyDeposit()); + G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge(); - if (charge != 0.) { + if (charge != 0.) { fEventAction->AddTrakLenCharg(aStep->GetStepLength()); fEventAction->CountStepsCharg(); - } else { + } + else { fEventAction->AddTrakLenNeutr(aStep->GetStepLength()); fEventAction->CountStepsNeutr(aStep->GetPostStepPoint()->GetProcessDefinedStep()); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc index d4a9d7e5f03..b8dcc49428c 100644 --- a/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc @@ -34,30 +34,30 @@ #include "TrackingAction.hh" #include "DetectorConstruction.hh" -#include "Run.hh" #include "EventAction.hh" #include "HistoManager.hh" +#include "Run.hh" -#include "G4RunManager.hh" -#include "G4Track.hh" #include "G4PhysicalConstants.hh" +#include "G4RunManager.hh" #include "G4SystemOfUnits.hh" +#include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... TrackingAction::TrackingAction(DetectorConstruction* det, EventAction* event) -:fDetector(det), fEventAction(event) -{ } - + : fDetector(det), fEventAction(event) +{} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void TrackingAction::PreUserTrackingAction(const G4Track* aTrack ) +void TrackingAction::PreUserTrackingAction(const G4Track* aTrack) { // few initialisations // if (aTrack->GetTrackID() == 1) { fXstartAbs = fDetector->GetxstartAbs(); - fXendAbs = fDetector->GetxendAbs(); + fXendAbs = fDetector->GetxendAbs(); fPrimaryCharge = aTrack->GetDefinition()->GetPDGCharge(); fDirX = aTrack->GetMomentumDirection().x(); } @@ -68,142 +68,159 @@ void TrackingAction::PreUserTrackingAction(const G4Track* aTrack ) void TrackingAction::PostUserTrackingAction(const G4Track* aTrack) { G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - - Run* run = static_cast( - G4RunManager::GetRunManager()->GetNonConstCurrentRun()); + + Run* run = static_cast(G4RunManager::GetRunManager()->GetNonConstCurrentRun()); G4ThreeVector position = aTrack->GetPosition(); - G4ThreeVector vertex = aTrack->GetVertexPosition(); - G4double charge = aTrack->GetDefinition()->GetPDGCharge(); - G4double energy = aTrack->GetKineticEnergy(); - - G4bool transmit = (((fDirX >= 0.0 && position.x() >= fXendAbs) || - (fDirX < 0.0 && position.x() <= fXstartAbs)) - && energy > 0.0); - G4bool reflect = (((fDirX >= 0.0 && position.x() <= fXstartAbs) || - (fDirX < 0.0 && position.x() <= fXendAbs)) - && energy > 0.0); + G4ThreeVector vertex = aTrack->GetVertexPosition(); + G4double charge = aTrack->GetDefinition()->GetPDGCharge(); + G4double energy = aTrack->GetKineticEnergy(); + + G4bool transmit = + (((fDirX >= 0.0 && position.x() >= fXendAbs) || (fDirX < 0.0 && position.x() <= fXstartAbs)) + && energy > 0.0); + G4bool reflect = + (((fDirX >= 0.0 && position.x() <= fXstartAbs) || (fDirX < 0.0 && position.x() <= fXendAbs)) + && energy > 0.0); G4bool notabsor = (transmit || reflect); - //transmitted + reflected particles counter + // transmitted + reflected particles counter // G4int flag = 0; - if (charge == fPrimaryCharge) flag = 1; + if (charge == fPrimaryCharge) flag = 1; if (aTrack->GetTrackID() == 1) flag = 2; if (transmit) fEventAction->SetTransmitFlag(flag); - if (reflect) fEventAction->SetReflectFlag(flag); - + if (reflect) fEventAction->SetReflectFlag(flag); + // - //histograms + // histograms // G4bool charged = (charge != 0.); G4bool neutral = !charged; - //energy spectrum at exit - //zero energy charged particle are not taken into account - // - G4int id = 0; - if (transmit && charged) id = 10; - else if (transmit && neutral) id = 20; - else if (reflect && charged) id = 30; - else if (reflect && neutral) id = 40; - - if (id>0) { analysisManager->FillH1(id, energy); } + // energy spectrum at exit + // zero energy charged particle are not taken into account + // + G4int id = 0; + if (transmit && charged) + id = 10; + else if (transmit && neutral) + id = 20; + else if (reflect && charged) + id = 30; + else if (reflect && neutral) + id = 40; + + if (id > 0) { + analysisManager->FillH1(id, energy); + } - //energy leakage + // energy leakage // if (notabsor) { G4int trackID = aTrack->GetTrackID(); - G4int index = 0; if (trackID > 1) index = 1; //primary=0, secondaries=1 + G4int index = 0; + if (trackID > 1) index = 1; // primary=0, secondaries=1 G4double eleak = aTrack->GetKineticEnergy(); if ((aTrack->GetDefinition() == G4Positron::Positron()) && (trackID > 1)) - eleak += 2*electron_mass_c2; - run->AddEnergyLeak(eleak,index); + eleak += 2 * electron_mass_c2; + run->AddEnergyLeak(eleak, index); } - //space angle distribution at exit : dN/dOmega + // space angle distribution at exit : dN/dOmega // - G4ThreeVector direction = aTrack->GetMomentumDirection(); - id = 0; - if (transmit && charged) id = 12; - else if (transmit && neutral) id = 22; - else if (reflect && charged) id = 32; - else if (reflect && neutral) id = 42; - - if (id>0 && std::abs(direction.x()) < 1.0) { - G4double theta = std::acos(direction.x()); + G4ThreeVector direction = aTrack->GetMomentumDirection(); + id = 0; + if (transmit && charged) + id = 12; + else if (transmit && neutral) + id = 22; + else if (reflect && charged) + id = 32; + else if (reflect && neutral) + id = 42; + + if (id > 0 && std::abs(direction.x()) < 1.0) { + G4double theta = std::acos(direction.x()); if (theta > 0.0) { - G4double dteta = analysisManager->GetH1Width(id); - G4double unit = analysisManager->GetH1Unit(id); - G4double weight = unit/(twopi*std::sin(theta)*dteta); + G4double dteta = analysisManager->GetH1Width(id); + G4double unit = analysisManager->GetH1Unit(id); + G4double weight = unit / (twopi * std::sin(theta) * dteta); /* - G4cout << "theta, dteta, unit, weight: " - << theta << " " - << dteta << " " - << unit << " " - << weight << G4endl; + G4cout << "theta, dteta, unit, weight: " + << theta << " " + << dteta << " " + << unit << " " + << weight << G4endl; */ - analysisManager->FillH1(id,theta,weight); + analysisManager->FillH1(id, theta, weight); } } - - //energy fluence at exit : dE(MeV)/dOmega + + // energy fluence at exit : dE(MeV)/dOmega // - id = 0; - if (transmit && charged) id = 11; - else if (reflect && charged) id = 31; - else if (transmit && neutral) id = 21; - else if (reflect && neutral) id = 41; - - if (id>0 && std::abs(direction.x()) < 1.0) { - G4double theta = std::acos(direction.x()); + id = 0; + if (transmit && charged) + id = 11; + else if (reflect && charged) + id = 31; + else if (transmit && neutral) + id = 21; + else if (reflect && neutral) + id = 41; + + if (id > 0 && std::abs(direction.x()) < 1.0) { + G4double theta = std::acos(direction.x()); if (theta > 0.0) { - G4double dteta = analysisManager->GetH1Width(id); - G4double unit = analysisManager->GetH1Unit(id); - G4double weight = unit/(twopi*std::sin(theta)*dteta); - weight *= (aTrack->GetKineticEnergy()/MeV); - analysisManager->FillH1(id,theta,weight); - } + G4double dteta = analysisManager->GetH1Width(id); + G4double unit = analysisManager->GetH1Unit(id); + G4double weight = unit / (twopi * std::sin(theta) * dteta); + weight *= (aTrack->GetKineticEnergy() / MeV); + analysisManager->FillH1(id, theta, weight); + } } - - //projected angles distribution at exit - // - id = 0; - if (transmit && charged) id = 13; - else if (transmit && neutral) id = 23; - else if (reflect && charged) id = 33; - else if (reflect && neutral) id = 43; - if (id>0) { + // projected angles distribution at exit + // + id = 0; + if (transmit && charged) + id = 13; + else if (transmit && neutral) + id = 23; + else if (reflect && charged) + id = 33; + else if (reflect && neutral) + id = 43; + + if (id > 0) { if (direction.x() != 0.0) { - G4double tet = std::atan(direction.y()/std::fabs(direction.x())); - analysisManager->FillH1(id,tet); + G4double tet = std::atan(direction.y() / std::fabs(direction.x())); + analysisManager->FillH1(id, tet); if (transmit && (flag == 2)) run->AddMscProjTheta(tet); - tet = std::atan(direction.z()/std::fabs(direction.x())); - analysisManager->FillH1(id,tet); + tet = std::atan(direction.z() / std::fabs(direction.x())); + analysisManager->FillH1(id, tet); if (transmit && (flag == 2)) run->AddMscProjTheta(tet); } } - //projected position and radius at exit + // projected position and radius at exit // if (transmit && energy > 0.0) { G4double y = position.y(), z = position.z(); - G4double r = std::sqrt(y*y + z*z); - analysisManager->FillH1(14, y); - analysisManager->FillH1(14, z); - analysisManager->FillH1(15, r); + G4double r = std::sqrt(y * y + z * z); + analysisManager->FillH1(14, y); + analysisManager->FillH1(14, z); + analysisManager->FillH1(15, r); } - - //x-vertex of charged secondaries + + // x-vertex of charged secondaries // - if ((aTrack->GetParentID() == 1) && charged ) { + if ((aTrack->GetParentID() == 1) && charged) { G4double xVertex = (aTrack->GetVertexPosition()).x(); analysisManager->FillH1(6, xVertex); - if (notabsor) analysisManager->FillH1(7, xVertex); + if (notabsor) analysisManager->FillH1(7, xVertex); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm5/subcut.mac b/examples/extended/electromagnetic/TestEm5/subcut.mac deleted file mode 100644 index 75d57af4703..00000000000 --- a/examples/extended/electromagnetic/TestEm5/subcut.mac +++ /dev/null @@ -1,43 +0,0 @@ -# -# macro file for TestEm5.cc -# -/control/cout/ignoreThreadsExcept 0 -/control/verbose 2 -/run/verbose 1 -# -/testem/det/setAbsMat Iron -/testem/det/setAbsThick 5 cm -/testem/det/setAbsYZ 5 cm -# -###/testem/phys/addPhysics emstandard_opt3 -###/testem/phys/addPhysics emstandard_opt4 -/testem/phys/addPhysics emstandard_opt0 -# -/run/setCut 1 mm -# -# to control sub-cutoff production -/process/eLoss/subsec true World -/process/eLoss/minsubsec 0.01 -# -/process/em/verbose 1 -/process/em/printParameters -# -/run/initialize -# -###/process/inactivate msc -###/process/inactivate eBrem -# -/testem/gun/setDefault -/gun/particle proton -/gun/energy 500 MeV -# -/analysis/setFileName subcut -/analysis/h1/set 2 100 0. 2. MeV #tkin of secondaries -/analysis/h1/set 6 100 -3. +3. cm #x-vertex of secondaries -# -/run/beamOn 1000 -# -# to be run interactively -###/control/execute vis.mac -###/run/beamOn 100 -# diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.cc b/examples/extended/electromagnetic/TestEm6/TestEm6.cc index 7f0a46dce5a..6f1f577c889 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.cc +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.cc @@ -26,73 +26,73 @@ /// \file electromagnetic/TestEm6/TestEm6.cc /// \brief Main program of the electromagnetic/TestEm6 example // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "SteppingAction.hh" #include "StackingAction.hh" +#include "SteppingAction.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -int main(int argc,char** argv) { - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); - - //Use SteppingVerbose with Unit + if (argc == 1) ui = new G4UIExecutive(argc, argv); + + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - - //Construct a serial run manager + + // Construct a serial run manager auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly); - //set mandatory initialization classes + // set mandatory initialization classes DetectorConstruction* det = new DetectorConstruction(); runManager->SetUserInitialization(det); runManager->SetUserInitialization(new PhysicsList()); runManager->SetUserAction(new PrimaryGeneratorAction(det)); - - //set user action classes + + // set user action classes RunAction* runAct = new RunAction(det); - - runManager->SetUserAction(runAct); + + runManager->SetUserAction(runAct); runManager->SetUserAction(new SteppingAction(runAct)); runManager->SetUserAction(new StackingAction()); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager - G4UImanager* UImanager = G4UImanager::GetUIpointer(); + // get the pointer to the User Interface manager + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode + if (ui) { + // interactive mode visManager = new G4VisExecutive; visManager->Initialize(); ui->SessionStart(); delete ui; delete visManager; - } else { - //batch mode + } + else { + // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.out b/examples/extended/electromagnetic/TestEm6/TestEm6.out index b72ec8172c5..5797a8f1d6f 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.out +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -270,7 +270,7 @@ Step# X Y Z KineE dEStep StepLeng T Run terminated. Run Summary Number of events processed : 5 - User=0.000000s Real=0.000716s Sys=0.000000s + User=0.000000s Real=0.001323s Sys=0.000000s ### RunAction::EndOfRunAction Number of process calls ---> GammaToMuPair : 5 @@ -389,7 +389,7 @@ Step# X Y Z KineE dEStep StepLeng T Run terminated. Run Summary Number of events processed : 5 - User=0.000000s Real=0.004509s Sys=0.000000s + User=0.000000s Real=0.000703s Sys=0.000000s ### RunAction::EndOfRunAction Number of process calls ---> AnnihiToMuPair : 2 ee2hadr : 3 @@ -412,11 +412,12 @@ Run Summary #/run/beamOn 2 # G4 kernel has come to Quit state. -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserActionInitialization deleted. -UserWorkerInitialization deleted. -UserWorkerThreadInitialization deleted. +Deleting G4Run (id:1) +UserDetectorConstruction deleted 0x10dba10 +UserPhysicsList deleted 0x1115a20 +UserActionInitialization deleted 0 +UserWorkerInitialization deleted 0 +UserWorkerThreadInitialization deleted 0 UserRunAction deleted. UserPrimaryGenerator deleted. RunManager is deleting RunManagerKernel. diff --git a/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh index 464630347b8..8c498d669b3 100644 --- a/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh @@ -47,51 +47,43 @@ class DetectorMessenger; class DetectorConstruction : public G4VUserDetectorConstruction { public: - DetectorConstruction(); - ~DetectorConstruction(); + ~DetectorConstruction(); public: - - virtual G4VPhysicalVolume* Construct(); - - void SetSize (G4double); - void SetMaterial (const G4String&); - void SetMagField (G4double); - void SetMaxStepSize (G4double); - - void UpdateGeometry(); - + virtual G4VPhysicalVolume* Construct(); + + void SetSize(G4double); + void SetMaterial(const G4String&); + void SetMagField(G4double); + void SetMaxStepSize(G4double); + + void UpdateGeometry(); + public: - - const - G4VPhysicalVolume* GetWorld() {return fP_Box;}; - - G4double GetSize() {return fBoxSize;}; - G4Material* GetMaterial() {return fMaterial;}; - - void PrintParameters(); - + const G4VPhysicalVolume* GetWorld() { return fP_Box; }; + + G4double GetSize() { return fBoxSize; }; + G4Material* GetMaterial() { return fMaterial; }; + + void PrintParameters(); + private: - - G4VPhysicalVolume* fP_Box; - G4LogicalVolume* fL_Box; - - G4double fBoxSize; - G4Material* fMaterial; - G4UniformMagField* fMagField; - G4UserLimits* fUserLimits; - - DetectorMessenger* fDetectorMessenger; + G4VPhysicalVolume* fP_Box; + G4LogicalVolume* fL_Box; + + G4double fBoxSize; + G4Material* fMaterial; + G4UniformMagField* fMagField; + G4UserLimits* fUserLimits; + + DetectorMessenger* fDetectorMessenger; private: - - void DefineMaterials(); - G4VPhysicalVolume* ConstructVolumes(); + void DefineMaterials(); + G4VPhysicalVolume* ConstructVolumes(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #endif - diff --git a/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh index 512884e7267..4c4563c1397 100644 --- a/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh @@ -33,8 +33,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -44,29 +44,26 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { public: - - DetectorMessenger(DetectorConstruction* ); - ~DetectorMessenger(); - + DetectorMessenger(DetectorConstruction*); + ~DetectorMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - - DetectorConstruction* fDetector; - - G4UIdirectory* fTestemDir; - G4UIdirectory* fDetDir; - G4UIcmdWithAString* fMaterCmd; + DetectorConstruction* fDetector; + + G4UIdirectory* fTestemDir; + G4UIdirectory* fDetDir; + G4UIcmdWithAString* fMaterCmd; G4UIcmdWithADoubleAndUnit* fSizeCmd; G4UIcmdWithADoubleAndUnit* fMagFieldCmd; - G4UIcmdWithADoubleAndUnit* fMaxStepCmd; - G4UIcmdWithoutParameter* fUpdateCmd; + G4UIcmdWithADoubleAndUnit* fMaxStepCmd; + G4UIcmdWithoutParameter* fUpdateCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh index 19fdd8cec93..e4944eb560b 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh @@ -33,10 +33,9 @@ #ifndef PhysicsList_h #define PhysicsList_h 1 +#include "G4EmConfigurator.hh" #include "G4VModularPhysicsList.hh" #include "globals.hh" -#include "G4EmConfigurator.hh" - class G4VPhysicsConstructor; class StepMax; @@ -47,7 +46,7 @@ class G4eeToHadrons; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { public: PhysicsList(); @@ -69,18 +68,15 @@ class PhysicsList: public G4VModularPhysicsList void SetAnnihiToHadronFac(G4double); private: - G4VPhysicsConstructor* fEmPhysicsList; G4VPhysicsConstructor* fDecayPhysicsList; G4String fEmName; StepMax* fStepMaxProcess; - PhysicsListMessenger* fMes; - + PhysicsListMessenger* fMes; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh index b29377c8b18..cc7e9026bf0 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh @@ -33,36 +33,32 @@ #ifndef PhysicsListMessenger_h #define PhysicsListMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class PhysicsList; class G4UIdirectory; class G4UIcmdWithADouble; class G4UIcmdWithAString; - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - PhysicsListMessenger(PhysicsList*); - ~PhysicsListMessenger(); - + ~PhysicsListMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - - PhysicsList* fPhysList; - - G4UIdirectory* fPhysDir; + PhysicsList* fPhysList; + + G4UIdirectory* fPhysDir; G4UIcmdWithADouble* fGammaToMuPairFacCmd; G4UIcmdWithADouble* fAnnihiToMuPairFacCmd; - G4UIcmdWithADouble* fAnnihiToHadronFacCmd; + G4UIcmdWithADouble* fAnnihiToHadronFacCmd; G4UIcmdWithAString* fListCmd; - }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh index 913f3523af3..a572a307471 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh @@ -46,22 +46,20 @@ class PrimaryGeneratorMessenger; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction(); + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction(); public: - void SetRndmBeam(G4double val) {fRndmBeam = val;} + void SetRndmBeam(G4double val) { fRndmBeam = val; } virtual void GeneratePrimaries(G4Event*); private: - G4ParticleGun* fParticleGun; - DetectorConstruction* fDetector; - G4double fRndmBeam; - PrimaryGeneratorMessenger* fGunMessenger; + G4ParticleGun* fParticleGun; + DetectorConstruction* fDetector; + G4double fRndmBeam; + PrimaryGeneratorMessenger* fGunMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh index 0cf3141df54..f6a5915b83a 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh @@ -42,21 +42,20 @@ class G4UIcmdWithADouble; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger : public G4UImessenger { public: PrimaryGeneratorMessenger(PrimaryGeneratorAction*); - ~PrimaryGeneratorMessenger(); - + ~PrimaryGeneratorMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - PrimaryGeneratorAction* fAction; - G4UIdirectory* fGunDir; - G4UIcmdWithADouble* fRndmCmd; + PrimaryGeneratorAction* fAction; + G4UIdirectory* fGunDir; + G4UIcmdWithADouble* fRndmCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm6/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm6/include/ProcessesCount.hh index 05d81f9e98b..6f48aa2546a 100644 --- a/examples/extended/electromagnetic/TestEm6/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm6/include/ProcessesCount.hh @@ -34,24 +34,29 @@ #define ProcessesCount_HH #include "globals.hh" + #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class OneProcessCount { -public: - OneProcessCount(G4String name) {fName=name; fCounter=0;}; - ~OneProcessCount() {}; - -public: - G4String GetName() {return fName;}; - G4int GetCounter() {return fCounter;}; - void Count() {fCounter++;}; - -private: - G4String fName; // process name - G4int fCounter; // process counter + public: + OneProcessCount(G4String name) + { + fName = name; + fCounter = 0; + }; + ~OneProcessCount() {}; + + public: + G4String GetName() { return fName; }; + G4int GetCounter() { return fCounter; }; + void Count() { fCounter++; }; + + private: + G4String fName; // process name + G4int fCounter; // process counter }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/RunAction.hh b/examples/extended/electromagnetic/TestEm6/include/RunAction.hh index bf9d2a70472..b19923c8288 100644 --- a/examples/extended/electromagnetic/TestEm6/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/RunAction.hh @@ -33,12 +33,13 @@ #ifndef RunAction_h #define RunAction_h 1 -#include "G4UserRunAction.hh" +#include "DetectorConstruction.hh" #include "ProcessesCount.hh" -#include "globals.hh" -#include "G4ParticleDefinition.hh" + #include "G4AnalysisManager.hh" -#include "DetectorConstruction.hh" +#include "G4ParticleDefinition.hh" +#include "G4UserRunAction.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,25 +51,24 @@ class RunAction : public G4UserRunAction { public: RunAction(DetectorConstruction*); - ~RunAction(); + ~RunAction(); public: virtual void BeginOfRunAction(const G4Run*); - virtual void EndOfRunAction(const G4Run*); - void CountProcesses(G4String); - + virtual void EndOfRunAction(const G4Run*); + void CountProcesses(G4String); + private: DetectorConstruction* fDetector; - ProcessesCount* fProcCounter; - G4AnalysisManager* fAnalysis; - G4Material* fMat; + ProcessesCount* fProcCounter; + G4AnalysisManager* fAnalysis; + G4Material* fMat; G4double fMinE; G4double fMaxE; - G4int fnBin; + G4int fnBin; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm6/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm6/include/StackingAction.hh index 3bcc14859fd..a1e8cc4e1ed 100644 --- a/examples/extended/electromagnetic/TestEm6/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/StackingAction.hh @@ -26,7 +26,7 @@ /// \file electromagnetic/TestEm6/include/StackingAction.hh /// \brief Definition of the StackingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -43,12 +43,10 @@ class G4Track; class StackingAction : public G4UserStackingAction { public: - StackingAction(); - ~StackingAction(); + ~StackingAction(); - virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* ); - + virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*); }; #endif diff --git a/examples/extended/electromagnetic/TestEm6/include/StepMax.hh b/examples/extended/electromagnetic/TestEm6/include/StepMax.hh index 1f795a35914..e4ef2753f00 100644 --- a/examples/extended/electromagnetic/TestEm6/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm6/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -44,36 +44,31 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { -public: + public: + StepMax(const G4String& processName = "UserMaxStep"); + ~StepMax(); - StepMax(const G4String& processName = "UserMaxStep"); - ~StepMax(); + void SetMaxStep(G4double); - void SetMaxStep(G4double); + inline G4double GetMaxStep() { return fMaxChargedStep; }; - inline G4double GetMaxStep() { return fMaxChargedStep; }; + virtual G4bool IsApplicable(const G4ParticleDefinition&); - virtual G4bool IsApplicable(const G4ParticleDefinition&); + virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); + virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*); - virtual G4double - GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*); + private: + G4double fMaxChargedStep; + G4double fProposedStep; -private: - - G4double fMaxChargedStep; - G4double fProposedStep; - - StepMaxMessenger* fMessenger; + StepMaxMessenger* fMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm6/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/StepMaxMessenger.hh index a6f1028c93d..a8fdd3ea673 100644 --- a/examples/extended/electromagnetic/TestEm6/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/StepMaxMessenger.hh @@ -33,26 +33,25 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { -public: - - StepMaxMessenger(StepMax*); - ~StepMaxMessenger(); - - virtual void SetNewValue(G4UIcommand*, G4String); - -private: - StepMax* fStepMax; - G4UIcmdWithADoubleAndUnit* fStepMaxCmd; + public: + StepMaxMessenger(StepMax*); + ~StepMaxMessenger(); + + virtual void SetNewValue(G4UIcommand*, G4String); + + private: + StepMax* fStepMax; + G4UIcmdWithADoubleAndUnit* fStepMaxCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh index c55f07bd54b..1ef67bd2c65 100644 --- a/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh @@ -42,15 +42,15 @@ class RunAction; class SteppingAction : public G4UserSteppingAction { -public: - SteppingAction(RunAction*); - ~SteppingAction(); - - virtual void UserSteppingAction(const G4Step*); - -private: - RunAction* fRunAction; - G4double fMuonMass; + public: + SteppingAction(RunAction*); + ~SteppingAction(); + + virtual void UserSteppingAction(const G4Step*); + + private: + RunAction* fRunAction; + G4double fMuonMass; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc index bd27adcb4b6..3f390c1c180 100644 --- a/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc @@ -31,46 +31,52 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "DetectorConstruction.hh" + #include "DetectorMessenger.hh" -#include "G4NistManager.hh" -#include "G4RunManager.hh" -#include "G4Material.hh" #include "G4Box.hh" +#include "G4GeometryManager.hh" #include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4NistManager.hh" #include "G4PVPlacement.hh" -#include "G4UniformMagField.hh" -#include "G4UserLimits.hh" - -#include "G4GeometryManager.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" +#include "G4RunManager.hh" #include "G4SolidStore.hh" - -#include "G4UnitsTable.hh" #include "G4SystemOfUnits.hh" +#include "G4UniformMagField.hh" +#include "G4UnitsTable.hh" +#include "G4UserLimits.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() -:G4VUserDetectorConstruction(), - fP_Box(0), fL_Box(0), fBoxSize(500*m), fMaterial(0), fMagField(0), - fUserLimits(0), fDetectorMessenger(0) + : G4VUserDetectorConstruction(), + fP_Box(0), + fL_Box(0), + fBoxSize(500 * m), + fMaterial(0), + fMagField(0), + fUserLimits(0), + fDetectorMessenger(0) { DefineMaterials(); SetMaterial("Iron"); - + // create UserLimits fUserLimits = new G4UserLimits(); - // create commands for interactive definition of the detector + // create commands for interactive definition of the detector fDetectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::~DetectorConstruction() -{ delete fDetectorMessenger;} +{ + delete fDetectorMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -82,47 +88,46 @@ G4VPhysicalVolume* DetectorConstruction::Construct() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorConstruction::DefineMaterials() -{ - G4double a, z, density; +{ + G4double a, z, density; - new G4Material("Beryllium", z= 4., a= 9.012182*g/mole, density= 1.848*g/cm3); - new G4Material("Carbon", z= 6., a= 12.011*g/mole, density= 2.265*g/cm3); - new G4Material("Iron", z=26., a= 55.85*g/mole, density= 7.870*g/cm3); + new G4Material("Beryllium", z = 4., a = 9.012182 * g / mole, density = 1.848 * g / cm3); + new G4Material("Carbon", z = 6., a = 12.011 * g / mole, density = 2.265 * g / cm3); + new G4Material("Iron", z = 26., a = 55.85 * g / mole, density = 7.870 * g / cm3); - G4cout << *(G4Material::GetMaterialTable()) << G4endl; + G4cout << *(G4Material::GetMaterialTable()) << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() { G4GeometryManager::GetInstance()->OpenGeometry(); G4PhysicalVolumeStore::GetInstance()->Clean(); G4LogicalVolumeStore::GetInstance()->Clean(); G4SolidStore::GetInstance()->Clean(); - - G4Box* - sBox = new G4Box("Container", //its name - fBoxSize/2,fBoxSize/2,fBoxSize/2); //its dimensions - - fL_Box = new G4LogicalVolume(sBox, //its shape - fMaterial, //its material - fMaterial->GetName()); //its name - - fL_Box->SetUserLimits(fUserLimits); - - fP_Box = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - fL_Box, //its logical volume - fMaterial->GetName(), //its name - 0, //its mother volume - false, //no boolean operation - 0); //copy number - + + G4Box* sBox = new G4Box("Container", // its name + fBoxSize / 2, fBoxSize / 2, fBoxSize / 2); // its dimensions + + fL_Box = new G4LogicalVolume(sBox, // its shape + fMaterial, // its material + fMaterial->GetName()); // its name + + fL_Box->SetUserLimits(fUserLimits); + + fP_Box = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + fL_Box, // its logical volume + fMaterial->GetName(), // its name + 0, // its mother volume + false, // no boolean operation + 0); // copy number + PrintParameters(); - + // - //always return the root volume + // always return the root volume // return fP_Box; } @@ -131,39 +136,40 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() void DetectorConstruction::PrintParameters() { - G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length") - << " of " << fMaterial->GetName() << G4endl; + G4cout << "\n The Box is " << G4BestUnit(fBoxSize, "Length") << " of " << fMaterial->GetName() + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorConstruction::SetMaterial(const G4String& name) { - G4cout << "###SetMaterial" << G4endl; + G4cout << "###SetMaterial" << G4endl; // get the pointer to the existing material G4Material* mat = G4Material::GetMaterial(name, false); - + // create the material by its name - if(!mat) { mat = G4NistManager::Instance()->FindOrBuildMaterial(name); } - + if (!mat) { + mat = G4NistManager::Instance()->FindOrBuildMaterial(name); + } + if (mat && mat != fMaterial) { G4cout << "### New target material: " << mat->GetName() << G4endl; fMaterial = mat; - if(fL_Box) { + if (fL_Box) { fL_Box->SetMaterial(mat); G4RunManager::GetRunManager()->PhysicsHasBeenModified(); - } + } } } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void DetectorConstruction::SetSize(G4double value) { fBoxSize = value; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -172,23 +178,21 @@ void DetectorConstruction::SetSize(G4double value) void DetectorConstruction::SetMagField(G4double fieldValue) { - //apply a global uniform magnetic field along Z axis - G4FieldManager* fieldMgr - = G4TransportationManager::GetTransportationManager()->GetFieldManager(); - - if (fMagField) delete fMagField; //delete the existing magn field - - if (fieldValue!=0.) // create a new one if non nul - { - fMagField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); - fieldMgr->SetDetectorField(fMagField); - fieldMgr->CreateChordFinder(fMagField); - } - else - { - fMagField = 0; - fieldMgr->SetDetectorField(fMagField); - } + // apply a global uniform magnetic field along Z axis + G4FieldManager* fieldMgr = G4TransportationManager::GetTransportationManager()->GetFieldManager(); + + if (fMagField) delete fMagField; // delete the existing magn field + + if (fieldValue != 0.) // create a new one if non nul + { + fMagField = new G4UniformMagField(G4ThreeVector(0., 0., fieldValue)); + fieldMgr->SetDetectorField(fMagField); + fieldMgr->CreateChordFinder(fMagField); + } + else { + fMagField = 0; + fieldMgr->SetDetectorField(fMagField); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -197,18 +201,18 @@ void DetectorConstruction::SetMaxStepSize(G4double val) { // set the maximum allowed step size // - if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetMaxStepSize: maxStep " - << val << " out of range. Command refused" << G4endl; - return; - } + if (val <= DBL_MIN) { + G4cout << "\n --->warning from SetMaxStepSize: maxStep " << val + << " out of range. Command refused" << G4endl; + return; + } fUserLimits->SetMaxAllowedStep(val); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4RunManager.hh" - +#include "G4RunManager.hh" + void DetectorConstruction::UpdateGeometry() { G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes()); diff --git a/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc index 6cb7d844b5d..bfe4c600836 100644 --- a/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc @@ -33,60 +33,62 @@ #include "DetectorMessenger.hh" #include "DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) -:G4UImessenger(),fDetector(Det), - fTestemDir(0), - fDetDir(0), - fMaterCmd(0), - fSizeCmd(0), - fMagFieldCmd(0), - fMaxStepCmd(0), - fUpdateCmd(0) -{ +DetectorMessenger::DetectorMessenger(DetectorConstruction* Det) + : G4UImessenger(), + fDetector(Det), + fTestemDir(0), + fDetDir(0), + fMaterCmd(0), + fSizeCmd(0), + fMagFieldCmd(0), + fMaxStepCmd(0), + fUpdateCmd(0) +{ fTestemDir = new G4UIdirectory("/testem/"); fTestemDir->SetGuidance(" detector control."); - + fDetDir = new G4UIdirectory("/testem/det/"); fDetDir->SetGuidance("detector construction commands"); - - fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); + + fMaterCmd = new G4UIcmdWithAString("/testem/det/setMat", this); fMaterCmd->SetGuidance("Select material of the box."); - fMaterCmd->SetParameterName("choice",false); - fMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize",this); + fMaterCmd->SetParameterName("choice", false); + fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fSizeCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSize", this); fSizeCmd->SetGuidance("Set size of the box"); - fSizeCmd->SetParameterName("Size",false); + fSizeCmd->SetParameterName("Size", false); fSizeCmd->SetRange("Size>0."); fSizeCmd->SetUnitCategory("Length"); - fSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fMagFieldCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setField",this); + fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fMagFieldCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setField", this); fMagFieldCmd->SetGuidance("Define magnetic field."); fMagFieldCmd->SetGuidance("Magnetic field will be in Z direction."); - fMagFieldCmd->SetParameterName("Bz",false); + fMagFieldCmd->SetParameterName("Bz", false); fMagFieldCmd->SetUnitCategory("Magnetic flux density"); - fMagFieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this); + fMagFieldCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fUpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update", this); fUpdateCmd->SetGuidance("Update calorimeter geometry."); fUpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); fUpdateCmd->SetGuidance("if you changed geometrical value(s)."); fUpdateCmd->AvailableForStates(G4State_Idle); - - fMaxStepCmd = new G4UIcmdWithADoubleAndUnit("/testem/tracking/stepMax",this); + + fMaxStepCmd = new G4UIcmdWithADoubleAndUnit("/testem/tracking/stepMax", this); fMaxStepCmd->SetGuidance("Set max allowed step size"); - fMaxStepCmd->SetParameterName("Size",false); + fMaxStepCmd->SetParameterName("Size", false); fMaxStepCmd->SetRange("Size>0."); fMaxStepCmd->SetUnitCategory("Length"); - fMaxStepCmd->AvailableForStates(G4State_Idle); + fMaxStepCmd->AvailableForStates(G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -94,32 +96,37 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) DetectorMessenger::~DetectorMessenger() { delete fMaterCmd; - delete fSizeCmd; + delete fSizeCmd; delete fMagFieldCmd; delete fUpdateCmd; delete fMaxStepCmd; - delete fDetDir; + delete fDetDir; delete fTestemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == fMaterCmd ) - { fDetector->SetMaterial(newValue);} - - if( command == fSizeCmd ) - { fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));} - - if( command == fMagFieldCmd ) - { fDetector->SetMagField(fMagFieldCmd->GetNewDoubleValue(newValue));} - - if( command == fUpdateCmd ) - { fDetector->UpdateGeometry(); } - - if( command == fMaxStepCmd ) - { fDetector->SetMaxStepSize(fMaxStepCmd->GetNewDoubleValue(newValue));} +void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fMaterCmd) { + fDetector->SetMaterial(newValue); + } + + if (command == fSizeCmd) { + fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue)); + } + + if (command == fMagFieldCmd) { + fDetector->SetMagField(fMagFieldCmd->GetNewDoubleValue(newValue)); + } + + if (command == fUpdateCmd) { + fDetector->UpdateGeometry(); + } + + if (command == fMaxStepCmd) { + fDetector->SetMaxStepSize(fMaxStepCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc index 6497df82921..f5c4acd16d3 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc @@ -31,54 +31,44 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysicsList.hh" + #include "PhysicsListMessenger.hh" +#include "StepMax.hh" +#include "G4AnnihiToMuPair.hh" +#include "G4DecayPhysics.hh" +#include "G4Electron.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmLowEPPhysics.hh" +#include "G4EmPenelopePhysics.hh" #include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysicsGS.hh" +#include "G4EmStandardPhysicsSS.hh" +#include "G4EmStandardPhysicsWVI.hh" #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" #include "G4EmStandardPhysics_option4.hh" -#include "G4EmStandardPhysicsGS.hh" -#include "G4EmStandardPhysicsWVI.hh" -#include "G4EmStandardPhysicsSS.hh" -#include "G4EmLivermorePhysics.hh" -#include "G4EmPenelopePhysics.hh" -#include "G4EmLowEPPhysics.hh" - -#include "G4DecayPhysics.hh" - +#include "G4Gamma.hh" +#include "G4GammaConversionToMuons.hh" +#include "G4LossTableManager.hh" #include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" #include "G4ParticleTable.hh" -#include "G4ProcessTable.hh" - -#include "G4Gamma.hh" -#include "G4Electron.hh" #include "G4Positron.hh" - -#include "G4GammaConversionToMuons.hh" - -#include "G4AnnihiToMuPair.hh" -#include "G4eeToHadrons.hh" - +#include "G4ProcessManager.hh" +#include "G4ProcessTable.hh" #include "G4SystemOfUnits.hh" #include "G4UnitsTable.hh" -#include "G4LossTableManager.hh" - -#include "StepMax.hh" - +#include "G4eeToHadrons.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PhysicsList::PhysicsList() : G4VModularPhysicsList(), - fEmPhysicsList(0), - fDecayPhysicsList(0), - fStepMaxProcess(0), - fMes(0) +PhysicsList::PhysicsList() + : G4VModularPhysicsList(), fEmPhysicsList(0), fDecayPhysicsList(0), fStepMaxProcess(0), fMes(0) { G4LossTableManager::Instance()->SetVerbose(1); - defaultCutValue = 1.*km; + defaultCutValue = 1. * km; fMes = new PhysicsListMessenger(this); fStepMaxProcess = new StepMax(); @@ -111,7 +101,7 @@ void PhysicsList::ConstructProcess() { AddTransportation(); - if(fEmPhysicsList) fEmPhysicsList->ConstructProcess(); + if (fEmPhysicsList) fEmPhysicsList->ConstructProcess(); fDecayPhysicsList->ConstructProcess(); AddStepMax(); @@ -140,12 +130,12 @@ void PhysicsList::ConstructHighEnergy() void PhysicsList::SetGammaToMuPairFac(G4double fac) { G4ProcessTable* theProcessTable = G4ProcessTable::GetProcessTable(); - G4GammaConversionToMuons* gammaToMuPairProcess = (G4GammaConversionToMuons*) - theProcessTable->FindProcess("GammaToMuPair","gamma"); - if(gammaToMuPairProcess) gammaToMuPairProcess->SetCrossSecFactor(fac); - else G4cout - << "Warning. No process GammaToMuPair found, SetGammaToMuPairFac was ignored" - << G4endl; + G4GammaConversionToMuons* gammaToMuPairProcess = + (G4GammaConversionToMuons*)theProcessTable->FindProcess("GammaToMuPair", "gamma"); + if (gammaToMuPairProcess) + gammaToMuPairProcess->SetCrossSecFactor(fac); + else + G4cout << "Warning. No process GammaToMuPair found, SetGammaToMuPairFac was ignored" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -153,12 +143,12 @@ void PhysicsList::SetGammaToMuPairFac(G4double fac) void PhysicsList::SetAnnihiToMuPairFac(G4double fac) { G4ProcessTable* theProcessTable = G4ProcessTable::GetProcessTable(); - G4AnnihiToMuPair* annihiToMuPairProcess = (G4AnnihiToMuPair*) - theProcessTable->FindProcess("AnnihiToMuPair","e+"); - if(annihiToMuPairProcess) annihiToMuPairProcess->SetCrossSecFactor(fac); - else G4cout - << "Warning. No process AnnihiToMuPair found, SetAnnihiToMuPairFac ignored" - << G4endl; + G4AnnihiToMuPair* annihiToMuPairProcess = + (G4AnnihiToMuPair*)theProcessTable->FindProcess("AnnihiToMuPair", "e+"); + if (annihiToMuPairProcess) + annihiToMuPairProcess->SetCrossSecFactor(fac); + else + G4cout << "Warning. No process AnnihiToMuPair found, SetAnnihiToMuPairFac ignored" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -166,96 +156,82 @@ void PhysicsList::SetAnnihiToMuPairFac(G4double fac) void PhysicsList::SetAnnihiToHadronFac(G4double fac) { G4ProcessTable* theProcessTable = G4ProcessTable::GetProcessTable(); - G4eeToHadrons* eehadProcess = (G4eeToHadrons*) - theProcessTable->FindProcess("ee2hadr","e+"); - if(eehadProcess) eehadProcess->SetCrossSecFactor(fac); - else G4cout - << "Warning. No process ee2hadr found, SetAnnihiToHadronFac was ignored" - << G4endl; + G4eeToHadrons* eehadProcess = (G4eeToHadrons*)theProcessTable->FindProcess("ee2hadr", "e+"); + if (eehadProcess) + eehadProcess->SetCrossSecFactor(fac); + else + G4cout << "Warning. No process ee2hadr found, SetAnnihiToHadronFac was ignored" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>1) { + if (verboseLevel > 1) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } if (name == fEmName) { return; - - } else if (name == "emstandard_opt0") { - + } + else if (name == "emstandard_opt0") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics(); - - } else if (name == "emstandard_opt1") { - + } + else if (name == "emstandard_opt1") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option1(); - - } else if (name == "emstandard_opt2") { - + } + else if (name == "emstandard_opt2") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option2(); - - } else if (name == "emstandard_opt3") { - + } + else if (name == "emstandard_opt3") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option3(); - - } else if (name == "emstandard_opt4") { - + } + else if (name == "emstandard_opt4") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysics_option4(); - - } else if (name == "emlivermore") { - + } + else if (name == "emlivermore") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLivermorePhysics(); - - } else if (name == "empenelope") { - + } + else if (name == "empenelope") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmPenelopePhysics(); - - } else if (name == "emlowenergy") { - + } + else if (name == "emlowenergy") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmLowEPPhysics(); - - } else if (name == "emstandardGS") { - + } + else if (name == "emstandardGS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsGS(); - - } else if (name == "emstandardSS") { - + } + else if (name == "emstandardSS") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsSS(); - - } else if (name == "emstandardWVI") { - + } + else if (name == "emstandardWVI") { fEmName = name; delete fEmPhysicsList; fEmPhysicsList = new G4EmStandardPhysicsWVI(); - - } else { - + } + else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; + << " is not defined" << G4endl; } } @@ -263,21 +239,18 @@ void PhysicsList::AddPhysicsList(const G4String& name) void PhysicsList::AddStepMax() { - //Step limitation seen as a process + // Step limitation seen as a process - auto particleIterator=GetParticleIterator(); + auto particleIterator = GetParticleIterator(); particleIterator->reset(); - while ((*particleIterator)()) - { + while ((*particleIterator)()) { G4ParticleDefinition* particle = particleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (fStepMaxProcess->IsApplicable(*particle)) - { - pmanager ->AddDiscreteProcess(fStepMaxProcess); + if (fStepMaxProcess->IsApplicable(*particle)) { + pmanager->AddDiscreteProcess(fStepMaxProcess); } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc index 720e05241c0..1777b4eda34 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc @@ -33,51 +33,49 @@ #include "PhysicsListMessenger.hh" #include "PhysicsList.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithADouble.hh" #include "G4UIcmdWithAString.hh" - +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsListMessenger::PhysicsListMessenger(PhysicsList* physL) -:G4UImessenger(),fPhysList(physL), - fPhysDir(0), - fGammaToMuPairFacCmd(0), - fAnnihiToMuPairFacCmd(0), - fAnnihiToHadronFacCmd(0), - fListCmd(0) + : G4UImessenger(), + fPhysList(physL), + fPhysDir(0), + fGammaToMuPairFacCmd(0), + fAnnihiToMuPairFacCmd(0), + fAnnihiToHadronFacCmd(0), + fListCmd(0) { fPhysDir = new G4UIdirectory("/testem/phys/"); fPhysDir->SetGuidance("physics list commands"); - - fGammaToMuPairFacCmd=new G4UIcmdWithADouble - ("/testem/phys/SetGammaToMuPairFac",this); + + fGammaToMuPairFacCmd = new G4UIcmdWithADouble("/testem/phys/SetGammaToMuPairFac", this); fGammaToMuPairFacCmd->SetGuidance( - "Set factor to artificially increase the GammaToMuPair cross section"); - fGammaToMuPairFacCmd->SetParameterName("GammaToMuPairFac",false); + "Set factor to artificially increase the GammaToMuPair cross section"); + fGammaToMuPairFacCmd->SetParameterName("GammaToMuPairFac", false); fGammaToMuPairFacCmd->SetRange("GammaToMuPairFac>0.0"); - fGammaToMuPairFacCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fGammaToMuPairFacCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fAnnihiToMuPairFacCmd=new G4UIcmdWithADouble - ("/testem/phys/SetAnnihiToMuPairFac",this); + fAnnihiToMuPairFacCmd = new G4UIcmdWithADouble("/testem/phys/SetAnnihiToMuPairFac", this); fAnnihiToMuPairFacCmd->SetGuidance( - "Set factor to artificially increase the AnnihiToMuPair cross section"); - fAnnihiToMuPairFacCmd->SetParameterName("AnnihiToMuPairFac",false); + "Set factor to artificially increase the AnnihiToMuPair cross section"); + fAnnihiToMuPairFacCmd->SetParameterName("AnnihiToMuPairFac", false); fAnnihiToMuPairFacCmd->SetRange("AnnihiToMuPairFac>0.0"); - fAnnihiToMuPairFacCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - fAnnihiToHadronFacCmd= - new G4UIcmdWithADouble("/testem/phys/SetAnnihiToHadronFac",this); + fAnnihiToMuPairFacCmd->AvailableForStates(G4State_PreInit, G4State_Idle); + + fAnnihiToHadronFacCmd = new G4UIcmdWithADouble("/testem/phys/SetAnnihiToHadronFac", this); fAnnihiToHadronFacCmd->SetGuidance( - "Set factor to artificially increase the AnnihiToHadrons cross section"); - fAnnihiToHadronFacCmd->SetParameterName("AnnihiToHadFac",false); + "Set factor to artificially increase the AnnihiToHadrons cross section"); + fAnnihiToHadronFacCmd->SetParameterName("AnnihiToHadFac", false); fAnnihiToHadronFacCmd->SetRange("AnnihiToHadFac>0.0"); - fAnnihiToHadronFacCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fAnnihiToHadronFacCmd->AvailableForStates(G4State_PreInit, G4State_Idle); - fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + fListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics", this); fListCmd->SetGuidance("Add modula physics list."); - fListCmd->SetParameterName("PList",false); + fListCmd->SetParameterName("PList", false); fListCmd->AvailableForStates(G4State_PreInit); } @@ -87,31 +85,30 @@ PhysicsListMessenger::~PhysicsListMessenger() { delete fGammaToMuPairFacCmd; delete fAnnihiToMuPairFacCmd; - delete fAnnihiToHadronFacCmd; - delete fPhysDir; + delete fAnnihiToHadronFacCmd; + delete fPhysDir; delete fListCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if(command == fGammaToMuPairFacCmd) - { fPhysList->SetGammaToMuPairFac( - fGammaToMuPairFacCmd->GetNewDoubleValue(newValue));} +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fGammaToMuPairFacCmd) { + fPhysList->SetGammaToMuPairFac(fGammaToMuPairFacCmd->GetNewDoubleValue(newValue)); + } - if( command == fAnnihiToMuPairFacCmd) - { fPhysList->SetAnnihiToMuPairFac( - fAnnihiToMuPairFacCmd->GetNewDoubleValue(newValue));} - - if( command == fAnnihiToHadronFacCmd) - { fPhysList->SetAnnihiToHadronFac( - fAnnihiToHadronFacCmd->GetNewDoubleValue(newValue));} + if (command == fAnnihiToMuPairFacCmd) { + fPhysList->SetAnnihiToMuPairFac(fAnnihiToMuPairFacCmd->GetNewDoubleValue(newValue)); + } - if( command == fListCmd ) - { fPhysList->AddPhysicsList(newValue); } + if (command == fAnnihiToHadronFacCmd) { + fPhysList->SetAnnihiToHadronFac(fAnnihiToHadronFacCmd->GetNewDoubleValue(newValue)); + } + if (command == fListCmd) { + fPhysList->AddPhysicsList(newValue); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc index c57db28ca92..faa4ca8f814 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc @@ -36,31 +36,25 @@ #include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" +#include "G4ParticleDefinition.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorAction::PrimaryGeneratorAction( - DetectorConstruction* DC) -:G4VUserPrimaryGeneratorAction(), - fParticleGun(0), - fDetector(DC), - fRndmBeam(0), - fGunMessenger(0) +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* DC) + : G4VUserPrimaryGeneratorAction(), fParticleGun(0), fDetector(DC), fRndmBeam(0), fGunMessenger(0) { - fParticleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle - = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); + fParticleGun = new G4ParticleGun(1); + G4ParticleDefinition* particle = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); fParticleGun->SetParticleDefinition(particle); - fParticleGun->SetParticleEnergy(100*TeV); - fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - - //create a messenger for this class - fGunMessenger = new PrimaryGeneratorMessenger(this); + fParticleGun->SetParticleEnergy(100 * TeV); + fParticleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); + + // create a messenger for this class + fGunMessenger = new PrimaryGeneratorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,29 +62,27 @@ PrimaryGeneratorAction::PrimaryGeneratorAction( PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete fParticleGun; - delete fGunMessenger; + delete fGunMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - //this function is called at the begining of event + // this function is called at the begining of event // - G4double x0 = -0.5*(fDetector->GetSize()); - G4double y0 = 0.*cm, z0 = 0.*cm; - - //randomize the beam, if requested. + G4double x0 = -0.5 * (fDetector->GetSize()); + G4double y0 = 0. * cm, z0 = 0. * cm; + + // randomize the beam, if requested. // - if (fRndmBeam > 0.) - { - G4double rbeam = 0.5*(fDetector->GetSize())*fRndmBeam; - y0 = (2*G4UniformRand()-1.)*rbeam; - z0 = (2*G4UniformRand()-1.)*rbeam; - } - fParticleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - fParticleGun->GeneratePrimaryVertex(anEvent); + if (fRndmBeam > 0.) { + G4double rbeam = 0.5 * (fDetector->GetSize()) * fRndmBeam; + y0 = (2 * G4UniformRand() - 1.) * rbeam; + z0 = (2 * G4UniformRand() - 1.) * rbeam; + } + fParticleGun->SetParticlePosition(G4ThreeVector(x0, y0, z0)); + fParticleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc index e9c5c04daea..19ec5798ffb 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc @@ -33,26 +33,24 @@ #include "PrimaryGeneratorMessenger.hh" #include "PrimaryGeneratorAction.hh" -#include "G4UIdirectory.hh" + #include "G4UIcmdWithADouble.hh" +#include "G4UIdirectory.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( - PrimaryGeneratorAction* Gun) -:G4UImessenger(),fAction(Gun), - fGunDir(0), - fRndmCmd(0) -{ +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger(PrimaryGeneratorAction* Gun) + : G4UImessenger(), fAction(Gun), fGunDir(0), fRndmCmd(0) +{ fGunDir = new G4UIdirectory("/testem/gun/"); fGunDir->SetGuidance("gun control"); - fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm",this); + fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm", this); fRndmCmd->SetGuidance("random lateral extension on the beam"); fRndmCmd->SetGuidance("in fraction of 0.5*sizeYZ"); - fRndmCmd->SetParameterName("rBeam",false); + fRndmCmd->SetParameterName("rBeam", false); fRndmCmd->SetRange("rBeam>=0.&&rBeam<=1."); - fRndmCmd->AvailableForStates(G4State_Idle); + fRndmCmd->AvailableForStates(G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,17 +58,16 @@ PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() { delete fRndmCmd; - delete fGunDir; + delete fGunDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) -{ - if (command == fRndmCmd) - {fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue));} +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == fRndmCmd) { + fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm6/src/RunAction.cc b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc index 35a82293aa9..ae3f696372a 100644 --- a/examples/extended/electromagnetic/TestEm6/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc @@ -26,26 +26,25 @@ /// \file electromagnetic/TestEm6/src/RunAction.cc /// \brief Implementation of the RunAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4SystemOfUnits.hh" -#include "G4PhysicalConstants.hh" -#include "G4EmCalculator.hh" -#include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "G4Positron.hh" -#include "G4AnnihiToMuPair.hh" -#include "G4eeToHadrons.hh" -#include "G4eeToHadronsModel.hh" -#include "G4eBremsstrahlung.hh" - #include "RunAction.hh" + +#include "G4AnnihiToMuPair.hh" +#include "G4EmCalculator.hh" +#include "G4MuonMinus.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4PhysicalConstants.hh" +#include "G4Positron.hh" #include "G4Run.hh" #include "G4RunManager.hh" -#include "G4MuonMinus.hh" - +#include "G4SystemOfUnits.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eeToHadrons.hh" +#include "G4eeToHadronsModel.hh" #include "Randomize.hh" #include @@ -53,30 +52,28 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det) - : G4UserRunAction(),fDetector(det),fProcCounter(0),fAnalysis(0),fMat(0) + : G4UserRunAction(), fDetector(det), fProcCounter(0), fAnalysis(0), fMat(0) { - fMinE = 40*GeV; - fMaxE = 10000*GeV; + fMinE = 40 * GeV; + fMaxE = 10000 * GeV; fnBin = 10000; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::~RunAction() -{} +RunAction::~RunAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::BeginOfRunAction(const G4Run* aRun) -{ +{ G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; - //get material + // get material // fMat = fDetector->GetMaterial(); - G4cout << "###RunAction::BeginOfRunAction Material:" - << fMat->GetName() << G4endl; - + G4cout << "###RunAction::BeginOfRunAction Material:" << fMat->GetName() << G4endl; + fProcCounter = new ProcessesCount; fAnalysis = G4AnalysisManager::Instance(); @@ -87,67 +84,62 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) std::stringstream tmp; tmp << "testem6_" << aRun->GetRunID(); G4String fileName = tmp.str(); - fAnalysis->OpenFile(fileName); + fAnalysis->OpenFile(fileName); fAnalysis->SetVerboseLevel(2); fAnalysis->SetActivation(true); - + // Creating histograms 1,2,3,4,5,6 - // - fAnalysis->SetFirstHistoId(1); - fAnalysis->CreateH1("h1","1/(1+(theta+[g]+)**2)",100, 0 ,1.); - fAnalysis->CreateH1("h2","log10(theta+ [g]+)", 100,-3.,1.); - fAnalysis->CreateH1("h3","log10(theta- [g]-)", 100,-3.,1.); - fAnalysis->CreateH1("h4","log10(theta+ [g]+ -theta- [g]-)", 100,-3.,1.); - fAnalysis->CreateH1("h5","xPlus" ,100,0.,1.); - fAnalysis->CreateH1("h6","xMinus",100,0.,1.); - - //creating histogram 7,8,9,10,11 (CrossSectionPerAtom) // - G4double minBin = std::log10(fMinE/GeV); - G4double maxBin = std::log10(fMaxE/GeV); - fAnalysis->CreateH1("h7","CrossSectionPerAtom of AnnihiToMuMu (microbarn)", - fnBin,minBin,maxBin); - fAnalysis->CreateH1("h8", - "CrossSectionPerAtom of AnnihiToTwoGamma (microbarn)",fnBin,minBin,maxBin); - fAnalysis->CreateH1("h9","CrossSectionPerAtom of AnnihiToHadrons (microbarn)", - fnBin,minBin,maxBin); - fAnalysis->CreateH1("h10", - "Theoretical CrossSectionPerAtom of AnnihiToTwoGamma (microbarn)", - fnBin,minBin,maxBin); - fAnalysis->CreateH1("h11", - "Theoretical CrossSectionPerAtom of AnnihiToMuMu (microbarn)", - fnBin,minBin,maxBin); - - //creating histogram 12,13,14,15,16(CrossSectionPerVolume) + fAnalysis->SetFirstHistoId(1); + fAnalysis->CreateH1("h1", "1/(1+(theta+[g]+)**2)", 100, 0, 1.); + fAnalysis->CreateH1("h2", "log10(theta+ [g]+)", 100, -3., 1.); + fAnalysis->CreateH1("h3", "log10(theta- [g]-)", 100, -3., 1.); + fAnalysis->CreateH1("h4", "log10(theta+ [g]+ -theta- [g]-)", 100, -3., 1.); + fAnalysis->CreateH1("h5", "xPlus", 100, 0., 1.); + fAnalysis->CreateH1("h6", "xMinus", 100, 0., 1.); + + // creating histogram 7,8,9,10,11 (CrossSectionPerAtom) + // + G4double minBin = std::log10(fMinE / GeV); + G4double maxBin = std::log10(fMaxE / GeV); + fAnalysis->CreateH1("h7", "CrossSectionPerAtom of AnnihiToMuMu (microbarn)", fnBin, minBin, + maxBin); + fAnalysis->CreateH1("h8", "CrossSectionPerAtom of AnnihiToTwoGamma (microbarn)", fnBin, minBin, + maxBin); + fAnalysis->CreateH1("h9", "CrossSectionPerAtom of AnnihiToHadrons (microbarn)", fnBin, minBin, + maxBin); + fAnalysis->CreateH1("h10", "Theoretical CrossSectionPerAtom of AnnihiToTwoGamma (microbarn)", + fnBin, minBin, maxBin); + fAnalysis->CreateH1("h11", "Theoretical CrossSectionPerAtom of AnnihiToMuMu (microbarn)", fnBin, + minBin, maxBin); + + // creating histogram 12,13,14,15,16(CrossSectionPerVolume) // - fAnalysis->CreateH1("h12","CrossSectionPerVol of Bremsstraulung (1/mm) ", - fnBin,minBin,maxBin); - fAnalysis->CreateH1("h13","CrossSectionPerVol of Ionization (1/mm)", - fnBin,minBin,maxBin); - fAnalysis->CreateH1("h14","CrossSectionPerVol of AnnihiToMuMu (1/mm)", - fnBin,minBin,maxBin); - fAnalysis->CreateH1("h15","CrossSectionPerVol of AnnihiToTwoGamma (1/mm)", - fnBin,minBin,maxBin); - fAnalysis->CreateH1("h16","CrossSectionPerVol of AnnihiToHadrons (1/mm)", - fnBin,minBin,maxBin); - - //creating histogram 17 (R ratio) - fAnalysis->CreateH1("h17","R : eeToHadr/eeToMu",fnBin,minBin,maxBin); - - G4cout << "\n----> Histogram file is opened in " << fileName << G4endl; + fAnalysis->CreateH1("h12", "CrossSectionPerVol of Bremsstraulung (1/mm) ", fnBin, minBin, maxBin); + fAnalysis->CreateH1("h13", "CrossSectionPerVol of Ionization (1/mm)", fnBin, minBin, maxBin); + fAnalysis->CreateH1("h14", "CrossSectionPerVol of AnnihiToMuMu (1/mm)", fnBin, minBin, maxBin); + fAnalysis->CreateH1("h15", "CrossSectionPerVol of AnnihiToTwoGamma (1/mm)", fnBin, minBin, + maxBin); + fAnalysis->CreateH1("h16", "CrossSectionPerVol of AnnihiToHadrons (1/mm)", fnBin, minBin, maxBin); + + // creating histogram 17 (R ratio) + fAnalysis->CreateH1("h17", "R : eeToHadr/eeToMu", fnBin, minBin, maxBin); + + G4cout << "\n----> Histogram file is opened in " << fileName << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void RunAction::CountProcesses(G4String procName) { - //does the process already encounted ? + // does the process already encounted ? // size_t nbProc = fProcCounter->size(); size_t i = 0; - while ((iGetName()!=procName)) i++; - if (i == nbProc) fProcCounter->push_back( new OneProcessCount(procName)); - + while ((i < nbProc) && ((*fProcCounter)[i]->GetName() != procName)) + i++; + if (i == nbProc) fProcCounter->push_back(new OneProcessCount(procName)); + (*fProcCounter)[i]->Count(); } @@ -156,130 +148,127 @@ void RunAction::CountProcesses(G4String procName) void RunAction::EndOfRunAction(const G4Run*) { G4cout << "### RunAction::EndOfRunAction" << G4endl; - //total number of process calls + // total number of process calls // G4cout << "\n Number of process calls --->"; - for (size_t i=0; i< fProcCounter->size(); ++i) { + for (size_t i = 0; i < fProcCounter->size(); ++i) { G4String procName = (*fProcCounter)[i]->GetName(); if (procName != "Transportation") { - G4int count = (*fProcCounter)[i]->GetCounter(); + G4int count = (*fProcCounter)[i]->GetCounter(); G4cout << "\t" << procName << " : " << count; } } G4cout << G4endl; - - //instance EmCalculator + + // instance EmCalculator // G4EmCalculator emCal; emCal.SetVerbose(0); - //get positron + // get positron // G4String positronName = "e+"; - G4ParticleDefinition* positron = - G4ParticleTable::GetParticleTable()->FindParticle(positronName); + G4ParticleDefinition* positron = G4ParticleTable::GetParticleTable()->FindParticle(positronName); - //process name + // process name // - G4String annihilName = "annihil"; - G4String annihiToMuName = "AnnihiToMuPair"; + G4String annihilName = "annihil"; + G4String annihiToMuName = "AnnihiToMuPair"; G4String annihiToHadrName = "ee2hadr"; - G4String BremName = "eBrem"; - G4String IoniName = "eIoni"; - - //get AnnihiToMuPair + G4String BremName = "eBrem"; + G4String IoniName = "eIoni"; + + // get AnnihiToMuPair // - G4AnnihiToMuPair* annihiToMu = - reinterpret_cast(emCal.FindProcess(positron, - annihiToMuName)); + G4AnnihiToMuPair* annihiToMu = + reinterpret_cast(emCal.FindProcess(positron, annihiToMuName)); - //parameters for ComputeCrossSection + // parameters for ComputeCrossSection // G4double atomicZ = 1.; - G4double atomicA = 2.; + G4double atomicA = 2.; - //set parameters for theory + // set parameters for theory // const G4ParticleDefinition* muon = G4MuonMinus::MuonMinus(); G4double Mu = muon->GetPDGMass(); G4double Me = electron_mass_c2; G4double Re = classic_electr_radius; - G4double Ru = Re*Me/Mu; - G4double Eth = 2*Mu*Mu/Me-Me; + G4double Ru = Re * Me / Mu; + G4double Eth = 2 * Mu * Mu / Me - Me; G4PhysicsLogVector v(fMinE, fMaxE, fnBin, false); - - //Compute CrossSections and Fill histgrams + + // Compute CrossSections and Fill histgrams // - for(G4int i=0; i<=fnBin; ++i) { + for (G4int i = 0; i <= fnBin; ++i) { G4double energy = v.Energy(i); - G4double x = std::log10(energy/GeV); + G4double x = std::log10(energy / GeV); - //CrossSectionPerAtom + // CrossSectionPerAtom // - G4double crs_annihiToMu = - annihiToMu->ComputeCrossSectionPerAtom(energy,atomicZ); - //G4cout << "crs_annihiToMu(mkb)=" << crs_annihiToMu/microbarn << G4endl; - fAnalysis->FillH1(7,x,crs_annihiToMu/microbarn); - - G4double crs_annihil = - emCal.ComputeCrossSectionPerAtom(energy,positron,annihilName, - atomicZ,atomicA); - fAnalysis->FillH1(8,x,crs_annihil/microbarn); - - G4double crs_annihiToHadr = - emCal.ComputeCrossSectionPerAtom(energy,positron,annihiToHadrName, - atomicZ,atomicA); - fAnalysis->FillH1(9,x,crs_annihiToHadr/microbarn); - - //CrossSectionPerVolume + G4double crs_annihiToMu = annihiToMu->ComputeCrossSectionPerAtom(energy, atomicZ); + // G4cout << "crs_annihiToMu(mkb)=" << crs_annihiToMu/microbarn << G4endl; + fAnalysis->FillH1(7, x, crs_annihiToMu / microbarn); + + G4double crs_annihil = + emCal.ComputeCrossSectionPerAtom(energy, positron, annihilName, atomicZ, atomicA); + fAnalysis->FillH1(8, x, crs_annihil / microbarn); + + G4double crs_annihiToHadr = + emCal.ComputeCrossSectionPerAtom(energy, positron, annihiToHadrName, atomicZ, atomicA); + fAnalysis->FillH1(9, x, crs_annihiToHadr / microbarn); + + // CrossSectionPerVolume // - G4double crsVol_Brem = - emCal.ComputeCrossSectionPerVolume(energy,positron,BremName,fMat,100*keV); - fAnalysis->FillH1(12,x,crsVol_Brem*mm); - - G4double crsVol_Ioni = - emCal.ComputeCrossSectionPerVolume(energy,positron,IoniName,fMat,100*keV); - fAnalysis->FillH1(13,x,crsVol_Ioni*mm); - - G4double crsVol_annihiToMu = annihiToMu->CrossSectionPerVolume(energy,fMat); - fAnalysis->FillH1(14,x,crsVol_annihiToMu*mm); - - G4double crsVol_annihil = - emCal.ComputeCrossSectionPerVolume(energy,positron,annihilName,fMat); - fAnalysis->FillH1(15,x,crsVol_annihil*mm); - - G4double crsVol_annihiToHadr = - emCal.ComputeCrossSectionPerVolume(energy,positron,annihiToHadrName,fMat); - fAnalysis->FillH1(16,x,crsVol_annihiToHadr*mm); - - //R ratio + G4double crsVol_Brem = + emCal.ComputeCrossSectionPerVolume(energy, positron, BremName, fMat, 100 * keV); + fAnalysis->FillH1(12, x, crsVol_Brem * mm); + + G4double crsVol_Ioni = + emCal.ComputeCrossSectionPerVolume(energy, positron, IoniName, fMat, 100 * keV); + fAnalysis->FillH1(13, x, crsVol_Ioni * mm); + + G4double crsVol_annihiToMu = annihiToMu->CrossSectionPerVolume(energy, fMat); + fAnalysis->FillH1(14, x, crsVol_annihiToMu * mm); + + G4double crsVol_annihil = + emCal.ComputeCrossSectionPerVolume(energy, positron, annihilName, fMat); + fAnalysis->FillH1(15, x, crsVol_annihil * mm); + + G4double crsVol_annihiToHadr = + emCal.ComputeCrossSectionPerVolume(energy, positron, annihiToHadrName, fMat); + fAnalysis->FillH1(16, x, crsVol_annihiToHadr * mm); + + // R ratio // G4double RR = 0.0; - if(crsVol_annihiToMu > 0.) RR = crsVol_annihiToHadr/crsVol_annihiToMu; - fAnalysis->FillH1(17,x,RR); + if (crsVol_annihiToMu > 0.) RR = crsVol_annihiToHadr / crsVol_annihiToMu; + fAnalysis->FillH1(17, x, RR); - //Theoretical calculation + // Theoretical calculation // - G4double X1 = energy/Me; - if(X1>1 && i%1000==0){ - G4double crs_annihil_theory = atomicZ*pi*Re*Re* - ( (X1*X1+4*X1+1)*G4Log(X1+std::sqrt(X1*X1-1))/(X1*X1-1) - -(X1+3)/std::sqrt(X1*X1-1) )/(X1+1); - fAnalysis->FillH1(10,x,crs_annihil_theory/microbarn); + G4double X1 = energy / Me; + if (X1 > 1 && i % 1000 == 0) { + G4double crs_annihil_theory = + atomicZ * pi * Re * Re + * ((X1 * X1 + 4 * X1 + 1) * G4Log(X1 + std::sqrt(X1 * X1 - 1)) / (X1 * X1 - 1) + - (X1 + 3) / std::sqrt(X1 * X1 - 1)) + / (X1 + 1); + fAnalysis->FillH1(10, x, crs_annihil_theory / microbarn); } - G4double X2 = Eth/energy; - if(X2<1. && i%1000==0){ - G4double crs_annihiToMu_theory = - atomicZ*pi*Ru*Ru/3*X2*(1+X2/2)*std::sqrt(1-X2); - fAnalysis->FillH1(11,x,crs_annihiToMu_theory/microbarn); + G4double X2 = Eth / energy; + if (X2 < 1. && i % 1000 == 0) { + G4double crs_annihiToMu_theory = + atomicZ * pi * Ru * Ru / 3 * X2 * (1 + X2 / 2) * std::sqrt(1 - X2); + fAnalysis->FillH1(11, x, crs_annihiToMu_theory / microbarn); } - //if(i%1000==0)G4cout <<"###energy:" << energy << "/crs_ToMuMu:" - // << crs_annihiToMu << "/crs_ToTwoGamma:"<< crs_annihil - // <<"/crs_ToToHadr:"<Write(); fAnalysis->CloseFile(); fAnalysis->Clear(); diff --git a/examples/extended/electromagnetic/TestEm6/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm6/src/StackingAction.cc index 015a88e7f8c..7f58b640b98 100644 --- a/examples/extended/electromagnetic/TestEm6/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/StackingAction.cc @@ -26,35 +26,32 @@ /// \file electromagnetic/TestEm6/src/StackingAction.cc /// \brief Implementation of the StackingAction class // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StackingAction.hh" + #include "G4Track.hh" #include "G4TrackStatus.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingAction::StackingAction() - : G4UserStackingAction() -{} +StackingAction::StackingAction() : G4UserStackingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StackingAction::~StackingAction() -{} +StackingAction::~StackingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4ClassificationOfNewTrack -StackingAction::ClassifyNewTrack(const G4Track* aTrack) +G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* aTrack) { - G4ClassificationOfNewTrack classification = fUrgent; - + G4ClassificationOfNewTrack classification = fUrgent; + // kill all secondaries - if(aTrack->GetParentID() != 0) classification = fKill; - + if (aTrack->GetParentID() != 0) classification = fKill; + return classification; } diff --git a/examples/extended/electromagnetic/TestEm6/src/StepMax.cc b/examples/extended/electromagnetic/TestEm6/src/StepMax.cc index a7c36a3e542..5e84a2ca017 100644 --- a/examples/extended/electromagnetic/TestEm6/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm6/src/StepMax.cc @@ -31,24 +31,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "StepMax.hh" + #include "StepMaxMessenger.hh" + #include "G4VPhysicalVolume.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMax::StepMax(const G4String& processName) - : G4VDiscreteProcess(processName), - fMaxChargedStep(DBL_MAX), - fMessenger(0) + : G4VDiscreteProcess(processName), fMaxChargedStep(DBL_MAX), fMessenger(0) { fMessenger = new StepMaxMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -StepMax::~StepMax() -{ - delete fMessenger; +StepMax::~StepMax() +{ + delete fMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,17 +60,15 @@ G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void StepMax::SetMaxStep(G4double step) +void StepMax::SetMaxStep(G4double step) { fMaxChargedStep = step; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double -StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, - G4double, - G4ForceCondition* condition) +G4double StepMax::PostStepGetPhysicalInteractionLength(const G4Track&, G4double, + G4ForceCondition* condition) { // condition is set to "Not Forced" *condition = NotForced; diff --git a/examples/extended/electromagnetic/TestEm6/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/StepMaxMessenger.cc index 77664166278..4a6f0c590e0 100644 --- a/examples/extended/electromagnetic/TestEm6/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/StepMaxMessenger.cc @@ -33,20 +33,21 @@ #include "StepMaxMessenger.hh" #include "StepMax.hh" + #include "G4UIcmdWithADoubleAndUnit.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StepMaxMessenger::StepMaxMessenger(StepMax* stepM) - :G4UImessenger(),fStepMax(stepM),fStepMaxCmd(0) -{ - fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepmax",this); + : G4UImessenger(), fStepMax(stepM), fStepMaxCmd(0) +{ + fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepmax", this); fStepMaxCmd->SetGuidance("Set max allowed step length"); - fStepMaxCmd->SetParameterName("mxStep",false); + fStepMaxCmd->SetParameterName("mxStep", false); fStepMaxCmd->SetRange("mxStep>0."); fStepMaxCmd->SetUnitCategory("Length"); - fStepMaxCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + fStepMaxCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,9 +60,10 @@ StepMaxMessenger::~StepMaxMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == fStepMaxCmd) - { fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));} +{ + if (command == fStepMaxCmd) { + fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue)); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc index 51b446dd652..761be122c75 100644 --- a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc @@ -31,77 +31,76 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" + #include "RunAction.hh" + +#include "G4ParticleTypes.hh" #include "G4SteppingManager.hh" #include "G4VProcess.hh" -#include "G4ParticleTypes.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(RunAction* RuAct) -:G4UserSteppingAction(),fRunAction(RuAct) -{ - fMuonMass = G4MuonPlus::MuonPlus()->GetPDGMass(); +SteppingAction::SteppingAction(RunAction* RuAct) : G4UserSteppingAction(), fRunAction(RuAct) +{ + fMuonMass = G4MuonPlus::MuonPlus()->GetPDGMass(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::~SteppingAction() -{ } +SteppingAction::~SteppingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) { - const G4VProcess* process = aStep->GetPostStepPoint()->GetProcessDefinedStep(); - if (process == 0) return; - G4String processName = process->GetProcessName(); - fRunAction->CountProcesses(processName); //count processes - - if (processName != "GammaToMuPair") return; - - G4StepPoint* PrePoint = aStep->GetPreStepPoint(); - G4double EGamma = PrePoint->GetTotalEnergy(); - G4ThreeVector PGamma = PrePoint->GetMomentum(); - - G4double Eplus(0), Eminus(0); - G4ThreeVector Pplus , Pminus; - const G4TrackVector* secondary = fpSteppingManager->GetSecondary(); - for (size_t lp=0; lp<(*secondary).size(); lp++) { - if ((*secondary)[lp]->GetDefinition()==G4MuonPlus::MuonPlusDefinition()) { - Eplus = (*secondary)[lp]->GetTotalEnergy(); - Pplus = (*secondary)[lp]->GetMomentum(); - } else { - Eminus = (*secondary)[lp]->GetTotalEnergy(); - Pminus = (*secondary)[lp]->GetMomentum(); - } - } - - G4double xPlus = Eplus/EGamma, xMinus = Eminus/EGamma; - G4double thetaPlus = PGamma.angle(Pplus), thetaMinus = PGamma.angle(Pminus); - G4double GammaPlus = Eplus/fMuonMass; - G4double GammaMinus= Eminus/fMuonMass; - - G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); - - if(0.0 == thetaPlus || 0.0 == thetaMinus) { - G4cout << "SteppingAction: " - << "thetaPlus= " << thetaPlus << " thetaMinus= " << thetaMinus - << " gamPlus= " << GammaPlus << " gamMinus= " << GammaMinus - << " " << thetaPlus *GammaPlus - thetaMinus*GammaMinus << G4endl; - return; - } - analysisManager->FillH1(1,1./(1.+std::pow(thetaPlus*GammaPlus,2))); - analysisManager->FillH1(2,std::log10(thetaPlus*GammaPlus)); - - analysisManager->FillH1(3,std::log10(thetaMinus*GammaMinus)); - analysisManager->FillH1(4,std::log10(std::fabs(thetaPlus *GammaPlus - -thetaMinus*GammaMinus))); - - analysisManager->FillH1(5,xPlus); - analysisManager->FillH1(6,xMinus); -} + const G4VProcess* process = aStep->GetPostStepPoint()->GetProcessDefinedStep(); + if (process == 0) return; + G4String processName = process->GetProcessName(); + fRunAction->CountProcesses(processName); // count processes -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + if (processName != "GammaToMuPair") return; + + G4StepPoint* PrePoint = aStep->GetPreStepPoint(); + G4double EGamma = PrePoint->GetTotalEnergy(); + G4ThreeVector PGamma = PrePoint->GetMomentum(); + G4double Eplus(0), Eminus(0); + G4ThreeVector Pplus, Pminus; + const G4TrackVector* secondary = fpSteppingManager->GetSecondary(); + for (size_t lp = 0; lp < (*secondary).size(); lp++) { + if ((*secondary)[lp]->GetDefinition() == G4MuonPlus::MuonPlusDefinition()) { + Eplus = (*secondary)[lp]->GetTotalEnergy(); + Pplus = (*secondary)[lp]->GetMomentum(); + } + else { + Eminus = (*secondary)[lp]->GetTotalEnergy(); + Pminus = (*secondary)[lp]->GetMomentum(); + } + } + G4double xPlus = Eplus / EGamma, xMinus = Eminus / EGamma; + G4double thetaPlus = PGamma.angle(Pplus), thetaMinus = PGamma.angle(Pminus); + G4double GammaPlus = Eplus / fMuonMass; + G4double GammaMinus = Eminus / fMuonMass; + + G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); + + if (0.0 == thetaPlus || 0.0 == thetaMinus) { + G4cout << "SteppingAction: " + << "thetaPlus= " << thetaPlus << " thetaMinus= " << thetaMinus + << " gamPlus= " << GammaPlus << " gamMinus= " << GammaMinus << " " + << thetaPlus * GammaPlus - thetaMinus * GammaMinus << G4endl; + return; + } + analysisManager->FillH1(1, 1. / (1. + std::pow(thetaPlus * GammaPlus, 2))); + analysisManager->FillH1(2, std::log10(thetaPlus * GammaPlus)); + + analysisManager->FillH1(3, std::log10(thetaMinus * GammaMinus)); + analysisManager->FillH1(4, + std::log10(std::fabs(thetaPlus * GammaPlus - thetaMinus * GammaMinus))); + + analysisManager->FillH1(5, xPlus); + analysisManager->FillH1(6, xMinus); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/History b/examples/extended/electromagnetic/TestEm7/History index bed793c1dc0..0c26a325933 100644 --- a/examples/extended/electromagnetic/TestEm7/History +++ b/examples/extended/electromagnetic/TestEm7/History @@ -1,14 +1,23 @@ # Example TestEm7 History See `CONTRIBUTING.rst` for details of **required** info/format for each entry, -which **must** added in reverse chronological order (newest at the top). It must **not** -be used as a substitute for writing good git commit messages! +which **must** added in reverse chronological order (newest at the top). +It must **not** be used as a substitute for writing good git commit messages! +------------------------------------------------------------------------------- -## 2023-04-17 V. Ivanchenko (testem7-V11-01-00) +## 2024-04-06 Vladimir Ivanchenko (testem7-V11-02-01) +- RunAction - added protection to histogram binning for very low step limit + +## 2023-12-18 Gabriele Cosmo (testem7-V11-02-00) +- Fixed compilation error on latest Windows VC++ compiler 17.8.3 for use of + std::isfinite() and std::isnan() in c2_function.hh. + Addressing problem report #2582. + +## 2023-04-17 Vladimir Ivanchenko (testem7-V11-01-00) - added extra macro for test muon dEdx and Range -## 2022-10-18 V. Ivanchenko (testem7-V11-00-01) +## 2022-10-18 Vladimir Ivanchenko (testem7-V11-00-01) - Make local EM physics the same as EM physics option3 with G4IonParameterizedModel diff --git a/examples/extended/electromagnetic/TestEm7/TestEm7.cc b/examples/extended/electromagnetic/TestEm7/TestEm7.cc index e6b65e3e3f0..80b0b3602fe 100644 --- a/examples/extended/electromagnetic/TestEm7/TestEm7.cc +++ b/examples/extended/electromagnetic/TestEm7/TestEm7.cc @@ -26,82 +26,81 @@ /// \file electromagnetic/TestEm7/TestEm7.cc /// \brief Main program of the electromagnetic/TestEm7 example // -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4RunManagerFactory.hh" -#include "G4UImanager.hh" -#include "G4SteppingVerbose.hh" -#include "Randomize.hh" - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" - #include "RunAction.hh" -#include "TrackingAction.hh" #include "SteppingAction.hh" +#include "TrackingAction.hh" +#include "G4RunManagerFactory.hh" +#include "G4SteppingVerbose.hh" #include "G4UIExecutive.hh" +#include "G4UImanager.hh" #include "G4VisExecutive.hh" +#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -int main(int argc,char** argv) { - //detect interactive mode (if no arguments) and define UI session +int main(int argc, char** argv) +{ + // detect interactive mode (if no arguments) and define UI session G4UIExecutive* ui = nullptr; - if (argc == 1) ui = new G4UIExecutive(argc,argv); + if (argc == 1) ui = new G4UIExecutive(argc, argv); - //Use SteppingVerbose with Unit + // Use SteppingVerbose with Unit G4int precision = 4; G4SteppingVerbose::UseBestUnit(precision); - //Construct a serial run manager + // Construct a serial run manager auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly); - - //set mandatory initialization classes + + // set mandatory initialization classes // - DetectorConstruction* det = new DetectorConstruction(); - PhysicsList* phys = new PhysicsList(); - + DetectorConstruction* det = new DetectorConstruction(); + PhysicsList* phys = new PhysicsList(); + runManager->SetUserInitialization(det); runManager->SetUserInitialization(phys); - - //set user action classes + + // set user action classes // - PrimaryGeneratorAction* kin = new PrimaryGeneratorAction(det); - RunAction* run = new RunAction(det,phys,kin); - TrackingAction* track = new TrackingAction(det,run); - SteppingAction* step = new SteppingAction(det,run); - - runManager->SetUserAction(kin); - runManager->SetUserAction(run); - runManager->SetUserAction(track); + PrimaryGeneratorAction* kin = new PrimaryGeneratorAction(det); + RunAction* run = new RunAction(det, phys, kin); + TrackingAction* track = new TrackingAction(det, run); + SteppingAction* step = new SteppingAction(det, run); + + runManager->SetUserAction(kin); + runManager->SetUserAction(run); + runManager->SetUserAction(track); runManager->SetUserAction(step); - //initialize visualization + // initialize visualization G4VisManager* visManager = nullptr; - //get the pointer to the User Interface manager - G4UImanager* UImanager = G4UImanager::GetUIpointer(); + // get the pointer to the User Interface manager + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (ui) { - //interactive mode + if (ui) { + // interactive mode visManager = new G4VisExecutive; visManager->Initialize(); ui->SessionStart(); delete ui; delete visManager; - } else { - //batch mode + } + else { + // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command + fileName); } - //job termination + // job termination delete runManager; } diff --git a/examples/extended/electromagnetic/TestEm7/TestEm7.out b/examples/extended/electromagnetic/TestEm7/TestEm7.out index d8c1230d509..c43256bef42 100644 --- a/examples/extended/electromagnetic/TestEm7/TestEm7.out +++ b/examples/extended/electromagnetic/TestEm7/TestEm7.out @@ -10,7 +10,7 @@ ************************************************************** - Geant4 version Name: geant4-11-02-patch-02 (21-June-2024) + Geant4 version Name: geant4-11-02-ref-06 (28-June-2024) Copyright : Geant4 Collaboration References : NIM A 506 (2003), 250-303 : IEEE-TNS 53 (2006), 270-278 @@ -301,7 +301,7 @@ ePairProd: for e+ XStype:1 SubType=4 ===== EM models for the G4Region DefaultRegionForTheWorld ====== ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi -annihil: for e+ XStype:2 SubType=5 BuildTable=0 +annihil: for e+ XStype:2 SubType=5 AtRestModel:Allison BuildTable=0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== eplus2gg : Emin= 0 eV Emax= 100 TeV @@ -589,21 +589,21 @@ N=17 V[N]={906770732717044781, 629165745432651234, 1235682547346241386, 68420008 Run terminated. Run Summary Number of events processed : 10000 - User=5.380000s Real=5.619227s Sys=0.000000s + User=5.260000s Real=5.427962s Sys=0.000000s The run consists of 10000 proton of 160 MeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - Projected Range= 17.7719 cm rms= 1.96928 mm - Mean number of primary steps = 188.657 + Projected Range= 17.7731 cm rms= 2.00102 mm + Mean number of primary steps = 188.649 Total energy deposit= 160 MeV - niel energy deposit = 196.285 eV + niel energy deposit = 203.461 eV --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 4.59133 GeV 0.286958 % 9.19516e-05 Gy - tally 1: 4.88363 GeV 0.305227 % 9.78055e-05 Gy - tally 2: 3.21057 GeV 0.20066 % 6.42987e-05 Gy - tally 3: 1.86384 GeV 0.11649 % 3.73276e-05 Gy + tally 0: 4.55797 GeV 0.284873 % 9.12834e-05 Gy + tally 1: 4.8994 GeV 0.306213 % 9.81213e-05 Gy + tally 2: 3.0502 GeV 0.190638 % 6.1087e-05 Gy + tally 3: 1.7682 GeV 0.110512 % 3.54121e-05 Gy --------------------------------------------------------- @@ -611,7 +611,7 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={2273373921569308894, 1922594714292258330, 861390602506973545, 1707446281237758936, 1378938143050649431, 183119230904692784, 1865796439060649984, 330880816922646885, 732580234354844927, 1912587607097672921, 610768187456432173, 1123686211822207573, 1357577999525837667, 820920456823604195, 1181988282800007801, 834123259073338594, 205074463543136905} counter= 11sumtot= 856102778332469937 +N=17 V[N]={1928752482960533917, 1537011110587309912, 992093420709832135, 475850548902060970, 1919654443401928959, 1829563462992617230, 913338116948645321, 130691217526065271, 2227380465586113661, 1896754372335793952, 2188613391447061017, 1175711690959311912, 2205294329638742007, 2104763565496594793, 1182976493203735957, 627072787900907414, 1113975383551554217} counter= 4sumtot= 1391067192011869135 --------------------------------------- /gun/particle ion /gun/ion 6 12 6 @@ -643,27 +643,27 @@ Index : 1 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={2273373921569308894, 1922594714292258330, 861390602506973545, 1707446281237758936, 1378938143050649431, 183119230904692784, 1865796439060649984, 330880816922646885, 732580234354844927, 1912587607097672921, 610768187456432173, 1123686211822207573, 1357577999525837667, 820920456823604195, 1181988282800007801, 834123259073338594, 205074463543136905} counter= 11sumtot= 856102778332469937 +N=17 V[N]={1928752482960533917, 1537011110587309912, 992093420709832135, 475850548902060970, 1919654443401928959, 1829563462992617230, 913338116948645321, 130691217526065271, 2227380465586113661, 1896754372335793952, 2188613391447061017, 1175711690959311912, 2205294329638742007, 2104763565496594793, 1182976493203735957, 627072787900907414, 1113975383551554217} counter= 4sumtot= 1391067192011869135 --------------------------------------- --> Event 0 starts. Run terminated. Run Summary Number of events processed : 1000 - User=2.010000s Real=2.127279s Sys=0.000000s + User=2.180000s Real=2.336364s Sys=0.000000s The run consists of 1000 C12 of 3.5 GeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - Projected Range= 16.5402 cm rms= 535.826 um - Mean number of primary steps = 155.048 + Projected Range= 16.5406 cm rms= 560.219 um + Mean number of primary steps = 154.94 Total energy deposit= 3.49998 GeV - niel energy deposit = 292.962 keV + niel energy deposit = 292.484 keV --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 11.3856 GeV 0.325302 % 0.000228021 Gy - tally 1: 13.2325 GeV 0.378071 % 0.00026501 Gy - tally 2: 15.1789 GeV 0.433684 % 0.000303992 Gy - tally 3: 22.6721 GeV 0.647774 % 0.000454059 Gy + tally 0: 11.7421 GeV 0.335488 % 0.000235161 Gy + tally 1: 13.1951 GeV 0.377003 % 0.000264261 Gy + tally 2: 15.0898 GeV 0.431136 % 0.000302206 Gy + tally 3: 21.3454 GeV 0.609869 % 0.000427489 Gy --------------------------------------------------------- @@ -671,7 +671,7 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1411680723417322311, 717308522919237896, 997899163570264931, 1754512939963840097, 2192864773973701023, 324032523422255994, 971170819124836075, 635978879210553296, 892459543325357698, 407123513509178644, 1702117607978767761, 1298077612694895081, 2278149584227588501, 1382612766602441211, 1218052344074702311, 15415379529775333, 893222351300878074} counter= 13sumtot= 645934975136044629 +N=17 V[N]={1914085016406179854, 1941870692113417104, 952751528242321116, 1425379645037419043, 1977911376637854889, 713230364401042110, 970414367000237655, 1583404219815081903, 599695729677486413, 1922183488814517311, 1250025835078724300, 1040894381727556711, 25080291369032997, 81705144919179638, 1252275918343743149, 318820330916910073, 1278555995678052297} counter= 5sumtot= 801540252469204955 --------------------------------------- /testem/det/tallyNumber 0 /testem/det/setMat G4_Cu @@ -714,25 +714,25 @@ Index : 2 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1411680723417322311, 717308522919237896, 997899163570264931, 1754512939963840097, 2192864773973701023, 324032523422255994, 971170819124836075, 635978879210553296, 892459543325357698, 407123513509178644, 1702117607978767761, 1298077612694895081, 2278149584227588501, 1382612766602441211, 1218052344074702311, 15415379529775333, 893222351300878074} counter= 13sumtot= 645934975136044629 +N=17 V[N]={1914085016406179854, 1941870692113417104, 952751528242321116, 1425379645037419043, 1977911376637854889, 713230364401042110, 970414367000237655, 1583404219815081903, 599695729677486413, 1922183488814517311, 1250025835078724300, 1040894381727556711, 25080291369032997, 81705144919179638, 1252275918343743149, 318820330916910073, 1278555995678052297} counter= 5sumtot= 801540252469204955 --------------------------------------- --> Event 0 starts. Run terminated. Run Summary Number of events processed : 1000 - User=1.100000s Real=1.148062s Sys=0.000000s + User=1.070000s Real=1.118329s Sys=0.000000s The run consists of 1000 kaon+ of 100 MeV through 20 cm of G4_Cu (density: 8.96 g/cm3 ) - Projected Range= 2.13113 cm rms= 1.64116 mm - Mean number of primary steps = 20.198 - Total energy deposit= 285.849 MeV + Projected Range= 2.13493 cm rms= 1.38711 mm + Mean number of primary steps = 20.214 + Total energy deposit= 286.144 MeV niel energy deposit = 0 eV ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1974029775001004016, 1772074595005368332, 1742783517329757750, 866617631931244791, 1229100401132738703, 1719281950596091147, 920023613194983723, 1962294162511894728, 829761010288961001, 324385397470630522, 1057575688453702874, 913039718092168297, 1749629151155024387, 542838147437846454, 2110247113706322467, 389233349581473369, 1491338853965055204} counter= 14sumtot= 841666993931022206 +N=17 V[N]={151707898100124987, 19917757600868759, 1419800856734832694, 1560245199859545952, 2267788488931667696, 1401050557995960686, 2209362003978103445, 395546699699921923, 962456204520373893, 534300977070189864, 1979686078452658319, 722018928119453872, 907486289890070518, 388450050295050896, 897767811549417373, 2001922160682699102, 277160168370591150} counter= 4sumtot= 1955767067355673472 --------------------------------------- /testem/det/setMat TechVacuum /gun/particle alpha @@ -779,13 +779,13 @@ Index : 3 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1974029775001004016, 1772074595005368332, 1742783517329757750, 866617631931244791, 1229100401132738703, 1719281950596091147, 920023613194983723, 1962294162511894728, 829761010288961001, 324385397470630522, 1057575688453702874, 913039718092168297, 1749629151155024387, 542838147437846454, 2110247113706322467, 389233349581473369, 1491338853965055204} counter= 14sumtot= 841666993931022206 +N=17 V[N]={151707898100124987, 19917757600868759, 1419800856734832694, 1560245199859545952, 2267788488931667696, 1401050557995960686, 2209362003978103445, 395546699699921923, 962456204520373893, 534300977070189864, 1979686078452658319, 722018928119453872, 907486289890070518, 388450050295050896, 897767811549417373, 2001922160682699102, 277160168370591150} counter= 4sumtot= 1955767067355673472 --------------------------------------- --> Event 0 starts. Run terminated. Run Summary Number of events processed : 100 - User=0.000000s Real=0.000495s Sys=0.000000s + User=0.000000s Real=0.000479s Sys=0.000000s The run consists of 100 alpha of 265 eV through 20 cm of TechVacuum (density: 0.01 mg/cm3) @@ -797,7 +797,7 @@ Run Summary ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={519682234687940545, 336815571062573618, 1469040227056443228, 646416632977712132, 326637032793254924, 1161301265072621693, 882506353879499399, 1145030841704882422, 375910304208543329, 218926767540877009, 26220164109533254, 2093426052262415524, 2252248488267709865, 1082531585586994122, 2197472045236464609, 2080353349575944734, 2121554632789783035} counter= 6sumtot= 489329475103641834 +N=17 V[N]={2178346315285316457, 2196848744907458826, 454638339385618934, 795962221068932197, 242254738977719014, 1462967378059317989, 618623261560512109, 777297444539996418, 2275531519734395362, 561205808944516919, 1616021129501452156, 741495052925886547, 1508218945068066100, 106041668659611952, 265030292211178285, 1207530402951665186, 704967614899665752} counter= 12sumtot= 1572079814185452546 --------------------------------------- /testem/det/setMat G4_WATER /gun/particle alpha @@ -842,25 +842,25 @@ Index : 3 used in the geometry : No ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={519682234687940545, 336815571062573618, 1469040227056443228, 646416632977712132, 326637032793254924, 1161301265072621693, 882506353879499399, 1145030841704882422, 375910304208543329, 218926767540877009, 26220164109533254, 2093426052262415524, 2252248488267709865, 1082531585586994122, 2197472045236464609, 2080353349575944734, 2121554632789783035} counter= 6sumtot= 489329475103641834 +N=17 V[N]={2178346315285316457, 2196848744907458826, 454638339385618934, 795962221068932197, 242254738977719014, 1462967378059317989, 618623261560512109, 777297444539996418, 2275531519734395362, 561205808944516919, 1616021129501452156, 741495052925886547, 1508218945068066100, 106041668659611952, 265030292211178285, 1207530402951665186, 704967614899665752} counter= 12sumtot= 1572079814185452546 --------------------------------------- --> Event 0 starts. Run terminated. Run Summary Number of events processed : 100 - User=0.010000s Real=0.008760s Sys=0.000000s + User=0.010000s Real=0.009008s Sys=0.000000s The run consists of 100 alpha of 100 MeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - Projected Range= 6.4644 mm rms= 50.16 um - Mean number of primary steps = 30.51 + Projected Range= 6.45105 mm rms= 45.1826 um + Mean number of primary steps = 30.47 Total energy deposit= 100 MeV - niel energy deposit = 10.5781 keV + niel energy deposit = 10.7965 keV ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={15279904325226954, 731865819378284698, 1986859391318473396, 276104278556398981, 116046715856288950, 2237409976148245603, 1930677111814331605, 675988396523925142, 354372236464903698, 241506620238200032, 241293580295359292, 419029460094086991, 1964581124353201380, 1737571268128942684, 854253067789224230, 216567821200794894, 1062479565318386237} counter= 12sumtot= 1226828282522111061 +N=17 V[N]={642173176385878770, 2261877590780848859, 1794931773416174307, 1669264004467326632, 276825973827274531, 2028091038900264263, 1001417392396374058, 16938961897946881, 1735427896724310328, 1667822891821662975, 1923046520198639556, 1031238661217900498, 1591841565453392124, 1601748091599704193, 1182923547188079765, 1360876954799858067, 762355902453925917} counter= 16sumtot= 1796214860606316165 --------------------------------------- /testem/det/setMat G4_Si /gun/particle ion @@ -914,25 +914,25 @@ Index : 4 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={15279904325226954, 731865819378284698, 1986859391318473396, 276104278556398981, 116046715856288950, 2237409976148245603, 1930677111814331605, 675988396523925142, 354372236464903698, 241506620238200032, 241293580295359292, 419029460094086991, 1964581124353201380, 1737571268128942684, 854253067789224230, 216567821200794894, 1062479565318386237} counter= 12sumtot= 1226828282522111061 +N=17 V[N]={642173176385878770, 2261877590780848859, 1794931773416174307, 1669264004467326632, 276825973827274531, 2028091038900264263, 1001417392396374058, 16938961897946881, 1735427896724310328, 1667822891821662975, 1923046520198639556, 1031238661217900498, 1591841565453392124, 1601748091599704193, 1182923547188079765, 1360876954799858067, 762355902453925917} counter= 16sumtot= 1796214860606316165 --------------------------------------- --> Event 0 starts. Run terminated. Run Summary Number of events processed : 10 - User=4.660000s Real=5.327779s Sys=0.050000s + User=6.430000s Real=6.667367s Sys=0.050000s The run consists of 10 Xe131 of 1.217 GeV through 20 cm of G4_Si (density: 2.33 g/cm3 ) - Projected Range= 118.418 um rms= 37.0936 um - Mean number of primary steps = 66656.2 - Total energy deposit= 1.21822 GeV - niel energy deposit = 7.50115 MeV + Projected Range= 142.678 um rms= 39.44 um + Mean number of primary steps = 98776.4 + Total energy deposit= 1.21791 GeV + niel energy deposit = 7.01536 MeV ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1516761028420866249, 568147398696187404, 665643888479448317, 380953741075856984, 2198437406230304029, 1025796057519458301, 967011255980535943, 289354032541122649, 605379468147712637, 1575781209742811392, 81108264680846230, 1364594197643503238, 1826564579273878774, 929418579682655135, 2185535031522846013, 1605489599132059806, 387369482122976255} counter= 13sumtot= 2032444156397211699 +N=17 V[N]={1897414034110012915, 2029783329544247793, 951231955092339563, 1203494590379245458, 1747642071500592192, 1998936163019871767, 250792112118154906, 1297478119421351412, 15808912364814678, 188990316055090457, 1282964355667491894, 1413664622720865137, 346483064006905658, 1304324610982302327, 1884499808609232959, 147084526910681753, 1842078800893689213} counter= 3sumtot= 1355927319687338474 --------------------------------------- /testem/det/setMat Water_1.05 /gun/particle proton @@ -992,27 +992,27 @@ Index : 5 used in the geometry : Yes ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1516761028420866249, 568147398696187404, 665643888479448317, 380953741075856984, 2198437406230304029, 1025796057519458301, 967011255980535943, 289354032541122649, 605379468147712637, 1575781209742811392, 81108264680846230, 1364594197643503238, 1826564579273878774, 929418579682655135, 2185535031522846013, 1605489599132059806, 387369482122976255} counter= 13sumtot= 2032444156397211699 +N=17 V[N]={1897414034110012915, 2029783329544247793, 951231955092339563, 1203494590379245458, 1747642071500592192, 1998936163019871767, 250792112118154906, 1297478119421351412, 15808912364814678, 188990316055090457, 1282964355667491894, 1413664622720865137, 346483064006905658, 1304324610982302327, 1884499808609232959, 147084526910681753, 1842078800893689213} counter= 3sumtot= 1355927319687338474 --------------------------------------- --> Event 0 starts. Run terminated. Run Summary Number of events processed : 1000 - User=0.550000s Real=1.339753s Sys=0.000000s + User=0.490000s Real=0.505880s Sys=0.000000s The run consists of 1000 proton of 160 MeV through 20 cm of Water_1.05 (density: 1.05 g/cm3 ) - Projected Range= 16.9464 cm rms= 1.78393 mm - Mean number of primary steps = 180.359 + Projected Range= 16.9302 cm rms= 1.80192 mm + Mean number of primary steps = 180.231 Total energy deposit= 160 MeV - niel energy deposit = 188.194 eV + niel energy deposit = 190.762 eV ------- MixMaxRng engine status ------- Current state vector is: mixmax state, file version 1.0 -N=17 V[N]={1716853303111513406, 1642405275454993588, 1051252207838986183, 1069161050542400153, 692103115563582307, 1960036398360309195, 1208795974475448990, 386191832700441307, 618343589745135353, 1498391385775369337, 540506884102988623, 807750011531656388, 843739802074301049, 1370770144110824970, 85668283547292030, 2228995582876065408, 2006421276562079645} counter= 11sumtot= 1280642044663836324 +N=17 V[N]={380191097718349745, 2283177063017682339, 1225979988488178054, 516693894415932402, 2151908028589315597, 1093925472203386301, 2203537212254817620, 247325920704247792, 325861980349171127, 535878144136232302, 1559638786739674630, 1998767465404681788, 35951925755056667, 1973166530077501583, 1422931224139281961, 2228929210237268588, 1403747394352406276} counter= 9sumtot= 835024255659939213 --------------------------------------- ================== Deleting memory pools =================== -Number of memory pools allocated: 12 of which, static: 0 -Dynamic pools deleted: 12 / Total memory freed: 58 MB +Number of memory pools allocated: 10 of which, static: 0 +Dynamic pools deleted: 10 / Total memory freed: 57 MB ============================================================ diff --git a/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh index 263efa50142..719001c054a 100644 --- a/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh @@ -33,9 +33,9 @@ #ifndef DetectorConstruction_h #define DetectorConstruction_h 1 +#include "G4ThreeVector.hh" #include "G4VUserDetectorConstruction.hh" #include "globals.hh" -#include "G4ThreeVector.hh" class G4LogicalVolume; class G4Material; @@ -48,63 +48,60 @@ const G4int kMaxTally = 20; class DetectorConstruction : public G4VUserDetectorConstruction { -public: - - DetectorConstruction(); - virtual ~DetectorConstruction(); - - void SetSizeX (G4double); - void SetSizeYZ (G4double); - void SetMaterial (const G4String&); - void SetWorldMaterial (const G4String&); - void SetMagField (G4double); - - void SetTallyNumber (G4int); - void SetTallySize (G4int, const G4ThreeVector&); - void SetTallyPosition (G4int, const G4ThreeVector&); - - virtual G4VPhysicalVolume* Construct(); - - inline G4double GetWorldSizeX() const {return fWorldSizeX;}; - inline G4double GetWorldSizeYZ() const {return fWorldSizeYZ;}; - inline G4double GetAbsorSizeX() const {return fAbsorSizeX;}; - inline G4double GetAbsorSizeYZ() const {return fAbsorSizeYZ;}; - inline G4int GetTallyNumber() const {return fTallyNumber;}; - - inline const G4Material* GetWorldMaterial() const {return fWorldMaterial;}; - inline const G4Material* GetAbsorMaterial() const {return fAbsorMaterial;}; - - G4double GetTallyMass(G4int n) const; - const G4LogicalVolume* GetLogicalTally(G4int n) const; - - void PrintParameters() const; - -private: - - void DefineMaterials(); - - G4double fWorldSizeX; - G4double fWorldSizeYZ; - G4double fAbsorSizeX; - G4double fAbsorSizeYZ; - - G4Material* fAbsorMaterial; - G4Material* fWorldMaterial; - - G4UniformMagField* fMagField; - G4LogicalVolume* fLAbsor; - G4LogicalVolume* fLWorld; - - G4int fTallyNumber; - G4ThreeVector fTallySize[kMaxTally]; - G4double fTallyMass[kMaxTally]; - G4ThreeVector fTallyPosition[kMaxTally]; - G4LogicalVolume* fLTally[kMaxTally]; - - DetectorMessenger* fDetectorMessenger; + public: + DetectorConstruction(); + virtual ~DetectorConstruction(); + + void SetSizeX(G4double); + void SetSizeYZ(G4double); + void SetMaterial(const G4String&); + void SetWorldMaterial(const G4String&); + void SetMagField(G4double); + + void SetTallyNumber(G4int); + void SetTallySize(G4int, const G4ThreeVector&); + void SetTallyPosition(G4int, const G4ThreeVector&); + + virtual G4VPhysicalVolume* Construct(); + + inline G4double GetWorldSizeX() const { return fWorldSizeX; }; + inline G4double GetWorldSizeYZ() const { return fWorldSizeYZ; }; + inline G4double GetAbsorSizeX() const { return fAbsorSizeX; }; + inline G4double GetAbsorSizeYZ() const { return fAbsorSizeYZ; }; + inline G4int GetTallyNumber() const { return fTallyNumber; }; + + inline const G4Material* GetWorldMaterial() const { return fWorldMaterial; }; + inline const G4Material* GetAbsorMaterial() const { return fAbsorMaterial; }; + + G4double GetTallyMass(G4int n) const; + const G4LogicalVolume* GetLogicalTally(G4int n) const; + + void PrintParameters() const; + + private: + void DefineMaterials(); + + G4double fWorldSizeX; + G4double fWorldSizeYZ; + G4double fAbsorSizeX; + G4double fAbsorSizeYZ; + + G4Material* fAbsorMaterial; + G4Material* fWorldMaterial; + + G4UniformMagField* fMagField; + G4LogicalVolume* fLAbsor; + G4LogicalVolume* fLWorld; + + G4int fTallyNumber; + G4ThreeVector fTallySize[kMaxTally]; + G4double fTallyMass[kMaxTally]; + G4ThreeVector fTallyPosition[kMaxTally]; + G4LogicalVolume* fLTally[kMaxTally]; + + DetectorMessenger* fDetectorMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh index 2c85e0ffd5c..58476e618bc 100644 --- a/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh @@ -33,8 +33,8 @@ #ifndef DetectorMessenger_h #define DetectorMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class DetectorConstruction; class G4UIdirectory; @@ -46,34 +46,30 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class DetectorMessenger: public G4UImessenger +class DetectorMessenger : public G4UImessenger { -public: - - DetectorMessenger(DetectorConstruction* ); - virtual ~DetectorMessenger(); - - virtual void SetNewValue(G4UIcommand*, G4String); - -private: - - DetectorConstruction* fDetector; - - G4UIdirectory* fTestemDir; - G4UIdirectory* fDetDir; - G4UIcmdWithAString* fMaterCmd; - G4UIcmdWithAString* fWMaterCmd; - G4UIcmdWithADoubleAndUnit* fSizeXCmd; - G4UIcmdWithADoubleAndUnit* fSizeYZCmd; - G4UIcmdWithADoubleAndUnit* fMagFieldCmd; - - G4UIcmdWithAnInteger* fTalNbCmd; - G4UIcommand* fTalDefCmd; - G4UIcommand* fTalPosiCmd; + public: + DetectorMessenger(DetectorConstruction*); + virtual ~DetectorMessenger(); + + virtual void SetNewValue(G4UIcommand*, G4String); + private: + DetectorConstruction* fDetector; + + G4UIdirectory* fTestemDir; + G4UIdirectory* fDetDir; + G4UIcmdWithAString* fMaterCmd; + G4UIcmdWithAString* fWMaterCmd; + G4UIcmdWithADoubleAndUnit* fSizeXCmd; + G4UIcmdWithADoubleAndUnit* fSizeYZCmd; + G4UIcmdWithADoubleAndUnit* fMagFieldCmd; + + G4UIcmdWithAnInteger* fTalNbCmd; + G4UIcommand* fTalDefCmd; + G4UIcommand* fTalPosiCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm7/include/G4LindhardPartition.hh b/examples/extended/electromagnetic/TestEm7/include/G4LindhardPartition.hh index c5a9fb60900..373064d8292 100644 --- a/examples/extended/electromagnetic/TestEm7/include/G4LindhardPartition.hh +++ b/examples/extended/electromagnetic/TestEm7/include/G4LindhardPartition.hh @@ -38,31 +38,28 @@ class G4Material; -class G4VNIELPartition +class G4VNIELPartition { -public: - G4VNIELPartition() { } - virtual ~G4VNIELPartition() { } - - // return the fraction of the specified energy which will be deposited as NIEL - // if an incoming particle with z1, a1 is stopped in the specified material - // a1 is in atomic mass units, energy in native G4 energy units. - virtual G4double PartitionNIEL( - G4int z1, G4double a1, const G4Material *material, G4double energy - ) const =0; + public: + G4VNIELPartition() {} + virtual ~G4VNIELPartition() {} + + // return the fraction of the specified energy which will be deposited as NIEL + // if an incoming particle with z1, a1 is stopped in the specified material + // a1 is in atomic mass units, energy in native G4 energy units. + virtual G4double PartitionNIEL(G4int z1, G4double a1, const G4Material* material, + G4double energy) const = 0; }; class G4LindhardRobinsonPartition : public G4VNIELPartition { -public: - G4LindhardRobinsonPartition(); - virtual ~G4LindhardRobinsonPartition() { } - - virtual G4double PartitionNIEL( - G4int z1, G4double a1, const G4Material *material, G4double energy - ) const ; - - G4double z23[120]; - size_t max_z; -}; + public: + G4LindhardRobinsonPartition(); + virtual ~G4LindhardRobinsonPartition() {} + virtual G4double PartitionNIEL(G4int z1, G4double a1, const G4Material* material, + G4double energy) const; + + G4double z23[120]; + size_t max_z; +}; diff --git a/examples/extended/electromagnetic/TestEm7/include/G4ScreenedNuclearRecoil.hh b/examples/extended/electromagnetic/TestEm7/include/G4ScreenedNuclearRecoil.hh index 6f336a79325..80349b05621 100644 --- a/examples/extended/electromagnetic/TestEm7/include/G4ScreenedNuclearRecoil.hh +++ b/examples/extended/electromagnetic/TestEm7/include/G4ScreenedNuclearRecoil.hh @@ -29,44 +29,43 @@ // // // G4ScreenedNuclearRecoil.hh,v 1.24 2008/05/01 19:58:59 marcus Exp -// GEANT4 tag +// GEANT4 tag // // // // Class Description -// Process for screened electromagnetic nuclear elastic scattering; +// Process for screened electromagnetic nuclear elastic scattering; // Physics comes from: -// Marcus H. Mendenhall and Robert A. Weller, -// "Algorithms for the rapid computation of classical cross sections +// Marcus H. Mendenhall and Robert A. Weller, +// "Algorithms for the rapid computation of classical cross sections // for screened Coulomb collisions " // Nuclear Instruments and Methods in Physics Research B58 (1991) 11-17 // The only input required is a screening function phi(r/a) which is the ratio // of the actual interatomic potential for two atoms with atomic numbers Z1 and // Z2, -// to the unscreened potential Z1*Z2*e^2/r where e^2 is elm_coupling in Geant4 +// to the unscreened potential Z1*Z2*e^2/r where e^2 is elm_coupling in Geant4 // units -// the actual screening tables are computed externally in a python module +// the actual screening tables are computed externally in a python module // "screened_scattering.py" -// to allow very specific screening functions to be added if desired, without +// to allow very specific screening functions to be added if desired, without // messing with the insides of this code. // // First version, April 2004, Marcus H. Mendenhall, Vanderbilt University -// May 1, 2008 -- Added code to allow process to have zero cross section above +// May 1, 2008 -- Added code to allow process to have zero cross section above // max energy, to coordinate with G4MSC. -- mhm // // Class Description - End - #ifndef G4ScreenedNuclearRecoil_h #define G4ScreenedNuclearRecoil_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" -#include "G4ParticleChange.hh" #include "c2_function.hh" +#include "G4ParticleChange.hh" #include "G4PhysicalConstants.hh" #include "G4SystemOfUnits.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" #include #include @@ -77,421 +76,421 @@ typedef c2_const_ptr G4_c2_const_ptr; typedef c2_ptr G4_c2_ptr; typedef c2_function G4_c2_function; -typedef struct G4ScreeningTables { - G4double z1, z2, m1, m2, au, emin; - G4_c2_const_ptr EMphiData; +typedef struct G4ScreeningTables +{ + G4double z1, z2, m1, m2, au, emin; + G4_c2_const_ptr EMphiData; } G4ScreeningTables; // A class for loading ScreenedCoulombCrossSections class G4ScreenedCoulombCrossSectionInfo { -public: - G4ScreenedCoulombCrossSectionInfo() { } - ~G4ScreenedCoulombCrossSectionInfo() { } - - static const char* CVSHeaderVers() { return - "G4ScreenedNuclearRecoil.hh,v 1.24 2008/05/01 19:58:59 marcus Exp GEANT4 tag "; - } - static const char* CVSFileVers(); + public: + G4ScreenedCoulombCrossSectionInfo() {} + ~G4ScreenedCoulombCrossSectionInfo() {} + + static const char* CVSHeaderVers() + { + return "G4ScreenedNuclearRecoil.hh,v 1.24 2008/05/01 19:58:59 marcus Exp GEANT4 tag "; + } + static const char* CVSFileVers(); }; // A class for loading ScreenedCoulombCrossSections class G4ScreenedCoulombCrossSection : public G4ScreenedCoulombCrossSectionInfo { -public: - - G4ScreenedCoulombCrossSection() : verbosity(1) { } - G4ScreenedCoulombCrossSection(const G4ScreenedCoulombCrossSection &src) : - G4ScreenedCoulombCrossSectionInfo(),verbosity(src.verbosity) { } - virtual ~G4ScreenedCoulombCrossSection(); - - typedef std::map ScreeningMap; - - // a local, fast-access mapping of a particle's Z to its full definition - typedef std::map ParticleCache; - - // LoadData is called by G4ScreenedNuclearRecoil::GetMeanFreePath - // It loads the data tables, builds the elemental cross-section tables. - virtual void LoadData(G4String screeningKey, G4int z1, G4double m1, - G4double recoilCutoff) = 0; - - // BuildMFPTables is called by G4ScreenedNuclearRecoil::GetMeanFreePath - //to build the MFP tables for each material - void BuildMFPTables(void); // scan the MaterialsTable and construct MFP - //tables - - virtual G4ScreenedCoulombCrossSection *create() = 0; - // a 'virtual constructor' which clones the class - const G4ScreeningTables *GetScreening(G4int Z) - { return &(screeningData[Z]); } - void SetVerbosity(G4int v) { verbosity=v; } - - // this process needs element selection weighted only by number density - G4ParticleDefinition* SelectRandomUnweightedTarget - (const G4MaterialCutsCouple* couple); - - enum { nMassMapElements=116 }; - - G4double standardmass(G4int z1) - { return z1 <= nMassMapElements ? massmap[z1] : 2.5*z1; } - - // get the mean-free-path table for the indexed material - const G4_c2_function * operator [] (G4int materialIndex) { - return MFPTables.find(materialIndex)!=MFPTables.end() ? - &(MFPTables[materialIndex].get()) : (G4_c2_function *)0; - } - -protected: - ScreeningMap screeningData; // screening tables for each element - ParticleCache targetMap; - G4int verbosity; - std::map sigmaMap; - // total cross section for each element - std::map MFPTables; // MFP for each material - -private: - static const G4double massmap[nMassMapElements+1]; + public: + G4ScreenedCoulombCrossSection() : verbosity(1) {} + G4ScreenedCoulombCrossSection(const G4ScreenedCoulombCrossSection& src) + : G4ScreenedCoulombCrossSectionInfo(), verbosity(src.verbosity) + {} + virtual ~G4ScreenedCoulombCrossSection(); + + typedef std::map ScreeningMap; + + // a local, fast-access mapping of a particle's Z to its full definition + typedef std::map ParticleCache; + + // LoadData is called by G4ScreenedNuclearRecoil::GetMeanFreePath + // It loads the data tables, builds the elemental cross-section tables. + virtual void LoadData(G4String screeningKey, G4int z1, G4double m1, G4double recoilCutoff) = 0; + // BuildMFPTables is called by G4ScreenedNuclearRecoil::GetMeanFreePath + // to build the MFP tables for each material + void BuildMFPTables(void); // scan the MaterialsTable and construct MFP + // tables + + virtual G4ScreenedCoulombCrossSection* create() = 0; + // a 'virtual constructor' which clones the class + const G4ScreeningTables* GetScreening(G4int Z) { return &(screeningData[Z]); } + void SetVerbosity(G4int v) { verbosity = v; } + + // this process needs element selection weighted only by number density + G4ParticleDefinition* SelectRandomUnweightedTarget(const G4MaterialCutsCouple* couple); + + enum + { + nMassMapElements = 116 + }; + + G4double standardmass(G4int z1) { return z1 <= nMassMapElements ? massmap[z1] : 2.5 * z1; } + + // get the mean-free-path table for the indexed material + const G4_c2_function* operator[](G4int materialIndex) + { + return MFPTables.find(materialIndex) != MFPTables.end() ? &(MFPTables[materialIndex].get()) + : (G4_c2_function*)0; + } + + protected: + ScreeningMap screeningData; // screening tables for each element + ParticleCache targetMap; + G4int verbosity; + std::map sigmaMap; + // total cross section for each element + std::map MFPTables; // MFP for each material + + private: + static const G4double massmap[nMassMapElements + 1]; }; -typedef struct G4CoulombKinematicsInfo { - G4double impactParameter; - G4ScreenedCoulombCrossSection *crossSection; - G4double a1, a2, sinTheta, cosTheta, sinZeta, cosZeta, eRecoil; - G4ParticleDefinition *recoilIon; - const G4Material *targetMaterial; +typedef struct G4CoulombKinematicsInfo +{ + G4double impactParameter; + G4ScreenedCoulombCrossSection* crossSection; + G4double a1, a2, sinTheta, cosTheta, sinZeta, cosZeta, eRecoil; + G4ParticleDefinition* recoilIon; + const G4Material* targetMaterial; } G4CoulombKinematicsInfo; -class G4ScreenedCollisionStage { -public: - virtual void DoCollisionStep(class G4ScreenedNuclearRecoil *master, - const class G4Track& aTrack, const class G4Step& aStep)=0; - virtual ~G4ScreenedCollisionStage() {} +class G4ScreenedCollisionStage +{ + public: + virtual void DoCollisionStep(class G4ScreenedNuclearRecoil* master, const class G4Track& aTrack, + const class G4Step& aStep) = 0; + virtual ~G4ScreenedCollisionStage() {} }; -class G4ScreenedCoulombClassicalKinematics: - public G4ScreenedCoulombCrossSectionInfo, public G4ScreenedCollisionStage { - -public: - G4ScreenedCoulombClassicalKinematics(); - virtual void DoCollisionStep(class G4ScreenedNuclearRecoil *master, - const class G4Track& aTrack, const class G4Step& aStep); - - G4bool DoScreeningComputation(class G4ScreenedNuclearRecoil *master, - const G4ScreeningTables *screen, G4double eps, G4double beta); - - virtual ~G4ScreenedCoulombClassicalKinematics() { } - -protected: - // the c2_functions we need to do the work. - c2_const_plugin_function_p &phifunc; - c2_linear_p &xovereps; - G4_c2_ptr diff; -}; +class G4ScreenedCoulombClassicalKinematics : public G4ScreenedCoulombCrossSectionInfo, + public G4ScreenedCollisionStage +{ + public: + G4ScreenedCoulombClassicalKinematics(); + virtual void DoCollisionStep(class G4ScreenedNuclearRecoil* master, const class G4Track& aTrack, + const class G4Step& aStep); + + G4bool DoScreeningComputation(class G4ScreenedNuclearRecoil* master, + const G4ScreeningTables* screen, G4double eps, G4double beta); -class G4SingleScatter: public G4ScreenedCoulombCrossSectionInfo, - public G4ScreenedCollisionStage { + virtual ~G4ScreenedCoulombClassicalKinematics() {} -public: - G4SingleScatter() { } - virtual void DoCollisionStep(class G4ScreenedNuclearRecoil *master, - const class G4Track& aTrack, const class G4Step& aStep); - virtual ~G4SingleScatter() {} + protected: + // the c2_functions we need to do the work. + c2_const_plugin_function_p& phifunc; + c2_linear_p& xovereps; + G4_c2_ptr diff; +}; + +class G4SingleScatter : public G4ScreenedCoulombCrossSectionInfo, public G4ScreenedCollisionStage +{ + public: + G4SingleScatter() {} + virtual void DoCollisionStep(class G4ScreenedNuclearRecoil* master, const class G4Track& aTrack, + const class G4Step& aStep); + virtual ~G4SingleScatter() {} }; /** \brief A process which handles screened Coulomb collisions between nuclei - + */ -class G4ScreenedNuclearRecoil : public G4ScreenedCoulombCrossSectionInfo, - public G4VDiscreteProcess +class G4ScreenedNuclearRecoil : public G4ScreenedCoulombCrossSectionInfo, public G4VDiscreteProcess { -public: - - friend class G4ScreenedCollisionStage; - - /// \brief Construct the process and set some physics parameters for it. - /// \param processName the name to assign the process - /// \param ScreeningKey the name of a screening function to use. - /// The default functions are "zbl" (recommended for soft scattering), - /// "lj" (recommended for backscattering) and "mol" (Moliere potential) - /// \param GenerateRecoils if frue, ions struck by primary are converted - /// into new moving particles. - /// If false, energy is deposited, but no new moving ions are created. - /// \param RecoilCutoff energy below which no new moving particles will be - /// created, even if a GenerateRecoils is true. - /// Also, a moving primary particle will be stopped if its energy falls - /// below this limit. - /// \param PhysicsCutoff the energy transfer to which screening tables are - /// calucalted. - /// There is no really - /// compelling reason to change it from the 10.0 eV default. - /// However, see the paper on running this - /// in thin targets for further discussion, and its interaction - /// with SetMFPScaling() - - G4ScreenedNuclearRecoil(const G4String& processName = "ScreenedElastic", - const G4String &ScreeningKey="zbl", G4bool GenerateRecoils=1, - G4double RecoilCutoff=100.0*eV, G4double PhysicsCutoff=10.0*eV); - - /// \brief destructor - virtual ~G4ScreenedNuclearRecoil(); - - /// \brief used internally by Geant4 machinery - virtual G4double GetMeanFreePath(const G4Track&, G4double, - G4ForceCondition* ); - - /// \brief used internally by Geant4 machinery - virtual G4VParticleChange* PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep); - /// \brief test if a prticle of type \a aParticleType can use this process - /// \param aParticleType the particle to test - virtual G4bool IsApplicable(const G4ParticleDefinition& aParticleType); - /// \brief Build physics tables in advance. Not Implemented. - /// \param aParticleType the type of particle to build tables for - virtual void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); - /// \brief Export physics tables for persistency. Not Implemented. - /// \param aParticleType the type of particle to build tables for - virtual void DumpPhysicsTable(const G4ParticleDefinition& aParticleType); - /// \brief deterine if the moving particle is within the strong force - /// range of the selected nucleus - /// \param A the nucleon number of the beam - /// \param A1 the nucleon number of the target - /// \param apsis the distance of closest approach - - virtual G4bool CheckNuclearCollision(G4double A, G4double A1, - G4double apsis); // return true if hard collision - - virtual G4ScreenedCoulombCrossSection *GetNewCrossSectionHandler(void); - - /// \brief Get non-ionizing energy loss for last step - G4double GetNIEL() const { return NIEL; } - - /// \brief clear precomputed screening tables - void ResetTables(); - // clear all data tables to allow changing energy cutoff, materials, etc. - - /// \brief set the upper energy beyond which this process has no - /// cross section - /// - /// This funciton is used to coordinate this process with G4MSC. - /// Typically, G4MSC should - /// not be allowed to operate in a range which overlaps that of this - /// process. The criterion which is most reasonable - /// is that the transition should be somewhere in the modestly - /// relativistic regime (500 MeV/u for example). - /// param energy energy per nucleon for the cutoff - - void SetMaxEnergyForScattering(G4double energy) {processMaxEnergy=energy;} - - /// \brief find out what screening function we are using - std::string GetScreeningKey() const { return screeningKey; } - - /// \brief enable or disable all energy deposition by this process - /// \param flag if true, enable deposition of energy (the default). - /// If false, disable deposition. - - void AllowEnergyDeposition(G4bool flag) {registerDepositedEnergy=flag;} - - /// \brief get flag indicating whether deposition is enabled - G4bool GetAllowEnergyDeposition() const {return registerDepositedEnergy;} - - /// \brief enable or disable the generation of recoils. - /// If recoils are disabled, the energy they would have received is just - /// deposited. - /// param flag if true, create recoil ions in cases in which the energy - /// is above the recoilCutoff. - /// If false, just deposit the energy. - - void EnableRecoils(G4bool flag) { generateRecoils=flag; } - - /// \brief find out if generation of recoils is enabled. - G4bool GetEnableRecoils() const { return generateRecoils; } - - /// \brief set the mean free path scaling as specified - /// \param scale the factor by which the default MFP will be scaled. - /// Set to less than 1 for very thin films, typically, - /// to sample multiple scattering, - /// or to greater than 1 for quick simulations with a very long flight path - - void SetMFPScaling(G4double scale) { MFPScale=scale; } - - /// \brief get the MFPScaling parameter - G4double GetMFPScaling() const { return MFPScale; } - - /// \brief enable or disable whether this process will skip collisions - /// which are close enough they need hadronic phsyics. - /// Default is true (skip close collisions). - /// Disabling this results in excess nuclear stopping power. - /// \param flag true results in hard collisions being skipped. - /// false allows hard collisions. - - void AvoidNuclearReactions(G4bool flag) { avoidReactions=flag; } - - /// \brief get the flag indicating whether hadronic collisions are ignored. - G4bool GetAvoidNuclearReactions() const { return avoidReactions; } - - /// \brief set the minimum energy (per nucleon) at which recoils can - /// be generated, - /// and the energy (per nucleon) below which all ions are stopped. - /// \param energy energy per nucleon - - void SetRecoilCutoff(G4double energy) { recoilCutoff=energy; } - - /// \brief get the recoil cutoff - G4double GetRecoilCutoff() const { return recoilCutoff; } - - /// \brief set the energy to which screening tables are computed. - /// Typically, this is 10 eV or so, and not often changed. - /// \param energy the cutoff energy - - void SetPhysicsCutoff(G4double energy) { physicsCutoff=energy; - ResetTables(); } - - /// \brief get the physics cutoff energy. - G4double GetPhysicsCutoff() const { return physicsCutoff; } - - /// \brief set the pointer to a class for paritioning energy into NIEL - /// \brief part the pointer to the class. - - void SetNIELPartitionFunction(const G4VNIELPartition *part); - - /// \brief set the cross section boost to provide faster computation of - /// backscattering - /// \param fraction the fraction of particles to have their cross section - /// boosted. - /// \param HardeningFactor the factor by which to boost the scattering - /// cross section. - - void SetCrossSectionHardening(G4double fraction, G4double HardeningFactor){ - hardeningFraction=fraction; - hardeningFactor=HardeningFactor; - } - - /// \brief get the fraction of particles which will have boosted scattering - G4double GetHardeningFraction() const { return hardeningFraction; } - - /// \brief get the boost factor in use. - G4double GetHardeningFactor() const { return hardeningFactor; } - - /// \brief the the interaciton length used in the last scattering. - G4double GetCurrentInteractionLength() const { - return currentInteractionLength; } - - /// \brief set a function to compute screening tables, - /// if the user needs non-standard behavior. - /// \param cs a class which constructs the screening tables. - - void SetExternalCrossSectionHandler(G4ScreenedCoulombCrossSection *cs) { - externalCrossSectionConstructor=cs; - } - - /// \brief get the verbosity. - G4int GetVerboseLevel() const { return verboseLevel; } - - std::map &GetCrossSectionHandlers() - { return crossSectionHandlers; } - - void ClearStages(void); - - void AddStage(G4ScreenedCollisionStage *stage) { - collisionStages.push_back(stage); } - - G4CoulombKinematicsInfo &GetKinematics() { return kinematics; } - - void SetValidCollision(G4bool flag) { validCollision=flag; } - - G4bool GetValidCollision() const { return validCollision; } - - /// \brief get the pointer to our ParticleChange object. - /// for internal use, primarily. - class G4ParticleChange &GetParticleChange() - { return static_cast(*pParticleChange); } - - /// \brief take the given energy, and use the material information - /// to partition it into NIEL and ionizing energy. - - void DepositEnergy(G4int z1, G4double a1, const G4Material *material, - G4double energy); - -protected: - /// \brief the energy per nucleon above which the MFP is constant - G4double highEnergyLimit; - - /// \brief the energy per nucleon below which the MFP is zero - G4double lowEnergyLimit; - - /// \brief the energy per nucleon beyond which the cross section is zero, - /// to cross over to G4MSC - G4double processMaxEnergy; - G4String screeningKey; - G4bool generateRecoils, avoidReactions; - G4double recoilCutoff, physicsCutoff; - G4bool registerDepositedEnergy; - G4double IonizingLoss, NIEL; - G4double MFPScale; - G4double hardeningFraction, hardeningFactor; - - G4ScreenedCoulombCrossSection *externalCrossSectionConstructor; - std::vector collisionStages; - - std::map crossSectionHandlers; - - G4bool validCollision; - G4CoulombKinematicsInfo kinematics; - const G4VNIELPartition *NIELPartitionFunction; + public: + friend class G4ScreenedCollisionStage; + + /// \brief Construct the process and set some physics parameters for it. + /// \param processName the name to assign the process + /// \param ScreeningKey the name of a screening function to use. + /// The default functions are "zbl" (recommended for soft scattering), + /// "lj" (recommended for backscattering) and "mol" (Moliere potential) + /// \param GenerateRecoils if frue, ions struck by primary are converted + /// into new moving particles. + /// If false, energy is deposited, but no new moving ions are created. + /// \param RecoilCutoff energy below which no new moving particles will be + /// created, even if a GenerateRecoils is true. + /// Also, a moving primary particle will be stopped if its energy falls + /// below this limit. + /// \param PhysicsCutoff the energy transfer to which screening tables are + /// calucalted. + /// There is no really + /// compelling reason to change it from the 10.0 eV default. + /// However, see the paper on running this + /// in thin targets for further discussion, and its interaction + /// with SetMFPScaling() + + G4ScreenedNuclearRecoil(const G4String& processName = "ScreenedElastic", + const G4String& ScreeningKey = "zbl", G4bool GenerateRecoils = 1, + G4double RecoilCutoff = 100.0 * eV, G4double PhysicsCutoff = 10.0 * eV); + + /// \brief destructor + virtual ~G4ScreenedNuclearRecoil(); + + /// \brief used internally by Geant4 machinery + virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*); + + /// \brief used internally by Geant4 machinery + virtual G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep); + /// \brief test if a prticle of type \a aParticleType can use this process + /// \param aParticleType the particle to test + virtual G4bool IsApplicable(const G4ParticleDefinition& aParticleType); + /// \brief Build physics tables in advance. Not Implemented. + /// \param aParticleType the type of particle to build tables for + virtual void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); + /// \brief Export physics tables for persistency. Not Implemented. + /// \param aParticleType the type of particle to build tables for + virtual void DumpPhysicsTable(const G4ParticleDefinition& aParticleType); + /// \brief deterine if the moving particle is within the strong force + /// range of the selected nucleus + /// \param A the nucleon number of the beam + /// \param A1 the nucleon number of the target + /// \param apsis the distance of closest approach + + virtual G4bool CheckNuclearCollision(G4double A, G4double A1, + G4double apsis); // return true if hard collision + + virtual G4ScreenedCoulombCrossSection* GetNewCrossSectionHandler(void); + + /// \brief Get non-ionizing energy loss for last step + G4double GetNIEL() const { return NIEL; } + + /// \brief clear precomputed screening tables + void ResetTables(); + // clear all data tables to allow changing energy cutoff, materials, etc. + + /// \brief set the upper energy beyond which this process has no + /// cross section + /// + /// This funciton is used to coordinate this process with G4MSC. + /// Typically, G4MSC should + /// not be allowed to operate in a range which overlaps that of this + /// process. The criterion which is most reasonable + /// is that the transition should be somewhere in the modestly + /// relativistic regime (500 MeV/u for example). + /// param energy energy per nucleon for the cutoff + + void SetMaxEnergyForScattering(G4double energy) { processMaxEnergy = energy; } + + /// \brief find out what screening function we are using + std::string GetScreeningKey() const { return screeningKey; } + + /// \brief enable or disable all energy deposition by this process + /// \param flag if true, enable deposition of energy (the default). + /// If false, disable deposition. + + void AllowEnergyDeposition(G4bool flag) { registerDepositedEnergy = flag; } + + /// \brief get flag indicating whether deposition is enabled + G4bool GetAllowEnergyDeposition() const { return registerDepositedEnergy; } + + /// \brief enable or disable the generation of recoils. + /// If recoils are disabled, the energy they would have received is just + /// deposited. + /// param flag if true, create recoil ions in cases in which the energy + /// is above the recoilCutoff. + /// If false, just deposit the energy. + + void EnableRecoils(G4bool flag) { generateRecoils = flag; } + + /// \brief find out if generation of recoils is enabled. + G4bool GetEnableRecoils() const { return generateRecoils; } + + /// \brief set the mean free path scaling as specified + /// \param scale the factor by which the default MFP will be scaled. + /// Set to less than 1 for very thin films, typically, + /// to sample multiple scattering, + /// or to greater than 1 for quick simulations with a very long flight path + + void SetMFPScaling(G4double scale) { MFPScale = scale; } + + /// \brief get the MFPScaling parameter + G4double GetMFPScaling() const { return MFPScale; } + + /// \brief enable or disable whether this process will skip collisions + /// which are close enough they need hadronic phsyics. + /// Default is true (skip close collisions). + /// Disabling this results in excess nuclear stopping power. + /// \param flag true results in hard collisions being skipped. + /// false allows hard collisions. + + void AvoidNuclearReactions(G4bool flag) { avoidReactions = flag; } + + /// \brief get the flag indicating whether hadronic collisions are ignored. + G4bool GetAvoidNuclearReactions() const { return avoidReactions; } + + /// \brief set the minimum energy (per nucleon) at which recoils can + /// be generated, + /// and the energy (per nucleon) below which all ions are stopped. + /// \param energy energy per nucleon + + void SetRecoilCutoff(G4double energy) { recoilCutoff = energy; } + + /// \brief get the recoil cutoff + G4double GetRecoilCutoff() const { return recoilCutoff; } + + /// \brief set the energy to which screening tables are computed. + /// Typically, this is 10 eV or so, and not often changed. + /// \param energy the cutoff energy + + void SetPhysicsCutoff(G4double energy) + { + physicsCutoff = energy; + ResetTables(); + } + + /// \brief get the physics cutoff energy. + G4double GetPhysicsCutoff() const { return physicsCutoff; } + + /// \brief set the pointer to a class for paritioning energy into NIEL + /// \brief part the pointer to the class. + + void SetNIELPartitionFunction(const G4VNIELPartition* part); + + /// \brief set the cross section boost to provide faster computation of + /// backscattering + /// \param fraction the fraction of particles to have their cross section + /// boosted. + /// \param HardeningFactor the factor by which to boost the scattering + /// cross section. + + void SetCrossSectionHardening(G4double fraction, G4double HardeningFactor) + { + hardeningFraction = fraction; + hardeningFactor = HardeningFactor; + } + + /// \brief get the fraction of particles which will have boosted scattering + G4double GetHardeningFraction() const { return hardeningFraction; } + + /// \brief get the boost factor in use. + G4double GetHardeningFactor() const { return hardeningFactor; } + + /// \brief the the interaciton length used in the last scattering. + G4double GetCurrentInteractionLength() const { return currentInteractionLength; } + + /// \brief set a function to compute screening tables, + /// if the user needs non-standard behavior. + /// \param cs a class which constructs the screening tables. + + void SetExternalCrossSectionHandler(G4ScreenedCoulombCrossSection* cs) + { + externalCrossSectionConstructor = cs; + } + + /// \brief get the verbosity. + G4int GetVerboseLevel() const { return verboseLevel; } + + std::map& GetCrossSectionHandlers() + { + return crossSectionHandlers; + } + + void ClearStages(void); + + void AddStage(G4ScreenedCollisionStage* stage) { collisionStages.push_back(stage); } + + G4CoulombKinematicsInfo& GetKinematics() { return kinematics; } + + void SetValidCollision(G4bool flag) { validCollision = flag; } + + G4bool GetValidCollision() const { return validCollision; } + + /// \brief get the pointer to our ParticleChange object. + /// for internal use, primarily. + class G4ParticleChange& GetParticleChange() + { + return static_cast(*pParticleChange); + } + + /// \brief take the given energy, and use the material information + /// to partition it into NIEL and ionizing energy. + + void DepositEnergy(G4int z1, G4double a1, const G4Material* material, G4double energy); + + protected: + /// \brief the energy per nucleon above which the MFP is constant + G4double highEnergyLimit; + + /// \brief the energy per nucleon below which the MFP is zero + G4double lowEnergyLimit; + + /// \brief the energy per nucleon beyond which the cross section is zero, + /// to cross over to G4MSC + G4double processMaxEnergy; + G4String screeningKey; + G4bool generateRecoils, avoidReactions; + G4double recoilCutoff, physicsCutoff; + G4bool registerDepositedEnergy; + G4double IonizingLoss, NIEL; + G4double MFPScale; + G4double hardeningFraction, hardeningFactor; + + G4ScreenedCoulombCrossSection* externalCrossSectionConstructor; + std::vector collisionStages; + + std::map crossSectionHandlers; + + G4bool validCollision; + G4CoulombKinematicsInfo kinematics; + const G4VNIELPartition* NIELPartitionFunction; }; -// A customized G4CrossSectionHandler which gets its data from +// A customized G4CrossSectionHandler which gets its data from // an external program -class G4NativeScreenedCoulombCrossSection: public G4ScreenedCoulombCrossSection +class G4NativeScreenedCoulombCrossSection : public G4ScreenedCoulombCrossSection { -public: - G4NativeScreenedCoulombCrossSection(); - - G4NativeScreenedCoulombCrossSection( - const G4NativeScreenedCoulombCrossSection &src) - : G4ScreenedCoulombCrossSection(src), phiMap(src.phiMap) { } - - G4NativeScreenedCoulombCrossSection( - const G4ScreenedCoulombCrossSection &src) - : G4ScreenedCoulombCrossSection(src) { } - - virtual ~G4NativeScreenedCoulombCrossSection(); - - virtual void LoadData(G4String screeningKey, G4int z1, G4double m1, - G4double recoilCutoff); - - virtual G4ScreenedCoulombCrossSection *create() - { return new G4NativeScreenedCoulombCrossSection(*this); } - - // get a list of available keys - std::vector GetScreeningKeys() const; - - typedef G4_c2_function &(*ScreeningFunc)(G4int z1, G4int z2, - size_t nPoints, G4double rMax, G4double *au); - - void AddScreeningFunction(G4String name, ScreeningFunc fn) { - phiMap[name]=fn; - } - -private: - // this is a map used to look up screening function generators - std::map phiMap; + public: + G4NativeScreenedCoulombCrossSection(); + + G4NativeScreenedCoulombCrossSection(const G4NativeScreenedCoulombCrossSection& src) + : G4ScreenedCoulombCrossSection(src), phiMap(src.phiMap) + {} + + G4NativeScreenedCoulombCrossSection(const G4ScreenedCoulombCrossSection& src) + : G4ScreenedCoulombCrossSection(src) + {} + + virtual ~G4NativeScreenedCoulombCrossSection(); + + virtual void LoadData(G4String screeningKey, G4int z1, G4double m1, G4double recoilCutoff); + + virtual G4ScreenedCoulombCrossSection* create() + { + return new G4NativeScreenedCoulombCrossSection(*this); + } + + // get a list of available keys + std::vector GetScreeningKeys() const; + + typedef G4_c2_function& (*ScreeningFunc)(G4int z1, G4int z2, size_t nPoints, G4double rMax, + G4double* au); + + void AddScreeningFunction(G4String name, ScreeningFunc fn) { phiMap[name] = fn; } + + private: + // this is a map used to look up screening function generators + std::map phiMap; }; -G4_c2_function &ZBLScreening(G4int z1, G4int z2, size_t npoints, - G4double rMax, G4double *auval); - -G4_c2_function &MoliereScreening(G4int z1, G4int z2, size_t npoints, - G4double rMax, G4double *auval); - -G4_c2_function &LJScreening(G4int z1, G4int z2, size_t npoints, - G4double rMax, G4double *auval); - -G4_c2_function &LJZBLScreening(G4int z1, G4int z2, size_t npoints, - G4double rMax, G4double *auval); +G4_c2_function& ZBLScreening(G4int z1, G4int z2, size_t npoints, G4double rMax, G4double* auval); + +G4_c2_function& MoliereScreening(G4int z1, G4int z2, size_t npoints, G4double rMax, + G4double* auval); + +G4_c2_function& LJScreening(G4int z1, G4int z2, size_t npoints, G4double rMax, G4double* auval); + +G4_c2_function& LJZBLScreening(G4int z1, G4int z2, size_t npoints, G4double rMax, G4double* auval); #endif diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh index 8cfd564e714..f35aadb2e0a 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh @@ -40,28 +40,20 @@ class PhysListEmStandard : public G4VPhysicsConstructor { - public: + public: PhysListEmStandard(const G4String& name = "standard"); - ~PhysListEmStandard(); + ~PhysListEmStandard(); - public: + public: // This method is dummy for physics 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 + // registered to the process manager of each particle type virtual void ConstructProcess(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardNR.hh b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardNR.hh index b96e0537946..9bd297e7c07 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardNR.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardNR.hh @@ -40,28 +40,20 @@ class PhysListEmStandardNR : public G4VPhysicsConstructor { -public: - PhysListEmStandardNR(const G4String& name = "standardNR"); - ~PhysListEmStandardNR(); - -public: - // This method is dummy for physics - 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(); + public: + PhysListEmStandardNR(const G4String& name = "standardNR"); + ~PhysListEmStandardNR(); + + public: + // This method is dummy for physics + 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(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh index 9d336340017..f0699aff1c8 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh @@ -46,39 +46,36 @@ class PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsList: public G4VModularPhysicsList +class PhysicsList : public G4VModularPhysicsList { -public: + public: + PhysicsList(); + ~PhysicsList(); - PhysicsList(); - ~PhysicsList(); + virtual void ConstructParticle(); - virtual void ConstructParticle(); - - void AddPhysicsList(const G4String& name); - virtual void ConstructProcess(); - - void AddStepMax(); - StepMax* GetStepMaxProcess() {return fStepMaxProcess;}; + void AddPhysicsList(const G4String& name); + virtual void ConstructProcess(); -private: + void AddStepMax(); + StepMax* GetStepMaxProcess() { return fStepMaxProcess; }; - void AddIonGasModels(); + private: + void AddIonGasModels(); - G4bool fHelIsRegisted; - G4bool fBicIsRegisted; - G4bool fBiciIsRegisted; - - G4String fEmName; - G4VPhysicsConstructor* fEmPhysicsList; - G4VPhysicsConstructor* fDecPhysicsList; - std::vector fHadronPhys; - StepMax* fStepMaxProcess; - - PhysicsListMessenger* fMessenger; + G4bool fHelIsRegisted; + G4bool fBicIsRegisted; + G4bool fBiciIsRegisted; + + G4String fEmName; + G4VPhysicsConstructor* fEmPhysicsList; + G4VPhysicsConstructor* fDecPhysicsList; + std::vector fHadronPhys; + StepMax* fStepMaxProcess; + + PhysicsListMessenger* fMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh index 21800fea5df..c6b9486d2a6 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh @@ -33,8 +33,8 @@ #ifndef PhysicsListMessenger_h #define PhysicsListMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class PhysicsList; class G4UIdirectory; @@ -42,25 +42,21 @@ class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysicsListMessenger: public G4UImessenger +class PhysicsListMessenger : public G4UImessenger { public: - - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger(); - + PhysicsListMessenger(PhysicsList*); + ~PhysicsListMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - - PhysicsList* fPhysicsList; - - G4UIdirectory* fPhysDir; - G4UIcmdWithAString* fListCmd; - + PhysicsList* fPhysicsList; + + G4UIdirectory* fPhysDir; + G4UIcmdWithAString* fListCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh index d4510d256d0..76d4a46ac9f 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh @@ -33,8 +33,8 @@ #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 -#include "G4VUserPrimaryGeneratorAction.hh" #include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4Event; @@ -46,28 +46,26 @@ class PrimaryGeneratorMessenger; class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - PrimaryGeneratorAction(DetectorConstruction*); - ~PrimaryGeneratorAction(); + PrimaryGeneratorAction(DetectorConstruction*); + ~PrimaryGeneratorAction(); - public: - void SetRndmBeam(G4double val) {fRndmBeam = val;} + public: + void SetRndmBeam(G4double val) { fRndmBeam = val; } virtual void GeneratePrimaries(G4Event*); - - void ResetEbeamCumul() {fEbeamCumul = 0.;} - G4double GetEbeamCumul() {return fEbeamCumul;} - - G4ParticleGun* GetParticleGun() {return fParticleGun;} - + + void ResetEbeamCumul() { fEbeamCumul = 0.; } + G4double GetEbeamCumul() { return fEbeamCumul; } + + G4ParticleGun* GetParticleGun() { return fParticleGun; } + private: - G4ParticleGun* fParticleGun; - DetectorConstruction* fDetector; - G4double fRndmBeam; - G4double fEbeamCumul; - PrimaryGeneratorMessenger* fGunMessenger; + G4ParticleGun* fParticleGun; + DetectorConstruction* fDetector; + G4double fRndmBeam; + G4double fEbeamCumul; + PrimaryGeneratorMessenger* fGunMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh index b758ee51fcf..8de8bcfe702 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh @@ -42,21 +42,20 @@ class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger : public G4UImessenger { public: PrimaryGeneratorMessenger(PrimaryGeneratorAction*); - ~PrimaryGeneratorMessenger(); - + ~PrimaryGeneratorMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: - PrimaryGeneratorAction* fAction; - G4UIdirectory* fGunDir; + PrimaryGeneratorAction* fAction; + G4UIdirectory* fGunDir; G4UIcmdWithADoubleAndUnit* fRndmCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm7/include/RunAction.hh b/examples/extended/electromagnetic/TestEm7/include/RunAction.hh index aabad412e58..6339347e2c6 100644 --- a/examples/extended/electromagnetic/TestEm7/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/RunAction.hh @@ -33,8 +33,8 @@ #ifndef RunAction_h #define RunAction_h 1 -#include "G4UserRunAction.hh" #include "G4AnalysisManager.hh" +#include "G4UserRunAction.hh" #include "globals.hh" class DetectorConstruction; @@ -47,67 +47,63 @@ class G4Run; class RunAction : public G4UserRunAction { -public: - - RunAction(DetectorConstruction*, PhysicsList*, PrimaryGeneratorAction*); - virtual ~RunAction(); - - virtual void BeginOfRunAction(const G4Run*); - virtual void EndOfRunAction(const G4Run*); - - inline void FillTallyEdep(G4int n, G4double e); - inline void FillEdep(G4double de, G4double eni); - inline void AddProjRange (G4double x); - inline void AddPrimaryStep(); - -private: - - void BookHisto(); - - G4AnalysisManager* fAnalysisManager; - DetectorConstruction* fDetector; - PhysicsList* fPhysics; - PrimaryGeneratorAction* fKinematic; - G4double* fTallyEdep; - G4double fProjRange, fProjRange2; - G4double fEdeptot, fEniel; - G4int fNbPrimarySteps; - G4int fRange; + public: + RunAction(DetectorConstruction*, PhysicsList*, PrimaryGeneratorAction*); + virtual ~RunAction(); + + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); + + inline void FillTallyEdep(G4int n, G4double e); + inline void FillEdep(G4double de, G4double eni); + inline void AddProjRange(G4double x); + inline void AddPrimaryStep(); + + private: + void BookHisto(); + + G4AnalysisManager* fAnalysisManager; + DetectorConstruction* fDetector; + PhysicsList* fPhysics; + PrimaryGeneratorAction* fKinematic; + G4double* fTallyEdep; + G4double fProjRange, fProjRange2; + G4double fEdeptot, fEniel; + G4int fNbPrimarySteps; + G4int fRange; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void RunAction::FillTallyEdep(G4int n, G4double e) +inline void RunAction::FillTallyEdep(G4int n, G4double e) { fTallyEdep[n] += e; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline void RunAction::FillEdep(G4double de, G4double eni) + +inline void RunAction::FillEdep(G4double de, G4double eni) { - fEdeptot += de; + fEdeptot += de; fEniel += eni; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline void RunAction::AddProjRange (G4double x) + +inline void RunAction::AddProjRange(G4double x) { - fProjRange += x; - fProjRange2 += x*x; + fProjRange += x; + fProjRange2 += x * x; ++fRange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void RunAction::AddPrimaryStep() +inline void RunAction::AddPrimaryStep() { ++fNbPrimarySteps; } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm7/include/StepMax.hh b/examples/extended/electromagnetic/TestEm7/include/StepMax.hh index d05594532f2..0395ff3e55d 100644 --- a/examples/extended/electromagnetic/TestEm7/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm7/include/StepMax.hh @@ -33,10 +33,10 @@ #ifndef StepMax_h #define StepMax_h 1 -#include "globals.hh" -#include "G4VDiscreteProcess.hh" #include "G4ParticleDefinition.hh" #include "G4Step.hh" +#include "G4VDiscreteProcess.hh" +#include "globals.hh" class StepMaxMessenger; @@ -45,36 +45,32 @@ class StepMaxMessenger; class StepMax : public G4VDiscreteProcess { public: - - StepMax(const G4String& processName = "UserMaxStep"); + StepMax(const G4String& processName = "UserMaxStep"); ~StepMax(); - virtual G4bool IsApplicable(const G4ParticleDefinition&); + virtual G4bool IsApplicable(const G4ParticleDefinition&); + + void SetMaxStep(G4double); - void SetMaxStep(G4double); + G4double GetMaxStep() { return fMaxChargedStep; }; - G4double GetMaxStep() {return fMaxChargedStep;}; + virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); - virtual - G4double PostStepGetPhysicalInteractionLength( const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); + virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - virtual - G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - - virtual - G4double GetMeanFreePath(const G4Track&, G4double,G4ForceCondition*) - {return DBL_MAX;}; + virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) + { + return DBL_MAX; + }; private: + G4double fMaxChargedStep; - G4double fMaxChargedStep; - - StepMaxMessenger* fMess; + StepMaxMessenger* fMess; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh index ecaa4f4d2d0..426c7cdf55f 100644 --- a/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh @@ -33,22 +33,22 @@ #ifndef StepMaxMessenger_h #define StepMaxMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" class StepMax; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class StepMaxMessenger: public G4UImessenger +class StepMaxMessenger : public G4UImessenger { public: StepMaxMessenger(StepMax*); - ~StepMaxMessenger(); - + ~StepMaxMessenger(); + virtual void SetNewValue(G4UIcommand*, G4String); - + private: StepMax* fStepMax; G4UIcmdWithADoubleAndUnit* fStepMaxCmd; diff --git a/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh index df0c3f24635..c657784e27f 100644 --- a/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh @@ -47,10 +47,10 @@ class SteppingAction : public G4UserSteppingAction virtual ~SteppingAction(); virtual void UserSteppingAction(const G4Step*); - + private: DetectorConstruction* fDetector; - RunAction* fRunAction; + RunAction* fRunAction; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh index bfa69032f6d..8e4f1f9abf6 100644 --- a/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh @@ -41,17 +41,17 @@ class RunAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class TrackingAction : public G4UserTrackingAction { - -public: - TrackingAction(DetectorConstruction*, RunAction*); - virtual ~TrackingAction(); - - virtual void PostUserTrackingAction(const G4Track*); - -private: - DetectorConstruction* fDetector; - RunAction* fRunAction; +class TrackingAction : public G4UserTrackingAction +{ + public: + TrackingAction(DetectorConstruction*, RunAction*); + virtual ~TrackingAction(); + + virtual void PostUserTrackingAction(const G4Track*); + + private: + DetectorConstruction* fDetector; + RunAction* fRunAction; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/c2_factory.hh b/examples/extended/electromagnetic/TestEm7/include/c2_factory.hh index 9739cb0d665..265d9125810 100644 --- a/examples/extended/electromagnetic/TestEm7/include/c2_factory.hh +++ b/examples/extended/electromagnetic/TestEm7/include/c2_factory.hh @@ -41,125 +41,159 @@ #include "c2_function.hh" /// \brief a factory of pre-templated c2_function generators -/// +/// /// do \code /// typedef c2_ptr c2_p; /// static c2_factory c2; /// c2_p f=c2.sin(); /// \endcode -/// \note The factory class doesn't contain any data. +/// \note The factory class doesn't contain any data. /// It can be statically instantiated at the top of a file, /// and used everywhere inside, or even instantiated in your project's top-level /// include file. /// \see c2_math_factory /// \ingroup factories -template class c2_factory { -public: - -/// make a *new object -static c2_classic_function_p - &classic_function(float_type (*c_func)(float_type)) - { return *new c2_classic_function_p(c_func); } -/// make a *new object -static c2_plugin_function_p &plugin_function() - { return *new c2_plugin_function_p(); } -/// make a *new object -static c2_plugin_function_p - &plugin_function(c2_function &f) - { return *new c2_plugin_function_p(f); } -/// make a *new object -static c2_const_plugin_function_p &const_plugin_function() - { return *new c2_const_plugin_function_p(); } -/// make a *new object -static c2_const_plugin_function_p - &const_plugin_function(const c2_function &f) - { return *new c2_const_plugin_function_p(f); } -/// make a *new object -static c2_scaled_function_p - &scaled_function(const c2_function &outer, float_type scale) - { return *new c2_scaled_function_p(outer, scale); } -/// make a *new object -static c2_cached_function_p - &cached_function(const c2_function &func) - { return *new c2_cached_function_p(func); } -/// make a *new object -static c2_constant_p - &constant(float_type x) { return *new c2_constant_p(x); } -/// make a *new object -static interpolating_function_p & - interpolating_function() - { return *new interpolating_function_p(); } -/// make a *new object -static lin_log_interpolating_function_p & - lin_log_interpolating_function() - {return *new lin_log_interpolating_function_p(); } -/// make a *new object -static log_lin_interpolating_function_p & - log_lin_interpolating_function() - {return *new log_lin_interpolating_function_p(); } -/// make a *new object -static log_log_interpolating_function_p & - log_log_interpolating_function() - {return *new log_log_interpolating_function_p(); } -/// make a *new object -static arrhenius_interpolating_function_p & - arrhenius_interpolating_function() - {return *new arrhenius_interpolating_function_p(); } -/// make a *new object -static c2_connector_function_p &connector_function( - float_type x0, const c2_function &f0, float_type x2, - const c2_function &f2, bool auto_center, float_type y1) - {return *new c2_connector_function_p(x0, f0, x2, f2, - auto_center, y1); } -/// make a *new object -static c2_connector_function_p &connector_function( - const c2_fblock &fb0, const c2_fblock &fb2, - bool auto_center, float_type y1) - { return *new c2_connector_function_p(fb0, fb2, - auto_center, y1); } -/// make a *new object -static c2_connector_function_p &connector_function( - float_type x0, float_type y0, float_type yp0, float_type ypp0, - float_type x2, float_type y2, float_type yp2, float_type ypp2, - bool auto_center, float_type y1) - { return *new c2_connector_function_p( - x0, y0, yp0, ypp0, x2, y2, yp2, ypp2, auto_center, y1); } -/// make a *new object -static c2_piecewise_function_p &piecewise_function() - { return *new c2_piecewise_function_p(); } -/// make a *new object -static c2_sin_p &sin() { return *new c2_sin_p(); } -/// make a *new object -static c2_cos_p &cos() { return *new c2_cos_p(); } -/// make a *new object -static c2_tan_p &tan() { return *new c2_tan_p(); } -/// make a *new object -static c2_log_p &log() { return *new c2_log_p(); } -/// make a *new object -static c2_exp_p &exp() { return *new c2_exp_p(); } -/// make a *new object -static c2_sqrt_p &sqrt() { return *new c2_sqrt_p(); } -/// make a *new object -static c2_recip_p &recip(float_type scale=1) - { return *new c2_recip_p(scale); } -/// make a *new object -static c2_identity_p &identity() - { return *new c2_identity_p(); } -/// make a *new object -static c2_linear_p - &linear(float_type x0, float_type y0, float_type slope) - { return *new c2_linear_p(x0, y0, slope); } -/// make a *new object -static c2_quadratic_p &quadratic( - float_type x0, float_type y0, float_type xcoef, float_type x2coef) - { return *new c2_quadratic_p(x0, y0, xcoef, x2coef); } -/// make a *new object -static c2_power_law_p &power_law(float_type scale, float_type power) - { return *new c2_power_law_p(scale, power); } -/// make a *new object -static c2_inverse_function_p - &inverse_function(const c2_function &source) - { return *new c2_inverse_function_p(source); } +template +class c2_factory +{ + public: + /// make a *new object + static c2_classic_function_p& classic_function(float_type (*c_func)(float_type)) + { + return *new c2_classic_function_p(c_func); + } + /// make a *new object + static c2_plugin_function_p& plugin_function() + { + return *new c2_plugin_function_p(); + } + /// make a *new object + static c2_plugin_function_p& plugin_function(c2_function& f) + { + return *new c2_plugin_function_p(f); + } + /// make a *new object + static c2_const_plugin_function_p& const_plugin_function() + { + return *new c2_const_plugin_function_p(); + } + /// make a *new object + static c2_const_plugin_function_p& + const_plugin_function(const c2_function& f) + { + return *new c2_const_plugin_function_p(f); + } + /// make a *new object + static c2_scaled_function_p& scaled_function(const c2_function& outer, + float_type scale) + { + return *new c2_scaled_function_p(outer, scale); + } + /// make a *new object + static c2_cached_function_p& cached_function(const c2_function& func) + { + return *new c2_cached_function_p(func); + } + /// make a *new object + static c2_constant_p& constant(float_type x) + { + return *new c2_constant_p(x); + } + /// make a *new object + static interpolating_function_p& interpolating_function() + { + return *new interpolating_function_p(); + } + /// make a *new object + static lin_log_interpolating_function_p& lin_log_interpolating_function() + { + return *new lin_log_interpolating_function_p(); + } + /// make a *new object + static log_lin_interpolating_function_p& log_lin_interpolating_function() + { + return *new log_lin_interpolating_function_p(); + } + /// make a *new object + static log_log_interpolating_function_p& log_log_interpolating_function() + { + return *new log_log_interpolating_function_p(); + } + /// make a *new object + static arrhenius_interpolating_function_p& arrhenius_interpolating_function() + { + return *new arrhenius_interpolating_function_p(); + } + /// make a *new object + static c2_connector_function_p& + connector_function(float_type x0, const c2_function& f0, float_type x2, + const c2_function& f2, bool auto_center, float_type y1) + { + return *new c2_connector_function_p(x0, f0, x2, f2, auto_center, y1); + } + /// make a *new object + static c2_connector_function_p& connector_function(const c2_fblock& fb0, + const c2_fblock& fb2, + bool auto_center, float_type y1) + { + return *new c2_connector_function_p(fb0, fb2, auto_center, y1); + } + /// make a *new object + static c2_connector_function_p& connector_function(float_type x0, float_type y0, + float_type yp0, float_type ypp0, + float_type x2, float_type y2, + float_type yp2, float_type ypp2, + bool auto_center, float_type y1) + { + return *new c2_connector_function_p(x0, y0, yp0, ypp0, x2, y2, yp2, ypp2, + auto_center, y1); + } + /// make a *new object + static c2_piecewise_function_p& piecewise_function() + { + return *new c2_piecewise_function_p(); + } + /// make a *new object + static c2_sin_p& sin() { return *new c2_sin_p(); } + /// make a *new object + static c2_cos_p& cos() { return *new c2_cos_p(); } + /// make a *new object + static c2_tan_p& tan() { return *new c2_tan_p(); } + /// make a *new object + static c2_log_p& log() { return *new c2_log_p(); } + /// make a *new object + static c2_exp_p& exp() { return *new c2_exp_p(); } + /// make a *new object + static c2_sqrt_p& sqrt() { return *new c2_sqrt_p(); } + /// make a *new object + static c2_recip_p& recip(float_type scale = 1) + { + return *new c2_recip_p(scale); + } + /// make a *new object + static c2_identity_p& identity() { return *new c2_identity_p(); } + /// make a *new object + static c2_linear_p& linear(float_type x0, float_type y0, float_type slope) + { + return *new c2_linear_p(x0, y0, slope); + } + /// make a *new object + static c2_quadratic_p& quadratic(float_type x0, float_type y0, float_type xcoef, + float_type x2coef) + { + return *new c2_quadratic_p(x0, y0, xcoef, x2coef); + } + /// make a *new object + static c2_power_law_p& power_law(float_type scale, float_type power) + { + return *new c2_power_law_p(scale, power); + } + /// make a *new object + static c2_inverse_function_p& + inverse_function(const c2_function& source) + { + return *new c2_inverse_function_p(source); + } #if 0 /// \brief handle template for inverse_integrated_density_bins @@ -187,7 +221,6 @@ template